diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 17:36:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 17:36:54 +0300 |
commit | f61bb2a16a514b71bf33aabbbb999d6732016a24 (patch) | |
tree | 9548caa89e60b4f40b99bbd1dac030420b812aa8 /app/assets/javascripts/droplab/drop_lab.js | |
parent | 35fc54e5d261f8898e390aea7c2f5ec5fdf0539d (diff) |
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc42
Diffstat (limited to 'app/assets/javascripts/droplab/drop_lab.js')
-rw-r--r-- | app/assets/javascripts/droplab/drop_lab.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/app/assets/javascripts/droplab/drop_lab.js b/app/assets/javascripts/droplab/drop_lab.js index 74fa6887ba5..6f068aaa800 100644 --- a/app/assets/javascripts/droplab/drop_lab.js +++ b/app/assets/javascripts/droplab/drop_lab.js @@ -60,21 +60,24 @@ class DropLab { addEvents() { this.eventWrapper.documentClicked = this.documentClicked.bind(this); - document.addEventListener('mousedown', this.eventWrapper.documentClicked); + document.addEventListener('click', this.eventWrapper.documentClicked); } documentClicked(e) { - let thisTag = e.target; + if (e.defaultPrevented) return; - if (thisTag.tagName !== 'UL') thisTag = utils.closest(thisTag, 'UL'); - if (utils.isDropDownParts(thisTag, this.hooks)) return; - if (utils.isDropDownParts(e.target, this.hooks)) return; + if (utils.isDropDownParts(e.target)) return; + + if (e.target.tagName !== 'UL') { + const closestUl = utils.closest(e.target, 'UL'); + if (utils.isDropDownParts(closestUl)) return; + } this.hooks.forEach((hook) => hook.list.hide()); } removeEvents() { - document.removeEventListener('mousedown', this.eventWrapper.documentClicked); + document.removeEventListener('click', this.eventWrapper.documentClicked); } changeHookList(trigger, list, plugins, config) { |