Commit b82d4a65 authored by Aarni Koskela's avatar Aarni Koskela
Browse files

Restore support for dropdown tooltips

parent d66c64b9
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -153,15 +153,28 @@ 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.title) {
                    if (
                        node.tagName === "SPAN" ||
                        node.tagName === "BUTTON" ||
                    node.tagName === "P"
                        node.tagName === "P" ||
                        node.tagName === "INPUT"
                    ) {
                        tooltipCheckNodes.add(node);
                    }
                }
                node.querySelectorAll('span, button, p').forEach(n => tooltipCheckNodes.add(n));
            }
        }