clickgo 3.11.3 → 3.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/app/demo/config.json +4 -0
  3. package/dist/app/demo/form/control/form/form.js +6 -0
  4. package/dist/app/demo/form/control/form/form.xml +2 -1
  5. package/dist/app/demo/form/control/label/label.xml +3 -2
  6. package/dist/app/demo/form/control/panel/test1.js +8 -2
  7. package/dist/app/demo/form/control/panel/test1.xml +1 -0
  8. package/dist/app/demo/form/main.js +5 -0
  9. package/dist/app/demo/form/main.xml +1 -0
  10. package/dist/app/demo/form/method/acontrol/acontrol.js +43 -0
  11. package/dist/app/demo/form/method/acontrol/acontrol.xml +5 -0
  12. package/dist/app/demo/form/solution/backpanel/backpanel.xml +1 -0
  13. package/dist/app/demo/res/custombtn.cgc +0 -0
  14. package/dist/clickgo.js +1 -1
  15. package/dist/clickgo.ts +1 -1
  16. package/dist/control/arteditor.cgc +0 -0
  17. package/dist/control/box.cgc +0 -0
  18. package/dist/control/common.cgc +0 -0
  19. package/dist/control/desc.cgc +0 -0
  20. package/dist/control/echarts.cgc +0 -0
  21. package/dist/control/form.cgc +0 -0
  22. package/dist/control/html.cgc +0 -0
  23. package/dist/control/iconview.cgc +0 -0
  24. package/dist/control/map.cgc +0 -0
  25. package/dist/control/monaco.cgc +0 -0
  26. package/dist/control/nav.cgc +0 -0
  27. package/dist/control/page.cgc +0 -0
  28. package/dist/control/property.cgc +0 -0
  29. package/dist/control/table.cgc +0 -0
  30. package/dist/control/task.cgc +0 -0
  31. package/dist/control/tuieditor.cgc +0 -0
  32. package/dist/control/xterm.cgc +0 -0
  33. package/dist/lib/control.js +31 -0
  34. package/dist/lib/control.ts +44 -5
  35. package/dist/lib/form.js +27 -13
  36. package/dist/lib/form.ts +37 -16
  37. package/dist/lib/fs.js +1 -1
  38. package/dist/lib/fs.ts +1 -1
  39. package/dist/lib/task.ts +6 -1
  40. package/dist/theme/byterun.cgt +0 -0
  41. package/dist/theme/familiar.cgt +0 -0
  42. package/dist/theme/light.cgt +0 -0
  43. package/package.json +3 -3
  44. package/types/index.d.ts +56 -0
package/README.md CHANGED
@@ -28,7 +28,7 @@ Load the module loader first, and then load it using the module loader.
28
28
  **index.html**
29
29
 
30
30
  ```html
31
- <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.1/dist/loader.min.js?path=index&npm={'clickgo':'3.11.3'}"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.1/dist/loader.min.js?path=index&npm={'clickgo':'3.11.5'}"></script>
32
32
  ```
33
33
 
34
34
  **index.js**
@@ -5,6 +5,7 @@
5
5
  "author": "clickgo",
6
6
 
7
7
  "controls": [
8
+ "/package/res/custombtn",
8
9
  "/clickgo/control/box",
9
10
  "/clickgo/control/common",
10
11
  "/clickgo/control/form",
@@ -127,6 +128,8 @@
127
128
  "/form/event/screen/screen.xml",
128
129
  "/form/event/task/task.js",
129
130
  "/form/event/task/task.xml",
131
+ "/form/method/acontrol/acontrol.js",
132
+ "/form/method/acontrol/acontrol.xml",
130
133
  "/form/method/aform/aform.js",
131
134
  "/form/method/aform/aform.xml",
132
135
  "/form/method/aform/sd.js",
@@ -164,6 +167,7 @@
164
167
  "/form/main.css",
165
168
  "/form/main.js",
166
169
  "/form/main.xml",
170
+ "/res/custombtn.cgc",
167
171
  "/res/icon.svg",
168
172
  "/res/img.jpg",
169
173
  "/res/marker.svg",
@@ -50,6 +50,7 @@ class default_1 extends clickgo.form.AbstractForm {
50
50
  this.resize = true;
51
51
  this.floading = false;
52
52
  this.border = 'normal';
53
+ this.banClose = false;
53
54
  }
54
55
  showLoading() {
55
56
  return __awaiter(this, void 0, void 0, function* () {
@@ -58,5 +59,10 @@ class default_1 extends clickgo.form.AbstractForm {
58
59
  this.floading = false;
59
60
  });
60
61
  }
62
+ onClose(e) {
63
+ if (this.banClose) {
64
+ e.preventDefault();
65
+ }
66
+ }
61
67
  }
62
68
  exports.default = default_1;
@@ -1,4 +1,4 @@
1
- <form v-model:width="width" v-model:height="height" :icon="icon" :title="title" :min="min" :max="max" :close="close" v-model:state-max="stateMax" v-model:state-min="stateMin" :min-width="minWidth" :min-height="minHeight" :resize="resize" :loading="floading" :border="border" direction="v">
1
+ <form v-model:width="width" v-model:height="height" :icon="icon" :title="title" :min="min" :max="max" :close="close" v-model:state-max="stateMax" v-model:state-min="stateMin" :min-width="minWidth" :min-height="minHeight" :resize="resize" :loading="floading" :border="border" direction="v" @close="onClose">
2
2
  <flow direction="v">
3
3
  <layout direction="v" gutter="10" style="padding: 10px;">
4
4
  <label>focus: {{formFocus}}, width: {{width}}, height: {{height}}, state-max: {{stateMax}}, state-min: {{stateMin}}.</label>
@@ -17,6 +17,7 @@
17
17
  <button @click="height = 0">Set height auto</button>
18
18
  <button @click="resize = resize ? false : true">{{resize ? 'Disabled' : 'Enabled'}} resize</button>
19
19
  <button @click="showLoading">Show loading</button>
20
+ <button @click="banClose = !banClose">{{banClose ? '' : '!'}}banClose</button>
20
21
  <layout class="bottom" gutter="10">
21
22
  <button @click="border = 'normal'">Normal</button>
22
23
  <button @click="border = 'thin'">Thin</button>
@@ -1,4 +1,4 @@
1
- <form width="350" height="350" title="Label">
1
+ <form width="350" height="380" title="Label">
2
2
  <layout direction="v" gutter="10" style="padding: 10px; flex: 1; width: 0;">
3
3
  <label>You can use CSS to customize the label:</label>
4
4
  <label>Normal</label>
@@ -8,9 +8,10 @@
8
8
  <label style="background: rgba(0, 0, 0, .1); padding: 10px;">Padding</label>
9
9
  <label style="font-size: 36px;">Font size</label>
10
10
  <label mode="tip">mode: tip</label>
11
+ <label mode="mtip">mode: mtip</label>
11
12
  <layout gutter="10" align-v="center">
12
13
  <label>mode: date</label>
13
- <label mode="date" :date="date" :time="time" :zone="zone" :tz="tz[0]" style="flex: 1;">{{daten}}</label>
14
+ <label mode="date" :date="date" :time="time" :zone="zone" :tz="tz[0]" :content="daten" style="flex: 1;"></label>
14
15
  <button @click="addDate">Add</button>
15
16
  </layout>
16
17
  <layout gutter="10">
@@ -40,11 +40,11 @@ class default_1 extends clickgo.form.AbstractPanel {
40
40
  this.data = {};
41
41
  this.rootMountData = 'none';
42
42
  }
43
- onShow(d) {
43
+ onShow(e) {
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
45
  yield clickgo.tool.sleep(1000);
46
46
  ++this.scount;
47
- this.data = d;
47
+ this.data = e;
48
48
  });
49
49
  }
50
50
  onHide() {
@@ -69,6 +69,12 @@ class default_1 extends clickgo.form.AbstractPanel {
69
69
  yield clickgo.form.dialog('Hello panel!');
70
70
  });
71
71
  }
72
+ clearQss() {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ this.clearQs();
75
+ yield clickgo.form.dialog('cleard.');
76
+ });
77
+ }
72
78
  onMounted() {
73
79
  this.rootMountData = this.rootForm.mountData;
74
80
  }
@@ -7,6 +7,7 @@
7
7
  <label>rootMountData: {{rootMountData}}</label>
8
8
  <button @click="click">Hi</button>
9
9
  <button @click="sendToRootPanel({'a':1})" style="height: 30px;">sendToRootPanel({'a':1})</button>
10
+ <button @click="clearQss">clearQs()</button>
10
11
  <layout>
11
12
  <button style="padding: 15px 30px;" area="split">
12
13
  Padding 10px 20px with pop
@@ -79,6 +79,7 @@ const other_1 = __importDefault(require("./event/other/other"));
79
79
  const screen_1 = __importDefault(require("./event/screen/screen"));
80
80
  const task_1 = __importDefault(require("./event/task/task"));
81
81
  const aform_1 = __importDefault(require("./method/aform/aform"));
82
+ const acontrol_1 = __importDefault(require("./method/acontrol/acontrol"));
82
83
  const core_1 = __importDefault(require("./method/core/core"));
83
84
  const dom_1 = __importDefault(require("./method/dom/dom"));
84
85
  const form_3 = __importDefault(require("./method/form/form"));
@@ -300,6 +301,10 @@ class default_1 extends clickgo.form.AbstractForm {
300
301
  frm = yield clickgo.form.create(aform_1.default);
301
302
  break;
302
303
  }
304
+ case 'acontrol': {
305
+ frm = yield clickgo.form.create(acontrol_1.default);
306
+ break;
307
+ }
303
308
  case 'mcore': {
304
309
  frm = yield clickgo.form.create(core_1.default);
305
310
  break;
@@ -105,6 +105,7 @@
105
105
  <button @click="openForm('mtool')">Library tool</button>
106
106
  <button @click="openForm('mzip')">Library zip</button>
107
107
  <button @click="openForm('aform')">Abstract Form</button>
108
+ <button @click="openForm('acontrol')">Abstract Control</button>
108
109
  <button @click="openForm('msystem')">System</button>
109
110
  </layout>
110
111
  </flow>
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const clickgo = __importStar(require("clickgo"));
36
+ class default_1 extends clickgo.form.AbstractForm {
37
+ onTouch() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ yield clickgo.form.dialog('OK');
40
+ });
41
+ }
42
+ }
43
+ exports.default = default_1;
@@ -0,0 +1,5 @@
1
+ <form width="400" height="400" title="Abstract Control">
2
+ <layout align-h="center" align-v="center" style="flex: 1;">
3
+ <custombtn @touch="onTouch" style="width: 200px; height: 100px;">123</custombtn>
4
+ </layout>
5
+ </form>
@@ -4,6 +4,7 @@
4
4
  <label>formHash:</label>
5
5
  <text v-model="fh" style="flex: 1;" />
6
6
  <button @click="formHash = fh">Change</button>
7
+ <button @click="formHashBack">Back</button>
7
8
  </layout>
8
9
  <nav v-model="name" default="list" hash style="flex: 1;">
9
10
  <nav-item label="User">
Binary file
package/dist/clickgo.js CHANGED
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.zip = exports.tool = exports.theme = exports.task = exports.storage = exports.native = exports.fs = exports.form = exports.dom = exports.core = exports.control = exports.vue = exports.hasFrame = exports.isImmersion = exports.getPlatform = exports.isNative = exports.getVersion = void 0;
27
- const version = '3.11.3';
27
+ const version = '3.11.5';
28
28
  function getVersion() {
29
29
  return version;
30
30
  }
package/dist/clickgo.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- const version = '3.11.3';
16
+ const version = '3.11.5';
17
17
  export function getVersion(): string {
18
18
  return version;
19
19
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -43,6 +43,7 @@ const fs = __importStar(require("./fs"));
43
43
  class AbstractControl {
44
44
  constructor() {
45
45
  this._rootForm = null;
46
+ this._rootControl = null;
46
47
  this.packageFiles = {};
47
48
  this.props = {};
48
49
  this.emits = {};
@@ -73,6 +74,9 @@ class AbstractControl {
73
74
  }
74
75
  return this._rootForm;
75
76
  }
77
+ get rootControl() {
78
+ return this._rootControl;
79
+ }
76
80
  get formFocus() {
77
81
  var _a, _b;
78
82
  return (_b = (_a = this.rootForm) === null || _a === void 0 ? void 0 : _a.formFocus) !== null && _b !== void 0 ? _b : false;
@@ -190,6 +194,24 @@ class AbstractControl {
190
194
  }
191
195
  };
192
196
  }
197
+ get parentByAccess() {
198
+ return (name, val) => {
199
+ let parent = this.$parent;
200
+ while (true) {
201
+ if (!parent) {
202
+ return null;
203
+ }
204
+ if (!parent.access) {
205
+ parent = parent.$parent;
206
+ continue;
207
+ }
208
+ if (parent.access[name] === val) {
209
+ return parent;
210
+ }
211
+ parent = parent.$parent;
212
+ }
213
+ };
214
+ }
193
215
  onBeforeCreate() {
194
216
  return;
195
217
  }
@@ -317,6 +339,8 @@ function init(taskId, invoke) {
317
339
  if (t.controls[name].layout.includes('<teleport')) {
318
340
  t.controls[name].layout = tool.teleportGlue(t.controls[name].layout, '{{{formId}}}');
319
341
  }
342
+ t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS);
343
+ t.controls[name].layout = t.controls[name].layout.replace(/(<cg-[a-zA-Z0-9-_]+)/g, `$1 data-cg-rootcontrol="${t.controls[name].access['cgPCMap']}"`);
320
344
  let cls;
321
345
  if (item.files[item.config.code + '.js']) {
322
346
  item.files['/invoke/clickgo.js'] = `module.exports = invokeClickgo;`;
@@ -495,7 +519,14 @@ function buildComponents(taskId, formId, path) {
495
519
  this.onBeforeMount();
496
520
  },
497
521
  mounted: function () {
522
+ var _a;
498
523
  return __awaiter(this, void 0, void 0, function* () {
524
+ if (((_a = this.element.dataset) === null || _a === void 0 ? void 0 : _a.cgRootcontrol) !== undefined) {
525
+ const rc = this.parentByAccess('cgPCMap', this.element.dataset.cgRootcontrol);
526
+ if (rc) {
527
+ this._rootControl = rc;
528
+ }
529
+ }
499
530
  yield this.$nextTick();
500
531
  this.onMounted();
501
532
  });
@@ -50,9 +50,9 @@ export abstract class AbstractControl {
50
50
  }
51
51
 
52
52
  /** --- root form --- */
53
- private _rootForm: form.AbstractForm & Record<string, any> | null = null;
53
+ private _rootForm: (form.AbstractForm & Record<string, any>) | null = null;
54
54
 
55
- /** --- 当前控件所在窗体的窗体对象,系统会在创建时重写本函数 --- */
55
+ /** --- 当前控件所在窗体的窗体对象 --- */
56
56
  public get rootForm(): form.AbstractForm & Record<string, any> {
57
57
  if (!this._rootForm) {
58
58
  this._rootForm = this.parentByName('root') as any;
@@ -67,6 +67,14 @@ export abstract class AbstractControl {
67
67
  return this._rootForm!;
68
68
  }
69
69
 
70
+ /** --- 当前组件是否是别的组件的子组件,仅仅是包裹在组件的 layout 初始化中的才算 --- */
71
+ private _rootControl: (AbstractControl & Record<string, any>) | null = null;
72
+
73
+ /** --- 当前组件如果在开发控件层面被包裹了,则可以获取到包裹他的组件对象 --- */
74
+ public get rootControl(): (AbstractControl & Record<string, any>) | null {
75
+ return this._rootControl;
76
+ }
77
+
70
78
  /**
71
79
  * --- 当前窗体是否有焦点 ---
72
80
  */
@@ -128,9 +136,9 @@ export abstract class AbstractControl {
128
136
  * @param cb 回调
129
137
  * @param opt 参数
130
138
  */
131
- public watch<T extends this & this['props'], TK extends keyof T>(
132
- name: TK,
133
- cb: (val: T[TK], old: T[TK]) => void | Promise<void>,
139
+ public watch<T extends this & this['props'], TK extends keyof T, TR>(
140
+ name: TK | (() => TR),
141
+ cb: (val: T[TK] & TR, old: T[TK] & TR) => void | Promise<void>,
134
142
  opt: {
135
143
  'immediate'?: boolean;
136
144
  'deep'?: boolean;
@@ -286,6 +294,28 @@ export abstract class AbstractControl {
286
294
  };
287
295
  }
288
296
 
297
+ /**
298
+ * --- 根据 control access 查询上层控件 ---
299
+ */
300
+ public get parentByAccess() {
301
+ return (name: string, val:string): (AbstractControl & Record<string, any>) | null => {
302
+ let parent = (this as any).$parent;
303
+ while (true) {
304
+ if (!parent) {
305
+ return null;
306
+ }
307
+ if (!parent.access) {
308
+ parent = parent.$parent;
309
+ continue;
310
+ }
311
+ if (parent.access[name] === val) {
312
+ return parent;
313
+ }
314
+ parent = parent.$parent;
315
+ }
316
+ };
317
+ }
318
+
289
319
  // --- 控件响应事件,都可由用户重写 ---
290
320
 
291
321
  public onBeforeCreate(): void | Promise<void> {
@@ -458,6 +488,9 @@ export async function init(
458
488
  if (t.controls[name].layout.includes('<teleport')) {
459
489
  t.controls[name].layout = tool.teleportGlue(t.controls[name].layout, '{{{formId}}}');
460
490
  }
491
+ // --- 添加父子组件的映射关系 ---
492
+ t.controls[name].access['cgPCMap'] = tool.random(8, tool.RANDOM_LUNS);
493
+ t.controls[name].layout = t.controls[name].layout.replace(/(<cg-[a-zA-Z0-9-_]+)/g, `$1 data-cg-rootcontrol="${t.controls[name].access['cgPCMap']}"`);
461
494
  // --- 检测是否有 js ---
462
495
  let cls: any;
463
496
  if (item.files[item.config.code + '.js']) {
@@ -655,6 +688,12 @@ export function buildComponents(
655
688
  this.onBeforeMount();
656
689
  },
657
690
  mounted: async function() {
691
+ if (this.element.dataset?.cgRootcontrol !== undefined) {
692
+ const rc = this.parentByAccess('cgPCMap', this.element.dataset.cgRootcontrol);
693
+ if (rc) {
694
+ this._rootControl = rc;
695
+ }
696
+ }
658
697
  await this.$nextTick();
659
698
  this.onMounted();
660
699
  },
package/dist/lib/form.js CHANGED
@@ -275,6 +275,11 @@ class AbstractPanel extends AbstractCommon {
275
275
  set formHash(fh) {
276
276
  this.rootForm.formHash = fh;
277
277
  }
278
+ formHashBack() {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ yield this.rootForm.formHashBack();
281
+ });
282
+ }
278
283
  sendToRootPanel(data) {
279
284
  this.rootPanel.send(data);
280
285
  }
@@ -288,6 +293,9 @@ class AbstractPanel extends AbstractCommon {
288
293
  yield this.rootForm.doneStep();
289
294
  });
290
295
  }
296
+ clearQs() {
297
+ this.qs = {};
298
+ }
291
299
  get formFocus() {
292
300
  var _a;
293
301
  return (_a = this.rootForm.formFocus) !== null && _a !== void 0 ? _a : false;
@@ -295,6 +303,9 @@ class AbstractPanel extends AbstractCommon {
295
303
  onShow() {
296
304
  return;
297
305
  }
306
+ onShowed() {
307
+ return;
308
+ }
298
309
  onHide() {
299
310
  return;
300
311
  }
@@ -1590,26 +1601,29 @@ function refreshPopPosition(el, pop, direction, size = {}) {
1590
1601
  }
1591
1602
  let lastShowPopTime = 0;
1592
1603
  function showPop(el, pop, direction, opt = {}) {
1593
- if (pop && direction === 't') {
1594
- refreshPopPosition(el, pop, 't', opt.size);
1595
- if (opt.autoPosition) {
1596
- clickgo.dom.watchSize(pop, () => {
1597
- refreshPopPosition(el, pop, 't', opt.size);
1598
- });
1599
- }
1600
- pop.dataset.cgOpen = '';
1601
- pop.dataset.cgT = '';
1602
- return;
1603
- }
1604
1604
  if (opt.null === undefined) {
1605
1605
  opt.null = false;
1606
1606
  }
1607
1607
  if (opt.size === undefined) {
1608
1608
  opt.size = {};
1609
1609
  }
1610
+ if (opt.flow === undefined) {
1611
+ opt.flow = true;
1612
+ }
1610
1613
  if (!pop && !opt.null) {
1611
1614
  return;
1612
1615
  }
1616
+ if (pop && !opt.flow) {
1617
+ refreshPopPosition(el, pop, direction, opt.size);
1618
+ if (opt.autoPosition) {
1619
+ clickgo.dom.watchSize(pop, () => {
1620
+ refreshPopPosition(el, pop, direction, opt.size);
1621
+ });
1622
+ }
1623
+ pop.dataset.cgOpen = '';
1624
+ pop.dataset.cgFlow = '';
1625
+ return;
1626
+ }
1613
1627
  const now = Date.now();
1614
1628
  if (now - lastShowPopTime < 5) {
1615
1629
  lastShowPopTime = now;
@@ -1662,8 +1676,8 @@ function hidePop(pop) {
1662
1676
  hidePop(popInfo.elList[0]);
1663
1677
  return;
1664
1678
  }
1665
- if (pop.dataset.cgT !== undefined) {
1666
- pop.removeAttribute('data-cg-t');
1679
+ if (pop.dataset.cgFlow !== undefined) {
1680
+ pop.removeAttribute('data-cg-flow');
1667
1681
  pop.removeAttribute('data-cg-open');
1668
1682
  clickgo.dom.unwatchSize(pop);
1669
1683
  return;
package/dist/lib/form.ts CHANGED
@@ -264,7 +264,7 @@ abstract class AbstractCommon {
264
264
  /**
265
265
  * --- 获取 refs 情况 ---
266
266
  */
267
- public get refs(): Record<string, HTMLElement & types.IVue> {
267
+ public get refs(): Record<string, HTMLElement & control.AbstractControl & Record<string, any>> {
268
268
  return (this as any).$refs;
269
269
  }
270
270
 
@@ -368,6 +368,11 @@ export abstract class AbstractPanel extends AbstractCommon {
368
368
  this.rootForm.formHash = fh;
369
369
  }
370
370
 
371
+ /** --- 将母窗体的 form hash 回退 --- */
372
+ public async formHashBack(): Promise<void> {
373
+ await this.rootForm.formHashBack();
374
+ }
375
+
371
376
  /** --- 发送一段数据到自己这个 panel 控件,本质上也是调用的 panel 控件的 send 方法,主要用来实现发送给跳转后的 panel --- */
372
377
  public sendToRootPanel(data: Record<string, any>): void {
373
378
  this.rootPanel.send(data);
@@ -392,16 +397,27 @@ export abstract class AbstractPanel extends AbstractCommon {
392
397
  /** --- 当前的 nav(若有)传递过来的 qs --- */
393
398
  public qs: Record<string, string> = {};
394
399
 
400
+ /** --- 确定不再使用 qs 时可调用此方法清空,这样再次通过相同 qs 进入本 panel 依然会响应 qschange 事件 --- */
401
+ public clearQs() {
402
+ this.qs = {};
403
+ }
404
+
395
405
  /** --- 当前窗体是否是焦点 --- */
396
406
  public get formFocus(): boolean {
397
407
  return this.rootForm.formFocus ?? false;
398
408
  }
399
409
 
400
- public onShow(data: Record<string, any>): void | Promise<void>;
410
+ public onShow(e: types.IAbstractPanelShowEvent): void | Promise<void>;
401
411
  public onShow(): void {
402
412
  return;
403
413
  }
404
414
 
415
+ public onShowed(): void | Promise<void>;
416
+ /** --- panel 已经完全显示后所要执行的 --- */
417
+ public onShowed() {
418
+ return;
419
+ }
420
+
405
421
  public onHide(): void | Promise<void>;
406
422
  public onHide(): void {
407
423
  return;
@@ -2092,24 +2108,14 @@ let lastShowPopTime: number = 0;
2092
2108
  * @param el 响应的元素
2093
2109
  * @param pop 要显示 pop 元素
2094
2110
  * @param direction 要显示方向(以 $el 为准的 h 水平 v 垂直 t 垂直水平居中)或坐标
2095
- * @param opt width / height 显示的 pop 定义自定义宽/高度,可省略;null,true 代表为空也会显示,默认为 false; autoPosition, 自动更新 pop 位置,默认 false,true 为原元素位置变更,pop 位置也会变更,pop 大小变更,位置也会变更
2111
+ * @param opt width / height 显示的 pop 定义自定义宽/高度,可省略;null,true 代表为空也会显示,默认为 false; autoPosition, 自动更新 pop 位置,默认 false,true 为原元素位置变更,pop 位置也会变更,pop 大小变更,位置也会变更, flow: 是否加入 pop 流,默认加入,不加入的话将不会自动隐藏
2096
2112
  */
2097
2113
  export function showPop(el: HTMLElement, pop: HTMLElement | undefined, direction: 'h' | 'v' | 't' | MouseEvent | TouchEvent | { x: number; y: number; }, opt: {
2098
2114
  'size'?: { width?: number; height?: number; };
2099
2115
  'null'?: boolean;
2100
2116
  'autoPosition'?: boolean;
2117
+ 'flow'?: boolean;
2101
2118
  } = {}): void {
2102
- if (pop && direction === 't') {
2103
- refreshPopPosition(el, pop, 't', opt.size);
2104
- if (opt.autoPosition) {
2105
- clickgo.dom.watchSize(pop, () => {
2106
- refreshPopPosition(el, pop, 't', opt.size);
2107
- });
2108
- }
2109
- pop.dataset.cgOpen = '';
2110
- pop.dataset.cgT = '';
2111
- return;
2112
- }
2113
2119
  // --- opt.null 为 true 代表可为空,为空也会被显示,默认为 false ---
2114
2120
  if (opt.null === undefined) {
2115
2121
  opt.null = false;
@@ -2117,10 +2123,25 @@ export function showPop(el: HTMLElement, pop: HTMLElement | undefined, direction
2117
2123
  if (opt.size === undefined) {
2118
2124
  opt.size = {};
2119
2125
  }
2126
+ if (opt.flow === undefined) {
2127
+ opt.flow = true;
2128
+ }
2120
2129
  // --- 也可能不执行本次显示 ---
2121
2130
  if (!pop && !opt.null) {
2122
2131
  return;
2123
2132
  }
2133
+ // --- 是否不进入 pop 流 ---
2134
+ if (pop && !opt.flow) {
2135
+ refreshPopPosition(el, pop, direction, opt.size);
2136
+ if (opt.autoPosition) {
2137
+ clickgo.dom.watchSize(pop, () => {
2138
+ refreshPopPosition(el, pop, direction, opt.size);
2139
+ });
2140
+ }
2141
+ pop.dataset.cgOpen = '';
2142
+ pop.dataset.cgFlow = '';
2143
+ return;
2144
+ }
2124
2145
  // --- 如果短时间内已经有了 pop 被展示,则可能是冒泡序列,本次则不展示 ---
2125
2146
  const now = Date.now();
2126
2147
  if (now - lastShowPopTime < 5) {
@@ -2183,8 +2204,8 @@ export function hidePop(pop?: HTMLElement): void {
2183
2204
  hidePop(popInfo.elList[0]);
2184
2205
  return;
2185
2206
  }
2186
- if (pop.dataset.cgT !== undefined) {
2187
- pop.removeAttribute('data-cg-t');
2207
+ if (pop.dataset.cgFlow !== undefined) {
2208
+ pop.removeAttribute('data-cg-flow');
2188
2209
  pop.removeAttribute('data-cg-open');
2189
2210
  clickgo.dom.unwatchSize(pop);
2190
2211
  return;
package/dist/lib/fs.js CHANGED
@@ -38,7 +38,7 @@ const task = __importStar(require("./task"));
38
38
  const form = __importStar(require("./form"));
39
39
  const core = __importStar(require("./core"));
40
40
  const native = __importStar(require("./native"));
41
- const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
41
+ const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
42
42
  const localeData = {
43
43
  'en': {
44
44
  'apply-unmount': 'Are you sure to unmount the "?" mount point?',
package/dist/lib/fs.ts CHANGED
@@ -12,7 +12,7 @@ import * as form from './form';
12
12
  import * as core from './core';
13
13
  import * as native from './native';
14
14
 
15
- const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
15
+ const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout/', '/app/demo/form/control/alayout/alayout.css', '/app/demo/form/control/alayout/alayout.js', '/app/demo/form/control/alayout/alayout.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/byterun.cgt', '/theme/familiar.cgt', '/theme/light.cgt'];
16
16
 
17
17
  /** --- fs lib 用到的语言包 --- */
18
18
  const localeData: Record<string, {
package/dist/lib/task.ts CHANGED
@@ -755,7 +755,12 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
755
755
  hideNotify: function(notifyId: number): void {
756
756
  form.hideNotify(notifyId);
757
757
  },
758
- showPop: function(el: HTMLElement, pop: HTMLElement | undefined, direction: 'h' | 'v' | MouseEvent | TouchEvent | { x: number; y: number; }, opt: { 'size'?: { width?: number; height?: number; }; 'null'?: boolean; 'autoPosition'?: boolean; } = {}): void {
758
+ showPop: function(el: HTMLElement, pop: HTMLElement | undefined, direction: 'h' | 'v' | 't' | MouseEvent | TouchEvent | { x: number; y: number; }, opt: {
759
+ 'size'?: { width?: number; height?: number; };
760
+ 'null'?: boolean;
761
+ 'autoPosition'?: boolean;
762
+ 'flow'?: boolean;
763
+ } = {}): void {
759
764
  form.showPop(el, pop, direction, opt);
760
765
  },
761
766
  hidePop: function(pop?: HTMLElement): void {
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickgo",
3
- "version": "3.11.3",
3
+ "version": "3.11.5",
4
4
  "description": "Background interface, software interface, mobile phone APP interface operation library.",
5
5
  "keywords": [
6
6
  "deskrt",
@@ -20,10 +20,10 @@
20
20
  "devDependencies": {
21
21
  "@litert/eslint-plugin-rules": "^0.1.6",
22
22
  "@litert/loader": "^3.5.1",
23
- "@types/node": "^20.11.16",
23
+ "@types/node": "^20.11.19",
24
24
  "npm": "^28.2.1",
25
25
  "jszip": "^3.10.1",
26
- "terser": "^5.27.0",
26
+ "terser": "^5.27.2",
27
27
  "typescript": "^5.3.3"
28
28
  }
29
29
  }
package/types/index.d.ts CHANGED
@@ -623,6 +623,62 @@ interface ICustomEvent {
623
623
  preventDefault: () => void;
624
624
  }
625
625
 
626
+ // --- AbstractPanel ---
627
+
628
+ export interface IAbstractPanelShowEvent {
629
+ 'detail': {
630
+ 'data': Record<string, any>;
631
+ /** --- 是否是 nav 模式 --- */
632
+ 'nav': boolean;
633
+ /** --- 仅 nav 联动时有效,代表是前进还是回退 --- */
634
+ 'action': 'forword' | 'back';
635
+ /** --- 仅 nav 联动时有效,代表上一个的 formHash 的值 --- */
636
+ 'previous': string;
637
+ /** --- 仅 nav 联动时有效,代表本次 show 的时候 qs 是否发生了变化 --- */
638
+ 'qsChange': boolean;
639
+ }
640
+ }
641
+
642
+ // --- Form Control ---
643
+
644
+ export interface IFormCloseEvent extends ICustomEvent {
645
+ 'detail': {
646
+ 'event': MouseEvent;
647
+ }
648
+ }
649
+
650
+ export interface IFormMaxEvent {
651
+ 'detail': {
652
+ 'event': MouseEvent | TouchEvent | null;
653
+ 'action': 'click' | 'move';
654
+ /** --- 当前是否时最大化状态 --- */
655
+ 'max': boolean;
656
+ /** --- 最大化之前的窗体位置 --- */
657
+ 'history': {
658
+ 'width': number;
659
+ 'height': number;
660
+ 'left': number;
661
+ 'top': number;
662
+ } | null
663
+ }
664
+ }
665
+
666
+ export interface IFormMinEvent {
667
+ 'detail': {
668
+ 'event': MouseEvent | TouchEvent | null;
669
+ 'action': 'click' | 'method';
670
+ /** --- 当前是否时最小化状态 --- */
671
+ 'min': boolean;
672
+ /** --- 最小化之前的窗体位置 --- */
673
+ 'history': {
674
+ 'width': number;
675
+ 'height': number;
676
+ 'left': number;
677
+ 'top': number;
678
+ } | null
679
+ }
680
+ }
681
+
626
682
  // --- Greatlist Control ---
627
683
 
628
684
  export interface IGreatlistRemoveEvent extends ICustomEvent {