index.ejs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. ---
  2. title: Dashboard
  3. layout: example
  4. type: examples
  5. order: 0
  6. ---
  7. {% blockquote %}
  8. Dashboard is the full-featured UI for Uppy that shows nice file previews and upload progress, lets you edit metadata, and unites acquire plugins, such as Google Drive and Webcam, under one roof.
  9. {% endblockquote %}
  10. <% include app.html %>
  11. <script src="app.js"></script>
  12. <hr />
  13. <p id="console-wrapper">Console output (latest logs are at the top): <br /></p>
  14. <p>On this page we're using the following JavaScript snippet:</p>
  15. {% codeblock lang:js %}
  16. const Uppy = require('uppy/lib/core')
  17. const Dashboard = require('uppy/lib/plugins/Dashboard')
  18. const GoogleDrive = require('uppy/lib/plugins/GoogleDrive')
  19. const Dropbox = require('uppy/lib/plugins/Dropbox')
  20. const Instagram = require('uppy/lib/plugins/Instagram')
  21. const Webcam = require('uppy/lib/plugins/Webcam')
  22. const Tus = require('uppy/lib/plugins/Tus')
  23. const uppy = Uppy({
  24. debug: true,
  25. autoProceed: false,
  26. restrictions: {
  27. maxFileSize: 1000000,
  28. maxNumberOfFiles: 3,
  29. minNumberOfFiles: 2,
  30. allowedFileTypes: ['image/*', 'video/*']
  31. }
  32. })
  33. .use(Dashboard, {
  34. trigger: '.UppyModalOpenerBtn',
  35. inline: true,
  36. target: '.DashboardContainer',
  37. replaceTargetContent: true,
  38. showProgressDetails: true,
  39. note: 'Images and video only, 2–3 files, up to 1 MB',
  40. height: 470,
  41. metaFields: [
  42. { id: 'name', name: 'Name', placeholder: 'file name' },
  43. { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' }
  44. ],
  45. browserBackButtonClose: true
  46. })
  47. .use(GoogleDrive, { target: Dashboard, serverUrl: 'https://server.uppy.io' })
  48. .use(Dropbox, { target: Dashboard, serverUrl: 'https://server.uppy.io' })
  49. .use(Instagram, { target: Dashboard, serverUrl: 'https://server.uppy.io' })
  50. .use(Webcam, { target: Dashboard })
  51. .use(Tus, { endpoint: 'https://master.tus.io/files/' })
  52. uppy.on('complete', result => {
  53. console.log('successful files:', result.successful)
  54. console.log('failed files:', result.failed)
  55. })
  56. {% endcodeblock %}