From cf231fa55a729a1677886ba63a19be69dd039f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Barfleur?= <39409397+kevinbarfleur@users.noreply.github.com> Date: Fri, 24 Jul 2026 04:42:06 +0200 Subject: [PATCH] WW-2029: render boolean columns as on/off toggle in database action forms --- src/components/Functions/Database/Delete.vue | 2 +- src/components/Functions/Database/Insert.vue | 2 +- src/components/Functions/Database/Update.vue | 5 +++-- src/components/Functions/Database/Upsert.vue | 2 +- src/wwPlugin.js | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/Functions/Database/Delete.vue b/src/components/Functions/Database/Delete.vue index b183a1c..290d558 100644 --- a/src/components/Functions/Database/Delete.vue +++ b/src/components/Functions/Database/Delete.vue @@ -172,7 +172,7 @@ export default { } } for (const field of this.primaryProperties) { - if (!primaryData[field.name]) delete primaryData[field.name]; + if (!primaryData[field.name] && primaryData[field.name] !== false) delete primaryData[field.name]; } this.$emit('update:args', { ...this.args, primaryData }); }, diff --git a/src/components/Functions/Database/Insert.vue b/src/components/Functions/Database/Insert.vue index 8cdf557..04893fc 100644 --- a/src/components/Functions/Database/Insert.vue +++ b/src/components/Functions/Database/Insert.vue @@ -237,7 +237,7 @@ export default { } } for (const field of this.tablePropertiesFiltered) { - if (!data[field.name]) delete data[field.name]; + if (!data[field.name] && data[field.name] !== false) delete data[field.name]; } } this.$emit('update:args', { ...this.args, data }); diff --git a/src/components/Functions/Database/Update.vue b/src/components/Functions/Database/Update.vue index abb0e7b..157541b 100644 --- a/src/components/Functions/Database/Update.vue +++ b/src/components/Functions/Database/Update.vue @@ -213,7 +213,7 @@ export default { } } for (const field of this.primaryProperties) { - if (!primaryData[field.name]) delete primaryData[field.name]; + if (!primaryData[field.name] && primaryData[field.name] !== false) delete primaryData[field.name]; } this.$emit('update:args', { ...this.args, primaryData }); }, @@ -228,7 +228,8 @@ export default { } } for (const field of this.tablePropertiesFiltered) { - if (!data[field.name] && data[field.name] !== null) delete data[field.name]; // TODO LOGIC ISSUE HERE + if (!data[field.name] && data[field.name] !== null && data[field.name] !== false) + delete data[field.name]; // TODO LOGIC ISSUE HERE } this.$emit('update:args', { ...this.args, data }); }, diff --git a/src/components/Functions/Database/Upsert.vue b/src/components/Functions/Database/Upsert.vue index eaba80a..ab50fde 100644 --- a/src/components/Functions/Database/Upsert.vue +++ b/src/components/Functions/Database/Upsert.vue @@ -273,7 +273,7 @@ export default { } } for (const field of this.tablePropertiesFiltered) { - if (!data[field.name]) delete data[field.name]; + if (!data[field.name] && data[field.name] !== false) delete data[field.name]; } } this.$emit('update:args', { ...this.args, data }); diff --git a/src/wwPlugin.js b/src/wwPlugin.js index 5aee3d8..7e2ccd7 100644 --- a/src/wwPlugin.js +++ b/src/wwPlugin.js @@ -902,6 +902,7 @@ export default { types: { integer: 'number', string: 'query', + boolean: 'onoff', }, };