From f01d90216fcadaa2679fd94572d317b8937b311f Mon Sep 17 00:00:00 2001 From: Argo-Asicotech Date: Sat, 15 Oct 2022 05:40:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20MultiSelect=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=84=9A=E6=9C=AC=E5=8A=A0=E8=BD=BD=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Select/MultiSelect.razor | 4 ++-- .../Components/Select/MultiSelect.razor.cs | 17 +---------------- .../wwwroot/modules/multi-select.js | 8 ++++++++ 3 files changed, 11 insertions(+), 18 deletions(-) create mode 100644 src/BootstrapBlazor/wwwroot/modules/multi-select.js diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor b/src/BootstrapBlazor/Components/Select/MultiSelect.razor index b96f8668c..62c434b5f 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor @@ -6,8 +6,8 @@ { } -
-
+
+
@PlaceHolder
@foreach (var item in SelectedItems) diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs index 86a333091..3528ee02c 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs @@ -10,10 +10,9 @@ namespace BootstrapBlazor.Components; /// /// MultiSelect 组件 /// +[JSModuleAutoLoader("multi-select")] public partial class MultiSelect { - private ElementReference SelectElement { get; set; } - [NotNull] private List? DataSource { get; set; } @@ -363,18 +362,4 @@ public partial class MultiSelect DataSource = Items.ToList(); } - - /// - /// Dispose 方法 - /// - /// - protected override async ValueTask DisposeAsync(bool disposing) - { - await base.DisposeAsync(disposing); - - if (IsPopover && disposing) - { - await JSRuntime.InvokeVoidAsync(SelectElement, "bb_multi_select", "dispose"); - } - } } diff --git a/src/BootstrapBlazor/wwwroot/modules/multi-select.js b/src/BootstrapBlazor/wwwroot/modules/multi-select.js new file mode 100644 index 000000000..a032b2aab --- /dev/null +++ b/src/BootstrapBlazor/wwwroot/modules/multi-select.js @@ -0,0 +1,8 @@ +import { Dropdown } from "./dropdown.js" +import { isDisabled } from "./base/index.js" + +export class MultiSelect extends Dropdown { + _isDisabled() { + return isDisabled(this._toggle) + } +} -- Gitee From db9d276633e8f5412aa0afad88eaf05a665bfd2f Mon Sep 17 00:00:00 2001 From: Argo-Asicotech Date: Sat, 15 Oct 2022 05:40:35 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=20outside=20?= =?UTF-8?q?=E7=A6=81=E6=AD=A2=E8=87=AA=E5=8A=A8=E5=85=B3=E9=97=AD=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/wwwroot/modules/base/base-dropdown.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/wwwroot/modules/base/base-dropdown.js b/src/BootstrapBlazor/wwwroot/modules/base/base-dropdown.js index be2abb8a8..54512e182 100644 --- a/src/BootstrapBlazor/wwwroot/modules/base/base-dropdown.js +++ b/src/BootstrapBlazor/wwwroot/modules/base/base-dropdown.js @@ -98,7 +98,11 @@ export class DropdownBase extends BlazorComponent { EventHandler.on(this._element, 'inserted.bs.popover', insertedPopover) EventHandler.on(this._element, 'hide.bs.popover', hidePopover) EventHandler.on(this._element, 'click', this._config.toggleClass, active) - EventHandler.on(this._toggleMenu, 'click', '.dropdown-item', () => this.hide()) + EventHandler.on(this._toggleMenu, 'click', '.dropdown-item', e => { + if (this._popover._config.autoClose !== 'outside') { + this.hide() + } + }) if (!window.bb_dropdown) { window.bb_dropdown = true -- Gitee From 403b51c294969c634131954be21f1d60b4b678d7 Mon Sep 17 00:00:00 2001 From: Argo-Asicotech Date: Sat, 15 Oct 2022 05:40:49 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20dismiss=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/wwwroot/modules/dropdown.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/wwwroot/modules/dropdown.js b/src/BootstrapBlazor/wwwroot/modules/dropdown.js index 2b280617b..736dbdc7d 100644 --- a/src/BootstrapBlazor/wwwroot/modules/dropdown.js +++ b/src/BootstrapBlazor/wwwroot/modules/dropdown.js @@ -3,14 +3,18 @@ import EventHandler from "./base/event-handler.js" export class Dropdown extends DropdownBase { _setListeners() { - EventHandler.on(this._toggleMenu, 'click', this._config.dismiss, () => { - this.hide() - }) + if (this._config.dismiss) { + EventHandler.on(this._toggleMenu, 'click', this._config.dismiss, () => { + this.hide() + }) + } super._setListeners() } _dispose() { - EventHandler.off(this._toggleMenu, 'click', this._config.dismiss) + if (this._config.dismiss) { + EventHandler.off(this._toggleMenu, 'click', this._config.dismiss) + } super._dispose(); } } -- Gitee From 06d022d5ed461d4f6933a9e0ee21e3532b837176 Mon Sep 17 00:00:00 2001 From: Argo-Asicotech Date: Sat, 15 Oct 2022 05:41:16 +0800 Subject: [PATCH 4/4] chore: bump version 6.11.12 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 9ae22be48..2b9f4153b 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 6.11.11 + 6.11.12 -- Gitee