Commit ba8113c3 authored by Sam Bigelow's avatar Sam Bigelow

Init MR Popovers on system note mounted

All `renderGFM()` calls are finished before the system note is mounted
so this MR inits the popover for each system note, and only the elements
in the system note
parent 674e5e5b
...@@ -22,6 +22,7 @@ import noteHeader from '~/notes/components/note_header.vue'; ...@@ -22,6 +22,7 @@ import noteHeader from '~/notes/components/note_header.vue';
import Icon from '~/vue_shared/components/icon.vue'; import Icon from '~/vue_shared/components/icon.vue';
import TimelineEntryItem from './timeline_entry_item.vue'; import TimelineEntryItem from './timeline_entry_item.vue';
import { spriteIcon } from '../../../lib/utils/common_utils'; import { spriteIcon } from '../../../lib/utils/common_utils';
import initMRPopovers from '~/mr_popover/';
const MAX_VISIBLE_COMMIT_LIST_COUNT = 3; const MAX_VISIBLE_COMMIT_LIST_COUNT = 3;
...@@ -71,6 +72,9 @@ export default { ...@@ -71,6 +72,9 @@ export default {
); );
}, },
}, },
mounted() {
initMRPopovers(this.$el.querySelectorAll('.gfm-merge_request'));
},
}; };
</script> </script>
......
---
title: Fix bug where system note MR has no popover
merge_request: 27747
author:
type: fixed
import Vue from 'vue'; import Vue from 'vue';
import issueSystemNote from '~/vue_shared/components/notes/system_note.vue'; import issueSystemNote from '~/vue_shared/components/notes/system_note.vue';
import createStore from '~/notes/stores'; import createStore from '~/notes/stores';
import initMRPopovers from '~/mr_popover/index';
jest.mock('~/mr_popover/index', () => jest.fn());
describe('system note component', () => { describe('system note component', () => {
let vm; let vm;
...@@ -56,4 +59,8 @@ describe('system note component', () => { ...@@ -56,4 +59,8 @@ describe('system note component', () => {
it('removes wrapping paragraph from note HTML', () => { it('removes wrapping paragraph from note HTML', () => {
expect(vm.$el.querySelector('.system-note-message').innerHTML).toEqual('<span>closed</span>'); expect(vm.$el.querySelector('.system-note-message').innerHTML).toEqual('<span>closed</span>');
}); });
it('should initMRPopovers onMount', () => {
expect(initMRPopovers).toHaveBeenCalled();
});
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment