title: "List & Common Options" type: docs permalink: docs/plugins/
Plugins are what makes Uppy useful: they help select, manipulate and upload files.
StatusBar
and Informer
plugins by default<form>
right before Uppy upload, then optionally append results back to the formEach plugin can have any number of options (please see specific plugin for details), but these are shared between some:
id
A unique string identifying the plugin. By default, the plugin's name is used, so usually it does not need to be configured manually. Use this if you need to add multiple plugins of the same type.
target
Can be a string
CSS selector, a DOM element, or a Plugin class. Consider the following example, where DragDrop
plugin will be rendered into a body
element:
const Uppy = require('uppy/lib/core')
const DragDrop = require('uppy/lib/plugins/DragDrop')
const uppy = Uppy()
uppy.use(DragDrop, { target: 'body' })
// or: uppy.use(DragDrop, { target: document.body })
While in this one, we are using the Dashboard
plugin, which can act as a host target for other plugins:
const Uppy = require('uppy/lib/core')
const DragDrop = require('uppy/lib/plugins/Dashboard')
const GoogleDrive = require('uppy/lib/plugins/GoogleDrive')
const uppy = Uppy()
uppy.use(Dashboard, {
trigger: '#uppyModalOpener'
})
uppy.use(GoogleDrive, {target: Dashboard})
In the example above the Dashboard
gets rendered into an element with ID uppy
, while GoogleDrive
is rendered into the Dashboard
itself.
locale: {}
Same as with Uppy.Core’s setting from above, this allows you to override plugin’s locale string, so that instead of Select files
in English, your users will see Выберите файлы
in Russian. Example:
.use(FileInput, {
target: 'body',
locale: {
strings: { selectToUpload: 'Выберите файл для загрузки' }
}
})
See plugin documentation pages for other plugin-specific options.
See the Provider Plugins documentation page for information on provider plugins.