fix: system template modification bug

fix: export pdf menu bug
This commit is contained in:
xiangyu 2022-06-11 16:22:03 +08:00
parent 0599c56594
commit b5e649f198
3 changed files with 35 additions and 2 deletions

View File

@ -73,6 +73,7 @@ class AddonEvents extends AddonBase {
_contextPane.setAttribute("collapsed", true);
_tabToolbar.hidden = true;
_tabCover.hidden = true;
this._Addon.views.switchRealMenuBar(false);
this._Addon.views.switchKey(false);
} else {
this._Addon.views.switchRealMenuBar(true);

View File

@ -2,9 +2,17 @@ import { AddonBase, NoteTemplate } from "./base";
class AddonTemplate extends AddonBase {
private _window: Window;
_systemTemplateNames: string[];
_defaultTemplates: NoteTemplate[];
constructor(parent: Knowledge4Zotero) {
super(parent);
this._systemTemplateNames = [
"[QuickInsert]",
"[QuickBackLink]",
"[QuickImport]",
"[QuickNote]",
"[ExportMDFileName]",
];
this._defaultTemplates = [
{
name: "[QuickInsert]",
@ -128,11 +136,16 @@ class AddonTemplate extends AddonBase {
deleteTemplate.setAttribute("disabled", "true");
} else {
header.value = name;
header.removeAttribute("disabled");
if (!this._systemTemplateNames.includes(name)) {
header.removeAttribute("disabled");
deleteTemplate.removeAttribute("disabled");
} else {
header.setAttribute("disabled", "true");
deleteTemplate.setAttribute("disabled", "true");
}
text.value = templateText;
text.removeAttribute("disabled");
saveTemplate.removeAttribute("disabled");
deleteTemplate.removeAttribute("disabled");
}
}
@ -186,6 +199,14 @@ class AddonTemplate extends AddonBase {
const text: XUL.Textbox =
this._window.document.getElementById("editor-textbox");
if (this._systemTemplateNames.includes(name) && header.value !== name) {
this._Addon.views.showProgressWindow(
"Better Notes",
`Template ${name} is a system template. Modifying template name is not allowed.`
);
return;
}
const template = this.getTemplateKey(name);
template.name = header.value;
template.text = text.value;
@ -203,6 +224,13 @@ class AddonTemplate extends AddonBase {
deleteSelectedTemplate() {
const name = this.getSelectedTemplateName();
if (this._systemTemplateNames.includes(name)) {
this._Addon.views.showProgressWindow(
"Better Notes",
`Template ${name} is a system template. Removing system template is note allowed.`
);
return;
}
this.removeTemplate(name);
this.updateTemplateView();
}

View File

@ -47,6 +47,10 @@ class AddonViews extends AddonBase {
document
.querySelectorAll(".menu-type-betternotes")
.forEach((el) => ((el as HTMLElement).hidden = hidden));
// Disable Zotero pdf export
(document.getElementById("menu_export_files") as XUL.Element).disabled =
!hidden;
}
switchKey(disabled: boolean) {