fix: tab menu bugs

This commit is contained in:
xiangyu 2022-06-10 00:27:59 +08:00
parent 3c85cda5fe
commit 20efc462dc
2 changed files with 24 additions and 37 deletions

View File

@ -57,13 +57,13 @@
<menupopup id="menu_EditPopup">
<menuseparator class="menu-type-betternotes" />
<menu id="menu_insertTextTemplate_betternotes" class="menu-type-betternotes" label="&zotero.__addonRef__.workspace.menu.insertTextTemplate;">
<menupopup id="menu_insertTextTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Text', 'tab');" />
<menupopup id="menu_insertTextTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Text');" />
</menu>
<menu id="menu_insertNoteTemplate_betternotes" class="menu-type-betternotes" label="&zotero.__addonRef__.workspace.menu.insertNoteTemplate;">
<menupopup id="menu_insertNoteTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Note', 'tab');" />
<menupopup id="menu_insertNoteTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Note');" />
</menu>
<menu id="menu_insertItemTemplate_betternotes" class="menu-type-betternotes" label="&zotero.__addonRef__.workspace.menu.insertItemTemplate;">
<menupopup id="menu_insertItemTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Item', 'tab');" />
<menupopup id="menu_insertItemTemplatePopup" onpopupshowing="Zotero.Knowledge4Zotero.views.updateTemplateMenu('Item');" />
</menu>
<menuitem id="menu_editTemplate_betternotes" class="menu-type-betternotes" label="&zotero.__addonRef__.workspace.menu.editTemplate;" command="cmd_editTemplate_betternotes" />
<menuseparator class="menu-type-betternotes" />
@ -72,29 +72,11 @@
<menuitem id="menu_unindent_betternotes" class="menu-type-betternotes" label="&zotero.__addonRef__.workspace.menu.unindent;" command="cmd_unindent_betternotes" key="key_unindent_betternotes" />
</menupopup>
<menupopup id="menu_ViewPopup">
<menupopup id="menu_viewPopup">
<menuseparator class="menu-type-betternotes" />
<menuitem id="menu_treeview_betternotes" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.treeview;" command="cmd_treeview_betternotes" />
<menuitem id="menu_mindmap_betternotes" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.mindmap;" command="cmd_mindmap_betternotes" />
<menuitem id="menu_bubblemap_betternotes" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.bubblemap;" command="cmd_bubblemap_betternotes" />
<menuseparator class="menu-type-betternotes" />
<menu id="note-font-size-menu_betternotes" class="menu-type-betternotes" label="&noteFontSize.label;">
<menupopup oncommand="Zotero.Prefs.set('note.fontSize', event.originalTarget.getAttribute('label'));">
<menuitem label="11" type="checkbox" />
<menuitem label="12" type="checkbox" />
<menuitem label="13" type="checkbox" />
<menuitem label="14" type="checkbox" />
<menuitem label="18" type="checkbox" />
<menuitem label="24" type="checkbox" />
<menuitem label="36" type="checkbox" />
<menuitem label="48" type="checkbox" />
<menuitem label="64" type="checkbox" />
<menuitem label="72" type="checkbox" />
<menuitem label="96" type="checkbox" />
<menuseparator />
<menuitem id="view-menuitem-note-font-size-reset_betternotes" label="&zotero.general.reset;" oncommand="Zotero.Prefs.clear('note.fontSize');" />
</menupopup>
</menu>
<menuitem id="menu_treeview" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.treeview;" command="cmd_treeview_betternotes" />
<menuitem id="menu_mindmap" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.mindmap;" command="cmd_mindmap_betternotes" />
<menuitem id="menu_bubblemap" class="menu-type-betternotes" type="checkbox" label="&zotero.__addonRef__.workspace.menu.bubblemap;" command="cmd_bubblemap_betternotes" />
</menupopup>
<menupopup id="menu_HelpPopup">

View File

@ -681,6 +681,7 @@ class AddonViews extends AddonBase {
// Clear stored node id
this._Addon.knowledge.currentNodeID = -1;
this.updateEditCommand();
this.updateViewMenu();
}
async updateOutline() {
@ -711,25 +712,31 @@ class AddonViews extends AddonBase {
}
updateEditCommand() {
const _window = this._Addon.knowledge.getWorkspaceWindow();
const _window = this._Addon.knowledge.workspaceTabId
? window
: this._Addon.knowledge.getWorkspaceWindow();
Zotero.debug(`updateEditMenu, ${this._Addon.knowledge.currentNodeID}`);
if (this._Addon.knowledge.currentNodeID < 0) {
_window.document
.getElementById("cmd_indent")
.getElementById("cmd_indent_betternotes")
.setAttribute("disabled", true);
_window.document
.getElementById("cmd_unindent")
.getElementById("cmd_unindent_betternotes")
.setAttribute("disabled", true);
} else {
_window.document.getElementById("cmd_indent").removeAttribute("disabled");
_window.document
.getElementById("cmd_unindent")
.getElementById("cmd_indent_betternotes")
.removeAttribute("disabled");
_window.document
.getElementById("cmd_unindent_betternotes")
.removeAttribute("disabled");
}
}
updateViewMenu() {
const _window = this._Addon.knowledge.getWorkspaceWindow();
const _window = this._Addon.knowledge.workspaceTabId
? window
: this._Addon.knowledge.getWorkspaceWindow();
Zotero.debug(`updateViewMenu, ${this.currentOutline}`);
const treeview = _window.document.getElementById("menu_treeview");
this.currentOutline === OutlineType.treeView
@ -756,12 +763,10 @@ class AddonViews extends AddonBase {
}
}
updateTemplateMenu(
type: "Note" | "Item" | "Text",
from: "tab" | "window" = "window"
) {
const _window =
from === "window" ? this._Addon.knowledge.getWorkspaceWindow() : window;
updateTemplateMenu(type: "Note" | "Item" | "Text") {
const _window = this._Addon.knowledge.workspaceTabId
? window
: this._Addon.knowledge.getWorkspaceWindow();
Zotero.debug(`updateTemplateMenu, ${this.currentOutline}`);
let templates = this._Addon.template
.getTemplateKeys()