chore: load config in addon.data
This commit is contained in:
parent
deb2cd0e07
commit
d842292073
@ -1,3 +1,4 @@
|
|||||||
|
import { config } from "../package.json";
|
||||||
import { ColumnOptions } from "zotero-plugin-toolkit/dist/helpers/virtualizedTable";
|
import { ColumnOptions } from "zotero-plugin-toolkit/dist/helpers/virtualizedTable";
|
||||||
import { DialogHelper } from "zotero-plugin-toolkit/dist/helpers/dialog";
|
import { DialogHelper } from "zotero-plugin-toolkit/dist/helpers/dialog";
|
||||||
import hooks from "./hooks";
|
import hooks from "./hooks";
|
||||||
@ -6,6 +7,7 @@ import { createZToolkit } from "./utils/ztoolkit";
|
|||||||
class Addon {
|
class Addon {
|
||||||
public data: {
|
public data: {
|
||||||
alive: boolean;
|
alive: boolean;
|
||||||
|
config: typeof config;
|
||||||
// Env type, see build.js
|
// Env type, see build.js
|
||||||
env: "development" | "production";
|
env: "development" | "production";
|
||||||
ztoolkit: ZToolkit;
|
ztoolkit: ZToolkit;
|
||||||
@ -27,6 +29,7 @@ class Addon {
|
|||||||
constructor() {
|
constructor() {
|
||||||
this.data = {
|
this.data = {
|
||||||
alive: true,
|
alive: true,
|
||||||
|
config,
|
||||||
env: __env__,
|
env: __env__,
|
||||||
ztoolkit: createZToolkit(),
|
ztoolkit: createZToolkit(),
|
||||||
};
|
};
|
||||||
|
@ -5,7 +5,6 @@ import {
|
|||||||
PromptExampleFactory,
|
PromptExampleFactory,
|
||||||
UIExampleFactory,
|
UIExampleFactory,
|
||||||
} from "./modules/examples";
|
} from "./modules/examples";
|
||||||
import { config } from "../package.json";
|
|
||||||
import { getString, initLocale } from "./utils/locale";
|
import { getString, initLocale } from "./utils/locale";
|
||||||
import { registerPrefsScripts } from "./modules/preferenceScript";
|
import { registerPrefsScripts } from "./modules/preferenceScript";
|
||||||
import { createZToolkit } from "./utils/ztoolkit";
|
import { createZToolkit } from "./utils/ztoolkit";
|
||||||
@ -43,9 +42,11 @@ async function onMainWindowLoad(win: Window): Promise<void> {
|
|||||||
addon.data.ztoolkit = createZToolkit();
|
addon.data.ztoolkit = createZToolkit();
|
||||||
|
|
||||||
// @ts-ignore This is a moz feature
|
// @ts-ignore This is a moz feature
|
||||||
win.MozXULElement.insertFTLIfNeeded(`${config.addonRef}-mainWindow.ftl`);
|
win.MozXULElement.insertFTLIfNeeded(
|
||||||
|
`${addon.data.config.addonRef}-mainWindow.ftl`,
|
||||||
|
);
|
||||||
|
|
||||||
const popupWin = new ztoolkit.ProgressWindow(config.addonName, {
|
const popupWin = new ztoolkit.ProgressWindow(addon.data.config.addonName, {
|
||||||
closeOnClick: true,
|
closeOnClick: true,
|
||||||
closeTime: -1,
|
closeTime: -1,
|
||||||
})
|
})
|
||||||
@ -97,7 +98,7 @@ function onShutdown(): void {
|
|||||||
addon.data.dialog?.window?.close();
|
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[addon.data.config.addonInstance];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import { config } from "../../package.json";
|
|
||||||
import { getLocaleID, getString } from "../utils/locale";
|
import { getLocaleID, getString } from "../utils/locale";
|
||||||
|
|
||||||
function example(
|
function example(
|
||||||
@ -53,7 +52,7 @@ export class BasicExampleFactory {
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
static exampleNotifierCallback() {
|
static exampleNotifierCallback() {
|
||||||
new ztoolkit.ProgressWindow(config.addonName)
|
new ztoolkit.ProgressWindow(addon.data.config.addonName)
|
||||||
.createLine({
|
.createLine({
|
||||||
text: "Open Tab Detected!",
|
text: "Open Tab Detected!",
|
||||||
type: "success",
|
type: "success",
|
||||||
@ -70,10 +69,10 @@ export class BasicExampleFactory {
|
|||||||
@example
|
@example
|
||||||
static registerPrefs() {
|
static registerPrefs() {
|
||||||
Zotero.PreferencePanes.register({
|
Zotero.PreferencePanes.register({
|
||||||
pluginID: config.addonID,
|
pluginID: addon.data.config.addonID,
|
||||||
src: rootURI + "content/preferences.xhtml",
|
src: rootURI + "content/preferences.xhtml",
|
||||||
label: getString("prefs-title"),
|
label: getString("prefs-title"),
|
||||||
image: `chrome://${config.addonRef}/content/icons/favicon.png`,
|
image: `chrome://${addon.data.config.addonRef}/content/icons/favicon.png`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,7 +91,7 @@ export class KeyExampleFactory {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
new ztoolkit.ProgressWindow(config.addonName)
|
new ztoolkit.ProgressWindow(addon.data.config.addonName)
|
||||||
.createLine({
|
.createLine({
|
||||||
text: "Example Shortcuts: Alt+L/S/C",
|
text: "Example Shortcuts: Alt+L/S/C",
|
||||||
type: "success",
|
type: "success",
|
||||||
@ -102,7 +101,7 @@ export class KeyExampleFactory {
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
static exampleShortcutLargerCallback() {
|
static exampleShortcutLargerCallback() {
|
||||||
new ztoolkit.ProgressWindow(config.addonName)
|
new ztoolkit.ProgressWindow(addon.data.config.addonName)
|
||||||
.createLine({
|
.createLine({
|
||||||
text: "Larger!",
|
text: "Larger!",
|
||||||
type: "default",
|
type: "default",
|
||||||
@ -112,7 +111,7 @@ export class KeyExampleFactory {
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
static exampleShortcutSmallerCallback() {
|
static exampleShortcutSmallerCallback() {
|
||||||
new ztoolkit.ProgressWindow(config.addonName)
|
new ztoolkit.ProgressWindow(addon.data.config.addonName)
|
||||||
.createLine({
|
.createLine({
|
||||||
text: "Smaller!",
|
text: "Smaller!",
|
||||||
type: "default",
|
type: "default",
|
||||||
@ -129,7 +128,7 @@ export class UIExampleFactory {
|
|||||||
properties: {
|
properties: {
|
||||||
type: "text/css",
|
type: "text/css",
|
||||||
rel: "stylesheet",
|
rel: "stylesheet",
|
||||||
href: `chrome://${config.addonRef}/content/zoteroPane.css`,
|
href: `chrome://${addon.data.config.addonRef}/content/zoteroPane.css`,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
doc.documentElement.appendChild(styles);
|
doc.documentElement.appendChild(styles);
|
||||||
@ -138,7 +137,7 @@ export class UIExampleFactory {
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
static registerRightClickMenuItem() {
|
static registerRightClickMenuItem() {
|
||||||
const menuIcon = `chrome://${config.addonRef}/content/icons/favicon@0.5x.png`;
|
const menuIcon = `chrome://${addon.data.config.addonRef}/content/icons/favicon@0.5x.png`;
|
||||||
// item menuitem with icon
|
// item menuitem with icon
|
||||||
ztoolkit.Menu.register("item", {
|
ztoolkit.Menu.register("item", {
|
||||||
tag: "menuitem",
|
tag: "menuitem",
|
||||||
@ -188,7 +187,7 @@ export class UIExampleFactory {
|
|||||||
static async registerExtraColumn() {
|
static async registerExtraColumn() {
|
||||||
const field = "test1";
|
const field = "test1";
|
||||||
await Zotero.ItemTreeManager.registerColumns({
|
await Zotero.ItemTreeManager.registerColumns({
|
||||||
pluginID: config.addonID,
|
pluginID: addon.data.config.addonID,
|
||||||
dataKey: field,
|
dataKey: field,
|
||||||
label: "text column",
|
label: "text column",
|
||||||
dataProvider: (item: Zotero.Item, dataKey: string) => {
|
dataProvider: (item: Zotero.Item, dataKey: string) => {
|
||||||
@ -202,7 +201,7 @@ export class UIExampleFactory {
|
|||||||
static async registerExtraColumnWithCustomCell() {
|
static async registerExtraColumnWithCustomCell() {
|
||||||
const field = "test2";
|
const field = "test2";
|
||||||
await Zotero.ItemTreeManager.registerColumns({
|
await Zotero.ItemTreeManager.registerColumns({
|
||||||
pluginID: config.addonID,
|
pluginID: addon.data.config.addonID,
|
||||||
dataKey: field,
|
dataKey: field,
|
||||||
label: "custom column",
|
label: "custom column",
|
||||||
dataProvider: (item: Zotero.Item, dataKey: string) => {
|
dataProvider: (item: Zotero.Item, dataKey: string) => {
|
||||||
@ -226,7 +225,7 @@ export class UIExampleFactory {
|
|||||||
static registerItemPaneSection() {
|
static registerItemPaneSection() {
|
||||||
Zotero.ItemPaneManager.registerSection({
|
Zotero.ItemPaneManager.registerSection({
|
||||||
paneID: "example",
|
paneID: "example",
|
||||||
pluginID: config.addonID,
|
pluginID: addon.data.config.addonID,
|
||||||
header: {
|
header: {
|
||||||
l10nID: getLocaleID("item-section-example1-head-text"),
|
l10nID: getLocaleID("item-section-example1-head-text"),
|
||||||
icon: "chrome://zotero/skin/16/universal/book.svg",
|
icon: "chrome://zotero/skin/16/universal/book.svg",
|
||||||
@ -249,7 +248,7 @@ export class UIExampleFactory {
|
|||||||
static async registerReaderItemPaneSection() {
|
static async registerReaderItemPaneSection() {
|
||||||
Zotero.ItemPaneManager.registerSection({
|
Zotero.ItemPaneManager.registerSection({
|
||||||
paneID: "reader-example",
|
paneID: "reader-example",
|
||||||
pluginID: config.addonID,
|
pluginID: addon.data.config.addonID,
|
||||||
header: {
|
header: {
|
||||||
l10nID: getLocaleID("item-section-example2-head-text"),
|
l10nID: getLocaleID("item-section-example2-head-text"),
|
||||||
// Optional
|
// Optional
|
||||||
@ -833,7 +832,7 @@ export class HelperExampleFactory {
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
static progressWindowExample() {
|
static progressWindowExample() {
|
||||||
new ztoolkit.ProgressWindow(config.addonName)
|
new ztoolkit.ProgressWindow(addon.data.config.addonName)
|
||||||
.createLine({
|
.createLine({
|
||||||
text: "ProgressWindow Example!",
|
text: "ProgressWindow Example!",
|
||||||
type: "success",
|
type: "success",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user