Hide More Actions tooltip when the menu opens
This commit is contained in:
parent
3daa53e821
commit
be485a781d
|
|
@ -126,6 +126,11 @@ export default {
|
||||||
onResolve() {
|
onResolve() {
|
||||||
this.$emit('handleResolve');
|
this.$emit('handleResolve');
|
||||||
},
|
},
|
||||||
|
closeTooltip() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$root.$emit('bv::hide::tooltip');
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -202,6 +207,7 @@ export default {
|
||||||
title="More actions"
|
title="More actions"
|
||||||
class="note-action-button more-actions-toggle btn btn-transparent"
|
class="note-action-button more-actions-toggle btn btn-transparent"
|
||||||
data-toggle="dropdown"
|
data-toggle="dropdown"
|
||||||
|
@click="closeTooltip"
|
||||||
>
|
>
|
||||||
<icon css-classes="icon" name="ellipsis_v" />
|
<icon css-classes="icon" name="ellipsis_v" />
|
||||||
</button>
|
</button>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Close More Actions tooltip when menu opens
|
||||||
|
merge_request: 24285
|
||||||
|
author:
|
||||||
|
type: fixed
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import { shallowMount, createLocalVue } from '@vue/test-utils';
|
import { shallowMount, createLocalVue, createWrapper } from '@vue/test-utils';
|
||||||
import createStore from '~/notes/stores';
|
import createStore from '~/notes/stores';
|
||||||
import noteActions from '~/notes/components/note_actions.vue';
|
import noteActions from '~/notes/components/note_actions.vue';
|
||||||
import { TEST_HOST } from 'spec/test_constants';
|
import { TEST_HOST } from 'spec/test_constants';
|
||||||
|
|
@ -10,7 +10,7 @@ describe('noteActions', () => {
|
||||||
let store;
|
let store;
|
||||||
let props;
|
let props;
|
||||||
|
|
||||||
const createWrapper = propsData => {
|
const shallowMountNoteActions = propsData => {
|
||||||
const localVue = createLocalVue();
|
const localVue = createLocalVue();
|
||||||
return shallowMount(noteActions, {
|
return shallowMount(noteActions, {
|
||||||
store,
|
store,
|
||||||
|
|
@ -44,7 +44,7 @@ describe('noteActions', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
store.dispatch('setUserData', userDataMock);
|
store.dispatch('setUserData', userDataMock);
|
||||||
|
|
||||||
wrapper = createWrapper(props);
|
wrapper = shallowMountNoteActions(props);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should render access level badge', () => {
|
it('should render access level badge', () => {
|
||||||
|
|
@ -90,13 +90,27 @@ describe('noteActions', () => {
|
||||||
it('should be possible to delete comment', () => {
|
it('should be possible to delete comment', () => {
|
||||||
expect(wrapper.find('.js-note-delete').exists()).toBe(true);
|
expect(wrapper.find('.js-note-delete').exists()).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('closes tooltip when dropdown opens', done => {
|
||||||
|
wrapper.find('.more-actions-toggle').trigger('click');
|
||||||
|
|
||||||
|
const rootWrapper = createWrapper(wrapper.vm.$root);
|
||||||
|
Vue.nextTick()
|
||||||
|
.then(() => {
|
||||||
|
const emitted = Object.keys(rootWrapper.emitted());
|
||||||
|
|
||||||
|
expect(emitted).toEqual(['bv::hide::tooltip']);
|
||||||
|
done();
|
||||||
|
})
|
||||||
|
.catch(done.fail);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('user is not logged in', () => {
|
describe('user is not logged in', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
store.dispatch('setUserData', {});
|
store.dispatch('setUserData', {});
|
||||||
wrapper = createWrapper({
|
wrapper = shallowMountNoteActions({
|
||||||
...props,
|
...props,
|
||||||
canDelete: false,
|
canDelete: false,
|
||||||
canEdit: false,
|
canEdit: false,
|
||||||
|
|
@ -127,7 +141,7 @@ describe('noteActions', () => {
|
||||||
|
|
||||||
describe('for showReply = true', () => {
|
describe('for showReply = true', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
wrapper = createWrapper({
|
wrapper = shallowMountNoteActions({
|
||||||
...props,
|
...props,
|
||||||
showReply: true,
|
showReply: true,
|
||||||
});
|
});
|
||||||
|
|
@ -142,7 +156,7 @@ describe('noteActions', () => {
|
||||||
|
|
||||||
describe('for showReply = false', () => {
|
describe('for showReply = false', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
wrapper = createWrapper({
|
wrapper = shallowMountNoteActions({
|
||||||
...props,
|
...props,
|
||||||
showReply: false,
|
showReply: false,
|
||||||
});
|
});
|
||||||
|
|
@ -169,7 +183,7 @@ describe('noteActions', () => {
|
||||||
|
|
||||||
describe('for showReply = true', () => {
|
describe('for showReply = true', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
wrapper = createWrapper({
|
wrapper = shallowMountNoteActions({
|
||||||
...props,
|
...props,
|
||||||
showReply: true,
|
showReply: true,
|
||||||
});
|
});
|
||||||
|
|
@ -184,7 +198,7 @@ describe('noteActions', () => {
|
||||||
|
|
||||||
describe('for showReply = false', () => {
|
describe('for showReply = false', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
wrapper = createWrapper({
|
wrapper = shallowMountNoteActions({
|
||||||
...props,
|
...props,
|
||||||
showReply: false,
|
showReply: false,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue