diff --git a/resources/js/bootstrap/fieldtypes.js b/resources/js/bootstrap/fieldtypes.js index aee235813ad..cff055876c4 100644 --- a/resources/js/bootstrap/fieldtypes.js +++ b/resources/js/bootstrap/fieldtypes.js @@ -11,7 +11,6 @@ Vue.component('textarea-fieldtype', require('../components/fieldtypes/TextareaFi Vue.component('slug-fieldtype', require('../components/fieldtypes/SlugFieldtype.vue').default); // Fieldtypes -import FieldsetFieldtype from '../components/fieldtypes/FieldsetFieldtype.vue' import RevealerFieldtype from '../components/fieldtypes/RevealerFieldtype.vue' import StatusFieldtype from '../components/fieldtypes/StatusFieldtype.vue' import TemplateFieldtype from '../components/fieldtypes/TemplateFieldtype.vue' @@ -28,7 +27,6 @@ Vue.component('code-fieldtype', require('../components/fieldtypes/CodeFieldtype. Vue.component('collection_routes-fieldtype', require('../components/collections/Routes.vue').default); Vue.component('color-fieldtype', require('../components/fieldtypes/ColorFieldtype.vue').default); Vue.component('date-fieldtype', require('../components/fieldtypes/DateFieldtype.vue').default); -Vue.component('fieldset-fieldtype', FieldsetFieldtype); Vue.component('fields-fieldtype', require('../components/fieldtypes/grid/FieldsFieldtype.vue').default); Vue.component('float-fieldtype', require('../components/fieldtypes/FloatFieldtype.vue').default); Vue.component('global_set_sites-fieldtype', require('../components/globals/Sites.vue').default); diff --git a/resources/js/components/fieldtypes/FieldsetFieldtype.vue b/resources/js/components/fieldtypes/FieldsetFieldtype.vue deleted file mode 100644 index a84f7f896d9..00000000000 --- a/resources/js/components/fieldtypes/FieldsetFieldtype.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - - - {{ __('Loading') }} - - - - - - - - {{ __('Create') }} - {{ __('Cancel') }} - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/routes/cp.php b/routes/cp.php index 0da5e2430ce..5d5d3fb3bcb 100644 --- a/routes/cp.php +++ b/routes/cp.php @@ -150,8 +150,6 @@ Route::post('update', 'FieldsController@update')->name('fields.update'); Route::get('field-meta', 'MetaController@show'); Route::resource('fieldsets', 'FieldsetController'); - Route::post('fieldsets/quick', 'FieldsetController@quickStore'); - Route::post('fieldsets/{fieldset}/fields', 'FieldsetFieldController@store'); Route::get('blueprints', 'BlueprintController@index')->name('blueprints.index'); Route::get('fieldtypes', 'FieldtypesController@index'); }); diff --git a/src/Fields/Field.php b/src/Fields/Field.php index ebfd96fe506..d36ed6c19ac 100644 --- a/src/Fields/Field.php +++ b/src/Fields/Field.php @@ -180,6 +180,9 @@ public function toPublishArray() ]); } + /** + * @deprecated + */ public function toBlueprintArray() { return [ diff --git a/src/Fields/FieldTransformer.php b/src/Fields/FieldTransformer.php index 99a82868a70..c391bf96d9e 100644 --- a/src/Fields/FieldTransformer.php +++ b/src/Fields/FieldTransformer.php @@ -81,7 +81,7 @@ private static function referenceFieldToVue($field): array 'field_reference' => $field['field'], 'config' => $mergedConfig, 'config_overrides' => array_keys($config), - 'fieldtype' => $type = $fieldsetField['type'], + 'fieldtype' => $type = $mergedConfig['type'], 'icon' => FieldtypeRepository::find($type)->icon(), ]; } @@ -119,12 +119,14 @@ public static function fieldsetFields() $fields = Fieldset::all()->flatMap(function ($fieldset) { return collect($fieldset->fields()->all())->mapWithKeys(function ($field, $handle) use ($fieldset) { - return [$fieldset->handle().'.'.$field->handle() => array_merge($field->toBlueprintArray(), [ + return [$fieldset->handle().'.'.$field->handle() => [ + 'display' => $field->display(), + 'config' => $field->config(), 'fieldset' => [ 'handle' => $fieldset->handle(), 'title' => $fieldset->title(), ], - ])]; + ]]; }); })->sortBy('display')->all(); diff --git a/src/Http/Controllers/CP/Fields/FieldsetController.php b/src/Http/Controllers/CP/Fields/FieldsetController.php index 136c96d8145..ea825620f08 100644 --- a/src/Http/Controllers/CP/Fields/FieldsetController.php +++ b/src/Http/Controllers/CP/Fields/FieldsetController.php @@ -111,25 +111,4 @@ public function destroy($fieldset) return response(''); } - - /** - * Quickly create a new barebones fieldset from within the fieldtype. - * - * @return array - */ - public function quickStore(Request $request) - { - $title = $request->title; - - if (Facades\Fieldset::exists($handle = snake_case($title))) { - return ['success' => true]; - } - - $fieldset = (new Fieldset)->setHandle($handle)->setContents([ - 'title' => $request->title, - 'fields' => [], - ])->save(); - - return ['success' => true]; - } } diff --git a/src/Http/Controllers/CP/Fields/FieldsetFieldController.php b/src/Http/Controllers/CP/Fields/FieldsetFieldController.php deleted file mode 100644 index 92fa500f779..00000000000 --- a/src/Http/Controllers/CP/Fields/FieldsetFieldController.php +++ /dev/null @@ -1,34 +0,0 @@ -authorize('create', Fieldset::class); - - $fieldset = Facades\Fieldset::find($fieldset); - $field = $request->all(); - $handle = array_pull($field, 'handle'); - - $contents = $fieldset->contents(); - $fields = $contents['fields']; - $fields[$handle] = array_except($field, '_id'); - $contents['fields'] = $fields; - - $fieldset->setContents($contents)->save(); - - return array_merge($fieldset->field($handle)->toBlueprintArray(), [ - 'fieldset' => [ - 'handle' => $fieldset->handle(), - 'title' => $fieldset->title(), - ], - ]); - } -} diff --git a/tests/Fieldtypes/NestedFieldsTest.php b/tests/Fieldtypes/NestedFieldsTest.php index 5f4f0ec7063..a2d89c995f8 100644 --- a/tests/Fieldtypes/NestedFieldsTest.php +++ b/tests/Fieldtypes/NestedFieldsTest.php @@ -138,14 +138,7 @@ public function it_preprocesses_from_blueprint_format_to_vue() 'type' => 'reference', 'field_reference' => 'test.bar', 'config' => [ - 'placeholder' => null, - 'input_type' => 'text', - 'character_limit' => 0, - 'prepend' => null, - 'append' => null, - 'antlers' => false, - 'default' => null, - 'component' => 'text', + 'type' => 'text', 'width' => 50, 'display' => 'Second Field', 'localizable' => false,