diff --git a/app/web/src/components/Customizer/Customizer.tsx b/app/web/src/components/Customizer/Customizer.tsx index 513220d..9cdf431 100644 --- a/app/web/src/components/Customizer/Customizer.tsx +++ b/app/web/src/components/Customizer/Customizer.tsx @@ -15,7 +15,12 @@ const Customizer = () => { React.useEffect(() => { console.log({ jsCadCustomizerElement, customizerParams, lastParameters }) if (jsCadCustomizerElement && customizerParams) { - genParams(customizerParams, jsCadCustomizerElement, lastParameters || {}, (values)=>{ + genParams(customizerParams, jsCadCustomizerElement, lastParameters || {}, (values, source)=>{ + console.log('change source', source) + if(source === 'group'){ + // save to local storage but do not render + return + } handleRender(values) },[]) } diff --git a/app/web/src/helpers/cadPackages/jscadParams.js b/app/web/src/helpers/cadPackages/jscadParams.js index 492c46d..c549bb2 100644 --- a/app/web/src/helpers/cadPackages/jscadParams.js +++ b/app/web/src/helpers/cadPackages/jscadParams.js @@ -13,7 +13,7 @@ const numeric = {number:1, float:1, int:1, range:1, slider:1} function applyRange(inp){ let label = inp.previousElementSibling - if(label.tagName == 'LABEL'){ + if(label && label.tagName == 'LABEL'){ let info = label.querySelector('I') if(info) info.innerHTML = inp.value } @@ -25,17 +25,8 @@ export function genParams(defs, target, storedParams={}, callback=undefined, but group:function({name,type, caption, captions, value, min,max}){ return '' }, - choice:function({name,type, caption, captions, value, values, min, max}){ - if(!captions) captions = values - - let ret = `' - }, + choice:inputChoice, + radio:inputRadio, float: inputNumber, range: inputNumber, slider: inputNumber, @@ -53,9 +44,33 @@ export function genParams(defs, target, storedParams={}, callback=undefined, but }, number: inputNumber, } + + function inputRadio({name, type, captions, value, values}){ + if(!captions) captions = values + + let ret = '