Tidy timeout and add jquery
This commit is contained in:
parent
2bb3e4c6e3
commit
e829c39d51
1 changed files with 12 additions and 8 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
import $ from 'jquery';
|
||||||
|
|
||||||
export default class Popover {
|
export default class Popover {
|
||||||
constructor(trigger, content) {
|
constructor(trigger, content) {
|
||||||
this.isOpen = false;
|
this.isOpen = false;
|
||||||
|
@ -41,13 +43,15 @@ export default class Popover {
|
||||||
}
|
}
|
||||||
|
|
||||||
closePopoverMouseleave() {
|
closePopoverMouseleave() {
|
||||||
setTimeout(() => {
|
if (this.$popover.is(':hover') ||
|
||||||
if (this.$popover.is(':hover') ||
|
(this.$popover.siblings('.popover').length > 0 &&
|
||||||
(this.$popover.siblings('.popover').length > 0 &&
|
this.$popover.siblings('.popover').is(':hover'))) return;
|
||||||
this.$popover.siblings('.popover').is(':hover'))) return;
|
|
||||||
|
|
||||||
this.closePopover();
|
this.closePopover();
|
||||||
}, 1500);
|
}
|
||||||
|
|
||||||
|
closePopoverMouseleaveDelayed() {
|
||||||
|
setTimeout(this.closePopoverMouseleave.bind(this), 1500);
|
||||||
}
|
}
|
||||||
|
|
||||||
registerClickOpenListener() {
|
registerClickOpenListener() {
|
||||||
|
@ -59,8 +63,8 @@ export default class Popover {
|
||||||
}
|
}
|
||||||
|
|
||||||
registerMouseleaveCloseListener() {
|
registerMouseleaveCloseListener() {
|
||||||
this.$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.closePopoverMouseleave.bind(this));
|
this.$popover.siblings('.popover').on('mouseleave.glPopover.close', this.closePopoverMouseleaveDelayed.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
destroyMouseleaveCloseListener() {
|
destroyMouseleaveCloseListener() {
|
||||||
|
|
Loading…
Reference in a new issue