Skip to content

Commit c866dec

Browse files
authored
feat(DockView2): bump version 10.0.8-beta06 (#976)
* refactor: 更改为异步释放资源 * refactor: DockViewTitleBar 增加销毁机制 * refactor: 增加 OnClickTitleBarCallback 释放逻辑 * refactor: 增加 disposing 参数判断 * chore: bump version 10.0.8-beta06
1 parent 7f88927 commit c866dec

4 files changed

Lines changed: 40 additions & 12 deletions

File tree

src/components/BootstrapBlazor.DockView/BootstrapBlazor.DockView.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>10.0.8-beta05</Version>
4+
<Version>10.0.8-beta06</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/components/BootstrapBlazor.DockView/Components/DockViewComponent.razor.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ protected override void Dispose(bool disposing)
200200
{
201201
base.Dispose(disposing);
202202

203+
if (OnClickTitleBarCallback != null)
204+
{
205+
OnClickTitleBarCallback = null;
206+
}
207+
203208
DockView.RemoveComponentState(Key);
204209
}
205210
}

src/components/BootstrapBlazor.DockView/Components/DockViewTitleBar.razor.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace BootstrapBlazor.Components;
1010
/// <para lang="zh">DockView 标题栏组件</para>
1111
/// <para lang="en">DockView title bar component</para>
1212
/// </summary>
13-
public partial class DockViewTitleBar
13+
public partial class DockViewTitleBar : IAsyncDisposable
1414
{
1515
/// <summary>
1616
/// <para lang="zh">获得/设置 标题前置图标点击回调方法,默认为 null</para>
@@ -40,4 +40,29 @@ private async Task OnClickBar()
4040
await OnClickBarCallback();
4141
}
4242
}
43+
44+
/// <summary>
45+
/// <inheritdoc/>
46+
/// </summary>
47+
/// <param name="disposing"></param>
48+
/// <returns></returns>
49+
protected virtual ValueTask DisposeAsync(bool disposing)
50+
{
51+
if (disposing)
52+
{
53+
OnClickBarCallback = null;
54+
}
55+
56+
return ValueTask.CompletedTask;
57+
}
58+
59+
/// <summary>
60+
/// <inheritdoc/>
61+
/// </summary>
62+
/// <returns></returns>
63+
public async ValueTask DisposeAsync()
64+
{
65+
await DisposeAsync(true);
66+
GC.SuppressFinalize(this);
67+
}
4368
}

src/components/BootstrapBlazor.DockView/Components/DockViewV2.razor.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace BootstrapBlazor.Components;
1212
/// <para lang="zh">DockViewV2 组件</para>
1313
/// <para lang="en">DockViewV2 component</para>
1414
/// </summary>
15-
public partial class DockViewV2 : IDisposable
15+
public partial class DockViewV2
1616
{
1717
/// <summary>
1818
/// <para lang="zh">获得/设置 DockView 名称,默认为 null,用于本地存储标识</para>
@@ -413,20 +413,18 @@ internal void UpdateComponentState(string? key, bool visible, bool? isLock)
413413
return state;
414414
}
415415

416-
private void Dispose(bool disposing)
416+
/// <summary>
417+
/// <inheritdoc/>
418+
/// </summary>
419+
/// <param name="disposing"></param>
420+
/// <returns></returns>
421+
protected override ValueTask DisposeAsync(bool disposing)
417422
{
418423
if (disposing)
419424
{
420425
ThemeProviderService.ThemeChangedAsync -= OnThemeChangedAsync;
421426
}
422-
}
423427

424-
/// <summary>
425-
/// <inheritdoc/>
426-
/// </summary>
427-
public void Dispose()
428-
{
429-
Dispose(true);
430-
GC.SuppressFinalize(this);
428+
return base.DisposeAsync(disposing);
431429
}
432430
}

0 commit comments

Comments
 (0)