diff --git a/client/src/views/admin/layouts/base.js b/client/src/views/admin/layouts/base.js index bf5e4c80bc..b1dae30c04 100644 --- a/client/src/views/admin/layouts/base.js +++ b/client/src/views/admin/layouts/base.js @@ -84,6 +84,7 @@ class LayoutBaseView extends View { this.events = _.clone(this.events); this.scope = this.options.scope; this.type = this.options.type; + this.realType = this.options.realType; this.setId = this.options.setId; this.em = this.options.em; diff --git a/client/src/views/admin/layouts/detail.js b/client/src/views/admin/layouts/detail.js index c39728ee57..0100e545c7 100644 --- a/client/src/views/admin/layouts/detail.js +++ b/client/src/views/admin/layouts/detail.js @@ -286,7 +286,17 @@ define('views/admin/layouts/detail', ['views/admin/layouts/grid'], function (Dep var layoutList = model.getFieldParam(name, 'layoutAvailabilityList'); - if (layoutList && !layoutList.includes(this.type)) { + let realType = this.realType; + + if (realType === 'detailSmall') { + realType = 'detail'; + } + + if ( + layoutList && + !layoutList.includes(this.type) && + !layoutList.includes(realType) + ) { return; } diff --git a/client/src/views/admin/layouts/index.js b/client/src/views/admin/layouts/index.js index a4d9acea03..9da71223dd 100644 --- a/client/src/views/admin/layouts/index.js +++ b/client/src/views/admin/layouts/index.js @@ -272,6 +272,7 @@ class LayoutIndexView extends View { fullSelector: '#layout-content', scope: scope, type: type, + realType: typeReal, setId: this.setId, em: this.em, }, view => { diff --git a/client/src/views/admin/layouts/list.js b/client/src/views/admin/layouts/list.js index 0d7f64f3cb..2195c6ba1f 100644 --- a/client/src/views/admin/layouts/list.js +++ b/client/src/views/admin/layouts/list.js @@ -259,10 +259,21 @@ define('views/admin/layouts/list', ['views/admin/layouts/rows'], function (Dep) return false; } + /** @type {string[]|null} */ const layoutList = model.getFieldParam(name, 'layoutAvailabilityList'); - if (layoutList && !~layoutList.indexOf(this.type)) { - return; + let realType = this.realType; + + if (realType === 'listSmall') { + realType = 'list'; + } + + if ( + layoutList && + !layoutList.includes(this.type) && + !layoutList.includes(realType) + ) { + return false; } return !model.getFieldParam(name, 'disabled') &&