Vanessa 2023-06-13 00:08:05 +08:00
parent 5046c8d862
commit f3a1ce12f8
3 changed files with 10 additions and 0 deletions

View file

@ -692,6 +692,11 @@ export class Wnd {
clearCounter();
this.children.find((item, index) => {
if (item.id === id) {
if (item.model instanceof Custom) {
if (item.model.beforeDestroy) {
item.model.beforeDestroy();
}
}
if (item.model instanceof Editor && hasSaveScroll) {
saveScroll(item.model.editor.protyle);
}

View file

@ -9,6 +9,7 @@ export class Custom extends Model {
public type: string;
public init: () => void;
public destroy: () => void;
public beforeDestroy: () => void;
public resize: () => void;
public update: () => void;
@ -18,6 +19,7 @@ export class Custom extends Model {
tab: Tab,
data: any,
destroy?: () => void,
beforeDestroy?: () => void,
resize?: () => void,
update?: () => void,
init: () => void
@ -33,6 +35,7 @@ export class Custom extends Model {
this.type = options.type;
this.init = options.init;
this.destroy = options.destroy;
this.beforeDestroy = options.beforeDestroy;
this.resize = options.resize;
this.update = options.update;
this.init();

View file

@ -174,6 +174,7 @@ export class Plugin {
public addTab(options: {
type: string,
destroy?: () => void,
beforeDestroy?: () => void,
resize?: () => void,
update?: () => void,
init: () => void
@ -187,6 +188,7 @@ export class Plugin {
type: type2,
data: arg.data,
init: options.init,
beforeDestroy: options.beforeDestroy,
destroy: options.destroy,
resize: options.resize,
update: options.update,