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