Plugin.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /**
  2. * Boilerplate that all Plugins share - and should not be used
  3. * directly. It also shows which methods final plugins should implement/override,
  4. * this deciding on structure.
  5. *
  6. * @param {object} main Uppy core object
  7. * @param {object} object with plugin options
  8. * @return {array | string} files or success/fail message
  9. */
  10. export default class Plugin {
  11. constructor (core, opts) {
  12. this.core = core
  13. this.opts = opts
  14. this.type = 'none'
  15. this.name = this.constructor.name
  16. }
  17. // setProgress (percentage, current, total) {
  18. // var finalPercentage = percentage
  19. //
  20. // // if (current !== undefined && total !== undefined) {
  21. // // var percentageOfTotal = (percentage / total);
  22. // // // finalPercentage = percentageOfTotal;
  23. // // if (current > 1) {
  24. // // finalPercentage = percentage + (100 / (total * current));
  25. // // } else {
  26. // // finalPercentage = percentage;
  27. // // }
  28. // // }
  29. //
  30. // this.core.setProgress(this, finalPercentage)
  31. // }
  32. setProgress (percentage, el) {
  33. const progress = document.querySelector('.UppyDragDrop-progressInner')
  34. progress.setAttribute('style', `width: ${percentage}%`)
  35. }
  36. extractFiles (results) {
  37. console.log({
  38. class: 'Plugin',
  39. method: 'extractFiles',
  40. results: results
  41. })
  42. // check if the results array is empty
  43. // if (!results || !results.count) {
  44. // return results
  45. // }
  46. const files = []
  47. results.forEach(result => {
  48. try {
  49. Array.from(result.files).forEach(file => files.push(file))
  50. } catch (e) {
  51. console.log(e)
  52. }
  53. // result.forEach(item => {
  54. // files.push(item)
  55. // console.log(item)
  56. // })
  57. })
  58. // const files = [];
  59. // for (let i in results) {
  60. // for (let j in results[i].files) {
  61. // files.push(results[i].files.item(j));
  62. // }
  63. // }
  64. // return Array.from(fileList);
  65. return files
  66. }
  67. run (results) {
  68. return results
  69. }
  70. install () {
  71. return
  72. }
  73. }