fix: the indexer address and token have their own Save; the card's Save & Close keeps its five keys
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dv6sqaY6Vq3ChZHMem3cnU
This commit is contained in:
parent
93426ac089
commit
34c495b5d8
2 changed files with 18 additions and 4 deletions
|
|
@ -433,6 +433,7 @@
|
||||||
<input id="assistant-indexer-token" type="password" placeholder="leave blank to keep" class="admin-control" autocomplete="new-password">
|
<input id="assistant-indexer-token" type="password" placeholder="leave blank to keep" class="admin-control" autocomplete="new-password">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<button type="button" class="btn btn-secondary btn-sm" id="btn-assistant-indexer-save" style="margin-top:6px;">Save indexer settings</button>
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -406,9 +406,24 @@ export function initClinicalAssistantAdmin(adminEscapeHtml) {
|
||||||
}).catch(function(err) { showToast(err.message, 'error'); if (box) box.textContent = err.message; })
|
}).catch(function(err) { showToast(err.message, 'error'); if (box) box.textContent = err.message; })
|
||||||
.finally(function() { if (button) button.disabled = false; });
|
.finally(function() { if (button) button.disabled = false; });
|
||||||
}
|
}
|
||||||
|
// The indexer's address and token have their own Save: the card's Save & Close
|
||||||
|
// writes exactly the five keys it shows, and a token is not a setting to
|
||||||
|
// rewrite on every visit.
|
||||||
|
function saveIndexerSettings() {
|
||||||
|
if (configState !== 'ready') return;
|
||||||
|
var writes = [putAssistantConfig('clinical_assistant.indexer_url', getValue('assistant-indexer-url') || '')];
|
||||||
|
if (getValue('assistant-indexer-token')) writes.push(putAssistantConfig('clinical_assistant.indexer_token', getValue('assistant-indexer-token')));
|
||||||
|
Promise.all(writes).then(function() {
|
||||||
|
setValue('assistant-indexer-token', '');
|
||||||
|
showToast('Indexer settings saved', 'success');
|
||||||
|
loadLibraryIndexStatus();
|
||||||
|
}).catch(function(err) { showToast(err.message || 'Save failed', 'error'); });
|
||||||
|
}
|
||||||
document.addEventListener('click', function(e) {
|
document.addEventListener('click', function(e) {
|
||||||
if (e.target.closest && e.target.closest('#btn-assistant-index-now')) runLibraryIndexNow();
|
if (!e.target.closest) return;
|
||||||
else if (e.target.closest && e.target.closest('#btn-assistant-index-refresh')) loadLibraryIndexStatus();
|
if (e.target.closest('#btn-assistant-index-now')) runLibraryIndexNow();
|
||||||
|
else if (e.target.closest('#btn-assistant-index-refresh')) loadLibraryIndexStatus();
|
||||||
|
else if (e.target.closest('#btn-assistant-indexer-save')) saveIndexerSettings();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Each card saves exactly what it shows, so no card needs a note explaining
|
// Each card saves exactly what it shows, so no card needs a note explaining
|
||||||
|
|
@ -421,8 +436,6 @@ export function initClinicalAssistantAdmin(adminEscapeHtml) {
|
||||||
Promise.all([
|
Promise.all([
|
||||||
putAssistantConfig('clinical_assistant.conversation_chars', getValue('assistant-conversation-budget')),
|
putAssistantConfig('clinical_assistant.conversation_chars', getValue('assistant-conversation-budget')),
|
||||||
putAssistantConfig('clinical_assistant.search_limit', getValue('assistant-search-limit') || '8'),
|
putAssistantConfig('clinical_assistant.search_limit', getValue('assistant-search-limit') || '8'),
|
||||||
putAssistantConfig('clinical_assistant.indexer_url', getValue('assistant-indexer-url') || ''),
|
|
||||||
getValue('assistant-indexer-token') ? putAssistantConfig('clinical_assistant.indexer_token', getValue('assistant-indexer-token')) : Promise.resolve(),
|
|
||||||
putAssistantConfig('clinical_assistant.context_chars', getValue('assistant-context-chars') || '1400'),
|
putAssistantConfig('clinical_assistant.context_chars', getValue('assistant-context-chars') || '1400'),
|
||||||
putAssistantConfig('clinical_assistant.translate_provider', getValue('assistant-translate-provider') || 'libretranslate'),
|
putAssistantConfig('clinical_assistant.translate_provider', getValue('assistant-translate-provider') || 'libretranslate'),
|
||||||
putAssistantConfig('clinical_assistant.show_sources',
|
putAssistantConfig('clinical_assistant.show_sources',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue