From d5d967144aaede95ceae01b8fd3187536cd079d0 Mon Sep 17 00:00:00 2001 From: mic Date: Sat, 14 Sep 2024 16:40:08 +0200 Subject: [PATCH] added shortcutMenu properties. see #130 --- js/mzta-menus.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/js/mzta-menus.js b/js/mzta-menus.js index 8d7503e4..7b255be2 100644 --- a/js/mzta-menus.js +++ b/js/mzta-menus.js @@ -19,7 +19,7 @@ // Some original methods are derived from https://github.com/ali-raheem/Aify/blob/cfadf52f576b7be3720b5b73af7c8d3129c054da/plugin/html/actions.js import { getPrompts } from './mzta-prompts.js'; -import { getLanguageDisplayName, getMenuContextCompose, getMenuContextDisplay } from './mzta-utils.js' +import { getLanguageDisplayName, getMenuContextCompose, getMenuContextDisplay, i18nConditionalGet } from './mzta-utils.js' export class mzta_Menus { @@ -33,6 +33,10 @@ export class mzta_Menus { //{ id: 'ItemC', act: (info, tab) => { console.log('ItemC', info, tab, info.menuItemId); alert('ItemC') } }, ]; + shortcutMenu = [ + //{ id: 'ItemD', label: 'LabelD' }, + ]; + constructor(openChatGPT) { this.menu_context_compose = getMenuContextCompose(); this.menu_context_display = getMenuContextDisplay(); @@ -45,6 +49,7 @@ export class mzta_Menus { async initialize() { this.allPrompts = []; this.rootMenu = []; + this.shortcutMenu = []; this.menu_listeners = {}; this.allPrompts = await getPrompts(true); this.allPrompts.sort((a, b) => a.name.localeCompare(b.name)); @@ -140,10 +145,23 @@ export class mzta_Menus { } } + loadShortcutMenu() { + this.shortcutMenu = []; + this.allPrompts.forEach((prompt) => { + this.addShortcutMenu(prompt); + }); + } + + addShortcutMenu(prompt) { + let curr_menu_entry = {id: prompt.id, label: i18nConditionalGet(prompt.name), type: prompt.type}; + this.shortcutMenu.push(curr_menu_entry); + } + async loadMenus() { await this.initialize(); await this.addMenu(this.rootMenu); this.addClickListener(); + this.loadShortcutMenu(); } listener(info, tab) {