Skip to content

Commit ea06b7f

Browse files
authored
[6.x] Inertia-fy the blueprints and fieldsets areas (#12656)
1 parent e1d1fce commit ea06b7f

57 files changed

Lines changed: 798 additions & 944 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

resources/js/bootstrap/components.js

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,13 @@ import FieldActionModal from '../components/field-actions/FieldActionModal.vue';
1919
import ElevatedSessionModal from '../components/modals/ElevatedSessionModal.vue';
2020
import ResourceDeleter from '../components/ResourceDeleter.vue';
2121
import Stack from '../components/stacks/Stack.vue';
22-
import BlueprintCreateForm from '../components/blueprints/BlueprintCreateForm.vue';
2322
import BlueprintResetter from '../components/blueprints/BlueprintResetter.vue';
2423
import GitStatus from '../components/GitStatus.vue';
2524
import DateTime from '../components/DateTime.vue';
2625
import UpdaterWidget from '../components/updater/UpdaterWidget.vue';
2726

2827
import BaseTermCreateForm from '../components/terms/BaseCreateForm.vue';
2928
import CreateTermButton from '../components/terms/CreateTermButton.vue';
30-
import FieldsetListing from '../components/fieldsets/Listing.vue';
31-
import FieldsetEditForm from '../components/fieldsets/EditForm.vue';
3229
import BlueprintListing from '../components/blueprints/Listing.vue';
3330
import BlueprintBuilder from '../components/blueprints/Builder.vue';
3431
import FormListing from '../components/forms/Listing.vue';
@@ -42,9 +39,7 @@ import RolePublishForm from '../components/roles/PublishForm.vue';
4239
import UserGroupListing from '../components/user-groups/Listing.vue';
4340
import UserGroupPublishForm from '../components/user-groups/PublishForm.vue';
4441
import CollectionScaffolder from '../components/collections/Scaffolder.vue';
45-
import CollectionBlueprintListing from '../components/collections/BlueprintListing.vue';
4642
import PreferencesEditForm from '../components/preferences/EditForm.vue';
47-
import TaxonomyBlueprintListing from '../components/taxonomies/BlueprintListing.vue';
4843
import ItemActions from '../components/actions/ItemActions.vue';
4944
import BulkActions from '../components/actions/BulkActions.vue';
5045

@@ -91,16 +86,13 @@ export default function registerGlobalComponents(app) {
9186

9287
app.component('stack', Stack);
9388

94-
app.component('blueprint-create-form', BlueprintCreateForm);
9589
app.component('blueprint-resetter', BlueprintResetter);
9690

9791
// Temporarily global during intertia migration
9892
// These are no longer used at the top level since there's now a layout component.
9993
// Eventually they will be moved into their respective pages.
10094
app.component('BaseTermCreateForm', BaseTermCreateForm);
10195
app.component('CreateTermButton', CreateTermButton);
102-
app.component('FieldsetListing', FieldsetListing);
103-
app.component('FieldsetEditForm', FieldsetEditForm);
10496
app.component('BlueprintListing', BlueprintListing);
10597
app.component('BlueprintBuilder', BlueprintBuilder);
10698
app.component('FormListing', FormListing);
@@ -114,9 +106,7 @@ export default function registerGlobalComponents(app) {
114106
app.component('UserGroupListing', UserGroupListing);
115107
app.component('UserGroupPublishForm', UserGroupPublishForm);
116108
app.component('CollectionScaffolder', CollectionScaffolder);
117-
app.component('CollectionBlueprintListing', CollectionBlueprintListing);
118109
app.component('PreferencesEditForm', PreferencesEditForm);
119-
app.component('TaxonomyBlueprintListing', TaxonomyBlueprintListing);
120110
app.component('NavBuilder', defineAsyncComponent(() => import('../components/nav/Builder.vue')));
121111
app.component('ItemActions', ItemActions);
122112
app.component('BulkActions', BulkActions);

resources/js/components/blueprints/LinkFields.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
<script>
100100
import uniqid from 'uniqid';
101101
import { Combobox, Button, Input, Heading, Field } from '@/components/ui';
102+
import { usePage } from '@inertiajs/vue3';
102103
103104
export default {
104105
components: { Heading, Combobox, Button, Input, Field },
@@ -109,9 +110,10 @@ export default {
109110
},
110111
111112
data() {
113+
const fieldsetsData = usePage().props.fieldsets;
112114
const fieldsets = JSON.parse(
113115
JSON.stringify(
114-
Object.values(this.$config.get('fieldsets')).filter(
116+
Object.values(fieldsetsData).filter(
115117
(fieldset) => fieldset.handle != this.excludeFieldset,
116118
),
117119
),

resources/js/components/collections/BlueprintListing.vue

Lines changed: 0 additions & 65 deletions
This file was deleted.

resources/js/components/field-validation/Builder.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ import { SortableList } from '../sortable/Sortable';
9797
import { sortBy } from 'lodash-es';
9898
import { Description, Field, Input, Badge, Button, Switch, Combobox } from '@ui';
9999
import { ComboboxInput } from 'reka-ui';
100+
import { usePage } from '@inertiajs/vue3';
100101
101102
export default {
102103
components: {
@@ -149,7 +150,8 @@ export default {
149150
},
150151
151152
extensionRules() {
152-
return clone(Statamic.$config.get('extensionRules')).map((rule) => {
153+
const { extensionRules } = usePage().props;
154+
return clone(extensionRules).map((rule) => {
153155
return this.prepareRenderableRule(rule);
154156
});
155157
},

resources/js/components/fieldsets/Listing.vue

Lines changed: 0 additions & 62 deletions
This file was deleted.

resources/js/components/taxonomies/BlueprintListing.vue

Lines changed: 0 additions & 65 deletions
This file was deleted.

resources/js/components/ui/CreateForm.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script setup>
22
import { ref, computed, watch, onMounted, getCurrentInstance } from 'vue';
3+
import { router } from '@inertiajs/vue3';
34
45
const props = defineProps({
56
title: { type: String, required: true },
@@ -40,7 +41,7 @@ const submit = () => {
4041
$axios
4142
.post(props.route, payload)
4243
.then((response) => {
43-
window.location = response.data.redirect;
44+
router.get(response.data.redirect);
4445
})
4546
.catch((error) => {
4647
$toast.error(error.response.data.message);

resources/js/components/blueprints/BlueprintCreateForm.vue renamed to resources/js/pages/blueprints/Create.vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
<script setup>
2+
import Head from '@/pages/layout/Head.vue';
23
import { CreateForm } from '@/components/ui';
4+
import useArchitecturalBackground from '@/pages/layout/architectural-background.js';
35
4-
const props = defineProps({
5-
route: { type: String },
6-
icon: { type: String },
7-
});
6+
defineProps(['route', 'icon']);
7+
useArchitecturalBackground();
88
</script>
99

1010
<template>
11+
<Head :title="__('Create Blueprint')" />
12+
1113
<CreateForm
1214
:icon
1315
:route
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<script setup>
2+
import Head from '@/pages/layout/Head.vue';
3+
import { DocsCallout } from '@ui';
4+
5+
defineProps([
6+
'blueprint',
7+
'action',
8+
'showTitle',
9+
'useTabs',
10+
'canDefineLocalizable',
11+
'resetRoute',
12+
'isResettable',
13+
]);
14+
</script>
15+
16+
<template>
17+
<Head :title="__('Edit Blueprint')" />
18+
19+
<blueprint-builder
20+
:show-title="showTitle"
21+
:action="action"
22+
:initial-blueprint="blueprint"
23+
:use-tabs="useTabs"
24+
:can-define-localizable="canDefineLocalizable"
25+
>
26+
<template v-if="isResettable" #actions>
27+
<ui-dropdown>
28+
<ui-dropdown-menu>
29+
<ui-dropdown-item
30+
:text="__('Reset')"
31+
variant="destructive"
32+
@click="$refs.resetter.confirm()"
33+
/>
34+
</ui-dropdown-menu>
35+
</ui-dropdown>
36+
<blueprint-resetter
37+
ref="resetter"
38+
:route="resetRoute"
39+
:resource="blueprint"
40+
reload
41+
/>
42+
</template>
43+
</blueprint-builder>
44+
45+
<DocsCallout :topic="__('Blueprints')" url="blueprints" />
46+
</template>

0 commit comments

Comments
 (0)