| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- const { template, $, update, close } = require('./base');
- exports.template = template;
- exports.$ = $;
- exports.update = update;
- exports.close = close;
- const { setHidden, setReadonly, isMultipleInvalid } = require('../utils/prop');
- // query the dom node by type
- function findDomByType(parentElement, type) {
- for (const child of parentElement.children) {
- if (child.dump.type === type) {
- return child;
- }
- }
- return null;
- }
- exports.ready = function() {
- this.elements = {
- fillType: {
- update(element, dump) {
- setHidden(isMultipleInvalid(dump.type) || dump.type.value !== 3, element);
- },
- },
- fillCenter: {
- update(element, dump) {
- this.elements.fillType.update.call(this, element, dump);
- setReadonly(dump.fillType.value !== 2, element);
- },
- },
- fillStart: {
- update(element, dump) {
- this.elements.fillType.update.call(this, element, dump);
- },
- },
- fillRange: {
- update(element, dump) {
- this.elements.fillType.update.call(this, element, dump);
- },
- },
- spriteFrame: {
- updateAtlas(spriteFrameUuid, parentElement) {
- if (!spriteFrameUuid || !parentElement) { return; }
- Editor.Message.request('asset-db', 'query-asset-meta', spriteFrameUuid)
- .then(async (spriteFrameMeta) => {
- if (!spriteFrameMeta || !spriteFrameMeta.userData) { return; }
- const spriteAtlasDom = findDomByType(parentElement, 'cc.SpriteAtlas');
- if (!spriteAtlasDom) { return; }
- spriteAtlasDom.value = spriteFrameMeta.userData.atlasUuid;
- spriteAtlasDom.dispatch('change');
- spriteAtlasDom.dispatch('confirm');
- })
- .catch((err) => {
- console.error(err);
- });
- },
- ready(element, dump) {
- element.addEventListener('change-dump', (event) => {
- const spriteFrameDump = event.target.dump;
- const spriteFrameUuid = spriteFrameDump.value.uuid;
- if (!spriteFrameUuid) { return; }
- this.elements.spriteFrame.updateAtlas(spriteFrameUuid, event.target.parentElement);
- });
- },
- },
- };
- };
|