From 18b94482c5889169b6b6f99b96ce6cdfeb51955f Mon Sep 17 00:00:00 2001 From: hanishkvc Date: Wed, 12 Nov 2025 05:17:29 +0530 Subject: [PATCH] SimpleChatTCRV:InputFileDialog:AcceptList:Images:Jpeg and Png Allow passing the accept list for file type input element helper. Inturn given that currently it is used for the image selection for vision models, set it to jpeg and png in the caller for the same. --- tools/server/public_simplechat/simplechat.js | 2 +- tools/server/public_simplechat/ui.mjs | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/server/public_simplechat/simplechat.js b/tools/server/public_simplechat/simplechat.js index 448182a5a7..c83fd45721 100644 --- a/tools/server/public_simplechat/simplechat.js +++ b/tools/server/public_simplechat/simplechat.js @@ -992,7 +992,7 @@ class MultiChatUI { // Save any placeholder set by default like through html, to restore where needed this.elInUser.dataset.placeholder = this.elInUser.placeholder // Setup Image loading button and flow - this.elInFileX = ui.el_creatediv_inputfileimgbtn('image', 'image', '', ()=>{ + this.elInFileX = ui.el_creatediv_inputfileimgbtn('image', 'image', '', ".jpg, .jpeg, .png", ()=>{ let f0 = this.elInFileX.el.files?.item(0); if (!f0) { return diff --git a/tools/server/public_simplechat/ui.mjs b/tools/server/public_simplechat/ui.mjs index 019493481b..89acad13ca 100644 --- a/tools/server/public_simplechat/ui.mjs +++ b/tools/server/public_simplechat/ui.mjs @@ -242,12 +242,14 @@ export function el_creatediv_input(id, label, type, defaultValue, cb, className= * @param {string} id * @param {string} label * @param {any} defaultValue + * @param {string} acceptable * @param {(arg0: any) => void} cb * @param {string} className */ -export function el_creatediv_inputfilebtn(id, label, defaultValue, cb, className) { +export function el_creatediv_inputfilebtn(id, label, defaultValue, acceptable, cb, className) { let elX = el_creatediv_input(id, label, "file", defaultValue, cb, className) elX.el.hidden = true + elX.el.accept = acceptable let idB = `${id}-button` let elB = el_create_button(idB, (mev) => { elX.el.click() @@ -262,11 +264,12 @@ export function el_creatediv_inputfilebtn(id, label, defaultValue, cb, className * @param {string} id * @param {string} label * @param {any} defaultValue + * @param {string} acceptable * @param {(arg0: any) => void} cb * @param {string} className */ -export function el_creatediv_inputfileimgbtn(id, label, defaultValue, cb, className) { - let elX = el_creatediv_inputfilebtn(id, label, defaultValue, cb, className); +export function el_creatediv_inputfileimgbtn(id, label, defaultValue, acceptable, cb, className) { + let elX = el_creatediv_inputfilebtn(id, label, defaultValue, acceptable, cb, className); let elImg = document.createElement('img') elImg.classList.add(`${className}-img`) elX.elB.appendChild(elImg)