diff --git a/src/events.ts b/src/events.ts index 10174e1..8701075 100644 --- a/src/events.ts +++ b/src/events.ts @@ -1283,11 +1283,7 @@ class AddonEvents extends AddonBase { /* message.content = {} */ - window.open( - "chrome://Knowledge4Zotero/content/template.xul", - "_blank", - "chrome,extrachrome,centerscreen,width=800,height=400,resizable=yes" - ); + this._Addon.template.openEditor(); } else if (message.type === "export") { /* message.content = { diff --git a/src/template.ts b/src/template.ts index 49012e1..99f5f72 100644 --- a/src/template.ts +++ b/src/template.ts @@ -67,6 +67,18 @@ class AddonTemplate extends AddonBase { ]; } + openEditor() { + if (this._window && !this._window.closed) { + this._window.focus(); + } else { + window.open( + "chrome://Knowledge4Zotero/content/template.xul", + "_blank", + "chrome,extrachrome,centerscreen,width=800,height=400,resizable=yes" + ); + } + } + initTemplates(_window: Window) { this._window = _window; this.updateTemplateView();