From e3a8625bcfca325b53f7435b0598edf0f981de0e Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:27:57 +0530 Subject: [PATCH 01/50] fix: do not render sidebar in doctype form --- frappe/public/js/frappe/form/form.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index 0a60b00af2..dd57e773cb 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -77,9 +77,12 @@ frappe.ui.form.Form = class FrappeForm { // wrapper this.wrapper = this.parent; this.$wrapper = $(this.wrapper); + + let is_single_column = this.doctype === "DocType" ? true : this.meta.hide_toolbar; + frappe.ui.make_app_page({ parent: this.wrapper, - single_column: this.meta.hide_toolbar, + single_column: is_single_column, }); this.page = this.wrapper.page; this.layout_main = this.page.main.get(0); From 25bb74c2f950597d29231c4e1a8f62f188061258 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:29:15 +0530 Subject: [PATCH 02/50] fix: make tabs in doctype form --- frappe/core/doctype/doctype/doctype.json | 82 ++++++++++++++---------- 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/frappe/core/doctype/doctype/doctype.json b/frappe/core/doctype/doctype/doctype.json index 5209a408eb..a342bdacae 100644 --- a/frappe/core/doctype/doctype/doctype.json +++ b/frappe/core/doctype/doctype/doctype.json @@ -25,9 +25,6 @@ "beta", "is_virtual", "queue_in_background", - "fields_section_break", - "try_form_builder_html", - "fields", "sb1", "naming_rule", "autoname", @@ -35,6 +32,32 @@ "column_break_15", "description", "documentation", + "sb2", + "permissions", + "restrict_to_domain", + "read_only", + "in_create", + "actions_section", + "actions", + "links_section", + "links", + "document_states_section", + "states", + "web_view", + "has_web_view", + "allow_guest_to_view", + "index_web_pages_for_search", + "route", + "is_published_field", + "website_search_field", + "advanced", + "engine", + "migration_hash", + "form_builder_tab", + "form_builder", + "fields_section", + "fields", + "settings_tab", "form_settings_section", "image_field", "timeline_field", @@ -68,28 +91,7 @@ "column_break_51", "email_append_to", "sender_field", - "subject_field", - "sb2", - "permissions", - "restrict_to_domain", - "read_only", - "in_create", - "actions_section", - "actions", - "links_section", - "links", - "document_states_section", - "states", - "web_view", - "has_web_view", - "allow_guest_to_view", - "index_web_pages_for_search", - "route", - "is_published_field", - "website_search_field", - "advanced", - "engine", - "migration_hash" + "subject_field" ], "fields": [ { @@ -195,12 +197,6 @@ "fieldtype": "Check", "label": "Beta" }, - { - "fieldname": "fields_section_break", - "fieldtype": "Section Break", - "label": "Fields", - "oldfieldtype": "Section Break" - }, { "fieldname": "fields", "fieldtype": "Table", @@ -633,9 +629,25 @@ "label": "Is Calendar and Gantt" }, { - "fieldname": "try_form_builder_html", + "fieldname": "settings_tab", + "fieldtype": "Tab Break", + "label": "Settings" + }, + { + "fieldname": "form_builder_tab", + "fieldtype": "Tab Break", + "label": "Form" + }, + { + "fieldname": "form_builder", "fieldtype": "HTML", - "label": "Try Form Builder HTML" + "label": "Form Builder" + }, + { + "collapsible": 1, + "fieldname": "fields_section", + "fieldtype": "Section Break", + "label": "Fields" } ], "icon": "fa fa-bolt", @@ -718,7 +730,7 @@ "link_fieldname": "reference_doctype" } ], - "modified": "2023-05-15 14:07:51.526257", + "modified": "2023-06-14 20:44:15.361716", "modified_by": "Administrator", "module": "Core", "name": "DocType", @@ -755,4 +767,4 @@ "states": [], "track_changes": 1, "translated_doctype": 1 -} +} \ No newline at end of file From 7349ccc3555a47a22fa2f8c1bfbac6e5b897513d Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:30:06 +0530 Subject: [PATCH 03/50] fix: render form builder in html field in doctype form --- frappe/core/doctype/doctype/doctype.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/doctype/doctype.js b/frappe/core/doctype/doctype/doctype.js index bb2af5cec0..9f1e262b09 100644 --- a/frappe/core/doctype/doctype/doctype.js +++ b/frappe/core/doctype/doctype/doctype.js @@ -21,7 +21,7 @@ frappe.ui.form.on("DocType", { frm.toggle_enable("beta", 0); } - render_form_builder_message(frm); + render_form_builder(frm); if (!frm.is_new() && !frm.doc.istable) { if (frm.doc.issingle) { @@ -142,4 +142,15 @@ function render_form_builder_message(frm) { } } +function render_form_builder(frm) { + frappe.require("form_builder.bundle.js").then(() => { + frappe.form_builder = new frappe.ui.FormBuilder({ + wrapper: $(frm.fields_dict["form_builder"].wrapper), + page: frm.page, + doctype: frm.doc.name, + customize: false, + }); + }); +} + extend_cscript(cur_frm.cscript, new frappe.model.DocTypeController({ frm: cur_frm })); From b661500c6518389576dc01590ef240ea1dfe5406 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:30:44 +0530 Subject: [PATCH 04/50] revert: form builder breadcrumbs creation --- frappe/public/js/form_builder/store.js | 1 - 1 file changed, 1 deletion(-) diff --git a/frappe/public/js/form_builder/store.js b/frappe/public/js/form_builder/store.js index 384baf646d..e1366bd9e9 100644 --- a/frappe/public/js/form_builder/store.js +++ b/frappe/public/js/form_builder/store.js @@ -105,7 +105,6 @@ export const useStore = defineStore("form-builder-store", () => { }); setup_undo_redo(); - setup_breadcrumbs(); } let undo_redo_keyboard_event = onKeyDown(true, (e) => { From 9bfec81c7ca1e99abb464a4245ab6feeba5f1a5d Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:31:25 +0530 Subject: [PATCH 05/50] fix: do not scroll when tabs are changed in form builder --- frappe/public/js/form_builder/components/Tabs.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/form_builder/components/Tabs.vue b/frappe/public/js/form_builder/components/Tabs.vue index 5c233dbd1b..557b83c866 100644 --- a/frappe/public/js/form_builder/components/Tabs.vue +++ b/frappe/public/js/form_builder/components/Tabs.vue @@ -20,7 +20,8 @@ function activate_tab(tab) { nextTick(() => { $(".tabs .tab.active")[0].scrollIntoView({ behavior: "smooth", - inline: "center" + inline: "center", + block: "nearest", }); }); } From b97fc51edd0cbe876868ae946c3def3f924dfa64 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 14 Jun 2023 18:33:33 +0530 Subject: [PATCH 06/50] style: css changes to fit in tab --- frappe/public/js/form_builder/FormBuilder.vue | 13 ++++++++++--- .../js/form_builder/components/FieldTypes.vue | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/form_builder/FormBuilder.vue b/frappe/public/js/form_builder/FormBuilder.vue index c1ab90c4a4..a393388963 100644 --- a/frappe/public/js/form_builder/FormBuilder.vue +++ b/frappe/public/js/form_builder/FormBuilder.vue @@ -62,9 +62,8 @@ onMounted(() => {