index.ejs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ---
  2. title: Dashboard
  3. layout: example
  4. type: examples
  5. order: 0
  6. category: 'Examples'
  7. ---
  8. {% blockquote %}
  9. 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.
  10. {% endblockquote %}
  11. <% include app.html %>
  12. <script src="app.js"></script>
  13. <hr />
  14. <p id="console-wrapper">Console output: <br /></p>
  15. <p>On this page we're using the following JavaScript snippet:</p>
  16. <blockquote>Note: in this snippet we've omitted the code to toggle options using checkboxes. The behavior of this code may be different from the above example depending on which options you've selected.</blockquote>
  17. {% codeblock lang:js %}
  18. const Uppy = require('@uppy/core')
  19. const Dashboard = require('@uppy/dashboard')
  20. const GoogleDrive = require('@uppy/google-drive')
  21. const Dropbox = require('@uppy/dropbox')
  22. const Unsplash = require('@uppy/unsplash')
  23. const Box = require('@uppy/box')
  24. const Instagram = require('@uppy/instagram')
  25. const Facebook = require('@uppy/facebook')
  26. const OneDrive = require('@uppy/onedrive')
  27. const Webcam = require('@uppy/webcam')
  28. const ScreenCapture = require('@uppy/screen-capture')
  29. const ImageEditor = require('@uppy/image-editor')
  30. const Tus = require('@uppy/tus')
  31. const Url = require('@uppy/url')
  32. const DropTarget = require('@uppy/drop-target')
  33. const GoldenRetriever = require('@uppy/golden-retriever')
  34. const Compressor = require('@uppy/compressor')
  35. const uppy = new Uppy({
  36. debug: true,
  37. autoProceed: false,
  38. restrictions: {
  39. maxFileSize: 1000000,
  40. maxNumberOfFiles: 3,
  41. minNumberOfFiles: 2,
  42. allowedFileTypes: ['image/*', 'video/*'],
  43. requiredMetaFields: ['caption'],
  44. }
  45. })
  46. .use(Dashboard, {
  47. trigger: '.UppyModalOpenerBtn',
  48. inline: true,
  49. target: '.DashboardContainer',
  50. showProgressDetails: true,
  51. note: 'Images and video only, 2–3 files, up to 1 MB',
  52. height: 470,
  53. metaFields: [
  54. { id: 'name', name: 'Name', placeholder: 'file name' },
  55. { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' }
  56. ],
  57. browserBackButtonClose: false
  58. })
  59. .use(GoogleDrive, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  60. .use(Dropbox, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  61. .use(Box, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  62. .use(Instagram, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  63. .use(Facebook, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  64. .use(OneDrive, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  65. .use(Unsplash, { target: Dashboard, companionUrl: 'https://companion.uppy.io' })
  66. .use(Webcam, { target: Dashboard })
  67. .use(Audio, { target: Dashboard })
  68. .use(ScreenCapture, { target: Dashboard })
  69. .use(ImageEditor, { target: Dashboard })
  70. .use(Tus, { endpoint: 'https://tusd.tusdemo.net/files/' })
  71. .use(DropTarget, {target: document.body })
  72. .use(GoldenRetriever)
  73. .use(Compressor)
  74. uppy.on('complete', result => {
  75. console.log('successful files:', result.successful)
  76. console.log('failed files:', result.failed)
  77. })
  78. {% endcodeblock %}