now loading default API settings if needed. see #593
This commit is contained in:
parent
56362266e2
commit
163bbdc055
1 changed files with 25 additions and 2 deletions
|
|
@ -60,7 +60,8 @@ let autocompleteSuggestions = [];
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', async () => {
|
document.addEventListener('DOMContentLoaded', async () => {
|
||||||
|
|
||||||
prefs = await browser.storage.sync.get({ connection_type:prefs_default.connection_type, do_debug: prefs_default.do_debug });
|
let storedPrefs = await browser.storage.sync.get(null);
|
||||||
|
prefs = { ...prefs_default, ...storedPrefs };
|
||||||
taLog = new taLogger("mzta-custom-prompts", prefs.do_debug);
|
taLog = new taLogger("mzta-custom-prompts", prefs.do_debug);
|
||||||
|
|
||||||
setStorageSpace();
|
setStorageSpace();
|
||||||
|
|
@ -146,6 +147,21 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
taLog: taLog
|
taLog: taLog
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Fill defaults for new prompt form
|
||||||
|
for (const [integration, options] of Object.entries(integration_options_config)) {
|
||||||
|
for (const key of Object.keys(options)) {
|
||||||
|
const propName = `${integration}_${key}`;
|
||||||
|
const inputEl = document.getElementById(propName);
|
||||||
|
if (inputEl && prefs[propName] !== undefined) {
|
||||||
|
if (inputEl.type === 'checkbox') {
|
||||||
|
inputEl.checked = (prefs[propName] === true || prefs[propName] === 'true');
|
||||||
|
} else {
|
||||||
|
inputEl.value = prefs[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
i18n.updateDocument();
|
i18n.updateDocument();
|
||||||
|
|
||||||
const apiSelect = document.getElementById('new_prompt_api_type');
|
const apiSelect = document.getElementById('new_prompt_api_type');
|
||||||
|
|
@ -507,7 +523,14 @@ function populateConnectionUI(tr, id, prefix, selectId) {
|
||||||
const inputId = `${prefix}${propName}`;
|
const inputId = `${prefix}${propName}`;
|
||||||
const inputEl = document.getElementById(inputId);
|
const inputEl = document.getElementById(inputId);
|
||||||
if (inputEl) {
|
if (inputEl) {
|
||||||
inputEl.type === 'checkbox' ? inputEl.checked = (itemValues[propName] === true || itemValues[propName] === 'true') : inputEl.value = itemValues[propName] || '';
|
let val = itemValues[propName];
|
||||||
|
// Use default if undefined or empty string (for text inputs)
|
||||||
|
if (val === undefined || (inputEl.type !== 'checkbox' && val === '')) {
|
||||||
|
if (prefs[propName] !== undefined) {
|
||||||
|
val = prefs[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputEl.type === 'checkbox' ? inputEl.checked = (val === true || val === 'true') : inputEl.value = val || '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue