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}}' + '