Skip to content

Commit 58be1e3

Browse files
committed
feat: 增加首次渲染不移动 Panel 逻辑
1 parent 161471a commit 58be1e3

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DockviewComponent, DockviewGroupPanel, getGridLocation, getRelativeLocation, DockviewEmitter } from "./dockview-core.esm.js"
1+
import { DockviewComponent, DockviewGroupPanel, getGridLocation, getRelativeLocation, DockviewEmitter } from "./dockview-core.esm.js"
22
import { getConfigFromStorage, saveConfig } from "./dockview-config.js"
33
import { disposeGroup, removeDrawerBtn } from "./dockview-group.js"
44

@@ -72,14 +72,14 @@ DockviewComponent.prototype.removeGroup = function (...args) {
7272

7373
const removePanel = DockviewComponent.prototype.removePanel
7474
DockviewComponent.prototype.removePanel = function (...args) {
75-
const panel = args[0], noFiring = args[1]
75+
const panel = args[0], moveToTemplate = args[1]
7676
if (!panel.group.locked) {
7777
removePanel.apply(this, args)
7878
if (!this.isClearing) {
7979
this._panelVisibleChanged?.fire({ key: panel.params.key, status: false });
8080
}
8181
}
82-
if (noFiring !== true) {
82+
if (moveToTemplate) {
8383
if (panel.view.content.element) {
8484
if (panel.titleMenuEle) {
8585
panel.view.content.element.append(panel.titleMenuEle)

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const cerateDockview = (el, options) => {
2121
createComponent: option => new DockviewPanelContent(option)
2222
});
2323
initDockview(dockview, options, template);
24-
24+
dockview.firstLoad = true;
2525
dockview.init();
2626
return dockview;
2727
}
@@ -260,9 +260,8 @@ const toggleComponent = (dockview, options) => {
260260
if (pan === void 0) {
261261
item.group.delPanelIndex = item.group.panels.findIndex(p => p.params.key == item.params.key);
262262
const group = item.group;
263-
const localKeys = [...localPanels.map(p => p.params.key), ...dockview.params.panels.map(p => p.params.key)]
264-
const noFiring = !(optionsPanels.length === localKeys.length && localKeys.every(key => optionsPanels.some(optionsPanel => optionsPanel.params.key === key) ));
265-
dockview.removePanel(item, noFiring)
263+
const moveToTemplate = !dockview.firstLoad;
264+
dockview.removePanel(item, moveToTemplate)
266265
if (group.panels.length === 0) {
267266
dockview.setVisible(group, false)
268267
}

0 commit comments

Comments
 (0)