From c4411486cb867cdf9548c1acff9e070cfa6af172 Mon Sep 17 00:00:00 2001 From: trendschau Date: Sun, 22 Aug 2021 10:58:05 +0200 Subject: [PATCH] Version 1.4.8: Fix metafields userroles and fieldset style --- system/Controllers/MetaApiController.php | 20 ++++++++-- system/author/css/style.css | 8 ++++ system/author/js/vue-meta.js | 50 +----------------------- 3 files changed, 26 insertions(+), 52 deletions(-) diff --git a/system/Controllers/MetaApiController.php b/system/Controllers/MetaApiController.php index 7d04342..7cb7796 100644 --- a/system/Controllers/MetaApiController.php +++ b/system/Controllers/MetaApiController.php @@ -138,7 +138,15 @@ class MetaApiController extends ContentController { $userroles[$userrole] = $userrole; } - $metadefinitions[$tabname]['fields'][$fieldname]['options'] = $userroles; + + if(isset($fielddefinitions['fieldset'])) + { + $metadefinitions[$tabname]['fields'][$fielddefinitions['fieldset']]['fields'][$fieldname]['options'] = $userroles; + } + else + { + $metadefinitions[$tabname]['fields'][$fieldname]['options'] = $userroles; + } } /* @@ -241,7 +249,6 @@ class MetaApiController extends ContentController $fieldDefinition['options'] = $userroles; } - # validate user input for this field $result = $validate->objectField($fieldName, $fieldValue, $objectName, $fieldDefinition); @@ -382,16 +389,21 @@ class MetaApiController extends ContentController } # we have to flatten field definitions for tabs if there are fieldsets in it - public function flattenTabFields($tabfields, $flattab) + public function flattenTabFields($tabfields, $flattab, $fieldset = null) { foreach($tabfields as $name => $field) { if($field['type'] == 'fieldset') { - $flattab = $this->flattenTabFields($field['fields'], $flattab); + $flattab = $this->flattenTabFields($field['fields'], $flattab, $name); } else { + # add the name of the fieldset so we know to which fieldset it belongs for references + if($fieldset) + { + $field['fieldset'] = $fieldset; + } $flattab[$name] = $field; } } diff --git a/system/author/css/style.css b/system/author/css/style.css index dddf3f4..9bc7a34 100644 --- a/system/author/css/style.css +++ b/system/author/css/style.css @@ -987,6 +987,14 @@ section.tab{ /* z-index: -1; */ padding: 40px; } +/* fix medium fields next together due to fieldset-logic */ +.tab > form > div{ + display: inline; +} +.fs-formbuilder > div{ + padding: 18px 20px; +} + /******************** * Forms * ********************/ diff --git a/system/author/js/vue-meta.js b/system/author/js/vue-meta.js index 6f63fa3..1983e26 100644 --- a/system/author/js/vue-meta.js +++ b/system/author/js/vue-meta.js @@ -11,42 +11,13 @@ Vue.filter('translate', function (value) { } }) -Vue.component('tab-metaoriginal', { - props: ['saved', 'errors', 'formdata', 'schema', 'userroles'], - template: '
original' + - '' + - '' + - '
{{ \'Saved successfully\'|translate }}
' + - '
{{ \'Please correct the errors above\'|translate }}
' + - '
' + - '
', - methods: { - selectComponent: function(field) - { - return 'component-'+field.type; - }, - saveInput: function() - { - this.$emit('saveform'); - }, - } -}) - Vue.component('tab-meta', { props: ['saved', 'errors', 'formdata', 'schema', 'userroles'], template: '
' + - '
' + - '
{{field.legend}}' + + '
' + + '
{{field.legend}}' + '