UNPKG

@red-code-mp/mp-builder

Version:

* [Structure](#Structure) * [Route](#Route) * [Endpoints](#Endpoints) * [Table](#Table) * [Lang](#Lang) * [Menu](#Menu) * [Toast](#Toast)

46 lines 1.38 kB
export default { data() { return { formData$: null, fileRequestHeader: { 'Content-type': 'multipart/form-data' } } }, computed: { hasFiles() { let values = Object.values(this.__getForm()) return values.find(attr => attr instanceof File); }, formKeys() { return Object.keys(this.__getForm()); } }, methods: { __getForm() { return this.beforeSaveForm(this.form$); }, getFormDataInstance() { return new FormData(); }, toFormData() { this.formData$ = this.getFormDataInstance(); this.formKeys.forEach(this.walkThroughFormAttributes); return this.formData$; }, walkThroughFormAttributes(key, index) { let value = this.__getFormValue(key) if (!value) return; if (typeof value === 'object' && !(value instanceof File)) { value = JSON.stringify(value) } else if (typeof value === 'boolean') { value = value & 1; } this.formData$.append(key, value) }, __getFormValue(key) { return this.__getForm()[key] } } }