diff options
author | Aarni Koskela <akx@iki.fi> | 2023-05-24 17:34:57 +0000 |
---|---|---|
committer | Aarni Koskela <akx@iki.fi> | 2023-05-24 17:42:47 +0000 |
commit | b82d4a65fe9b025e9da1b8c7a72ed9d56b96315d (patch) | |
tree | 542a8905de93d69030862dc69b6c3925dd3d8dbf /javascript/hints.js | |
parent | d66c64b9d76553a9518ae6a3141714519d65d796 (diff) | |
download | stable-diffusion-webui-gfx803-b82d4a65fe9b025e9da1b8c7a72ed9d56b96315d.tar.gz stable-diffusion-webui-gfx803-b82d4a65fe9b025e9da1b8c7a72ed9d56b96315d.tar.bz2 stable-diffusion-webui-gfx803-b82d4a65fe9b025e9da1b8c7a72ed9d56b96315d.zip |
Restore support for dropdown tooltips
Diffstat (limited to 'javascript/hints.js')
-rw-r--r-- | javascript/hints.js | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/javascript/hints.js b/javascript/hints.js index a8c72976..7f8885bc 100644 --- a/javascript/hints.js +++ b/javascript/hints.js @@ -153,14 +153,27 @@ function processTooltipCheckNodes() { onUiUpdate(function(mutationRecords) { for (const record of mutationRecords) { + if (record.type === "childList" && record.target.classList.contains("options")) { + // This smells like a Gradio dropdown menu having changed, + // so let's enqueue an update for the input element that shows the current value. + let wrap = record.target.parentNode; + let input = wrap?.querySelector("input"); + if (input) { + input.title = ""; // So we'll even have a chance to update it. + tooltipCheckNodes.add(input); + } + } for (const node of record.addedNodes) { if (node.nodeType === Node.ELEMENT_NODE && !node.classList.contains("hide")) { - if ( - node.tagName === "SPAN" || - node.tagName === "BUTTON" || - node.tagName === "P" - ) { - tooltipCheckNodes.add(node); + if (!node.title) { + if ( + node.tagName === "SPAN" || + node.tagName === "BUTTON" || + node.tagName === "P" || + node.tagName === "INPUT" + ) { + tooltipCheckNodes.add(node); + } } node.querySelectorAll('span, button, p').forEach(n => tooltipCheckNodes.add(n)); } |