Skip to content

Commit 4ed7c44

Browse files
Fix clearing selected prompts and resources
1 parent 5d2332b commit 4ed7c44

File tree

1 file changed

+40
-14
lines changed

1 file changed

+40
-14
lines changed

static/js/home.js

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -109,17 +109,6 @@ function showPromptModal(promptIndex) {
109109
form.querySelector('input[name="prompt_name"]').value = promptName;
110110
form.querySelector('input[name="prompt_args"]').value = JSON.stringify(args);
111111

112-
// Set up a one-time event listener for after the request completes
113-
form.addEventListener('htmx:afterRequest', function afterRequest() {
114-
// Restore the required attribute and clear prompt fields
115-
textarea.setAttribute('required', '');
116-
form.querySelector('input[name="prompt_name"]').value = '';
117-
form.querySelector('input[name="prompt_args"]').value = '';
118-
119-
// Remove this event listener to prevent it from firing on future requests
120-
form.removeEventListener('htmx:afterRequest', afterRequest);
121-
}, { once: true });
122-
123112
// Submit the form
124113
htmx.trigger(form, 'submit');
125114

@@ -227,8 +216,45 @@ document.addEventListener('DOMContentLoaded', function() {
227216
}
228217
}
229218

230-
// Clean up the resources list
231-
if (typeof resourcesList !== 'undefined') {
232-
resourcesList = resourcesList.filter(item => item !== undefined);
219+
// Clear any prompt data on page load
220+
const isWelcomePage = document.getElementById('chat-form-welcome') !== null;
221+
const formId = isWelcomePage ? 'chat-form-welcome' : 'chat-form-chatbox';
222+
const form = document.getElementById(formId);
223+
224+
// Clear any attached resources on page load
225+
clearAttachedResources();
226+
227+
if (form) {
228+
const promptNameInput = form.querySelector('input[name="prompt_name"]');
229+
if (promptNameInput) promptNameInput.value = '';
230+
231+
const promptArgsInput = form.querySelector('input[name="prompt_args"]');
232+
if (promptArgsInput) promptArgsInput.value = '';
233+
}
234+
});
235+
236+
document.addEventListener('htmx:beforeRequest', function(event) {
237+
const form = event.detail.elt;
238+
239+
// Only process if this is one of our chat forms
240+
if (form.id === 'chat-form-welcome' || form.id === 'chat-form-chatbox') {
241+
// Set up a one-time event listener for after the request completes
242+
form.addEventListener('htmx:afterRequest', function afterRequest() {
243+
// Restore the required attribute and clear prompt fields
244+
const textarea = form.querySelector('textarea[name="message"]');
245+
if (textarea) textarea.setAttribute('required', '');
246+
247+
const promptNameInput = form.querySelector('input[name="prompt_name"]');
248+
if (promptNameInput) promptNameInput.value = '';
249+
250+
const promptArgsInput = form.querySelector('input[name="prompt_args"]');
251+
if (promptArgsInput) promptArgsInput.value = '';
252+
253+
// Clear attached resources after submission
254+
clearAttachedResources();
255+
256+
// Remove this event listener
257+
form.removeEventListener('htmx:afterRequest', afterRequest);
258+
}, { once: true });
233259
}
234260
});

0 commit comments

Comments
 (0)