function setParamIndex()

in packages/playground/src/playground.ts [1003:1046]


    function setParamIndex(index: number, value: any, fromUI: boolean) {

        //sync slider / numberbox
        var div = getParamUIControl(index);

        if (fromUI) {

            if (div.range && div.rangeText) {
                div.range.value = value;
                div.rangeText.value = value;
            }

        } else {

            if (div.range && div.rangeText) {
                div.rangeText.value = value;
                div.range.value = value;

            } else if (div.bool) {
                div.bool.checked = !!value;

            } else if (div.text) {
                div.text.value = value;

            } else if (div.select) {
                let select = div.select;
                let valueAsString = (typeof value === 'string') ? value : JSON.stringify(value);
                for (let i = 0; i < select.options.length; i++) {
                    let optionValue: string;
                    if (select.options[i].attributes.length) {
                        optionValue = select.options[i].getAttribute('value');
                    } else {
                        optionValue = select.options[i].innerText;
                    }
                    if (optionValue === valueAsString) {
                        select.selectedIndex = i;
                        break;
                    }
                }
            }
        }

        processed.paramValues[index] = value;
    }