Load KF works

This commit is contained in:
STEINNI
2025-10-29 17:41:29 +00:00
parent f349ff38f4
commit dfab013abe
8 changed files with 105 additions and 21 deletions
+5 -2
View File
@@ -6,7 +6,7 @@ if(!app.helpers) app.helpers = {}
*/
app.helpers.formBuilder = {
fieldsFromJSON(fieldsObj, fieldsValues, fieldsetLabel=null){
fieldsFromJSON(fieldsObj, fieldsValues, fieldsetLabel=null, changeCB=null){
let allFields = []
for(const propName in fieldsObj){
const fieldRow = ui.create(`<div class="cols-2"><label>${fieldsObj[propName].label}</label></div>`)
@@ -18,11 +18,13 @@ app.helpers.formBuilder = {
component.setAttribute('type','number')
if('min' in fieldsObj[propName]) component.setAttribute('min', fieldsObj[propName].min)
if('max' in fieldsObj[propName]) component.setAttribute('max', fieldsObj[propName].max)
if(typeof(changeCB) == 'function') component.addEventListener('input', (evt) => { changeCB(evt, component) })
break
case 'string':
component = document.createElement('input')
component.setAttribute('name',propName)
component.setAttribute('type','text')
if(typeof(changeCB) == 'function') component.addEventListener('input', (evt) => { changeCB(evt, component) })
break
case 'boolean':
component = document.createElement('bz-toggler')
@@ -30,6 +32,7 @@ app.helpers.formBuilder = {
component.setAttribute('trueValue','1')
component.setAttribute('falseValue','0')
fieldRow.append(component.el)
if(typeof(changeCB) == 'function') component.addEventListener('change', (evt) => { changeCB(evt, component) })
break
case 'list':
component = document.createElement('bz-select')
@@ -37,6 +40,7 @@ app.helpers.formBuilder = {
component.fillOptions( fieldsObj[propName].choices.map(item => {
return({ markup: `${item}`, value: item})
}))
if(typeof(changeCB) == 'function') component.addEventListener('change', (evt) => { changeCB(evt, component) })
break
default:
console.warn(`Unknown field type ${fieldsObj[propName].type}`)
@@ -90,5 +94,4 @@ app.helpers.formBuilder = {
return(result)
},
}
+1 -1
View File
@@ -160,7 +160,7 @@ app.helpers.helpers3D = {
},
getNamedParent(obj) {
while (obj && !obj.name) {
while (obj && ((!obj.name) || (obj.name.includes('_'))) ) {
obj = obj.parent
}
return obj