diff --git a/resources/blueprints/asset.yaml b/resources/blueprints/asset.yaml deleted file mode 100644 index a8b039c032d..00000000000 --- a/resources/blueprints/asset.yaml +++ /dev/null @@ -1,7 +0,0 @@ -fields: - - - handle: alt - field: - display: Alt Text - type: text - instructions: Description of the image diff --git a/resources/blueprints/default.yaml b/resources/blueprints/default.yaml deleted file mode 100644 index 8928326a367..00000000000 --- a/resources/blueprints/default.yaml +++ /dev/null @@ -1,8 +0,0 @@ -title: Default -fields: - - - handle: content - field: - type: markdown - display: Content - localizable: true diff --git a/resources/blueprints/entry_link.yaml b/resources/blueprints/entry_link.yaml deleted file mode 100644 index 5c79573a60d..00000000000 --- a/resources/blueprints/entry_link.yaml +++ /dev/null @@ -1,11 +0,0 @@ -title: Link -fields: - - - handle: title - field: - type: text - - - handle: redirect - field: - type: link - required: true diff --git a/resources/blueprints/user.yaml b/resources/blueprints/user.yaml deleted file mode 100644 index b7ef165a775..00000000000 --- a/resources/blueprints/user.yaml +++ /dev/null @@ -1,25 +0,0 @@ -hide: true -fields: - - - handle: name - field: - type: text - display: Name - - - handle: email - field: - type: text - input_type: email - display: Email Address - - - handle: roles - field: - type: user_roles - width: 50 - mode: select - - - handle: groups - field: - type: user_groups - width: 50 - mode: select diff --git a/resources/js/app.js b/resources/js/app.js index e7e2231f05d..f85a8ebe972 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -130,6 +130,7 @@ Statamic.app({ CollectionScaffolder: require('./components/collections/Scaffolder.vue').default, CollectionEditForm: require('./components/collections/EditForm.vue').default, CollectionView: require('./components/collections/View.vue').default, + CollectionBlueprintListing: require('./components/collections/BlueprintListing.vue').default, SessionExpiry: require('./components/SessionExpiry.vue').default, NavigationListing: require('./components/navigation/Listing.vue').default, NavigationCreateForm: require('./components/navigation/CreateForm.vue').default, @@ -138,6 +139,7 @@ Statamic.app({ Stacks: require('./components/stacks/Stacks.vue').default, TaxonomyCreateForm: require('./components/taxonomies/CreateForm.vue').default, TaxonomyEditForm: require('./components/taxonomies/EditForm.vue').default, + TaxonomyBlueprintListing: require('./components/taxonomies/BlueprintListing.vue').default, AssetContainerCreateForm: require('./components/asset-containers/CreateForm.vue').default, AssetContainerEditForm: require('./components/asset-containers/EditForm.vue').default, Updater: require('./components/updater/Updater.vue').default, diff --git a/resources/js/bootstrap/fieldtypes.js b/resources/js/bootstrap/fieldtypes.js index 983ae7136d1..774502d44be 100644 --- a/resources/js/bootstrap/fieldtypes.js +++ b/resources/js/bootstrap/fieldtypes.js @@ -34,6 +34,7 @@ Vue.component('global_set_sites-fieldtype', require('../components/globals/Sites Vue.component('grid-fieldtype', require('../components/fieldtypes/grid/Grid.vue').default); Vue.component('grid-fieldtype-index', require('../components/fieldtypes/grid/GridIndex.vue').default); Vue.component('hidden-fieldtype', require('../components/fieldtypes/HiddenFieldtype.vue').default); +Vue.component('html-fieldtype', require('../components/fieldtypes/HtmlFieldtype.vue').default); Vue.component('integer-fieldtype', require('../components/fieldtypes/IntegerFieldtype.vue').default); Vue.component('link-fieldtype', require('../components/fieldtypes/LinkFieldtype.vue').default); Vue.component('list-fieldtype', require('../components/fieldtypes/ListFieldtype.vue').default); diff --git a/resources/js/components/assets/AssetManager.vue b/resources/js/components/assets/AssetManager.vue index 937ea7436bf..16e1dcc0bf4 100644 --- a/resources/js/components/assets/AssetManager.vue +++ b/resources/js/components/assets/AssetManager.vue @@ -11,6 +11,10 @@ v-text="__('Edit Container')" :redirect="container.edit_url"> + + { - this.fieldset = response.data; - // Flatten fields from all sections into one array. + this.fieldset = data.blueprint; this.fields = _.chain(this.fieldset.sections) .map(section => section.fields) .flatten(true) diff --git a/resources/js/components/blueprints/Builder.vue b/resources/js/components/blueprints/Builder.vue index c3bbe55caed..f0f51657d78 100644 --- a/resources/js/components/blueprints/Builder.vue +++ b/resources/js/components/blueprints/Builder.vue @@ -3,15 +3,13 @@
- -
-

{{ initialTitle }}

+

-
+
{{ __('messages.blueprints_title_instructions') }} @@ -22,12 +20,13 @@
-
+

{{ __('Tab Sections') }}

{{ __('messages.tab_sections_instructions') }}

@@ -45,13 +44,17 @@ export default { Sections, }, - props: ['action', 'initialBlueprint', 'breadcrumbUrl'], + props: { + action: String, + initialBlueprint: Object, + showTitle: Boolean, + useSections: { type: Boolean, default: true } + }, data() { return { - blueprint: clone(this.initialBlueprint), + blueprint: this.initializeBlueprint(), sections: [], - initialTitle: this.initialBlueprint.title, errors: {} } }, @@ -80,6 +83,14 @@ export default { methods: { + initializeBlueprint() { + let blueprint = clone(this.initialBlueprint); + + if (! this.showTitle) delete blueprint.title; + + return blueprint; + }, + sectionsUpdated(sections) { this.sections = sections; }, diff --git a/resources/js/components/blueprints/Listing.vue b/resources/js/components/blueprints/Listing.vue index 90e026d21e2..ef6274aa613 100644 --- a/resources/js/components/blueprints/Listing.vue +++ b/resources/js/components/blueprints/Listing.vue @@ -1,7 +1,10 @@