update: toolkit 1.0.0
This commit is contained in:
		
							parent
							
								
									5a1800254d
								
							
						
					
					
						commit
						c0f7694480
					
				@ -31,7 +31,7 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "homepage": "https://github.com/windingwind/zotero-addon-template#readme",
 | 
					  "homepage": "https://github.com/windingwind/zotero-addon-template#readme",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "zotero-plugin-toolkit": "^0.1.6"
 | 
					    "zotero-plugin-toolkit": "^1.0.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@types/node": "^18.11.17",
 | 
					    "@types/node": "^18.11.17",
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
import ZoteroToolkit from "zotero-plugin-toolkit";
 | 
					import ZoteroToolkit from "zotero-plugin-toolkit/dist/index";
 | 
				
			||||||
import hooks from "./hooks";
 | 
					import hooks from "./hooks";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Addon {
 | 
					class Addon {
 | 
				
			||||||
 | 
				
			|||||||
@ -14,12 +14,12 @@ async function onStartup() {
 | 
				
			|||||||
    Zotero.uiReadyPromise,
 | 
					    Zotero.uiReadyPromise,
 | 
				
			||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
  initLocale();
 | 
					  initLocale();
 | 
				
			||||||
  ztoolkit.Tool.setIconURI(
 | 
					  ztoolkit.ProgressWindow.setIconURI(
 | 
				
			||||||
    "default",
 | 
					    "default",
 | 
				
			||||||
    `chrome://${config.addonRef}/content/icons/favicon.png`
 | 
					    `chrome://${config.addonRef}/content/icons/favicon.png`
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const popupWin = ztoolkit.Tool.createProgressWindow(config.addonName, {
 | 
					  const popupWin = new ztoolkit.ProgressWindow(config.addonName, {
 | 
				
			||||||
    closeOnClick: true,
 | 
					    closeOnClick: true,
 | 
				
			||||||
    closeTime: -1,
 | 
					    closeTime: -1,
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
@ -70,8 +70,7 @@ async function onStartup() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function onShutdown(): void {
 | 
					function onShutdown(): void {
 | 
				
			||||||
  BasicExampleFactory.unregisterPrefs();
 | 
					  ztoolkit.unregisterAll();
 | 
				
			||||||
  UIExampleFactory.unregisterUIExamples();
 | 
					 | 
				
			||||||
  // Remove addon object
 | 
					  // Remove addon object
 | 
				
			||||||
  addon.data.alive = false;
 | 
					  addon.data.alive = false;
 | 
				
			||||||
  delete Zotero.AddonTemplate;
 | 
					  delete Zotero.AddonTemplate;
 | 
				
			||||||
@ -88,7 +87,7 @@ async function onNotify(
 | 
				
			|||||||
  extraData: { [key: string]: any }
 | 
					  extraData: { [key: string]: any }
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
  // You can add your code to the corresponding notify type
 | 
					  // You can add your code to the corresponding notify type
 | 
				
			||||||
  ztoolkit.Tool.log("notify", event, type, ids, extraData);
 | 
					  ztoolkit.log("notify", event, type, ids, extraData);
 | 
				
			||||||
  if (
 | 
					  if (
 | 
				
			||||||
    event == "select" &&
 | 
					    event == "select" &&
 | 
				
			||||||
    type == "tab" &&
 | 
					    type == "tab" &&
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										21
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								src/index.ts
									
									
									
									
									
								
							@ -1,21 +1,20 @@
 | 
				
			|||||||
import { ZoteroCompat } from "zotero-plugin-toolkit";
 | 
					import { BasicTool } from "zotero-plugin-toolkit/dist/basic";
 | 
				
			||||||
import Addon from "./addon";
 | 
					import Addon from "./addon";
 | 
				
			||||||
import { config } from "../package.json";
 | 
					import { config } from "../package.json";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const compat = new ZoteroCompat();
 | 
					const basicTool = new BasicTool();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (!compat.getGlobal("Zotero").AddonTemplate) {
 | 
					if (!basicTool.getGlobal("Zotero").AddonTemplate) {
 | 
				
			||||||
  // Set global variables
 | 
					  // Set global variables
 | 
				
			||||||
  _globalThis.Zotero = compat.getGlobal("Zotero");
 | 
					  _globalThis.Zotero = basicTool.getGlobal("Zotero");
 | 
				
			||||||
  _globalThis.ZoteroPane = compat.getGlobal("ZoteroPane");
 | 
					  _globalThis.ZoteroPane = basicTool.getGlobal("ZoteroPane");
 | 
				
			||||||
  _globalThis.Zotero_Tabs = compat.getGlobal("Zotero_Tabs");
 | 
					  _globalThis.Zotero_Tabs = basicTool.getGlobal("Zotero_Tabs");
 | 
				
			||||||
  _globalThis.window = compat.getGlobal("window");
 | 
					  _globalThis.window = basicTool.getGlobal("window");
 | 
				
			||||||
  _globalThis.document = compat.getGlobal("document");
 | 
					  _globalThis.document = basicTool.getGlobal("document");
 | 
				
			||||||
  _globalThis.addon = new Addon();
 | 
					  _globalThis.addon = new Addon();
 | 
				
			||||||
  _globalThis.ztoolkit = addon.data.ztoolkit;
 | 
					  _globalThis.ztoolkit = addon.data.ztoolkit;
 | 
				
			||||||
  ztoolkit.Tool.logOptionsGlobal.prefix = `[${config.addonName}]`;
 | 
					  ztoolkit.basicOptions.log.prefix = `[${config.addonName}]`;
 | 
				
			||||||
  ztoolkit.Tool.logOptionsGlobal.disableConsole =
 | 
					  ztoolkit.basicOptions.log.disableConsole = addon.data.env === "production";
 | 
				
			||||||
    addon.data.env === "production";
 | 
					 | 
				
			||||||
  Zotero.AddonTemplate = addon;
 | 
					  Zotero.AddonTemplate = addon;
 | 
				
			||||||
  // Trigger addon hook for initialization
 | 
					  // Trigger addon hook for initialization
 | 
				
			||||||
  addon.hooks.onStartup();
 | 
					  addon.hooks.onStartup();
 | 
				
			||||||
 | 
				
			|||||||
@ -9,15 +9,10 @@ function example(
 | 
				
			|||||||
  const original = descriptor.value;
 | 
					  const original = descriptor.value;
 | 
				
			||||||
  descriptor.value = function (...args: any) {
 | 
					  descriptor.value = function (...args: any) {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      ztoolkit.Tool.log(
 | 
					      ztoolkit.log(`Calling example ${target.name}.${String(propertyKey)}`);
 | 
				
			||||||
        `Calling example ${target.name}.${String(propertyKey)}`
 | 
					 | 
				
			||||||
      );
 | 
					 | 
				
			||||||
      return original.apply(this, args);
 | 
					      return original.apply(this, args);
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      ztoolkit.Tool.log(
 | 
					      ztoolkit.log(`Error in example ${target.name}.${String(propertyKey)}`, e);
 | 
				
			||||||
        `Error in example ${target.name}.${String(propertyKey)}`,
 | 
					 | 
				
			||||||
        e
 | 
					 | 
				
			||||||
      );
 | 
					 | 
				
			||||||
      throw e;
 | 
					      throw e;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
@ -61,7 +56,7 @@ export class BasicExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static exampleNotifierCallback() {
 | 
					  static exampleNotifierCallback() {
 | 
				
			||||||
    ztoolkit.Tool.createProgressWindow(config.addonName)
 | 
					    new ztoolkit.ProgressWindow(config.addonName)
 | 
				
			||||||
      .createLine({
 | 
					      .createLine({
 | 
				
			||||||
        text: "Open Tab Detected!",
 | 
					        text: "Open Tab Detected!",
 | 
				
			||||||
        type: "success",
 | 
					        type: "success",
 | 
				
			||||||
@ -85,18 +80,7 @@ export class BasicExampleFactory {
 | 
				
			|||||||
      extraDTD: [`chrome://${config.addonRef}/locale/overlay.dtd`],
 | 
					      extraDTD: [`chrome://${config.addonRef}/locale/overlay.dtd`],
 | 
				
			||||||
      defaultXUL: true,
 | 
					      defaultXUL: true,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    if (ztoolkit.Compat.isZotero7()) {
 | 
					    ztoolkit.PreferencePane.register(prefOptions);
 | 
				
			||||||
      Zotero.PreferencePanes.register(prefOptions);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      ztoolkit.Compat.registerPrefPane(prefOptions);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @example
 | 
					 | 
				
			||||||
  static unregisterPrefs() {
 | 
					 | 
				
			||||||
    if (!ztoolkit.Compat.isZotero7()) {
 | 
					 | 
				
			||||||
      ztoolkit.Compat.unregisterPrefPane();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -107,7 +91,7 @@ export class KeyExampleFactory {
 | 
				
			|||||||
    const cmdsetId = `${config.addonRef}-cmdset`;
 | 
					    const cmdsetId = `${config.addonRef}-cmdset`;
 | 
				
			||||||
    const cmdSmallerId = `${config.addonRef}-cmd-smaller`;
 | 
					    const cmdSmallerId = `${config.addonRef}-cmd-smaller`;
 | 
				
			||||||
    // Register an event key for Alt+L
 | 
					    // Register an event key for Alt+L
 | 
				
			||||||
    ztoolkit.KeyTool.registerKey("event", {
 | 
					    ztoolkit.Shortcut.register("event", {
 | 
				
			||||||
      id: `${config.addonRef}-key-larger`,
 | 
					      id: `${config.addonRef}-key-larger`,
 | 
				
			||||||
      key: "L",
 | 
					      key: "L",
 | 
				
			||||||
      modifiers: "alt",
 | 
					      modifiers: "alt",
 | 
				
			||||||
@ -116,7 +100,7 @@ export class KeyExampleFactory {
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    // Register an element key using <key> for Alt+S
 | 
					    // Register an element key using <key> for Alt+S
 | 
				
			||||||
    ztoolkit.KeyTool.registerKey("element", {
 | 
					    ztoolkit.Shortcut.register("element", {
 | 
				
			||||||
      id: `${config.addonRef}-key-smaller`,
 | 
					      id: `${config.addonRef}-key-smaller`,
 | 
				
			||||||
      key: "S",
 | 
					      key: "S",
 | 
				
			||||||
      modifiers: "alt",
 | 
					      modifiers: "alt",
 | 
				
			||||||
@ -135,16 +119,16 @@ export class KeyExampleFactory {
 | 
				
			|||||||
    // Here we register an conflict key for Alt+S
 | 
					    // Here we register an conflict key for Alt+S
 | 
				
			||||||
    // just to show how the confliction check works.
 | 
					    // just to show how the confliction check works.
 | 
				
			||||||
    // This is something you should avoid in your plugin.
 | 
					    // This is something you should avoid in your plugin.
 | 
				
			||||||
    ztoolkit.KeyTool.registerKey("event", {
 | 
					    ztoolkit.Shortcut.register("event", {
 | 
				
			||||||
      id: `${config.addonRef}-key-smaller-conflict`,
 | 
					      id: `${config.addonRef}-key-smaller-conflict`,
 | 
				
			||||||
      key: "S",
 | 
					      key: "S",
 | 
				
			||||||
      modifiers: "alt",
 | 
					      modifiers: "alt",
 | 
				
			||||||
      callback: (keyOptions) => {
 | 
					      callback: (keyOptions) => {
 | 
				
			||||||
        ztoolkit.Compat.getGlobal("alert")("Smaller! This is a conflict key.");
 | 
					        ztoolkit.getGlobal("alert")("Smaller! This is a conflict key.");
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    // Register an event key to check confliction
 | 
					    // Register an event key to check confliction
 | 
				
			||||||
    ztoolkit.KeyTool.registerKey("event", {
 | 
					    ztoolkit.Shortcut.register("event", {
 | 
				
			||||||
      id: `${config.addonRef}-key-check-conflict`,
 | 
					      id: `${config.addonRef}-key-check-conflict`,
 | 
				
			||||||
      key: "C",
 | 
					      key: "C",
 | 
				
			||||||
      modifiers: "alt",
 | 
					      modifiers: "alt",
 | 
				
			||||||
@ -152,7 +136,7 @@ export class KeyExampleFactory {
 | 
				
			|||||||
        addon.hooks.onShortcuts("confliction");
 | 
					        addon.hooks.onShortcuts("confliction");
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    ztoolkit.Tool.createProgressWindow(config.addonName)
 | 
					    new ztoolkit.ProgressWindow(config.addonName)
 | 
				
			||||||
      .createLine({
 | 
					      .createLine({
 | 
				
			||||||
        text: "Example Shortcuts: Alt+L/S/C",
 | 
					        text: "Example Shortcuts: Alt+L/S/C",
 | 
				
			||||||
        type: "success",
 | 
					        type: "success",
 | 
				
			||||||
@ -162,7 +146,7 @@ export class KeyExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static exampleShortcutLargerCallback() {
 | 
					  static exampleShortcutLargerCallback() {
 | 
				
			||||||
    ztoolkit.Tool.createProgressWindow(config.addonName)
 | 
					    new ztoolkit.ProgressWindow(config.addonName)
 | 
				
			||||||
      .createLine({
 | 
					      .createLine({
 | 
				
			||||||
        text: "Larger!",
 | 
					        text: "Larger!",
 | 
				
			||||||
        type: "default",
 | 
					        type: "default",
 | 
				
			||||||
@ -172,7 +156,7 @@ export class KeyExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static exampleShortcutSmallerCallback() {
 | 
					  static exampleShortcutSmallerCallback() {
 | 
				
			||||||
    ztoolkit.Tool.createProgressWindow(config.addonName)
 | 
					    new ztoolkit.ProgressWindow(config.addonName)
 | 
				
			||||||
      .createLine({
 | 
					      .createLine({
 | 
				
			||||||
        text: "Smaller!",
 | 
					        text: "Smaller!",
 | 
				
			||||||
        type: "default",
 | 
					        type: "default",
 | 
				
			||||||
@ -182,17 +166,17 @@ export class KeyExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static exampleShortcutConflictionCallback() {
 | 
					  static exampleShortcutConflictionCallback() {
 | 
				
			||||||
    const conflictionGroups = ztoolkit.KeyTool.checkAllKeyConfliction();
 | 
					    const conflictionGroups = ztoolkit.Shortcut.checkAllKeyConfliction();
 | 
				
			||||||
    ztoolkit.Tool.createProgressWindow("Check Key Confliction")
 | 
					    new ztoolkit.ProgressWindow("Check Key Confliction")
 | 
				
			||||||
      .createLine({
 | 
					      .createLine({
 | 
				
			||||||
        text: `${conflictionGroups.length} groups of confliction keys found. Details are in the debug output/console.`,
 | 
					        text: `${conflictionGroups.length} groups of confliction keys found. Details are in the debug output/console.`,
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      .show(-1);
 | 
					      .show(-1);
 | 
				
			||||||
    ztoolkit.Tool.log(
 | 
					    ztoolkit.log(
 | 
				
			||||||
      "Conflictions:",
 | 
					      "Conflictions:",
 | 
				
			||||||
      conflictionGroups,
 | 
					      conflictionGroups,
 | 
				
			||||||
      "All keys:",
 | 
					      "All keys:",
 | 
				
			||||||
      ztoolkit.KeyTool.getAllKeys()
 | 
					      ztoolkit.Shortcut.getAll()
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -218,7 +202,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
  static registerRightClickMenuItem() {
 | 
					  static registerRightClickMenuItem() {
 | 
				
			||||||
    const menuIcon = `chrome://${config.addonRef}/content/icons/favicon@0.5x.png`;
 | 
					    const menuIcon = `chrome://${config.addonRef}/content/icons/favicon@0.5x.png`;
 | 
				
			||||||
    // item menuitem with icon
 | 
					    // item menuitem with icon
 | 
				
			||||||
    ztoolkit.UI.insertMenuItem("item", {
 | 
					    ztoolkit.Menu.register("item", {
 | 
				
			||||||
      tag: "menuitem",
 | 
					      tag: "menuitem",
 | 
				
			||||||
      id: "zotero-itemmenu-addontemplate-test",
 | 
					      id: "zotero-itemmenu-addontemplate-test",
 | 
				
			||||||
      label: getString("menuitem.label"),
 | 
					      label: getString("menuitem.label"),
 | 
				
			||||||
@ -229,7 +213,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static registerRightClickMenuPopup() {
 | 
					  static registerRightClickMenuPopup() {
 | 
				
			||||||
    ztoolkit.UI.insertMenuItem(
 | 
					    ztoolkit.Menu.register(
 | 
				
			||||||
      "item",
 | 
					      "item",
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        tag: "menu",
 | 
					        tag: "menu",
 | 
				
			||||||
@ -251,11 +235,11 @@ export class UIExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static registerWindowMenuWithSeprator() {
 | 
					  static registerWindowMenuWithSeprator() {
 | 
				
			||||||
    ztoolkit.UI.insertMenuItem("menuFile", {
 | 
					    ztoolkit.Menu.register("menuFile", {
 | 
				
			||||||
      tag: "menuseparator",
 | 
					      tag: "menuseparator",
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    // menu->File menuitem
 | 
					    // menu->File menuitem
 | 
				
			||||||
    ztoolkit.UI.insertMenuItem("menuFile", {
 | 
					    ztoolkit.Menu.register("menuFile", {
 | 
				
			||||||
      tag: "menuitem",
 | 
					      tag: "menuitem",
 | 
				
			||||||
      label: getString("menuitem.filemenulabel"),
 | 
					      label: getString("menuitem.filemenulabel"),
 | 
				
			||||||
      oncommand: "alert('Hello World! File Menuitem.')",
 | 
					      oncommand: "alert('Hello World! File Menuitem.')",
 | 
				
			||||||
@ -326,7 +310,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static registerLibraryTabPanel() {
 | 
					  static registerLibraryTabPanel() {
 | 
				
			||||||
    const tabId = ztoolkit.UI.registerLibraryTabPanel(
 | 
					    const tabId = ztoolkit.LibraryTabPanel.register(
 | 
				
			||||||
      getString("tabpanel.lib.tab.label"),
 | 
					      getString("tabpanel.lib.tab.label"),
 | 
				
			||||||
      (panel: XUL.Element, win: Window) => {
 | 
					      (panel: XUL.Element, win: Window) => {
 | 
				
			||||||
        const elem = ztoolkit.UI.creatElementsFromJSON(win.document, {
 | 
					        const elem = ztoolkit.UI.creatElementsFromJSON(win.document, {
 | 
				
			||||||
@ -357,7 +341,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                  type: "click",
 | 
					                  type: "click",
 | 
				
			||||||
                  listener: () => {
 | 
					                  listener: () => {
 | 
				
			||||||
                    ztoolkit.UI.unregisterLibraryTabPanel(tabId);
 | 
					                    ztoolkit.LibraryTabPanel.unregister(tabId);
 | 
				
			||||||
                  },
 | 
					                  },
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
              ],
 | 
					              ],
 | 
				
			||||||
@ -374,7 +358,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @example
 | 
					  @example
 | 
				
			||||||
  static async registerReaderTabPanel() {
 | 
					  static async registerReaderTabPanel() {
 | 
				
			||||||
    const tabId = await ztoolkit.UI.registerReaderTabPanel(
 | 
					    const tabId = await ztoolkit.ReaderTabPanel.register(
 | 
				
			||||||
      getString("tabpanel.reader.tab.label"),
 | 
					      getString("tabpanel.reader.tab.label"),
 | 
				
			||||||
      (
 | 
					      (
 | 
				
			||||||
        panel: XUL.TabPanel | undefined,
 | 
					        panel: XUL.TabPanel | undefined,
 | 
				
			||||||
@ -383,12 +367,12 @@ export class UIExampleFactory {
 | 
				
			|||||||
        reader: _ZoteroReaderInstance
 | 
					        reader: _ZoteroReaderInstance
 | 
				
			||||||
      ) => {
 | 
					      ) => {
 | 
				
			||||||
        if (!panel) {
 | 
					        if (!panel) {
 | 
				
			||||||
          ztoolkit.Tool.log(
 | 
					          ztoolkit.log(
 | 
				
			||||||
            "This reader do not have right-side bar. Adding reader tab skipped."
 | 
					            "This reader do not have right-side bar. Adding reader tab skipped."
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
          return;
 | 
					          return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        ztoolkit.Tool.log(reader);
 | 
					        ztoolkit.log(reader);
 | 
				
			||||||
        const elem = ztoolkit.UI.creatElementsFromJSON(win.document, {
 | 
					        const elem = ztoolkit.UI.creatElementsFromJSON(win.document, {
 | 
				
			||||||
          tag: "vbox",
 | 
					          tag: "vbox",
 | 
				
			||||||
          id: `${config.addonRef}-${reader._instanceID}-extra-reader-tab-div`,
 | 
					          id: `${config.addonRef}-${reader._instanceID}-extra-reader-tab-div`,
 | 
				
			||||||
@ -435,7 +419,7 @@ export class UIExampleFactory {
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                  type: "click",
 | 
					                  type: "click",
 | 
				
			||||||
                  listener: () => {
 | 
					                  listener: () => {
 | 
				
			||||||
                    ztoolkit.UI.unregisterReaderTabPanel(tabId);
 | 
					                    ztoolkit.ReaderTabPanel.unregister(tabId);
 | 
				
			||||||
                  },
 | 
					                  },
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
              ],
 | 
					              ],
 | 
				
			||||||
@ -449,12 +433,4 @@ export class UIExampleFactory {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  @example
 | 
					 | 
				
			||||||
  static unregisterUIExamples() {
 | 
					 | 
				
			||||||
    ztoolkit.unregisterAll();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function initPreferences(win: Window) {
 | 
					 | 
				
			||||||
  throw new Error("Function not implemented.");
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ function bindPrefEvents() {
 | 
				
			|||||||
      `#zotero-prefpane-${config.addonRef}-enable`
 | 
					      `#zotero-prefpane-${config.addonRef}-enable`
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    ?.addEventListener("command", (e) => {
 | 
					    ?.addEventListener("command", (e) => {
 | 
				
			||||||
      ztoolkit.Tool.log(e);
 | 
					      ztoolkit.log(e);
 | 
				
			||||||
      addon.data.prefs!.window.alert(
 | 
					      addon.data.prefs!.window.alert(
 | 
				
			||||||
        `Successfully changed to ${(e.target as XUL.Checkbox).checked}!`
 | 
					        `Successfully changed to ${(e.target as XUL.Checkbox).checked}!`
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
@ -33,7 +33,7 @@ function bindPrefEvents() {
 | 
				
			|||||||
      `#zotero-prefpane-${config.addonRef}-input`
 | 
					      `#zotero-prefpane-${config.addonRef}-input`
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    ?.addEventListener("change", (e) => {
 | 
					    ?.addEventListener("change", (e) => {
 | 
				
			||||||
      ztoolkit.Tool.log(e);
 | 
					      ztoolkit.log(e);
 | 
				
			||||||
      addon.data.prefs!.window.alert(
 | 
					      addon.data.prefs!.window.alert(
 | 
				
			||||||
        `Successfully changed to ${(e.target as HTMLInputElement).value}!`
 | 
					        `Successfully changed to ${(e.target as HTMLInputElement).value}!`
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user