Skip to content

Commit c26b173

Browse files
new version and some hotfixes
1 parent 20ef643 commit c26b173

File tree

8 files changed

+120
-100
lines changed

8 files changed

+120
-100
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<v-main>
3-
<v-container fluid class="primary">
3+
<v-container fluid fill-height class="primary">
44
<router-view/>
55
</v-container>
66
</v-main>

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

Lines changed: 0 additions & 89 deletions
This file was deleted.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<script>
2+
import BaseForm from '@/components/BaseForm.vue';
3+
4+
export default {
5+
name: 'Form',
6+
extends: BaseForm,
7+
props: {
8+
value: {
9+
default() {
10+
return {values: {}, valid: false};
11+
},
12+
type: Object,
13+
},
14+
errors: {
15+
default() {
16+
return {};
17+
},
18+
type: Object,
19+
},
20+
isUpdateForm: {
21+
type: Boolean,
22+
default: false,
23+
},
24+
},
25+
watch: {
26+
value: {
27+
immediate: true,
28+
handler() {
29+
if (Object.keys(this.value.values).length !== 0) {
30+
this.values = this.setFormValues(this.value.values);
31+
}
32+
},
33+
deep: true,
34+
},
35+
valid: {
36+
handler() {
37+
this.handleFormEmit();
38+
},
39+
},
40+
values: {
41+
handler() {
42+
this.handleFormEmit();
43+
},
44+
deep: true,
45+
},
46+
},
47+
data() {
48+
return {
49+
valid: false,
50+
values: {},
51+
};
52+
},
53+
methods: {
54+
setFormValues(values) {
55+
return values;
56+
},
57+
handleFormEmit() {
58+
clearTimeout(this.emitTimeout);
59+
this.emitTimeout = setTimeout(() => {
60+
this.$emit('input', {values: this.values, valid: this.valid});
61+
}, 500);
62+
},
63+
},
64+
};
65+
</script>

generator/templates/Crud/src/components/forms/User.vue

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,17 @@
55
<v-subheader class="pa-0">Gebruiker</v-subheader>
66
<v-card class="themed-color">
77
<v-card-text>
8-
<v-text-field
8+
<VTextField
99
:counter="100"
10-
:rules="[(v) => !!v || 'Naam is verplicht', v => serverError('name', v), (v) => !!v && v.length <= 100 || 'de naam mag maximaal 100 tekens bevatten']"
10+
:rules="[(v) => !!v || 'Naam is verplicht', () => serverError('name'), (v) => !!v && v.length <= 100 || 'de naam mag maximaal 100 tekens bevatten']"
1111
label="Naam"
12-
class="required"
13-
v-model="values.name"></v-text-field>
14-
<v-text-field
12+
v-model="values.name"/>
13+
<VTextField
1514
:counter="150"
16-
:rules="[(v) => !!v || 'E-mail is verplicht', v => serverError('email', v), (v) => !!v && v.length <= 100 || 'het e-mailadres mag maximaal 150 tekens bevatten']"
15+
:rules="[(v) => !!v || 'E-mail is verplicht', () => serverError('email'), (v) => !!v && v.length <= 100 || 'het e-mailadres mag maximaal 150 tekens bevatten']"
1716
label="E-mail"
1817
hint="Het e-mailadres waarmee de gebruiker gaat inloggen en waarnaar een mail verzonden wordt met instructies om een wachtwoord aan te maken"
19-
class="required"
20-
v-model="values.email"></v-text-field>
18+
v-model="values.email"/>
2119
</v-card-text>
2220
</v-card>
2321
</v-col>
@@ -26,7 +24,7 @@
2624
</template>
2725

2826
<script>
29-
import Form from './../BaseForm';
27+
import Form from '@/components/VuetifyResourceBaseForm.vue';
3028
3129
export default {
3230
name: 'user-form',
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<script>
2+
import store from '../store';
3+
import Error from '../store/modules/Error';
4+
5+
export default {
6+
name: 'Form',
7+
computed: {
8+
hasServerError: () => Error.state.errors.length > 0,
9+
},
10+
watch: {
11+
errors: {
12+
handler() {
13+
this.validate();
14+
},
15+
deep: true,
16+
},
17+
},
18+
data() {
19+
return {
20+
valid: false,
21+
};
22+
},
23+
methods: {
24+
validate() {
25+
this.$refs.form.validate();
26+
},
27+
clear() {
28+
this.$refs.form.reset();
29+
},
30+
serverError(key) {
31+
const error = store.getters['Error/find'](key);
32+
33+
if (error) {
34+
this.removeServerError(key);
35+
36+
return error;
37+
}
38+
39+
return true;
40+
},
41+
removeServerError(key) {
42+
store.commit('Error/remove', key);
43+
},
44+
},
45+
};
46+
</script>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-cli-plugin-kingscode-scaffold",
3-
"version": "0.7.10",
3+
"version": "0.8.0",
44
"description": "",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)