diff options
author | Sam Bigelow <sbigelow@gitlab.com> | 2019-04-24 14:09:36 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2019-04-24 14:09:36 +0000 |
commit | 699957ef59a516171ee6aba25e3ff6c8bb71b6bb (patch) | |
tree | 820a4723eeab38b2510577f3310a672ff5376f05 /app/assets/javascripts/mr_popover | |
parent | 27a964078bd6cd5aab5f7146d3cd8ceadc6de794 (diff) | |
download | gitlab-ce-699957ef59a516171ee6aba25e3ff6c8bb71b6bb.tar.gz |
Resolve "Merge Request Popover is not working on the To Do page"
Diffstat (limited to 'app/assets/javascripts/mr_popover')
-rw-r--r-- | app/assets/javascripts/mr_popover/index.js | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/app/assets/javascripts/mr_popover/index.js b/app/assets/javascripts/mr_popover/index.js index 9a97e98f9db..18c0e201300 100644 --- a/app/assets/javascripts/mr_popover/index.js +++ b/app/assets/javascripts/mr_popover/index.js @@ -22,13 +22,10 @@ const handleUserPopoverMouseOut = ({ target }) => { * Adds a MergeRequestPopover component to the body, hands over as much data as the target element has in data attributes. * loads based on data-project-path and data-iid more data about an MR from the API and sets it on the popover */ -const handleMRPopoverMount = apolloProvider => ({ target }) => { +const handleMRPopoverMount = ({ apolloProvider, projectPath, mrTitle, iid }) => ({ target }) => { // Add listener to actually remove it again target.addEventListener('mouseleave', handleUserPopoverMouseOut); - const { projectPath, mrTitle, iid } = target.dataset; - const mergeRequest = {}; - renderFn = setTimeout(() => { const MRPopoverComponent = Vue.extend(MRPopover); renderedPopover = new MRPopoverComponent({ @@ -36,7 +33,6 @@ const handleMRPopoverMount = apolloProvider => ({ target }) => { target, projectPath, mergeRequestIID: iid, - mergeRequest, mergeRequestTitle: mrTitle, }, apolloProvider, @@ -57,8 +53,13 @@ export default elements => { const listenerAddedAttr = 'data-mr-listener-added'; mrLinks.forEach(el => { - if (!el.getAttribute(listenerAddedAttr)) { - el.addEventListener('mouseenter', handleMRPopoverMount(apolloProvider)); + const { projectPath, mrTitle, iid } = el.dataset; + + if (!el.getAttribute(listenerAddedAttr) && projectPath && mrTitle && iid) { + el.addEventListener( + 'mouseenter', + handleMRPopoverMount({ apolloProvider, projectPath, mrTitle, iid }), + ); el.setAttribute(listenerAddedAttr, true); } }); |