animation-graph.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. 'use strict';
  2. const { updateElementReadonly } = require('../utils/assets');
  3. exports.template = /* html */`
  4. <section class="asset-animation-graph">
  5. <ui-button class="open" size="medium">
  6. <ui-label value="i18n:ENGINE.assets.animationGraph.edit"></ui-label>
  7. </ui-button>
  8. <ui-label class="multiple-warn-tip" value="i18n:ENGINE.assets.multipleWarning"></ui-label>
  9. </section>
  10. `;
  11. exports.style = /* css */`
  12. .asset-animation-graph {
  13. padding-top: 10px;
  14. text-align: center;
  15. }
  16. .asset-animation-graph[multiple-invalid] > *:not(.multiple-warn-tip) {
  17. display: none!important;
  18. }
  19. .asset-animation-graph[multiple-invalid] > .multiple-warn-tip {
  20. display: block;
  21. }
  22. .asset-animation-graph .multiple-warn-tip {
  23. display: none;
  24. text-align: center;
  25. color: var(--color-focus-contrast-weakest);
  26. margin-top: 8px;
  27. }
  28. `;
  29. exports.$ = {
  30. container: '.asset-animation-graph',
  31. button: '.open',
  32. tip: '.tip',
  33. };
  34. exports.ready = function() {
  35. this.$.button.addEventListener('click', () => {
  36. Editor.Message.request('asset-db', 'open-asset', this.asset.uuid);
  37. });
  38. };
  39. exports.update = function(assetList, metaList) {
  40. this.assetList = assetList;
  41. this.metaList = metaList;
  42. this.meta = this.metaList[0];
  43. this.asset = this.assetList[0];
  44. if (assetList.length > 1) {
  45. this.$.container.setAttribute('multiple-invalid', '');
  46. return;
  47. } else {
  48. this.$.container.removeAttribute('multiple-invalid');
  49. }
  50. updateElementReadonly.call(this, this.$.button);
  51. };