Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
5cb0a2ef
Commit
5cb0a2ef
authored
Mar 06, 2018
by
George Tsiolis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move ReadyToMerge vue component
parent
85418f9a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
150 additions
and
134 deletions
+150
-134
app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
...merge_request_widget/components/states/ready_to_merge.vue
+139
-128
app/assets/javascripts/vue_merge_request_widget/dependencies.js
...sets/javascripts/vue_merge_request_widget/dependencies.js
+1
-1
changelogs/unreleased/refactor-move-mr-widget-ready-to-merge-vue-component.yml
.../refactor-move-mr-widget-ready-to-merge-vue-component.yml
+5
-0
qa/qa/page/merge_request/show.rb
qa/qa/page/merge_request/show.rb
+1
-1
spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js
...widget/components/states/mr_widget_ready_to_merge_spec.js
+4
-4
No files found.
app/assets/javascripts/vue_merge_request_widget/components/states/
mr_widget_ready_to_merge.js
→
app/assets/javascripts/vue_merge_request_widget/components/states/
ready_to_merge.vue
View file @
5cb0a2ef
<
script
>
import
successSvg
from
'
icons/_icon_status_success.svg
'
;
import
successSvg
from
'
icons/_icon_status_success.svg
'
;
import
warningSvg
from
'
icons/_icon_status_warning.svg
'
;
import
warningSvg
from
'
icons/_icon_status_warning.svg
'
;
import
simplePoll
from
'
~/lib/utils/simple_poll
'
;
import
simplePoll
from
'
~/lib/utils/simple_poll
'
;
...
@@ -7,7 +8,10 @@ import statusIcon from '../mr_widget_status_icon.vue';
...
@@ -7,7 +8,10 @@ import statusIcon from '../mr_widget_status_icon.vue';
import
eventHub
from
'
../../event_hub
'
;
import
eventHub
from
'
../../event_hub
'
;
export
default
{
export
default
{
name
:
'
MRWidgetReadyToMerge
'
,
name
:
'
ReadyToMerge
'
,
components
:
{
statusIcon
,
},
props
:
{
props
:
{
mr
:
{
type
:
Object
,
required
:
true
},
mr
:
{
type
:
Object
,
required
:
true
},
service
:
{
type
:
Object
,
required
:
true
},
service
:
{
type
:
Object
,
required
:
true
},
...
@@ -26,9 +30,6 @@ export default {
...
@@ -26,9 +30,6 @@ export default {
warningSvg
,
warningSvg
,
};
};
},
},
components
:
{
statusIcon
,
},
computed
:
{
computed
:
{
shouldShowMergeWhenPipelineSucceedsText
()
{
shouldShowMergeWhenPipelineSucceedsText
()
{
return
this
.
mr
.
isPipelineActive
;
return
this
.
mr
.
isPipelineActive
;
...
@@ -217,7 +218,10 @@ export default {
...
@@ -217,7 +218,10 @@ export default {
});
});
},
},
},
},
template
:
`
};
</
script
>
<
template
>
<div
class=
"mr-widget-body media"
>
<div
class=
"mr-widget-body media"
>
<status-icon
:status=
"iconClass"
/>
<status-icon
:status=
"iconClass"
/>
<div
class=
"media-body"
>
<div
class=
"media-body"
>
...
@@ -232,8 +236,9 @@ export default {
...
@@ -232,8 +236,9 @@ export default {
<i
<i
v-if=
"isMakingRequest"
v-if=
"isMakingRequest"
class=
"fa fa-spinner fa-spin"
class=
"fa fa-spinner fa-spin"
aria-hidden="true" />
aria-hidden=
"true"
{{mergeButtonText}}
></i>
{{
mergeButtonText
}}
</button>
</button>
<button
<button
v-if=
"shouldShowMergeOptionsDropdown"
v-if=
"shouldShowMergeOptionsDropdown"
...
@@ -244,7 +249,8 @@ export default {
...
@@ -244,7 +249,8 @@ export default {
aria-label=
"Select merge moment"
>
aria-label=
"Select merge moment"
>
<i
<i
class=
"fa fa-chevron-down"
class=
"fa fa-chevron-down"
aria-hidden="true" />
aria-hidden=
"true"
></i>
</button>
</button>
<ul
<ul
v-if=
"shouldShowMergeOptionsDropdown"
v-if=
"shouldShowMergeOptionsDropdown"
...
@@ -331,22 +337,27 @@ export default {
...
@@ -331,22 +337,27 @@ export default {
<div
class=
"commit-message-container"
>
<div
class=
"commit-message-container"
>
<div
class=
"max-width-marker"
></div>
<div
class=
"max-width-marker"
></div>
<textarea
<textarea
id=
"commit-message"
v-model=
"commitMessage"
v-model=
"commitMessage"
class=
"form-control js-commit-message"
class=
"form-control js-commit-message"
required=
"required"
required=
"required"
rows=
"14"
rows=
"14"
name=
"Commit message"
></textarea>
name=
"Commit message"
></textarea>
</div>
</div>
<p class="hint">Try to keep the first line under 52 characters and the others under 72</p>
<p
class=
"hint"
>
Try to keep the first line under 52 characters and the others under 72
</p>
<div
class=
"hint"
>
<div
class=
"hint"
>
<a
<a
@
click.prevent=
"updateCommitMessage"
@
click.prevent=
"updateCommitMessage"
href="#">{{commitMessageLinkTitle}}</a>
href=
"#"
>
{{ commitMessageLinkTitle }}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
`
,
</template>
};
app/assets/javascripts/vue_merge_request_widget/dependencies.js
View file @
5cb0a2ef
...
@@ -27,7 +27,7 @@ export { default as ConflictsState } from './components/states/mr_widget_conflic
...
@@ -27,7 +27,7 @@ export { default as ConflictsState } from './components/states/mr_widget_conflic
export
{
default
as
NothingToMergeState
}
from
'
./components/states/nothing_to_merge.vue
'
;
export
{
default
as
NothingToMergeState
}
from
'
./components/states/nothing_to_merge.vue
'
;
export
{
default
as
MissingBranchState
}
from
'
./components/states/mr_widget_missing_branch.vue
'
;
export
{
default
as
MissingBranchState
}
from
'
./components/states/mr_widget_missing_branch.vue
'
;
export
{
default
as
NotAllowedState
}
from
'
./components/states/mr_widget_not_allowed.vue
'
;
export
{
default
as
NotAllowedState
}
from
'
./components/states/mr_widget_not_allowed.vue
'
;
export
{
default
as
ReadyToMergeState
}
from
'
./components/states/
mr_widget_ready_to_merg
e
'
;
export
{
default
as
ReadyToMergeState
}
from
'
./components/states/
ready_to_merge.vu
e
'
;
export
{
default
as
ShaMismatchState
}
from
'
./components/states/sha_mismatch.vue
'
;
export
{
default
as
ShaMismatchState
}
from
'
./components/states/sha_mismatch.vue
'
;
export
{
default
as
UnresolvedDiscussionsState
}
from
'
./components/states/unresolved_discussions.vue
'
;
export
{
default
as
UnresolvedDiscussionsState
}
from
'
./components/states/unresolved_discussions.vue
'
;
export
{
default
as
PipelineBlockedState
}
from
'
./components/states/mr_widget_pipeline_blocked.vue
'
;
export
{
default
as
PipelineBlockedState
}
from
'
./components/states/mr_widget_pipeline_blocked.vue
'
;
...
...
changelogs/unreleased/refactor-move-mr-widget-ready-to-merge-vue-component.yml
0 → 100644
View file @
5cb0a2ef
---
title
:
Move ReadyToMerge vue component
merge_request
:
17545
author
:
George Tsiolis
type
:
performance
qa/qa/page/merge_request/show.rb
View file @
5cb0a2ef
...
@@ -2,7 +2,7 @@ module QA
...
@@ -2,7 +2,7 @@ module QA
module
Page
module
Page
module
MergeRequest
module
MergeRequest
class
Show
<
Page
::
Base
class
Show
<
Page
::
Base
view
'app/assets/javascripts/vue_merge_request_widget/components/states/
mr_widget_ready_to_merge.js
'
do
view
'app/assets/javascripts/vue_merge_request_widget/components/states/
ready_to_merge.vue
'
do
element
:merge_button
element
:merge_button
element
:fast_forward_message
,
'Fast-forward merge without a merge commit'
element
:fast_forward_message
,
'Fast-forward merge without a merge commit'
end
end
...
...
spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js
View file @
5cb0a2ef
import
Vue
from
'
vue
'
;
import
Vue
from
'
vue
'
;
import
readyToMergeComponent
from
'
~/vue_merge_request_widget/components/states/mr_widget_ready_to_merg
e
'
;
import
ReadyToMerge
from
'
~/vue_merge_request_widget/components/states/ready_to_merge.vu
e
'
;
import
eventHub
from
'
~/vue_merge_request_widget/event_hub
'
;
import
eventHub
from
'
~/vue_merge_request_widget/event_hub
'
;
import
*
as
simplePoll
from
'
~/lib/utils/simple_poll
'
;
import
*
as
simplePoll
from
'
~/lib/utils/simple_poll
'
;
const
commitMessage
=
'
This is the commit message
'
;
const
commitMessage
=
'
This is the commit message
'
;
const
commitMessageWithDescription
=
'
This is the commit message description
'
;
const
commitMessageWithDescription
=
'
This is the commit message description
'
;
const
createComponent
=
(
customConfig
=
{})
=>
{
const
createComponent
=
(
customConfig
=
{})
=>
{
const
Component
=
Vue
.
extend
(
readyToMergeComponent
);
const
Component
=
Vue
.
extend
(
ReadyToMerge
);
const
mr
=
{
const
mr
=
{
isPipelineActive
:
false
,
isPipelineActive
:
false
,
pipeline
:
null
,
pipeline
:
null
,
...
@@ -36,7 +36,7 @@ const createComponent = (customConfig = {}) => {
...
@@ -36,7 +36,7 @@ const createComponent = (customConfig = {}) => {
});
});
};
};
describe
(
'
MRWidget
ReadyToMerge
'
,
()
=>
{
describe
(
'
ReadyToMerge
'
,
()
=>
{
let
vm
;
let
vm
;
beforeEach
(()
=>
{
beforeEach
(()
=>
{
...
@@ -49,7 +49,7 @@ describe('MRWidgetReadyToMerge', () => {
...
@@ -49,7 +49,7 @@ describe('MRWidgetReadyToMerge', () => {
describe
(
'
props
'
,
()
=>
{
describe
(
'
props
'
,
()
=>
{
it
(
'
should have props
'
,
()
=>
{
it
(
'
should have props
'
,
()
=>
{
const
{
mr
,
service
}
=
readyToMergeComponent
.
props
;
const
{
mr
,
service
}
=
ReadyToMerge
.
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