diff options
author | Luke Bennett <lukeeeebennettplus@gmail.com> | 2018-03-23 19:13:54 +0000 |
---|---|---|
committer | Luke Bennett <lukeeeebennettplus@gmail.com> | 2018-03-23 19:13:54 +0000 |
commit | e829c39d51d1d4b6b057307049764f7a1146f242 (patch) | |
tree | 04d3762cc6b089fe8c8c4d54d4906990ec339455 | |
parent | 2bb3e4c6e389915d2702ffcfaff5d31b6a41f582 (diff) | |
download | gitlab-ce-e829c39d51d1d4b6b057307049764f7a1146f242.tar.gz |
Tidy timeout and add jquery
-rw-r--r-- | app/assets/javascripts/shared/popover.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/app/assets/javascripts/shared/popover.js b/app/assets/javascripts/shared/popover.js index 48894c2b100..ae4bfa1c916 100644 --- a/app/assets/javascripts/shared/popover.js +++ b/app/assets/javascripts/shared/popover.js @@ -1,3 +1,5 @@ +import $ from 'jquery'; + export default class Popover { constructor(trigger, content) { this.isOpen = false; @@ -41,13 +43,15 @@ export default class Popover { } closePopoverMouseleave() { - setTimeout(() => { - if (this.$popover.is(':hover') || - (this.$popover.siblings('.popover').length > 0 && - this.$popover.siblings('.popover').is(':hover'))) return; + if (this.$popover.is(':hover') || + (this.$popover.siblings('.popover').length > 0 && + this.$popover.siblings('.popover').is(':hover'))) return; + + this.closePopover(); + } - this.closePopover(); - }, 1500); + closePopoverMouseleaveDelayed() { + setTimeout(this.closePopoverMouseleave.bind(this), 1500); } registerClickOpenListener() { @@ -59,8 +63,8 @@ export default class Popover { } registerMouseleaveCloseListener() { - this.$popover.on('mouseleave.glPopover.close', this.closePopoverMouseleave.bind(this)); - this.$popover.siblings('.popover').on('mouseleave.glPopover.close', this.closePopoverMouseleave.bind(this)); + this.$popover.on('mouseleave.glPopover.close', this.closePopoverMouseleaveDelayed.bind(this)); + this.$popover.siblings('.popover').on('mouseleave.glPopover.close', this.closePopoverMouseleaveDelayed.bind(this)); } destroyMouseleaveCloseListener() { |