From 92bc40ddd4535cd4bf72b115e8a47f6e50ac1406 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 2 Jun 2025 13:51:55 +0800 Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E9=AB=98=E5=8F=AF=E8=AF=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseComponents/DynamicElement.cs | 39 ++++++++++++++++--- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs index 53f30af13e3..d2ade8f08e3 100644 --- a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs +++ b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs @@ -97,12 +97,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) if (IsTriggerClick()) { - builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, e => OnClick!())); + builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, OnTriggerClick)); } if (IsTriggerDoubleClick()) { - builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, e => OnDoubleClick!())); + builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, OnTriggerDoubleClick)); } if (IsTriggerClick() || IsTriggerDoubleClick()) @@ -111,9 +111,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation); } - if (TriggerContextMenu && OnContextMenu != null) + if (IsTriggerContextMenu()) { - builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, e => OnContextMenu(e))); + builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, OnTriggerContextMenu)); builder.AddEventPreventDefaultAttribute(7, "oncontextmenu", true); } @@ -123,8 +123,35 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) { builder.CloseElement(); } + } + + private bool IsTriggerClick() => TriggerClick && OnClick != null; + + private bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; + + private bool IsTriggerContextMenu() => TriggerContextMenu && OnContextMenu != null; + + private async Task OnTriggerClick() + { + if (OnClick != null) + { + await OnClick(); + } + } - bool IsTriggerClick() => TriggerClick && OnClick != null; - bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; + private async Task OnTriggerDoubleClick() + { + if (OnDoubleClick != null) + { + await OnDoubleClick(); + } + } + + private async Task OnTriggerContextMenu(MouseEventArgs e) + { + if (OnContextMenu != null) + { + await OnContextMenu(e); + } } } From 042c3033facbdb09a4ea6aa546d473f3ecc7f249 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 2 Jun 2025 13:54:04 +0800 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/BaseComponents/DynamicElement.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs index d2ade8f08e3..4db0be209e8 100644 --- a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs +++ b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs @@ -86,7 +86,7 @@ public class DynamicElement : BootstrapComponentBase /// protected override void BuildRenderTree(RenderTreeBuilder builder) { - if (GenerateElement || IsTriggerClick() || IsTriggerDoubleClick()) + if (GenerateElement) { builder.OpenElement(0, TagName); if (AdditionalAttributes != null) @@ -105,9 +105,13 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, OnTriggerDoubleClick)); } - if (IsTriggerClick() || IsTriggerDoubleClick()) + if (PreventDefault) { builder.AddEventPreventDefaultAttribute(4, "onclick", PreventDefault); + } + + if (StopPropagation) + { builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation); } @@ -119,7 +123,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddContent(8, ChildContent); - if (GenerateElement || IsTriggerClick() || IsTriggerDoubleClick()) + if (GenerateElement) { builder.CloseElement(); } From 456edfe3f1bc88d701235c5e99b21a2257f47e0a Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 2 Jun 2025 14:01:17 +0800 Subject: [PATCH 3/5] =?UTF-8?q?Revert=20"refactor:=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 042c3033facbdb09a4ea6aa546d473f3ecc7f249. --- .../Components/BaseComponents/DynamicElement.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs index 4db0be209e8..d2ade8f08e3 100644 --- a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs +++ b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs @@ -86,7 +86,7 @@ public class DynamicElement : BootstrapComponentBase /// protected override void BuildRenderTree(RenderTreeBuilder builder) { - if (GenerateElement) + if (GenerateElement || IsTriggerClick() || IsTriggerDoubleClick()) { builder.OpenElement(0, TagName); if (AdditionalAttributes != null) @@ -105,13 +105,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, OnTriggerDoubleClick)); } - if (PreventDefault) + if (IsTriggerClick() || IsTriggerDoubleClick()) { builder.AddEventPreventDefaultAttribute(4, "onclick", PreventDefault); - } - - if (StopPropagation) - { builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation); } @@ -123,7 +119,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddContent(8, ChildContent); - if (GenerateElement) + if (GenerateElement || IsTriggerClick() || IsTriggerDoubleClick()) { builder.CloseElement(); } From c929fbe49617628f40c82555b69ad96a8cc67db6 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 2 Jun 2025 14:01:21 +0800 Subject: [PATCH 4/5] =?UTF-8?q?Revert=20"refactor:=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E9=AB=98=E5=8F=AF=E8=AF=BB=E6=80=A7?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 92bc40ddd4535cd4bf72b115e8a47f6e50ac1406. --- .../BaseComponents/DynamicElement.cs | 39 +++---------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs index d2ade8f08e3..53f30af13e3 100644 --- a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs +++ b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs @@ -97,12 +97,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) if (IsTriggerClick()) { - builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, OnTriggerClick)); + builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, e => OnClick!())); } if (IsTriggerDoubleClick()) { - builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, OnTriggerDoubleClick)); + builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, e => OnDoubleClick!())); } if (IsTriggerClick() || IsTriggerDoubleClick()) @@ -111,9 +111,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation); } - if (IsTriggerContextMenu()) + if (TriggerContextMenu && OnContextMenu != null) { - builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, OnTriggerContextMenu)); + builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, e => OnContextMenu(e))); builder.AddEventPreventDefaultAttribute(7, "oncontextmenu", true); } @@ -123,35 +123,8 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) { builder.CloseElement(); } - } - - private bool IsTriggerClick() => TriggerClick && OnClick != null; - - private bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; - - private bool IsTriggerContextMenu() => TriggerContextMenu && OnContextMenu != null; - - private async Task OnTriggerClick() - { - if (OnClick != null) - { - await OnClick(); - } - } - private async Task OnTriggerDoubleClick() - { - if (OnDoubleClick != null) - { - await OnDoubleClick(); - } - } - - private async Task OnTriggerContextMenu(MouseEventArgs e) - { - if (OnContextMenu != null) - { - await OnContextMenu(e); - } + bool IsTriggerClick() => TriggerClick && OnClick != null; + bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; } } From 0f0da9228bd7a748fe2053b75ad28c4ba2da5e2f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 2 Jun 2025 14:10:07 +0800 Subject: [PATCH 5/5] =?UTF-8?q?Reapply=20"refactor:=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E9=AB=98=E5=8F=AF=E8=AF=BB=E6=80=A7?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c929fbe49617628f40c82555b69ad96a8cc67db6. --- .../BaseComponents/DynamicElement.cs | 39 ++++++++++++++++--- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs index 53f30af13e3..d2ade8f08e3 100644 --- a/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs +++ b/src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs @@ -97,12 +97,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) if (IsTriggerClick()) { - builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, e => OnClick!())); + builder.AddAttribute(2, "onclick", EventCallback.Factory.Create(this, OnTriggerClick)); } if (IsTriggerDoubleClick()) { - builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, e => OnDoubleClick!())); + builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create(this, OnTriggerDoubleClick)); } if (IsTriggerClick() || IsTriggerDoubleClick()) @@ -111,9 +111,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation); } - if (TriggerContextMenu && OnContextMenu != null) + if (IsTriggerContextMenu()) { - builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, e => OnContextMenu(e))); + builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create(this, OnTriggerContextMenu)); builder.AddEventPreventDefaultAttribute(7, "oncontextmenu", true); } @@ -123,8 +123,35 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) { builder.CloseElement(); } + } + + private bool IsTriggerClick() => TriggerClick && OnClick != null; + + private bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; + + private bool IsTriggerContextMenu() => TriggerContextMenu && OnContextMenu != null; + + private async Task OnTriggerClick() + { + if (OnClick != null) + { + await OnClick(); + } + } - bool IsTriggerClick() => TriggerClick && OnClick != null; - bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null; + private async Task OnTriggerDoubleClick() + { + if (OnDoubleClick != null) + { + await OnDoubleClick(); + } + } + + private async Task OnTriggerContextMenu(MouseEventArgs e) + { + if (OnContextMenu != null) + { + await OnContextMenu(e); + } } }