From 3770b7b9e3fd92b164a58caef05a4d9cd650a86a Mon Sep 17 00:00:00 2001 From: Rohit Sharma Date: Thu, 4 Feb 2021 01:21:19 +0530 Subject: =?UTF-8?q?Dropdown=20=E2=80=94=20Emit=20events=20on=20the=20`.dro?= =?UTF-8?q?pdown-toggle`=20button=20(#32625)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Emit events on the dropdown button Emit the events on `.dropdown-toggle` button and then bubble up * Add migration note for events * Update the docs for events * Add unit test to check the event bubbling Co-authored-by: XhmikosR --- js/src/dropdown.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'js/src') diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 8fdf45580..69b99e628 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -194,7 +194,7 @@ class Dropdown extends BaseComponent { this._menu.classList.toggle(CLASS_NAME_SHOW) this._element.classList.toggle(CLASS_NAME_SHOW) - EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget) + EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget) } hide() { @@ -202,12 +202,11 @@ class Dropdown extends BaseComponent { return } - const parent = Dropdown.getParentFromElement(this._element) const relatedTarget = { relatedTarget: this._element } - const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget) + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget) if (hideEvent.defaultPrevented) { return @@ -219,7 +218,7 @@ class Dropdown extends BaseComponent { this._menu.classList.toggle(CLASS_NAME_SHOW) this._element.classList.toggle(CLASS_NAME_SHOW) - EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget) + EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget) } dispose() { @@ -383,7 +382,6 @@ class Dropdown extends BaseComponent { const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE) for (let i = 0, len = toggles.length; i < len; i++) { - const parent = Dropdown.getParentFromElement(toggles[i]) const context = Data.getData(toggles[i], DATA_KEY) const relatedTarget = { relatedTarget: toggles[i] @@ -409,7 +407,7 @@ class Dropdown extends BaseComponent { continue } - const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget) + const hideEvent = EventHandler.trigger(toggles[i], EVENT_HIDE, relatedTarget) if (hideEvent.defaultPrevented) { continue } @@ -429,7 +427,7 @@ class Dropdown extends BaseComponent { dropdownMenu.classList.remove(CLASS_NAME_SHOW) toggles[i].classList.remove(CLASS_NAME_SHOW) - EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget) + EventHandler.trigger(toggles[i], EVENT_HIDDEN, relatedTarget) } } -- cgit v1.2.3