diff --git a/client/src/views/admin/layouts/base.js b/client/src/views/admin/layouts/base.js index fc93b678b1..f403408bbe 100644 --- a/client/src/views/admin/layouts/base.js +++ b/client/src/views/admin/layouts/base.js @@ -90,6 +90,8 @@ class LayoutBaseView extends View { let defs = this.getMetadata() .get(['clientDefs', this.scope, 'additionalLayouts', this.type]) ?? {}; + this.typeDefs = defs; + this.dataAttributeList = Espo.Utils.clone(defs.dataAttributeList || this.dataAttributeList); this.isCustom = !!defs.isCustom; diff --git a/client/src/views/admin/layouts/detail.js b/client/src/views/admin/layouts/detail.js index fc03e231cd..c39728ee57 100644 --- a/client/src/views/admin/layouts/detail.js +++ b/client/src/views/admin/layouts/detail.js @@ -199,6 +199,12 @@ define('views/admin/layouts/detail', ['views/admin/layouts/grid'], function (Dep return; } + if (this.typeDefs.allFields) { + resolve(); + + return; + } + this.getHelper().layoutManager.getOriginal( this.scope, 'defaultSidePanel', diff --git a/schema/metadata/clientDefs.json b/schema/metadata/clientDefs.json index 23a80f6fb7..7b8cb60c2c 100644 --- a/schema/metadata/clientDefs.json +++ b/schema/metadata/clientDefs.json @@ -426,6 +426,10 @@ "type": "string" }, "description": "Data attributes." + }, + "allFields": { + "type": "boolean", + "description": "All fields. Actual for the detail type. If false, fields added in the side panel layout won't be available." } } }