BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
f3f81c3c
Commit
f3f81c3c
authored
Mar 05, 2018
by
George Tsiolis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move WorkInProgress vue component
parent
08083f43
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
56 additions
and
42 deletions
+56
-42
work_in_progress.vue
...rge_request_widget/components/states/work_in_progress.vue
+44
-35
dependencies.js
...sets/javascripts/vue_merge_request_widget/dependencies.js
+1
-1
mr_widget_options.js
...javascripts/vue_merge_request_widget/mr_widget_options.js
+2
-2
refactor-move-mr-widget-wip-vue-component.yml
.../unreleased/refactor-move-mr-widget-wip-vue-component.yml
+5
-0
mr_widget_wip_spec.js
...pts/vue_mr_widget/components/states/mr_widget_wip_spec.js
+4
-4
No files found.
app/assets/javascripts/vue_merge_request_widget/components/states/
mr_widget_wip.js
→
app/assets/javascripts/vue_merge_request_widget/components/states/
work_in_progress.vue
View file @
f3f81c3c
<
script
>
import
$
from
'jquery'
;
import
$
from
'jquery'
;
import
statusIcon
from
'../mr_widget_status_icon.vue'
;
import
statusIcon
from
'../mr_widget_status_icon.vue'
;
import
tooltip
from
'../../../vue_shared/directives/tooltip'
;
import
tooltip
from
'../../../vue_shared/directives/tooltip'
;
import
eventHub
from
'../../event_hub'
;
import
eventHub
from
'../../event_hub'
;
export
default
{
export
default
{
name
:
'MRWidgetWIP'
,
name
:
'WorkInProgress'
,
props
:
{
components
:
{
mr
:
{
type
:
Object
,
required
:
true
},
statusIcon
,
service
:
{
type
:
Object
,
required
:
true
},
},
},
directives
:
{
directives
:
{
tooltip
,
tooltip
,
},
},
props
:
{
mr
:
{
type
:
Object
,
required
:
true
},
service
:
{
type
:
Object
,
required
:
true
},
},
data
()
{
data
()
{
return
{
return
{
isMakingRequest
:
false
,
isMakingRequest
:
false
,
};
};
},
},
components
:
{
statusIcon
,
},
methods
:
{
methods
:
{
removeWIP
()
{
removeWIP
()
{
this
.
isMakingRequest
=
true
;
this
.
isMakingRequest
=
true
;
...
@@ -36,32 +37,40 @@ export default {
...
@@ -36,32 +37,40 @@ export default {
});
});
},
},
},
},
template
:
`
<div class="mr-widget-body media">
<status-icon status="warning" :show-disabled-button="Boolean(mr.removeWIPPath)" />
<div class="media-body space-children">
<span class="bold">
This is a Work in Progress
<i
v-tooltip
class="fa fa-question-circle"
title="When this merge request is ready, remove the WIP: prefix from the title to allow it to be merged"
aria-label="When this merge request is ready, remove the WIP: prefix from the title to allow it to be merged">
</i>
</span>
<button
v-if="mr.removeWIPPath"
@click="removeWIP"
:disabled="isMakingRequest"
type="button"
class="btn btn-default btn-xs js-remove-wip">
<i
v-if="isMakingRequest"
class="fa fa-spinner fa-spin"
aria-hidden="true" />
Resolve WIP status
</button>
</div>
</div>
`
,
};
};
</
script
>
<
template
>
<div
class=
"mr-widget-body media"
>
<status-icon
status=
"warning"
:show-disabled-button=
"Boolean(mr.removeWIPPath)"
/>
<div
class=
"media-body space-children"
>
<span
class=
"bold"
>
This is a Work in Progress
<i
v-tooltip
class=
"fa fa-question-circle"
title=
"When this merge request is ready,
remove the WIP: prefix from the title to allow it to be merged"
aria-label=
"When this merge request is ready,
remove the WIP: prefix from the title to allow it to be merged"
>
</i>
</span>
<button
v-if=
"mr.removeWIPPath"
@
click=
"removeWIP"
:disabled=
"isMakingRequest"
type=
"button"
class=
"btn btn-default btn-xs js-remove-wip"
>
<i
v-if=
"isMakingRequest"
class=
"fa fa-spinner fa-spin"
aria-hidden=
"true"
>
</i>
Resolve WIP status
</button>
</div>
</div>
</
template
>
app/assets/javascripts/vue_merge_request_widget/dependencies.js
View file @
f3f81c3c
...
@@ -21,7 +21,7 @@ export { default as MergedState } from './components/states/mr_widget_merged.vue
...
@@ -21,7 +21,7 @@ export { default as MergedState } from './components/states/mr_widget_merged.vue
export
{
default
as
FailedToMerge
}
from
'./components/states/mr_widget_failed_to_merge.vue'
;
export
{
default
as
FailedToMerge
}
from
'./components/states/mr_widget_failed_to_merge.vue'
;
export
{
default
as
ClosedState
}
from
'./components/states/mr_widget_closed.vue'
;
export
{
default
as
ClosedState
}
from
'./components/states/mr_widget_closed.vue'
;
export
{
default
as
MergingState
}
from
'./components/states/mr_widget_merging.vue'
;
export
{
default
as
MergingState
}
from
'./components/states/mr_widget_merging.vue'
;
export
{
default
as
W
ipState
}
from
'./components/states/mr_widget_wip
'
;
export
{
default
as
W
orkInProgressState
}
from
'./components/states/work_in_progress.vue
'
;
export
{
default
as
ArchivedState
}
from
'./components/states/mr_widget_archived.vue'
;
export
{
default
as
ArchivedState
}
from
'./components/states/mr_widget_archived.vue'
;
export
{
default
as
ConflictsState
}
from
'./components/states/mr_widget_conflicts.vue'
;
export
{
default
as
ConflictsState
}
from
'./components/states/mr_widget_conflicts.vue'
;
export
{
default
as
NothingToMergeState
}
from
'./components/states/nothing_to_merge.vue'
;
export
{
default
as
NothingToMergeState
}
from
'./components/states/nothing_to_merge.vue'
;
...
...
app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js
View file @
f3f81c3c
...
@@ -12,7 +12,7 @@ import {
...
@@ -12,7 +12,7 @@ import {
ClosedState
,
ClosedState
,
MergingState
,
MergingState
,
RebaseState
,
RebaseState
,
W
ip
State
,
W
orkInProgress
State
,
ArchivedState
,
ArchivedState
,
ConflictsState
,
ConflictsState
,
NothingToMergeState
,
NothingToMergeState
,
...
@@ -220,7 +220,7 @@ export default {
...
@@ -220,7 +220,7 @@ export default {
'mr-widget-closed'
:
ClosedState
,
'mr-widget-closed'
:
ClosedState
,
'mr-widget-merging'
:
MergingState
,
'mr-widget-merging'
:
MergingState
,
'mr-widget-failed-to-merge'
:
FailedToMerge
,
'mr-widget-failed-to-merge'
:
FailedToMerge
,
'mr-widget-wip'
:
W
ip
State
,
'mr-widget-wip'
:
W
orkInProgress
State
,
'mr-widget-archived'
:
ArchivedState
,
'mr-widget-archived'
:
ArchivedState
,
'mr-widget-conflicts'
:
ConflictsState
,
'mr-widget-conflicts'
:
ConflictsState
,
'mr-widget-nothing-to-merge'
:
NothingToMergeState
,
'mr-widget-nothing-to-merge'
:
NothingToMergeState
,
...
...
changelogs/unreleased/refactor-move-mr-widget-wip-vue-component.yml
0 → 100644
View file @
f3f81c3c
---
title
:
Move WorkInProgress vue component
merge_request
:
17536
author
:
George Tsiolis
type
:
performance
spec/javascripts/vue_mr_widget/components/states/mr_widget_wip_spec.js
View file @
f3f81c3c
import
Vue
from
'vue'
;
import
Vue
from
'vue'
;
import
wipComponent
from
'~/vue_merge_request_widget/components/states/mr_widget_wip
'
;
import
WorkInProgress
from
'~/vue_merge_request_widget/components/states/work_in_progress.vue
'
;
import
eventHub
from
'~/vue_merge_request_widget/event_hub'
;
import
eventHub
from
'~/vue_merge_request_widget/event_hub'
;
const
createComponent
=
()
=>
{
const
createComponent
=
()
=>
{
const
Component
=
Vue
.
extend
(
wipComponent
);
const
Component
=
Vue
.
extend
(
WorkInProgress
);
const
mr
=
{
const
mr
=
{
title
:
'The best MR ever'
,
title
:
'The best MR ever'
,
removeWIPPath
:
'/path/to/remove/wip'
,
removeWIPPath
:
'/path/to/remove/wip'
,
...
@@ -17,10 +17,10 @@ const createComponent = () => {
...
@@ -17,10 +17,10 @@ const createComponent = () => {
});
});
};
};
describe
(
'
MRWidgetWIP
'
,
()
=>
{
describe
(
'
Wip
'
,
()
=>
{
describe
(
'props'
,
()
=>
{
describe
(
'props'
,
()
=>
{
it
(
'should have props'
,
()
=>
{
it
(
'should have props'
,
()
=>
{
const
{
mr
,
service
}
=
wipComponent
.
props
;
const
{
mr
,
service
}
=
WorkInProgress
.
props
;
expect
(
mr
.
type
instanceof
Object
).
toBeTruthy
();
expect
(
mr
.
type
instanceof
Object
).
toBeTruthy
();
expect
(
mr
.
required
).
toBeTruthy
();
expect
(
mr
.
required
).
toBeTruthy
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment