From f2c307ef63f8880160fbf755b15a8224c0a1b0ee Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sun, 9 Jun 2024 16:37:28 +0300 Subject: [PATCH] adjust conditions modal --- .../template_builder/conditions_modal.vue | 72 ++++++++++++------- app/javascript/template_builder/i18n.js | 1 + 2 files changed, 48 insertions(+), 25 deletions(-) diff --git a/app/javascript/template_builder/conditions_modal.vue b/app/javascript/template_builder/conditions_modal.vue index bedaabab..db70dad3 100644 --- a/app/javascript/template_builder/conditions_modal.vue +++ b/app/javascript/template_builder/conditions_modal.vue @@ -29,21 +29,38 @@ >Available in Pro
-
-
+
+
+
+ + {{ t('condition') }} {{ cindex + 1 }} + + {{ t('remove') }} +
+ + {{ t('add_condition') }} @@ -133,16 +155,10 @@ export default { emits: ['close'], data () { return { - newCondition: this.field.conditions?.[0] || {} + conditions: this.field.conditions?.[0] ? JSON.parse(JSON.stringify(this.field.conditions)) : [{}] } }, computed: { - conditionField () { - return this.fields.find((f) => f.uuid === this.newCondition.field_uuid) - }, - conditionActions () { - return this.fieldActions(this.conditionField) - }, fields () { return this.template.fields.reduce((acc, f) => { if (f !== this.field && f.submitter_uuid === this.field.submitter_uuid) { @@ -157,6 +173,12 @@ export default { this.field.conditions ||= [] }, methods: { + conditionField (condition) { + return this.fields.find((f) => f.uuid === condition.field_uuid) + }, + conditionActions (condition) { + return this.fieldActions(this.conditionField(condition)) + }, fieldActions (field) { const actions = [] @@ -181,8 +203,8 @@ export default { return alert('Available only in Pro') } - if (this.newCondition.field_uuid) { - this.field.conditions = [this.newCondition] + if (this.conditions.find((f) => f.field_uuid)) { + this.field.conditions = this.conditions } else { delete this.field.conditions } diff --git a/app/javascript/template_builder/i18n.js b/app/javascript/template_builder/i18n.js index 4ca50a86..030d96f2 100644 --- a/app/javascript/template_builder/i18n.js +++ b/app/javascript/template_builder/i18n.js @@ -20,6 +20,7 @@ const en = { select_field_: 'Select field...', select_value_: 'Select value...', remove_condition: 'Remove condition', + add_condition: 'Add condition', are_you_sure: 'Are you sure?', sign_yourself: 'Sign Yourself', set_signing_date: 'Set signing date',