audio-clip.js 836 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. 'use strict';
  2. exports.template = /* html */`
  3. <section class="asset-audio-clip">
  4. </section>
  5. `;
  6. exports.style = /* css */`
  7. .asset-audio-clip .audio {
  8. outline: none;
  9. width: 100%;
  10. height: 32px;
  11. margin-bottom: 16px;
  12. }
  13. `;
  14. exports.$ = {
  15. container: '.asset-audio-clip',
  16. };
  17. exports.update = function(assetList, metaList) {
  18. // Support multi-select list display, limit the number of display
  19. let html = '';
  20. const maxShowNumber = 1000;
  21. assetList.forEach((asset, index) => {
  22. if (!asset.file || index > maxShowNumber) {
  23. return;
  24. }
  25. if (assetList.length > 1) {
  26. html += `<div>${asset.name}</div>`;
  27. }
  28. html += `<audio class="audio" controls="controls" src="${asset.file}?v=${Date.now()}"></audio>`;
  29. });
  30. this.$.container.innerHTML = html;
  31. };