From 81a9e8631444be9188716b3bb118dd231cd3cc4a Mon Sep 17 00:00:00 2001 From: mic Date: Sun, 15 Dec 2024 21:58:08 +0100 Subject: [PATCH] saving the add tags prompt. see #183 --- js/mzta-prompts.js | 1 + pages/addtags/mzta-add-tags.js | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/js/mzta-prompts.js b/js/mzta-prompts.js index 3960db35..94584622 100644 --- a/js/mzta-prompts.js +++ b/js/mzta-prompts.js @@ -312,5 +312,6 @@ export async function getSpecialPrompts(){ } export async function setSpecialPrompts(prompts) { + // console.log(">>>>>>>>>>>> setSpecialPrompts prompts: " + JSON.stringify(prompts)); await browser.storage.local.set({_special_prompts: prompts}); } \ No newline at end of file diff --git a/pages/addtags/mzta-add-tags.js b/pages/addtags/mzta-add-tags.js index b7387914..7bb8eb08 100644 --- a/pages/addtags/mzta-add-tags.js +++ b/pages/addtags/mzta-add-tags.js @@ -25,21 +25,33 @@ let autocompleteSuggestions = []; document.addEventListener('DOMContentLoaded', async () => { let addtags_textarea = document.getElementById('addtags_prompt_text'); + let addtags_save_btn = document.getElementById('btn_save_prompt'); let addtags_reset_btn = document.getElementById('btn_reset_prompt'); + let specialPrompts = await getSpecialPrompts(); + let addtags_prompt = specialPrompts.find(prompt => prompt.id === 'prompt_add_tags'); + addtags_textarea.addEventListener('input', (event) => { addtags_reset_btn.disabled = (event.target.value === browser.i18n.getMessage('prompt_add_tags_full_text')); + addtags_save_btn.disabled = (event.target.value === addtags_prompt.text); }); addtags_reset_btn.addEventListener('click', () => { addtags_textarea.value = browser.i18n.getMessage('prompt_add_tags_full_text'); addtags_reset_btn.disabled = true; + let event = new Event('input', { bubbles: true, cancelable: true }); + addtags_textarea.dispatchEvent(event); }); + addtags_save_btn.addEventListener('click', () => { + specialPrompts.find(prompt => prompt.id === 'prompt_add_tags').text = addtags_textarea.value; + setSpecialPrompts(specialPrompts); + addtags_save_btn.disabled = true; + }); - let specialPrompts = await getSpecialPrompts(); - let addtags_prompt = specialPrompts.find(prompt => prompt.id === 'prompt_add_tags'); - addtags_prompt.text = browser.i18n.getMessage(addtags_prompt.text); + if(addtags_prompt.text === 'prompt_add_tags_full_text'){ + addtags_prompt.text = browser.i18n.getMessage(addtags_prompt.text); + } addtags_textarea.value = addtags_prompt.text; let prefs_maxt = await browser.storage.sync.get({add_tags_maxnum: 3});