main.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. const { inspect } = require('util')
  2. const transloadit = require('@uppy/robodog')
  3. /**
  4. * transloadit.form
  5. */
  6. const formUppy = transloadit.form('#test-form', {
  7. debug: true,
  8. fields: ['message'],
  9. restrictions: {
  10. allowedFileTypes: ['.png']
  11. },
  12. waitForEncoding: true,
  13. params: {
  14. auth: { key: '05a61ed019fe11e783fdbd1f56c73eb0' },
  15. template_id: 'be001500a56011e889f9cddd88df842c'
  16. },
  17. modal: true,
  18. progressBar: '#test-form .progress'
  19. })
  20. formUppy.on('error', (err) => {
  21. document.querySelector('#test-form .error')
  22. .textContent = err.message
  23. })
  24. formUppy.on('upload-error', (file, err) => {
  25. document.querySelector('#test-form .error')
  26. .textContent = err.message
  27. })
  28. window.formUppy = formUppy
  29. const formUppyWithDashboard = transloadit.form('#dashboard-form', {
  30. debug: true,
  31. fields: ['message'],
  32. restrictions: {
  33. allowedFileTypes: ['.png']
  34. },
  35. waitForEncoding: true,
  36. params: {
  37. auth: { key: '05a61ed019fe11e783fdbd1f56c73eb0' },
  38. template_id: 'be001500a56011e889f9cddd88df842c'
  39. },
  40. dashboard: '#dashboard-form .dashboard'
  41. })
  42. window.formUppyWithDashboard = formUppyWithDashboard
  43. const dashboard = transloadit.dashboard('#dashboard', {
  44. debug: true,
  45. waitForEncoding: true,
  46. params: {
  47. auth: { key: '05a61ed019fe11e783fdbd1f56c73eb0' },
  48. template_id: 'be001500a56011e889f9cddd88df842c'
  49. }
  50. })
  51. window.dashboard = dashboard
  52. /**
  53. * transloadit.modal
  54. */
  55. function openModal () {
  56. transloadit.pick({
  57. restrictions: {
  58. allowedFileTypes: ['.png']
  59. },
  60. waitForEncoding: true,
  61. params: {
  62. auth: { key: '05a61ed019fe11e783fdbd1f56c73eb0' },
  63. template_id: 'be001500a56011e889f9cddd88df842c'
  64. },
  65. providers: [
  66. 'webcam'
  67. ]
  68. // if providers need custom config
  69. // webcam: {
  70. // option: 'whatever'
  71. // }
  72. }).then(console.log, console.error)
  73. }
  74. window.openModal = openModal
  75. /**
  76. * transloadit.upload
  77. */
  78. window.doUpload = (event) => {
  79. const resultEl = document.querySelector('#upload-result')
  80. const errorEl = document.querySelector('#upload-error')
  81. transloadit.upload(event.target.files, {
  82. waitForEncoding: true,
  83. params: {
  84. auth: { key: '05a61ed019fe11e783fdbd1f56c73eb0' },
  85. template_id: 'be001500a56011e889f9cddd88df842c'
  86. }
  87. }).then((result) => {
  88. resultEl.classList.remove('hidden')
  89. errorEl.classList.add('hidden')
  90. resultEl.textContent = inspect(result.results)
  91. }, (err) => {
  92. resultEl.classList.add('hidden')
  93. errorEl.classList.remove('hidden')
  94. errorEl.textContent = err.message
  95. })
  96. }