Skip to content

Commit b574b1a

Browse files
committed
feat: 添加首次加载请求激活panel逻辑
1 parent bba9ec2 commit b574b1a

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,8 @@ public async Task PanelVisibleChangedCallbackAsync(string title, bool status)
261261
}
262262

263263
private HashSet<string> _activeTabs = new();
264-
private Task LoadActiveTabs(List<string> tabs)
264+
[JSInvokable]
265+
public Task LoadActiveTabs(List<string> tabs)
265266
{
266267
// 客户端请求渲染当前激活的标签
267268
_activeTabs.Clear();
@@ -278,10 +279,10 @@ private Task LoadActiveTabs(List<string> tabs)
278279
private Task LoadInactiveTabs(List<string> tabs)
279280
{
280281
// 客户端请求渲染当前未激活的标签
281-
_activeTabs.Clear();
282+
_inactiveTabs.Clear();
282283
foreach (var tab in tabs)
283284
{
284-
_activeTabs.Add(tab);
285+
_inactiveTabs.Add(tab);
285286
}
286287

287288
StateHasChanged();

src/components/BootstrapBlazor.DockView/wwwroot/js/dockview-utils.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,12 @@ const initDockview = (dockview, options, template) => {
8686
dockview.onDidLayoutFromJSON(() => {
8787
const handler = setTimeout(() => {
8888
clearTimeout(handler);
89-
90-
const panels = dockview.panels
89+
const panels = dockview.panels;
90+
const groups = dockview.groups;
9191
const delPanelsStr = localStorage.getItem(dockview.params.options.localStorageKey + '-panels')
9292
const delPanels = delPanelsStr && JSON.parse(delPanelsStr) || []
93+
const visiblePanels = groups.map(g => g.panels.find(p => p.params.isActive) || g.panels.find(p => p.api.isVisible))
94+
dockview._loadActiveTabs?.fire(visiblePanels.filter(p => Boolean(p)).map(p => p.params.key));
9395
panels.forEach(panel => {
9496
const visible = panel.params.visible
9597
if (!visible) {

0 commit comments

Comments
 (0)