Skip to content

Commit ef361a6

Browse files
committed
wip
1 parent c726b6b commit ef361a6

6 files changed

Lines changed: 88 additions & 100 deletions

File tree

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# Kings Code scaffold
22

3+
## Installation
34

4-
```vue create my-app
5+
```bash
6+
vue create my-app
57
cd my-app
68
vue add vuetify
79
vue add kingscode-scaffold
810
npm run serve
911
```
1012

13+
Make sure to create the new Vue app with the vue-router package, or add it later.
14+
1115
Mind that some of the choices you make in the `vue create my-app` and
1216
later in the `vue add vuetify` will be overwritten by vuetify or the kings code scaffold.
1317

generator/templates/Authorisation/src/templates/Authorisation.vue

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
<template>
2-
<div id="app">
3-
<v-app class="primary" id="inspire">
4-
<v-content>
5-
<v-container fill-height fluid justify-center class="primary">
6-
<router-view/>
7-
</v-container>
8-
</v-content>
9-
</v-app>
10-
</div>
2+
<v-main>
3+
<v-container fill-height fluid justify-center class="primary">
4+
<router-view/>
5+
</v-container>
6+
</v-main>
117
</template>
128

139
<script>

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

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
<script>
3939
import cloneDeep from 'lodash.clonedeep';
4040
import FormDataValues from './../mixins/formDataValues';
41+
import {get, post, put, destroy} from '../api/implementation/app';
42+
import objectToFormData from '../api/util/objectToFormDataConverter.js';
4143
4244
export default {
4345
components: {},
@@ -139,17 +141,17 @@ export default {
139141
desc: sortDesc[0] ? 1 : 0,
140142
};
141143
}
142-
this.$http.get(this.resourceUri, {
143-
params: {
144-
q: search,
145-
page: page,
146-
perPage: itemsPerPage,
147-
...sorting,
148-
},
149-
})
144+
get(this.resourceUri, {
145+
params: {
146+
q: search,
147+
page: page,
148+
perPage: itemsPerPage,
149+
...sorting,
150+
},
151+
})
150152
.then((response) => {
151-
let items = this.mapDataResponse(response.data.data);
152-
let total = response.data.meta.total;
153+
const items = this.mapDataResponse(response.data);
154+
const total = response.data.meta.total;
153155
resolve({
154156
items,
155157
total,
@@ -160,9 +162,9 @@ export default {
160162
},
161163
getItemFromApi(id) {
162164
return new Promise((resolve) => {
163-
this.$http.get((this.showResourceUri || this.resourceUri) + '/' + id)
165+
get((this.showResourceUri || this.resourceUri) + '/' + id)
164166
.then((response) => {
165-
let item = response.data.data;
167+
const item = response.data.data;
166168
resolve({
167169
item,
168170
});
@@ -171,10 +173,10 @@ export default {
171173
});
172174
},
173175
getCreateFormValues() {
174-
let form_data = new FormData();
175-
this.appendFormData(form_data, this.mapCreateFormValuesHandler(cloneDeep(this.createForm.values)));
176+
const formData = new FormData();
177+
this.appendFormData(formData, this.mapCreateFormValuesHandler(cloneDeep(this.createForm.values)));
176178
177-
return form_data;
179+
return formData;
178180
179181
},
180182
createEvent() {
@@ -183,13 +185,10 @@ export default {
183185
return new Promise((resolve, reject) => {
184186
process.nextTick(() => {
185187
if (this.createForm.valid) {
186-
this.$http.post((this.createResourceUri || this.resourceUri), this.getCreateFormValues(),
187-
{
188-
headers: {
189-
'Content-Type': 'multipart/form-data',
190-
},
191-
})
188+
post((this.createResourceUri || this.resourceUri), objectToFormData(this.getCreateFormValues()))
192189
.then((response) => {
190+
console.log('createEvent: ');
191+
console.log(response.data);
193192
this.createForm.values = {};
194193
if (typeof this.afterCreate === 'function') {
195194
this.afterCreate(response.data.data).then(() => {
@@ -211,24 +210,21 @@ export default {
211210
});
212211
},
213212
getUpdateFormValues() {
214-
let form_data = new FormData();
215-
this.appendFormData(form_data, this.mapUpdateFormValuesHandler(cloneDeep(this.updateForm.values)));
213+
const formData = new FormData();
214+
this.appendFormData(formData, this.mapUpdateFormValuesHandler(cloneDeep(this.updateForm.values)));
216215
217-
return form_data;
216+
return formData;
218217
},
219218
updateEvent(selected) {
220219
this.errors = {};
221220
this.$refs.updateForm.validate();
222221
return new Promise((resolve, reject) => {
223222
process.nextTick(() => {
224223
if (this.updateForm.valid) {
225-
this.$http.put((this.updateResourceUri || this.resourceUri) + '/' + selected[0].id, this.getUpdateFormValues(),
226-
{
227-
headers: {
228-
'Content-Type': 'multipart/form-data',
229-
},
230-
})
224+
put((this.updateResourceUri || this.resourceUri) + '/' + selected[0].id, objectToFormData(this.getUpdateFormValues()))
231225
.then((response) => {
226+
console.log('updateEvent: ');
227+
console.log(response.data);
232228
if (typeof this.afterUpdate === 'function') {
233229
this.afterUpdate(response.data.data).then(() => {
234230
resolve();
@@ -251,14 +247,9 @@ export default {
251247
},
252248
deleteEvent(ids) {
253249
return new Promise((resolve) => {
254-
let promises = [];
255-
ids.forEach((id) => {
256-
promises.push(this.$http.delete((this.deleteResourceUri || this.resourceUri) + '/' + id));
257-
});
258-
Promise.all(promises).then(() => {
259-
resolve();
260-
});
261-
250+
const promises = [];
251+
ids.forEach(id => promises.push(destroy(`${this.deleteResourceUri || this.resourceUri}/${id}`)));
252+
Promise.all(promises).then(() => resolve());
262253
});
263254
},
264255
/**

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<template>
22
<v-container fluid>
33
<Resource
4-
:after-update="afterUpdated"
54
:create-form-component="() => import('../components/forms/User.vue')"
65
:meta="{name: 'gebruiker', namePlural: 'gebruikers'}"
76
:table-content="tableContent"

generator/templates/Default/src/App.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
2-
<div>
2+
<v-app>
33
<router-view></router-view>
4-
</div>
4+
</v-app>
55
</template>
66

77
<script>
Lines changed: 47 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,60 @@
11
<template>
2-
<div id="app">
3-
<v-app id="inspire" v-if="$store.getters['Authorisation/isLoggedIn']">
4-
<v-navigation-drawer
5-
app
6-
fixed
7-
v-model="menu"
8-
>
9-
<img :src="require('../assets/logo.png')" @click="$router.push({name: 'home'})" class="logo">
10-
<v-divider class="mt-10"/>
11-
<main-menu/>
12-
</v-navigation-drawer>
13-
<v-app-bar app color="primary" dark mfixed>
14-
<v-app-bar-nav-icon @click.stop="menu = !menu"></v-app-bar-nav-icon>
15-
<v-toolbar-title>Beheer</v-toolbar-title>
16-
<v-spacer/>
17-
<profile-menu></profile-menu>
18-
</v-app-bar>
19-
<v-content>
20-
<router-view/>
21-
</v-content>
22-
<v-footer app color="primary" inset>
23-
<span class="white--text">Created by Kings Code</span>
24-
</v-footer>
25-
</v-app>
2+
<div v-if="$store.getters['Authorisation/isLoggedIn']">
3+
<v-navigation-drawer
4+
app
5+
fixed
6+
v-model="menu"
7+
>
8+
<img :src="require('../assets/logo.png')" @click="$router.push({name: 'home'})" class="logo">
9+
<v-divider class="mt-10"/>
10+
<main-menu/>
11+
</v-navigation-drawer>
12+
<v-app-bar app color="primary" dark mfixed>
13+
<v-app-bar-nav-icon @click.stop="menu = !menu"></v-app-bar-nav-icon>
14+
<v-toolbar-title>Beheer</v-toolbar-title>
15+
<v-spacer/>
16+
<profile-menu></profile-menu>
17+
</v-app-bar>
18+
<v-main>
19+
<router-view/>
20+
</v-main>
21+
<v-footer app color="primary" inset>
22+
<span class="white--text">Created by Kings Code</span>
23+
</v-footer>
2624
</div>
2725
</template>
2826

2927
<script>
30-
import ProfileMenu from './../components/ProfileMenu.vue';
31-
import MainMenu from './../components/MainMenu.vue';
28+
import ProfileMenu from './../components/ProfileMenu.vue';
29+
import MainMenu from './../components/MainMenu.vue';
3230
33-
export default {
34-
name: 'template-default',
35-
components: {ProfileMenu, MainMenu},
36-
data() {
37-
return {
38-
menu: true,
39-
};
40-
},
41-
beforeCreate() {
42-
if (!this.$store.getters['Authorisation/isLoggedIn']) {
43-
this.$router.push({name: 'login'});
44-
}
45-
},
46-
};
31+
export default {
32+
name: 'template-default',
33+
components: {ProfileMenu, MainMenu},
34+
data() {
35+
return {
36+
menu: true,
37+
};
38+
},
39+
beforeCreate() {
40+
if (!this.$store.getters['Authorisation/isLoggedIn']) {
41+
this.$router.push({name: 'login'});
42+
}
43+
},
44+
};
4745
</script>
4846

4947
<style scoped lang="scss">
5048
51-
.logo {
52-
display: block;
53-
margin: 30px auto;
54-
width: 50%;
55-
cursor: pointer;
56-
}
49+
.logo {
50+
display: block;
51+
margin: 30px auto;
52+
width: 50%;
53+
cursor: pointer;
54+
}
5755
</style>
5856
<style lang="scss">
59-
.v-dialog--fullscreen > .v-card.v-sheet.theme--light {
60-
background: rgb(248, 249, 250);
61-
}
57+
.v-dialog--fullscreen > .v-card.v-sheet.theme--light {
58+
background: rgb(248, 249, 250);
59+
}
6260
</style>

0 commit comments

Comments
 (0)