better default agent props & speed & position numeric, not strings

This commit is contained in:
STEINNI
2026-06-21 12:08:25 +00:00
parent 54db203e86
commit 06a7868882
5 changed files with 106 additions and 9 deletions
+17 -3
View File
@@ -47,7 +47,13 @@ app.helpers.formBuilder = {
}
if(component){
component.classList.add('formbuilder-field')
component.value = this.getPathInObj(fieldsValues, propName) || fieldsObj[propName].default
const rawValue = this.getPathInObj(fieldsValues, propName) ?? fieldsObj[propName].default
if(fieldsObj[propName].type === 'number') {
const n = Number(rawValue)
component.value = Number.isFinite(n) ? n : 0
} else {
component.value = rawValue
}
fieldRow.append(component)
allFields.push(fieldRow)
}
@@ -77,6 +83,14 @@ app.helpers.formBuilder = {
return(target[parts[parts.length - 1]] )
},
#fieldValue(el) {
if(el?.type === 'number') {
const n = Number(el.value)
return(Number.isFinite(n) ? n : el.value)
}
return(el.value)
},
getFieldsValues(rootSel){
const result = {}
document.querySelectorAll(`${rootSel} .formbuilder-field`).forEach(el => {
@@ -89,14 +103,14 @@ app.helpers.formBuilder = {
}
target = target[key]
}
target[path[path.length - 1]] = el.value
target[path[path.length - 1]] = this.#fieldValue(el)
})
return(result)
},
getFieldValue(rootSel, name){
const comp = document.querySelector(`${rootSel} .formbuilder-field[name="${name}"]`)
if(comp) return(comp.value)
if(comp) return(this.#fieldValue(comp))
else return(null)
},