Skip to content

Commit f2bfcae

Browse files
Add Breadcrumbs and remove baseform
1 parent 99c39bd commit f2bfcae

10 files changed

Lines changed: 101 additions & 238 deletions

File tree

generator/templates/Crud/src/components/Resource.vue

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
11
<template>
2-
<v-container fluid>
3-
<vuetify-resource
4-
:beforeCreateCallback="beforeOpenCreateHandler"
5-
:beforeUpdateCallback="beforeOpenUpdateHandler"
6-
:createCallback="handleCreateRequest"
7-
:deleteCallback="handleDeleteRequest"
8-
:getDataCallback="handleIndexRequest"
9-
:getItemCallback="handleShowRequest"
10-
:meta="meta"
11-
:tableContent="tableContent"
12-
:texts="require('../VuetifyResourceTexts.js').default"
13-
:updateCallback="handleUpdateRequest"
14-
@row-click="onRowClick"
15-
ref="resourceList"
16-
v-bind="$attrs"
17-
v-model="selected"
18-
>
19-
<div slot="createContent">
20-
<component :errors="errors"
21-
:is="formComponent"
22-
:is-update-form="false"
23-
ref="createForm"
24-
v-model="createForm"/>
25-
</div>
26-
<div slot="updateContent">
27-
<component :errors="errors"
28-
:is="formComponent"
29-
:is-update-form="true"
30-
ref="updateForm"
31-
v-model="updateForm"/>
32-
</div>
33-
<template v-slot:crudActionsAfter="slotProps">
34-
<slot name="crudActionsAfter" v-bind="slotProps"></slot>
35-
</template>
36-
</vuetify-resource>
37-
</v-container>
2+
<vuetify-resource
3+
ref="resourceList"
4+
v-model="selected"
5+
v-bind="$attrs"
6+
:beforeCreateCallback="beforeOpenCreateHandler"
7+
:beforeUpdateCallback="beforeOpenUpdateHandler"
8+
:createCallback="handleCreateRequest"
9+
:deleteCallback="handleDeleteRequest"
10+
:getDataCallback="handleIndexRequest"
11+
:getItemCallback="handleShowRequest"
12+
:meta="meta"
13+
:tableContent="tableContent"
14+
:texts="require('../VuetifyResourceTexts.js').default"
15+
:updateCallback="handleUpdateRequest"
16+
@row-click="onRowClick"
17+
>
18+
<div slot="createContent">
19+
<component :is="formComponent"
20+
ref="createForm"
21+
v-model="createForm"
22+
:errors="errors"
23+
:is-update-form="false"/>
24+
</div>
25+
<div slot="updateContent">
26+
<component :is="formComponent"
27+
ref="updateForm"
28+
v-model="updateForm"
29+
:errors="errors"
30+
:is-update-form="true"/>
31+
</div>
32+
<template v-slot:crudActionsAfter="slotProps">
33+
<slot v-bind="slotProps" name="crudActionsAfter"></slot>
34+
</template>
35+
</vuetify-resource>
3836
</template>
3937

4038
<script>

generator/templates/Crud/src/components/VuetifyResourceBaseForm.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<script>
2-
import BaseForm from '@/components/BaseForm.vue';
32
43
export default {
54
name: 'Form',
6-
extends: BaseForm,
75
props: {
86
value: {
97
default() {

generator/templates/Crud/src/views/UserResource.vue

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
<script lang="js">
1818
import Resource from '@/components/Resource.vue';
19+
import eventBus from '@/eventBus.js';
1920
import { create, index, remove, show, update } from '../api/endpoints/user.js';
2021
import User from '../application/models/user.js';
2122
@@ -48,5 +49,19 @@ export default {
4849
];
4950
},
5051
},
52+
created() {
53+
eventBus.$emit('setBreadcrumbs', [
54+
{
55+
exact: true,
56+
to: { name: 'home' },
57+
text: this.$t('global.dashboard'),
58+
},
59+
{
60+
exact: true,
61+
to: { name: 'users' },
62+
text: this.$tc('user.title', 2),
63+
},
64+
]);
65+
}
5166
};
5267
</script>

generator/templates/Default/src/components/BaseForm.vue

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<template>
2+
<VBreadcrumbs :class="breadcrumbsClass" :items="breadcrumbs" class="py-1 pl-0"/>
3+
</template>
4+
5+
<script>
6+
import eventBus from '../eventBus';
7+
8+
export default {
9+
name: 'Breadcrumbs',
10+
data() {
11+
return {
12+
breadcrumbs: [],
13+
placeholders: {},
14+
};
15+
},
16+
computed: {
17+
breadcrumbsClass() {
18+
return this.$vuetify.theme.dark ? 'dark' : 'light';
19+
},
20+
},
21+
created() {
22+
eventBus.$on('setBreadcrumbs', (breadcrumbs) => {
23+
this.breadcrumbs = breadcrumbs;
24+
});
25+
},
26+
};
27+
</script>

generator/templates/Default/src/components/PaginatedAutocomplete.vue

Lines changed: 0 additions & 138 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import Vue from 'vue';
2+
3+
const EventBus = new Vue();
4+
export default EventBus;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"dashboard": "Dashboard"
3+
}

generator/templates/Default/src/templates/Default.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<template>
22
<div v-if="isLoggedIn">
33
<v-navigation-drawer
4+
v-model="isMenuOpen"
45
app
56
fixed
6-
v-model="isMenuOpen"
77
>
88
<router-link :to="{name: 'home'}">
99
<img :src="require('../assets/logo.png')" class="logo">
@@ -18,6 +18,9 @@
1818
<AppBarMenu/>
1919
</v-app-bar>
2020
<v-main>
21+
<v-row class="ma-3 mb-0">
22+
<Breadcrumbs class="breadcrumbs"/>
23+
</v-row>
2124
<router-view/>
2225
</v-main>
2326
<v-footer app color="primary" inset>
@@ -27,9 +30,9 @@
2730
</template>
2831

2932
<script>
30-
import { mapGetters } from 'vuex';
3133
import AppBarMenu from '@/components/AppBarMenu.vue';
3234
import TheMainMenu from '@/components/menu/TheMainMenu.vue';
35+
import { mapGetters } from 'vuex';
3336
3437
export default {
3538
name: 'Default',

0 commit comments

Comments
 (0)