From fe3e8fba3eb38d1965589f7a4847a868565bf286 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Thu, 9 Jan 2025 12:26:56 +0200 Subject: [PATCH] fix readonly formula values --- app/javascript/submission_form/form.vue | 10 +++++++++- app/javascript/submission_form/formula_areas.vue | 7 ++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/javascript/submission_form/form.vue b/app/javascript/submission_form/form.vue index 4468e494..280275ad 100644 --- a/app/javascript/submission_form/form.vue +++ b/app/javascript/submission_form/form.vue @@ -15,7 +15,7 @@ /> { + acc[f.uuid] = (this.values[f.uuid] || f.default_value) + + return acc + }, {}) + }, attachmentConditionsIndex () { return this.schema.reduce((acc, item) => { if (item.conditions?.length) { diff --git a/app/javascript/submission_form/formula_areas.vue b/app/javascript/submission_form/formula_areas.vue index 51632a0e..02030e77 100644 --- a/app/javascript/submission_form/formula_areas.vue +++ b/app/javascript/submission_form/formula_areas.vue @@ -38,6 +38,11 @@ export default { required: false, default: () => [] }, + readonlyValues: { + type: Object, + required: false, + default: () => ({}) + }, values: { type: Object, required: false, @@ -87,7 +92,7 @@ export default { }, calculateFormula (field) { const transformedFormula = field.preferences.formula.replace(/{{(.*?)}}/g, (match, uuid) => { - return this.values[uuid] || 0.0 + return this.readonlyValues[uuid] || this.values[uuid] || 0.0 }) return this.math.evaluate(transformedFormula.toLowerCase())