diff --git a/frappe/custom/doctype/customize_form/customize_form.js b/frappe/custom/doctype/customize_form/customize_form.js index bd711c169d..0d07e0dc35 100644 --- a/frappe/custom/doctype/customize_form/customize_form.js +++ b/frappe/custom/doctype/customize_form/customize_form.js @@ -65,6 +65,7 @@ frappe.ui.form.on("Customize Form", { frm.refresh(); frm.trigger("add_customize_child_table_button"); frm.trigger("setup_default_views"); + render_form_builder(frm); } } localStorage["customize_doctype"] = frm.doc.doc_type; @@ -460,4 +461,30 @@ function render_form_builder_message(frm) { } } +function render_form_builder(frm) { + if (frappe.form_builder && frappe.form_builder.doctype === frm.doc.name) { + frappe.form_builder.setup_page_actions(); + frappe.form_builder.store.fetch(); + return; + } + + if (frappe.form_builder) { + frappe.form_builder.wrapper = $(frm.fields_dict["form_builder"].wrapper); + frappe.form_builder.frm = frm; + frappe.form_builder.doctype = frm.doc.name; + frappe.form_builder.customize = true; + frappe.form_builder.init(true); + frappe.form_builder.store.fetch(); + } else { + frappe.require("form_builder.bundle.js").then(() => { + frappe.form_builder = new frappe.ui.FormBuilder({ + wrapper: $(frm.fields_dict["form_builder"].wrapper), + frm: frm, + doctype: frm.doc.name, + customize: true, + }); + }); + } +} + extend_cscript(cur_frm.cscript, new frappe.model.DocTypeController({ frm: cur_frm })); diff --git a/frappe/custom/doctype/customize_form/customize_form.json b/frappe/custom/doctype/customize_form/customize_form.json index e0d822eb61..ddc01f7dcb 100644 --- a/frappe/custom/doctype/customize_form/customize_form.json +++ b/frappe/custom/doctype/customize_form/customize_form.json @@ -21,12 +21,20 @@ "allow_auto_repeat", "allow_import", "queue_in_background", - "fields_section_break", - "try_form_builder_html", - "fields", "naming_section", "naming_rule", "autoname", + "document_actions_section", + "actions", + "document_links_section", + "links", + "document_states_section", + "states", + "form_tab", + "form_builder", + "fields_section_break", + "fields", + "settings_tab", "form_settings_section", "image_field", "max_attachments", @@ -48,12 +56,6 @@ "email_append_to", "sender_field", "subject_field", - "document_actions_section", - "actions", - "document_links_section", - "links", - "document_states_section", - "states", "section_break_8", "sort_field", "column_break_10", @@ -178,6 +180,7 @@ "description": "Customize Label, Print Hide, Default etc.", "fieldname": "fields_section_break", "fieldtype": "Section Break", + "hidden": 1, "label": "Fields" }, { @@ -369,9 +372,19 @@ "label": "Is Calendar and Gantt" }, { - "fieldname": "try_form_builder_html", + "fieldname": "settings_tab", + "fieldtype": "Tab Break", + "label": "Settings" + }, + { + "fieldname": "form_builder", "fieldtype": "HTML", - "label": "Try Form Builder HTML" + "label": "Form Builder" + }, + { + "fieldname": "form_tab", + "fieldtype": "Tab Break", + "label": "Form" } ], "hide_toolbar": 1, @@ -380,7 +393,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2023-05-15 16:03:19.872532", + "modified": "2023-07-10 19:20:26.149909", "modified_by": "Administrator", "module": "Custom", "name": "Customize Form",