Skip to content

Commit 6f83053

Browse files
authored
refactor(DynamicElement): refactor code to improve readability (#6130)
* refactor: 重构代码提高可读性 * refactor: 更新逻辑 * Revert "refactor: 更新逻辑" This reverts commit 042c303. * Revert "refactor: 重构代码提高可读性" This reverts commit 92bc40d. * Reapply "refactor: 重构代码提高可读性" This reverts commit c929fbe.
1 parent 16731b9 commit 6f83053

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

src/BootstrapBlazor/Components/BaseComponents/DynamicElement.cs

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
9797

9898
if (IsTriggerClick())
9999
{
100-
builder.AddAttribute(2, "onclick", EventCallback.Factory.Create<MouseEventArgs>(this, e => OnClick!()));
100+
builder.AddAttribute(2, "onclick", EventCallback.Factory.Create<MouseEventArgs>(this, OnTriggerClick));
101101
}
102102

103103
if (IsTriggerDoubleClick())
104104
{
105-
builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create<MouseEventArgs>(this, e => OnDoubleClick!()));
105+
builder.AddAttribute(3, "ondblclick", EventCallback.Factory.Create<MouseEventArgs>(this, OnTriggerDoubleClick));
106106
}
107107

108108
if (IsTriggerClick() || IsTriggerDoubleClick())
@@ -111,9 +111,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
111111
builder.AddEventStopPropagationAttribute(5, "onclick", StopPropagation);
112112
}
113113

114-
if (TriggerContextMenu && OnContextMenu != null)
114+
if (IsTriggerContextMenu())
115115
{
116-
builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create<MouseEventArgs>(this, e => OnContextMenu(e)));
116+
builder.AddAttribute(6, "oncontextmenu", EventCallback.Factory.Create<MouseEventArgs>(this, OnTriggerContextMenu));
117117
builder.AddEventPreventDefaultAttribute(7, "oncontextmenu", true);
118118
}
119119

@@ -123,8 +123,35 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
123123
{
124124
builder.CloseElement();
125125
}
126+
}
127+
128+
private bool IsTriggerClick() => TriggerClick && OnClick != null;
129+
130+
private bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null;
131+
132+
private bool IsTriggerContextMenu() => TriggerContextMenu && OnContextMenu != null;
133+
134+
private async Task OnTriggerClick()
135+
{
136+
if (OnClick != null)
137+
{
138+
await OnClick();
139+
}
140+
}
126141

127-
bool IsTriggerClick() => TriggerClick && OnClick != null;
128-
bool IsTriggerDoubleClick() => TriggerDoubleClick && OnDoubleClick != null;
142+
private async Task OnTriggerDoubleClick()
143+
{
144+
if (OnDoubleClick != null)
145+
{
146+
await OnDoubleClick();
147+
}
148+
}
149+
150+
private async Task OnTriggerContextMenu(MouseEventArgs e)
151+
{
152+
if (OnContextMenu != null)
153+
{
154+
await OnContextMenu(e);
155+
}
129156
}
130157
}

0 commit comments

Comments
 (0)