fix: close dialog when shutdown
This commit is contained in:
parent
671315e9ad
commit
c4fc2c44e7
@ -17,6 +17,7 @@ class Addon {
|
|||||||
columns: Array<ColumnOptions>;
|
columns: Array<ColumnOptions>;
|
||||||
rows: Array<{ [dataKey: string]: string }>;
|
rows: Array<{ [dataKey: string]: string }>;
|
||||||
};
|
};
|
||||||
|
dialog?: DialogHelper;
|
||||||
};
|
};
|
||||||
// Lifecycle hooks
|
// Lifecycle hooks
|
||||||
public hooks: typeof hooks;
|
public hooks: typeof hooks;
|
||||||
@ -53,6 +54,7 @@ class Addon {
|
|||||||
import { BasicTool, unregister } from "zotero-plugin-toolkit/dist/basic";
|
import { BasicTool, unregister } from "zotero-plugin-toolkit/dist/basic";
|
||||||
import { UITool } from "zotero-plugin-toolkit/dist/tools/ui";
|
import { UITool } from "zotero-plugin-toolkit/dist/tools/ui";
|
||||||
import { PreferencePaneManager } from "zotero-plugin-toolkit/dist/managers/preferencePane";
|
import { PreferencePaneManager } from "zotero-plugin-toolkit/dist/managers/preferencePane";
|
||||||
|
import { DialogHelper } from "zotero-plugin-toolkit/dist/helpers/dialog";
|
||||||
|
|
||||||
export class MyToolkit extends BasicTool {
|
export class MyToolkit extends BasicTool {
|
||||||
UI: UITool;
|
UI: UITool;
|
||||||
|
@ -83,6 +83,7 @@ async function onStartup() {
|
|||||||
|
|
||||||
function onShutdown(): void {
|
function onShutdown(): void {
|
||||||
ztoolkit.unregisterAll();
|
ztoolkit.unregisterAll();
|
||||||
|
addon.data.dialog?.window?.close();
|
||||||
// Remove addon object
|
// Remove addon object
|
||||||
addon.data.alive = false;
|
addon.data.alive = false;
|
||||||
delete Zotero[config.addonInstance];
|
delete Zotero[config.addonInstance];
|
||||||
|
@ -922,7 +922,10 @@ export class HelperExampleFactory {
|
|||||||
})
|
})
|
||||||
.setDialogData(dialogData)
|
.setDialogData(dialogData)
|
||||||
.open("Dialog Example");
|
.open("Dialog Example");
|
||||||
|
addon.data.dialog = dialogHelper;
|
||||||
await dialogData.unloadLock.promise;
|
await dialogData.unloadLock.promise;
|
||||||
|
addon.data.dialog = undefined;
|
||||||
|
addon.data.alive &&
|
||||||
ztoolkit.getGlobal("alert")(
|
ztoolkit.getGlobal("alert")(
|
||||||
`Close dialog with ${dialogData._lastButtonId}.\nCheckbox: ${dialogData.checkboxValue}\nInput: ${dialogData.inputValue}.`
|
`Close dialog with ${dialogData._lastButtonId}.\nCheckbox: ${dialogData.checkboxValue}\nInput: ${dialogData.inputValue}.`
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user