add nova
This commit is contained in:
62
nova/resources/js/fields/Form/InlineFormData.js
Normal file
62
nova/resources/js/fields/Form/InlineFormData.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import isNil from 'lodash/isNil'
|
||||
|
||||
export default class InlineFormData {
|
||||
constructor(attribute, formData) {
|
||||
this.attribute = attribute
|
||||
this.formData = formData
|
||||
this.localFormData = new FormData()
|
||||
}
|
||||
|
||||
append(name, ...args) {
|
||||
this.localFormData.append(name, ...args)
|
||||
this.formData.append(this.name(name), ...args)
|
||||
}
|
||||
|
||||
delete(name) {
|
||||
this.localFormData.delete(name)
|
||||
this.formData.delete(this.name(name))
|
||||
}
|
||||
|
||||
entries() {
|
||||
return this.localFormData.entries()
|
||||
}
|
||||
|
||||
get(name) {
|
||||
return this.localFormData.get(name)
|
||||
}
|
||||
|
||||
getAll(name) {
|
||||
return this.localFormData.getAll(name)
|
||||
}
|
||||
|
||||
has(name) {
|
||||
return this.localFormData.has(name)
|
||||
}
|
||||
|
||||
keys() {
|
||||
return this.localFormData.keys()
|
||||
}
|
||||
|
||||
set(name, ...args) {
|
||||
this.localFormData.set(name, ...args)
|
||||
this.formData.set(this.name(name), ...args)
|
||||
}
|
||||
|
||||
values() {
|
||||
return this.localFormData.values()
|
||||
}
|
||||
|
||||
name(attribute) {
|
||||
let [name, ...nested] = attribute.split('[')
|
||||
|
||||
if (!isNil(nested) && nested.length > 0) {
|
||||
return `${this.attribute}[${name}][${nested.join('[')}`
|
||||
}
|
||||
|
||||
return `${this.attribute}[${attribute}]`
|
||||
}
|
||||
|
||||
slug(attribute) {
|
||||
return `${this.attribute}.${attribute}`
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user