123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- const utils = Editor.require('packages://build-helper/core/libs/utils.js');
- let ListItem;
- (() => {
- 'use strict';
- return function init ( panel ) {
- let viewEL = panel.$.view;
- let tmpl = 'packages://build-helper/panel/assets-android-pack-setting.tmpl';
- Editor.import(tmpl).then(content => {
- viewEL.innerHTML = content;
- let androidPack = `androidPack`;
- let pack = panel.getSettingItem(androidPack) || {};
- // 打包开关
- let checkboxEle = viewEL.querySelector('ui-checkbox');
- checkboxEle.value = pack.enable;
- checkboxEle.addEventListener('change', (event) => {
- pack.enable = event.target.value;
- panel.setSettingItem(androidPack, pack);
- });
- // 模版项目脚本目录
- let destEle = viewEL.querySelector('#dest');
- destEle.value = pack.dest;
- destEle.addEventListener('confirm', (event) => {
- pack.dest = event.target.value;
- panel.setSettingItem(androidPack, pack);
- });
- // 打开模版项目脚本目录
- let openDestEle = viewEL.querySelector('#openDest');
- openDestEle.addEventListener('click', (event) => {
- let res = Editor.Dialog.openFile({
- title: '模版项目脚本目录',
- defaultPath: Editor.Project.path,
- properties: ['openDirectory']
- });
- if (res !== -1) {
- let newPath = res[0];
- let relative = utils.getRelative(Editor.Project.path, newPath);
- destEle.value = relative;
- pack.dest = relative;
- panel.setSettingItem(androidPack, pack);
- }
- });
- // 临时项目脚本目录
- let tempEle = viewEL.querySelector('#temp');
- tempEle.value = pack.temp;
- tempEle.addEventListener('confirm', (event) => {
- pack.temp = event.target.value;
- panel.setSettingItem(androidPack, pack);
- });
- // 打开临时项目脚本目录
- let openTempEle = viewEL.querySelector('#openTemp');
- openTempEle.addEventListener('click', (event) => {
- let res = Editor.Dialog.openFile({
- title: '临时项目脚本目录',
- defaultPath: Editor.Project.path,
- properties: ['openDirectory']
- });
- if (res !== -1) {
- let newPath = res[0];
- let relative = utils.getRelative(Editor.Project.path, newPath);
- tempEle.value = relative;
- pack.temp = relative;
- panel.setSettingItem(androidPack, pack);
- }
- });
- let list = pack.list || [];
- let listEle = viewEL.querySelector('#list');
- if (!ListItem) {
- ListItem = Editor.UI.registerElement('copy-list-item', {
- template: `
- <div class="item"">
- <ui-input id="path" class="path" disabled></ui-input>
- <ui-button id="del" class="tiny red">删除</ui-button>
- </div>
- `,
- style: `
- .item {
- display: flex;
- background-color: black;
- padding: 2px;
- }
- .path {
- flex: 1;
- }
- `,
- factoryImpl ( text ) {
- this.$ = {
- path: this.shadowRoot.querySelector('#path'),
- del: this.shadowRoot.querySelector('#del')
- };
- this.$.path.value = text;
- this.$.del.addEventListener('click', (event) => {
- listEle.removeChild(this);
- // 配置中删除
- for (let i = 0; i < list.length; i++) {
- const path = list[i];
- if (path == text) {
- list.splice(i, 1);
- break;
- }
- }
- });
- }
- });
- }
- // 资源列表
- list.forEach(path => {
- let el = new ListItem(path);
- listEle.appendChild(el);
- });
- // 添加资源
- let addEle = viewEL.querySelector('#add');
- addEle.addEventListener('click', (event) => {
- event.stopPropagation();
- let res = Editor.Dialog.openFile({
- title: '选择需要拷贝的资源目录文件',
- defaultPath: Editor.Project.path,
- properties: ['openDirectory', 'openFile']
- });
- if (res !== -1) {
- let newPath = res[0];
- let relative = utils.getRelative(Editor.Project.path, newPath);
- for (const path of list) {
- if (path === relative) {
- Editor.log(relative + '已经存在!');
- return;
- }
- }
- let el = new ListItem(relative);
- listEle.appendChild(el);
- list.push(relative);
- pack.list = list;
- panel.setSettingItem(androidPack, pack);
- }
- });
- });
- };
- })();
|