Commit 74e4ace8 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents 94176d60 ed7a558c
...@@ -54,9 +54,13 @@ export default elements => { ...@@ -54,9 +54,13 @@ export default elements => {
const apolloProvider = new VueApollo({ const apolloProvider = new VueApollo({
defaultClient: createDefaultClient(), defaultClient: createDefaultClient(),
}); });
const listenerAddedAttr = 'data-mr-listener-added';
mrLinks.forEach(el => { mrLinks.forEach(el => {
el.addEventListener('mouseenter', handleMRPopoverMount(apolloProvider)); if (!el.getAttribute(listenerAddedAttr)) {
el.addEventListener('mouseenter', handleMRPopoverMount(apolloProvider));
el.setAttribute(listenerAddedAttr, true);
}
}); });
} }
}; };
---
title: Fix bug where MR popover doesn't go away on mouse leave
merge_request:
author:
type: fixed
...@@ -174,6 +174,10 @@ behavior: ...@@ -174,6 +174,10 @@ behavior:
1. [Reconfigure GitLab][reconfigure]. 1. [Reconfigure GitLab][reconfigure].
NOTE: **Note:**
`inplace_chroot` option might not work with the other features, such as [Pages Access Control](#access-control).
The [GitLab Pages README](https://gitlab.com/gitlab-org/gitlab-pages#caveats) has more information about caveats and workarounds.
## Advanced configuration ## Advanced configuration
In addition to the wildcard domains, you can also have the option to configure In addition to the wildcard domains, you can also have the option to configure
......
import * as createDefaultClient from '~/lib/graphql';
import { setHTMLFixture } from '../helpers/fixtures';
import initMRPopovers from '~/mr_popover/index';
createDefaultClient.default = jest.fn();
describe('initMRPopovers', () => {
let mr1;
let mr2;
beforeEach(() => {
setHTMLFixture(`
<div id="one" class="gfm-merge_request">MR1</div>
<div id="two" class="gfm-merge_request">MR2</div>
`);
mr1 = document.querySelector('#one');
mr2 = document.querySelector('#two');
mr1.addEventListener = jest.fn();
mr2.addEventListener = jest.fn();
});
it('does not add the same event listener twice', () => {
initMRPopovers([mr1, mr1, mr2]);
expect(mr1.addEventListener).toHaveBeenCalledTimes(1);
expect(mr2.addEventListener).toHaveBeenCalledTimes(1);
});
});
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