Skip to content

Commit 4f79a45

Browse files
Merge pull request #2 from kingscode/expand-base-resource
Expand base resource
2 parents 1b7c146 + db54fd2 commit 4f79a45

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

generator/templates/Crud/src/Components/BaseResource.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@
2424
</v-container>
2525
</template>
2626
<script>
27+
import FormDataValues from './../mixins/formDataValues';
28+
2729
export default {
2830
components: {},
2931
name: 'base-resource',
32+
mixins: [FormDataValues],
3033
data() {
3134
return {
3235
resourceUri: '',
@@ -82,11 +85,9 @@
8285
},
8386
getCreateFormValues() {
8487
let form_data = new FormData();
85-
for (let key in this.createForm.values) {
86-
form_data.append(key, this.createForm.values[key]);
87-
}
88-
return form_data;
88+
this.appendFormData(form_data, this.createForm.values);
8989
90+
return form_data;
9091
},
9192
createEvent() {
9293
this.errors = {};
@@ -123,9 +124,8 @@
123124
},
124125
getUpdateFormValues() {
125126
let form_data = new FormData();
126-
for (let key in this.updateForm.values) {
127-
form_data.append(key, this.updateForm.values[key]);
128-
}
127+
this.appendFormData(form_data, this.updateForm.values);
128+
129129
return form_data;
130130
},
131131
updateEvent(selected) {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default {
2+
methods: {
3+
appendFormData(form_data, values, startKey = '') {
4+
if (typeof values === 'object') {
5+
for (let key in values) {
6+
let currentKey = startKey.length ? startKey + '[' + key + ']' : key;
7+
8+
if (typeof values[key] === 'object' && !(values[key] instanceof File)) {
9+
this.appendFormData(form_data, values[key], currentKey);
10+
} else if (typeof values[key] !== 'undefined') {
11+
form_data.append(currentKey, values[key]);
12+
}
13+
}
14+
}
15+
},
16+
},
17+
};

0 commit comments

Comments
 (0)