diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 65da67ab202a73ccdf0b773312e829184ce72565..698950c6e37007a4c4a6415c6718879bebe877bf 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 6.11.17 + 6.11.18 diff --git a/src/BootstrapBlazor/wwwroot/modules/select-tree.js b/src/BootstrapBlazor/wwwroot/modules/select-tree.js index 904c6b6121f2792e512aa56277bcfe0558204a73..05d4ef985711b0e6b33555caafd68e000140f4af 100644 --- a/src/BootstrapBlazor/wwwroot/modules/select-tree.js +++ b/src/BootstrapBlazor/wwwroot/modules/select-tree.js @@ -1,15 +1,35 @@ -import DropdownBase from "./base/base-dropdown.js"; -import { isDisabled } from "./base/index.js"; +import DropdownBase from "./base/base-dropdown.js" +import EventHandler from "./base/event-handler.js" +import { isDisabled } from "./base/index.js" export class SelectTree extends DropdownBase { _init() { - // el, obj, method this._input = this._element.querySelector('.form-select') super._init() } + _setListeners() { + EventHandler.on(this._toggleMenu, 'click', '.tree-node', e => { + if (this._isPopover) { + this._popover.hide() + } else { + const dropdown = bootstrap.Dropdown.getInstance(this._toggle) + if (dropdown) { + dropdown.hide() + } + } + }) + + super._setListeners() + } + _isDisabled() { return isDisabled(this._input) } + + _dispose() { + EventHandler.off(this._toggleMenu, 'click', '.tree-node') + super._dispose(); + } } diff --git a/src/BootstrapBlazor/wwwroot/modules/select.js b/src/BootstrapBlazor/wwwroot/modules/select.js index f4b3a19e61b69196fb2c60cbd9979cb678264182..93a98a492ea4b0efae16ff2bfb1616791a5571c7 100644 --- a/src/BootstrapBlazor/wwwroot/modules/select.js +++ b/src/BootstrapBlazor/wwwroot/modules/select.js @@ -1,8 +1,8 @@ -import EventHandler from "./base/event-handler.js"; -import { getHeight, getInnerHeight } from "./base/utility.js"; -import { SelectTree } from "./select-tree.js" +import DropdownBase from "./base/base-dropdown.js" +import EventHandler from "./base/event-handler.js" +import { getHeight, getInnerHeight } from "./base/utility.js" -export class Select extends SelectTree { +export class Select extends DropdownBase { _init() { // el, obj, method this._search = this._element.querySelector('input.search-text')