FileList.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const FileItem = require('./FileItem')
  2. const ActionBrowseTagline = require('./ActionBrowseTagline')
  3. // const { dashboardBgIcon } = require('./icons')
  4. const classNames = require('classnames')
  5. const { h } = require('preact')
  6. module.exports = (props) => {
  7. const noFiles = props.totalFileCount === 0
  8. const dashboardFilesClass = classNames(
  9. 'uppy-Dashboard-files',
  10. { 'uppy-Dashboard-files--noFiles': noFiles }
  11. )
  12. return <ul class={dashboardFilesClass}>
  13. {noFiles &&
  14. <div class="uppy-Dashboard-bgIcon">
  15. <div class="uppy-Dashboard-dropFilesTitle">
  16. {h(ActionBrowseTagline, {
  17. acquirers: props.acquirers,
  18. handleInputChange: props.handleInputChange,
  19. i18n: props.i18n
  20. })}
  21. </div>
  22. { props.note && <div class="uppy-Dashboard-note">{props.note}</div> }
  23. </div>
  24. }
  25. {Object.keys(props.files).map((fileID) => {
  26. return FileItem({
  27. acquirers: props.acquirers,
  28. file: props.files[fileID],
  29. toggleFileCard: props.toggleFileCard,
  30. showProgressDetails: props.showProgressDetails,
  31. info: props.info,
  32. log: props.log,
  33. i18n: props.i18n,
  34. removeFile: props.removeFile,
  35. pauseUpload: props.pauseUpload,
  36. cancelUpload: props.cancelUpload,
  37. retryUpload: props.retryUpload,
  38. resumableUploads: props.resumableUploads,
  39. isWide: props.isWide,
  40. showLinkToFileUploadResult: props.showLinkToFileUploadResult,
  41. metaFields: props.metaFields
  42. })
  43. })}
  44. </ul>
  45. }