diff --git a/client/web/compose/src/components/Admin/Module/Records/ColumnPicker.vue b/client/web/compose/src/components/Admin/Module/Records/ColumnPicker.vue index 111d4932b..6e12451f9 100644 --- a/client/web/compose/src/components/Admin/Module/Records/ColumnPicker.vue +++ b/client/web/compose/src/components/Admin/Module/Records/ColumnPicker.vue @@ -33,6 +33,7 @@ @@ -78,6 +79,12 @@ export default { type: String, default: 'light', }, + + fieldSubset: { + type: Array, + required: false, + default: () => null, + }, }, data () { @@ -89,8 +96,13 @@ export default { }, watch: { - fields (fields) { - this.filteredFields = this.module.filterFields(fields) + fields: { + immediate: true, + handler (fields) { + if (fields) { + this.filteredFields = this.module.filterFields(fields) + } + }, }, }, diff --git a/client/web/compose/src/components/Common/FieldPicker.vue b/client/web/compose/src/components/Common/FieldPicker.vue index 3f8682366..bd6919da3 100644 --- a/client/web/compose/src/components/Common/FieldPicker.vue +++ b/client/web/compose/src/components/Common/FieldPicker.vue @@ -133,7 +133,9 @@ export default { let sysFields = [] - if (!this.disableSystemFields) { + if (this.disableSystemFields && mFields) { + mFields = mFields.filter(({ isSystem }) => !isSystem) + } else if (!this.fieldSubset) { sysFields = this.module.systemFields().map(sf => { sf.label = this.$t(`field:system.${sf.name}`) return sf @@ -142,10 +144,6 @@ export default { if (this.systemFields) { sysFields = sysFields.filter(({ name }) => this.systemFields.find(sf => sf === name)) } - } else { - if (mFields) { - mFields = mFields.filter(({ isSystem }) => !isSystem) - } } if (!this.disableSorting && mFields) { diff --git a/client/web/compose/src/components/ModuleFields/Viewer/DateTime.vue b/client/web/compose/src/components/ModuleFields/Viewer/DateTime.vue index f4ae6afa0..bdee25eb8 100644 --- a/client/web/compose/src/components/ModuleFields/Viewer/DateTime.vue +++ b/client/web/compose/src/components/ModuleFields/Viewer/DateTime.vue @@ -10,10 +10,6 @@ export default { } return this.value ? this.field.formatValue(this.value) : null }, - - classes () { - return this.field.isMulti ? ['multiline'] : [] - }, }, } diff --git a/client/web/compose/src/components/ModuleFields/Viewer/Email.vue b/client/web/compose/src/components/ModuleFields/Viewer/Email.vue index 0e291f0c5..d97f5c494 100644 --- a/client/web/compose/src/components/ModuleFields/Viewer/Email.vue +++ b/client/web/compose/src/components/ModuleFields/Viewer/Email.vue @@ -1,5 +1,5 @@