From 0866a7003ebf0e4557e8fdf9636cb55643c55fad Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Tue, 21 Feb 2023 21:44:54 +0530 Subject: [PATCH] fix: single store state for all undo/redo related changes --- .../js/form_builder/components/Column.vue | 4 +- .../js/form_builder/components/Field.vue | 6 +- .../components/FieldProperties.vue | 16 ++--- .../form_builder/components/FormBuilder.vue | 8 +-- .../js/form_builder/components/Section.vue | 8 +-- .../js/form_builder/components/Sidebar.vue | 2 +- .../js/form_builder/components/Tabs.vue | 32 +++++----- .../components/controls/TextControl.vue | 2 +- frappe/public/js/form_builder/store.js | 59 ++++++------------- frappe/public/js/form_builder/utils.js | 17 ------ 10 files changed, 57 insertions(+), 97 deletions(-) diff --git a/frappe/public/js/form_builder/components/Column.vue b/frappe/public/js/form_builder/components/Column.vue index a9c4bf0ea1..acb1ff735e 100644 --- a/frappe/public/js/form_builder/components/Column.vue +++ b/frappe/public/js/form_builder/components/Column.vue @@ -85,7 +85,7 @@ function delete_column(with_children) { // remove column columns.splice(index, 1); - store.selected_field = null; + store.form.selected_field = null; } function move_columns_to_section() { @@ -101,7 +101,7 @@ function move_columns_to_section() { store.selected(column.df.name) ? 'selected' : '' ]" :title="column.df.fieldname" - @click.stop="store.selected_field = column.df" + @click.stop="store.form.selected_field = column.df" @mouseover.stop="hovered = true" @mouseout.stop="hovered = false" > diff --git a/frappe/public/js/form_builder/components/Field.vue b/frappe/public/js/form_builder/components/Field.vue index cf3e21c310..e0230765b5 100644 --- a/frappe/public/js/form_builder/components/Field.vue +++ b/frappe/public/js/form_builder/components/Field.vue @@ -19,7 +19,7 @@ function remove_field() { } let index = props.column.fields.indexOf(props.field); props.column.fields.splice(index, 1); - store.selected_field = null; + store.form.selected_field = null; } function move_fields_to_column() { @@ -51,7 +51,7 @@ function duplicate_field() { // push duplicate_field after props.field in the same column let index = props.column.fields.indexOf(props.field); props.column.fields.splice(index + 1, 0, duplicate_field); - store.selected_field = duplicate_field.df; + store.form.selected_field = duplicate_field.df; } @@ -63,7 +63,7 @@ function duplicate_field() { store.selected(field.df.name) ? 'selected' : '' ]" :title="field.df.fieldname" - @click.stop="store.selected_field = field.df" + @click.stop="store.form.selected_field = field.df" @mouseover.stop="hovered = true" @mouseout.stop="hovered = false" > diff --git a/frappe/public/js/form_builder/components/FieldProperties.vue b/frappe/public/js/form_builder/components/FieldProperties.vue index b5597d20c5..b8e687ac06 100644 --- a/frappe/public/js/form_builder/components/FieldProperties.vue +++ b/frappe/public/js/form_builder/components/FieldProperties.vue @@ -14,18 +14,18 @@ let docfield_df = computed(() => { if (in_list(frappe.model.layout_fields, df.fieldtype) || df.hidden) { return false; } - if (df.depends_on && !evaluate_depends_on_value(df.depends_on, store.selected_field)) { + if (df.depends_on && !evaluate_depends_on_value(df.depends_on, store.form.selected_field)) { return false; } if ( in_list(["fetch_from", "fetch_if_empty"], df.fieldname) && - in_list(frappe.model.no_value_type, store.selected_field.fieldtype) + in_list(frappe.model.no_value_type, store.form.selected_field.fieldtype) ) { return false; } - if (df.fieldname === "reqd" && store.selected_field.fieldtype === "Check") { + if (df.fieldname === "reqd" && store.form.selected_field.fieldtype === "Check") { return false; } @@ -34,11 +34,11 @@ let docfield_df = computed(() => { df.options = ""; args.value = {}; - if (in_list(["Table", "Link"], store.selected_field.fieldtype)) { + if (in_list(["Table", "Link"], store.form.selected_field.fieldtype)) { df.fieldtype = "Link"; df.options = "DocType"; - if (store.selected_field.fieldtype === "Table") { + if (store.form.selected_field.fieldtype === "Table") { args.value.is_table_field = 1; } } @@ -63,14 +63,14 @@ let docfield_df = computed(() => {