Merge branch 'refactor/56369-extract-jump-to-next-discussion-button' into 'master'
Refactor/56369 extract jump to next discussion button Closes #56369 See merge request gitlab-org/gitlab-ce!24506
This commit is contained in:
commit
958a819fce
5 changed files with 75 additions and 10 deletions
|
@ -0,0 +1,28 @@
|
|||
<script>
|
||||
import icon from '~/vue_shared/components/icon.vue';
|
||||
import { GlTooltipDirective } from '@gitlab/ui';
|
||||
|
||||
export default {
|
||||
name: 'JumpToNextDiscussionButton',
|
||||
components: {
|
||||
icon,
|
||||
},
|
||||
directives: {
|
||||
GlTooltip: GlTooltipDirective,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="btn-group" role="group">
|
||||
<button
|
||||
ref="button"
|
||||
v-gl-tooltip
|
||||
class="btn btn-default discussion-next-btn"
|
||||
:title="s__('MergeRequests|Jump to next unresolved discussion')"
|
||||
@click="$emit('onClick')"
|
||||
>
|
||||
<icon name="comment-next" />
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
|
@ -23,6 +23,7 @@ import autosave from '../mixins/autosave';
|
|||
import noteable from '../mixins/noteable';
|
||||
import resolvable from '../mixins/resolvable';
|
||||
import discussionNavigation from '../mixins/discussion_navigation';
|
||||
import jumpToNextDiscussionButton from './discussion_jump_to_next_button.vue';
|
||||
|
||||
export default {
|
||||
name: 'NoteableDiscussion',
|
||||
|
@ -34,6 +35,7 @@ export default {
|
|||
noteSignedOutWidget,
|
||||
noteEditedText,
|
||||
noteForm,
|
||||
jumpToNextDiscussionButton,
|
||||
toggleRepliesWidget,
|
||||
placeholderNote,
|
||||
placeholderSystemNote,
|
||||
|
@ -476,16 +478,10 @@ Please check your network connection and try again.`;
|
|||
<icon name="issue-new" />
|
||||
</a>
|
||||
</div>
|
||||
<div v-if="shouldShowJumpToNextDiscussion" class="btn-group" role="group">
|
||||
<button
|
||||
v-gl-tooltip
|
||||
class="btn btn-default discussion-next-btn"
|
||||
title="Jump to next unresolved discussion"
|
||||
@click="jumpToNextDiscussion"
|
||||
>
|
||||
<icon name="comment-next" />
|
||||
</button>
|
||||
</div>
|
||||
<jump-to-next-discussion-button
|
||||
v-if="shouldShowJumpToNextDiscussion"
|
||||
@onClick="jumpToNextDiscussion"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Extracted JumpToNextDiscussionButton to its own component
|
||||
author: Martin Hobert
|
||||
merge_request: 24506
|
||||
type: other
|
|
@ -4345,6 +4345,9 @@ msgstr ""
|
|||
msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others"
|
||||
msgstr ""
|
||||
|
||||
msgid "MergeRequests|Jump to next unresolved discussion"
|
||||
msgstr ""
|
||||
|
||||
msgid "MergeRequests|Resolve this discussion in a new issue"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
import jumpToNextDiscussionButton from '~/notes/components/discussion_jump_to_next_button.vue';
|
||||
import { shallowMount, createLocalVue } from '@vue/test-utils';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
|
||||
describe('jumpToNextDiscussionButton', () => {
|
||||
let wrapper;
|
||||
|
||||
beforeEach(() => {
|
||||
wrapper = shallowMount(jumpToNextDiscussionButton, {
|
||||
localVue,
|
||||
sync: false,
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
wrapper.destroy();
|
||||
});
|
||||
|
||||
it('emits onClick event on button click', done => {
|
||||
const button = wrapper.find({ ref: 'button' });
|
||||
|
||||
button.trigger('click');
|
||||
|
||||
localVue.nextTick(() => {
|
||||
expect(wrapper.emitted()).toEqual({
|
||||
onClick: [[]],
|
||||
});
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in a new issue