From cdfd1edf9d1894a604ae80bd7dd15a942c9925b6 Mon Sep 17 00:00:00 2001 From: RitvikSardana Date: Tue, 16 Jan 2024 13:00:13 +0530 Subject: [PATCH] fix: improve new doctype dialog api --- frappe/core/doctype/doctype/doctype_list.js | 24 +++++++++++++++---- frappe/public/icons/timeless/icons.svg | 6 +++++ .../js/form_builder/components/Field.vue | 3 +-- .../components/icons/NavigateIcon.vue | 10 -------- 4 files changed, 26 insertions(+), 17 deletions(-) delete mode 100644 frappe/public/js/form_builder/components/icons/NavigateIcon.vue diff --git a/frappe/core/doctype/doctype/doctype_list.js b/frappe/core/doctype/doctype/doctype_list.js index f3b494c2c6..be9e6a130f 100644 --- a/frappe/core/doctype/doctype/doctype_list.js +++ b/frappe/core/doctype/doctype/doctype_list.js @@ -4,14 +4,25 @@ frappe.listview_settings["DocType"] = { }, new_doctype_dialog(args) { + const { + doctype_name = "", + doctype_module = "", + is_submittable = 0, + is_child = 0, + is_virtual = 0, + is_single = 0, + is_tree = 0, + editable_grid = 1, + } = args || {}; + let non_developer = frappe.session.user !== "Administrator" || !frappe.boot.developer_mode; - let prefill_child = args?.is_child || 0; let fields = [ { label: __("DocType Name"), fieldname: "name", fieldtype: "Data", reqd: 1, + default: doctype_name, }, { fieldtype: "Column Break" }, { @@ -20,6 +31,7 @@ frappe.listview_settings["DocType"] = { fieldtype: "Link", options: "Module Def", reqd: 1, + default: doctype_module, }, { fieldtype: "Section Break" }, { @@ -30,6 +42,7 @@ frappe.listview_settings["DocType"] = { "Once submitted, submittable documents cannot be changed. They can only be Cancelled and Amended." ), depends_on: "eval:!doc.istable && !doc.issingle", + default: is_submittable, }, { label: __("Is Child Table"), @@ -37,14 +50,14 @@ frappe.listview_settings["DocType"] = { fieldtype: "Check", description: __("Child Tables are shown as a Grid in other DocTypes"), depends_on: "eval:!doc.is_submittable && !doc.issingle", - default: prefill_child, + default: is_child, }, { label: __("Editable Grid"), fieldname: "editable_grid", fieldtype: "Check", depends_on: "istable", - default: 1, + default: editable_grid, }, { label: __("Is Single"), @@ -54,12 +67,13 @@ frappe.listview_settings["DocType"] = { "Single Types have only one record no tables associated. Values are stored in tabSingles" ), depends_on: "eval:!doc.istable && !doc.is_submittable", + default: is_single, }, { label: "Is Tree", fieldname: "is_tree", fieldtype: "Check", - default: "0", + default: is_tree, depends_on: "eval:!doc.istable", description: "Tree structures are implemented using Nested Set", }, @@ -77,7 +91,7 @@ frappe.listview_settings["DocType"] = { label: "Is Virtual", fieldname: "is_virtual", fieldtype: "Check", - default: "0", + default: is_virtual, }); } diff --git a/frappe/public/icons/timeless/icons.svg b/frappe/public/icons/timeless/icons.svg index 58665bd20b..c4fa86572a 100644 --- a/frappe/public/icons/timeless/icons.svg +++ b/frappe/public/icons/timeless/icons.svg @@ -87,6 +87,12 @@ + + + + diff --git a/frappe/public/js/form_builder/components/Field.vue b/frappe/public/js/form_builder/components/Field.vue index 58f131989b..accd2b1962 100644 --- a/frappe/public/js/form_builder/components/Field.vue +++ b/frappe/public/js/form_builder/components/Field.vue @@ -4,7 +4,6 @@ import { useStore } from "../store"; import { move_children_to_parent, clone_field } from "../utils"; import { ref, computed, onMounted } from "vue"; import AddFieldButton from "./AddFieldButton.vue"; -import NavigateIcon from "./icons/NavigateIcon.vue"; import { useMagicKeys, whenever } from "@vueuse/core"; const props = defineProps(["column", "field"]); @@ -247,7 +246,7 @@ onMounted(() => selected.value && label_input.value.focus_on_label()); @click="open_child_doctype" :title="__(`Edit ${field.df.options} Doctype`)" > - +