🐛 删除已打开页签报错

This commit is contained in:
Vanessa 2022-08-10 11:24:12 +08:00
parent c358f8f8ee
commit 5acdc1f3c7
4 changed files with 9 additions and 9 deletions

View file

@ -34,7 +34,7 @@ export const lockFile = (id: string) => {
/// #if !MOBILE
getAllModels().editor.find((item) => {
if (item.editor.protyle.block.rootID === id) {
item.parent.parent.removeTab(item.parent.id);
item.parent.parent.removeTab(item.parent.id, false, false);
return true;
}
});

View file

@ -482,10 +482,10 @@ export class Wnd {
model.send("closews", {});
}
private removeTabAction = (id: string, closeAll = false) => {
private removeTabAction = (id: string, closeAll = false, hasSaveScroll = true) => {
this.children.find((item, index) => {
if (item.id === id) {
if (item.model instanceof Editor) {
if (item.model instanceof Editor && hasSaveScroll) {
saveScroll(item.model.editor.protyle);
}
if (this.children.length === 1) {
@ -545,7 +545,7 @@ export class Wnd {
/// #endif
};
public removeTab(id: string, closeAll = false) {
public removeTab(id: string, closeAll = false, needSaveScroll = true) {
for (let index = 0; index < this.children.length; index++) {
const item = this.children[index];
if (item.id === id) {
@ -554,9 +554,9 @@ export class Wnd {
showMessage(window.siyuan.languages.uploading);
return;
}
this.removeTabAction(id, closeAll);
this.removeTabAction(id, closeAll, needSaveScroll);
} else {
this.removeTabAction(id, closeAll);
this.removeTabAction(id, closeAll, needSaveScroll);
}
return;
}

View file

@ -140,13 +140,13 @@ class Protyle {
break;
case "unmount":
if (this.protyle.model && this.protyle.notebookId === data.data.box) {
this.protyle.model.parent.parent.removeTab(this.protyle.model.parent.id);
this.protyle.model.parent.parent.removeTab(this.protyle.model.parent.id, false, false);
}
break;
case "remove":
if (this.protyle.model && (this.protyle.notebookId === data.data.box &&
(!data.data.path || this.protyle.path.indexOf(getDisplayName(data.data.path, false, true)) === 0))) {
this.protyle.model.parent.parent.removeTab(this.protyle.model.parent.id);
this.protyle.model.parent.parent.removeTab(this.protyle.model.parent.id, false, false);
}
break;
}

View file

@ -21,7 +21,7 @@ export const onGet = (data: IWebSocketData, protyle: IProtyle, action: string[]
if (data.code === 1) {
// 其他报错
if (protyle.model) {
protyle.model.parent.parent.removeTab(protyle.model.parent.id);
protyle.model.parent.parent.removeTab(protyle.model.parent.id, false, false);
} else {
protyle.element.innerHTML = `<div class="ft__smaller ft__secondary b3-form__space--small" contenteditable="false">${window.siyuan.languages.refExpired}</div>`;
}