mirror of
https://github.com/transloadit/uppy.git
synced 2026-07-24 18:58:57 +00:00
41 lines
823 B
JavaScript
41 lines
823 B
JavaScript
import Plugin from './Plugin'
|
|
|
|
/**
|
|
* Meta Data
|
|
* Adds metadata fields to Uppy
|
|
*
|
|
*/
|
|
export default class MetaData extends Plugin {
|
|
constructor (core, opts) {
|
|
super(core, opts)
|
|
this.type = 'modifier'
|
|
this.id = 'MetaData'
|
|
this.title = 'Meta Data'
|
|
|
|
// set default options
|
|
const defaultOptions = {}
|
|
|
|
// merge default options with the ones set by user
|
|
this.opts = Object.assign({}, defaultOptions, opts)
|
|
}
|
|
|
|
addInitialMeta () {
|
|
const metaFields = this.opts.fields
|
|
|
|
this.core.setState({
|
|
metaFields: metaFields
|
|
})
|
|
|
|
this.core.emitter.on('file-added', (fileID) => {
|
|
metaFields.forEach((item) => {
|
|
const obj = {}
|
|
obj[item.id] = item.value
|
|
this.core.updateMeta(obj, fileID)
|
|
})
|
|
})
|
|
}
|
|
|
|
install () {
|
|
this.addInitialMeta()
|
|
}
|
|
}
|