Dashboard.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const Uppy = require('@uppy/core/src')
  2. const Dashboard = require('@uppy/dashboard/src')
  3. const Instagram = require('@uppy/instagram/src')
  4. const Facebook = require('@uppy/facebook/src')
  5. const OneDrive = require('@uppy/onedrive/src')
  6. const Dropbox = require('@uppy/dropbox/src')
  7. const GoogleDrive = require('@uppy/google-drive/src')
  8. const Url = require('@uppy/url/src')
  9. const Webcam = require('@uppy/webcam/src')
  10. const Tus = require('@uppy/tus/src')
  11. // const XHRUpload = require('@uppy/xhr-upload/src')
  12. const Form = require('@uppy/form/src')
  13. const TUS_ENDPOINT = 'https://master.tus.io/files/'
  14. // const XHR_ENDPOINT = 'https://upload-endpoint.uppy.io/upload'
  15. module.exports = () => {
  16. const uppyDashboard = Uppy({
  17. logger: Uppy.debugLogger,
  18. meta: {
  19. username: 'John',
  20. license: 'Creative Commons'
  21. }
  22. })
  23. .use(Dashboard, {
  24. trigger: '#pick-files',
  25. // inline: true,
  26. target: '.foo',
  27. metaFields: [
  28. { id: 'license', name: 'License', placeholder: 'specify license' },
  29. { id: 'caption', name: 'Caption', placeholder: 'add caption' }
  30. ],
  31. showProgressDetails: true,
  32. proudlyDisplayPoweredByUppy: true,
  33. note: '2 files, images and video only'
  34. })
  35. .use(GoogleDrive, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  36. .use(Instagram, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  37. .use(Dropbox, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  38. .use(Facebook, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  39. .use(OneDrive, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  40. .use(Url, { target: Dashboard, companionUrl: 'http://localhost:3020' })
  41. .use(Webcam, { target: Dashboard })
  42. .use(Tus, { endpoint: TUS_ENDPOINT })
  43. // .use(XHRUpload, { endpoint: XHR_ENDPOINT, bundle: true })
  44. .use(Form, { target: '#upload-form' })
  45. // .use(GoldenRetriever, {serviceWorker: true})
  46. uppyDashboard.on('complete', (result) => {
  47. if (result.failed.length === 0) {
  48. console.log('Upload successful 😀')
  49. } else {
  50. console.warn('Upload failed 😞')
  51. }
  52. console.log('successful files:', result.successful)
  53. console.log('failed files:', result.failed)
  54. })
  55. const modalTrigger = document.querySelector('#pick-files')
  56. if (modalTrigger) modalTrigger.click()
  57. }