Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
2ea409f6
Commit
2ea409f6
authored
Apr 10, 2019
by
Sam Bigelow
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix bug where MR Popover wont go away
Add a check to make sure eventListener is not added twice
parent
c61fd077
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
1 deletion
+40
-1
app/assets/javascripts/mr_popover/index.js
app/assets/javascripts/mr_popover/index.js
+5
-1
changelogs/unreleased/60241-merge-request-popover-doesn-t-go-away-on-mouse-leave.yml
...-merge-request-popover-doesn-t-go-away-on-mouse-leave.yml
+5
-0
spec/frontend/mr_popover/index_spec.js
spec/frontend/mr_popover/index_spec.js
+30
-0
No files found.
app/assets/javascripts/mr_popover/index.js
View file @
2ea409f6
...
...
@@ -54,9 +54,13 @@ export default elements => {
const
apolloProvider
=
new
VueApollo
({
defaultClient
:
createDefaultClient
(),
});
const
listenerAddedAttr
=
'
data-mr-listener-added
'
;
mrLinks
.
forEach
(
el
=>
{
if
(
!
el
.
getAttribute
(
listenerAddedAttr
))
{
el
.
addEventListener
(
'
mouseenter
'
,
handleMRPopoverMount
(
apolloProvider
));
el
.
setAttribute
(
listenerAddedAttr
,
true
);
}
});
}
};
changelogs/unreleased/60241-merge-request-popover-doesn-t-go-away-on-mouse-leave.yml
0 → 100644
View file @
2ea409f6
---
title
:
Fix bug where MR popover doesn't go away on mouse leave
merge_request
:
author
:
type
:
fixed
spec/frontend/mr_popover/index_spec.js
0 → 100644
View file @
2ea409f6
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
);
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment