Skip to content

Commit 57f2ab0

Browse files
feat(DockView): bump version 10.0.5 (#967)
* fix: 修复刷新dockview时panel状态不对 * doc: 代码格式化 * fix:修复dockview切换数据是标题不变、新增的panel没有内容 * feat(DockView): bump version 10.0.5 --------- Co-authored-by: zhaijunlei <276318515@qq.com>
1 parent 23a44f8 commit 57f2ab0

3 files changed

Lines changed: 23 additions & 17 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.4</Version>
4+
<Version>10.0.5</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ const observePanelActiveChange = panel => {
2727
const dockview = panel.accessor;
2828
if (dockview.params.options.renderer === 'onlyWhenVisible' && dockview._inited && isVisible) {
2929
const visiblePanels = dockview.groups.map(g => g.panels.find(p => p.params.isActive) || g.panels.find(p => p.api.isVisible))
30-
dockview._loadTabs?.fire(visiblePanels.filter(p => Boolean(p)).map(p => p.params.key));
30+
setTimeout(function() {
31+
dockview._loadTabs?.fire(visiblePanels.filter(p => Boolean(p)).map(p => p.params.key));
32+
}, 0)
3133
}
3234
})
3335
}
@@ -82,7 +84,7 @@ const onRemovePanel = event => {
8284
event.view.content.element.append(event.titleMenuEle)
8385
}
8486
if (dockview.params.template) {
85-
dockview.params.template.append(event.view.content.element)
87+
// dockview.params.template.append(event.view.content.element)
8688
}
8789
}
8890
}

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

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const initDockview = (dockview, options, template) => {
3434
const config = getConfig(options);
3535
dockview.params.floatingGroups = config.floatingGroups || []
3636
dockview.fromJSON(config);
37-
window.dockview = dockview;
37+
// window.dockview = dockview;
3838
}
3939

4040
dockview.switchTheme = theme => {
@@ -91,8 +91,19 @@ const initDockview = (dockview, options, template) => {
9191
const groups = dockview.groups;
9292
const delPanelsStr = localStorage.getItem(dockview.params.options.localStorageKey + '-panels');
9393
const delPanels = delPanelsStr && JSON.parse(delPanelsStr) || [];
94+
95+
panels.forEach(panel => {
96+
const visible = panel.params.visible
97+
if (!visible) {
98+
dockview.removePanel(panel)
99+
}
100+
dockview._panelVisibleChanged?.fire({ title: panel.title, status: visible });
101+
})
102+
delPanels.forEach(panel => {
103+
dockview._panelVisibleChanged?.fire({ title: panel.title, status: false });
104+
})
94105
if (options.renderer === 'always') {
95-
106+
96107
}
97108
else if (options.renderer === 'partial' || options.renderer === 'onlyWhenVisible') {
98109
const visiblePanels = groups.filter(g => g.isVisible).map(g => g.panels.find(p => p.params.isActive) || g.panels.find(p => p.api.isVisible))
@@ -103,16 +114,6 @@ const initDockview = (dockview, options, template) => {
103114
dockview._loadTabs?.fire(dockview.panels.map(p => p.params.key));
104115
}
105116
}
106-
panels.forEach(panel => {
107-
const visible = panel.params.visible
108-
if (!visible) {
109-
dockview.removePanel(panel)
110-
}
111-
dockview._panelVisibleChanged?.fire({ title: panel.title, status: visible });
112-
})
113-
delPanels.forEach(panel => {
114-
dockview._panelVisibleChanged?.fire({ title: panel.title, status: false });
115-
})
116117
const { floatingGroups } = dockview.params
117118
dockview.floatingGroups.forEach(fg => {
118119
const { top, right, bottom, left } = floatingGroups.find(g => g.data.id == fg.group.id).position
@@ -140,7 +141,7 @@ const initDockview = (dockview, options, template) => {
140141
dockview.groups.forEach(group => {
141142
observeGroup(group)
142143
})
143-
dockview.element.querySelector('&>.dv-dockview>.dv-branch-node').addEventListener('click', function(e) {
144+
dockview.element.querySelector('&>.dv-dockview>.dv-branch-node').addEventListener('click', function (e) {
144145
this.parentElement.querySelectorAll('&>.dv-resize-container-drawer, &>.dv-render-overlay-float-drawer').forEach(item => {
145146
item.classList.remove('active')
146147
})
@@ -245,8 +246,11 @@ const toggleComponent = (dockview, options) => {
245246
addGroupWithPanel(dockview, p || panel, panel, panels, index ?? indexOfOptions);
246247
}
247248
})
248-
249249
localPanels.forEach(item => {
250+
const title = panels.find(p => p.params.key == item.params.key)?.title;
251+
if ( title && item.title !== title ) {
252+
item.setTitle(title)
253+
}
250254
let pan = findContentFromPanels(panels, item);
251255
if (pan === void 0) {
252256
item.group.delPanelIndex = item.group.panels.findIndex(p => p.params.key == item.params.key)

0 commit comments

Comments
 (0)