Improve form property logic validation for checkbox conditions

- Update FormPropertyLogicRule to handle operators without values
- Add support for checkbox conditions like 'is_checked' and 'is_not_checked'
- Refactor logic validation in both API and client-side implementations
- Remove unnecessary console.log statements
- Update error modal text for better user experience
This commit is contained in:
Julien Nahum
2025-02-19 15:11:27 +01:00
parent efd31133cc
commit 28248259be
7 changed files with 121 additions and 52 deletions

View File

@@ -236,7 +236,6 @@ export default {
saveForm() {
// Apply defaults to the form
const defaultedData = setFormDefaults(this.form.data())
console.log('defaultedData', defaultedData)
this.form.fill(defaultedData)
this.form.properties = validatePropertiesLogic(this.form.properties)

View File

@@ -4,8 +4,8 @@
@close="$emit('close')"
>
<div class="-mx-5">
<h2 class="text-red-600 text-2xl font-bold mb-4 px-4">
Error saving your form
<h2 class="text-red-600 text-2xl font-medium mb-4 px-4">
We couldn't save your form
</h2>
<div

View File

@@ -833,7 +833,11 @@ export default {
// Apply type-specific defaults from blocks_types.json if available
if (this.field.type in blocksTypes && blocksTypes[this.field.type]?.default_values) {
Object.assign(this.field, blocksTypes[this.field.type].default_values)
Object.keys(blocksTypes[this.field.type].default_values).forEach(key => {
if (!_has(this.field, key)) {
this.field[key] = blocksTypes[this.field.type].default_values[key]
}
})
}
// Apply additional defaults from defaultFieldValues if needed