clickgo 3.3.4 → 3.4.0

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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/app/demo/config.json +6 -1
  3. package/dist/app/demo/form/control/date/date.js +37 -0
  4. package/dist/app/demo/form/control/date/date.xml +14 -0
  5. package/dist/app/demo/form/control/list/list.js +7 -0
  6. package/dist/app/demo/form/control/list/list.xml +10 -3
  7. package/dist/app/demo/form/control/map/map.js +207 -0
  8. package/dist/app/demo/form/control/map/map.xml +42 -0
  9. package/dist/app/demo/form/control/monaco/monaco.xml +3 -3
  10. package/dist/app/demo/form/main.js +10 -0
  11. package/dist/app/demo/form/main.xml +3 -1
  12. package/dist/clickgo.js +1 -1
  13. package/dist/clickgo.ts +1 -1
  14. package/dist/control/box.cgc +0 -0
  15. package/dist/control/common.cgc +0 -0
  16. package/dist/control/desc.cgc +0 -0
  17. package/dist/control/echarts.cgc +0 -0
  18. package/dist/control/form.cgc +0 -0
  19. package/dist/control/html.cgc +0 -0
  20. package/dist/control/iconview.cgc +0 -0
  21. package/dist/control/map.cgc +0 -0
  22. package/dist/control/monaco.cgc +0 -0
  23. package/dist/control/nav.cgc +0 -0
  24. package/dist/control/page.cgc +0 -0
  25. package/dist/control/property.cgc +0 -0
  26. package/dist/control/table.cgc +0 -0
  27. package/dist/control/task.cgc +0 -0
  28. package/dist/control/xterm.cgc +0 -0
  29. package/dist/index.js +2 -2
  30. package/dist/index.ts +2 -2
  31. package/dist/lib/control.js +10 -1
  32. package/dist/lib/control.ts +13 -2
  33. package/dist/lib/core.js +3 -3
  34. package/dist/lib/core.ts +3 -3
  35. package/dist/lib/dom.js +3 -3
  36. package/dist/lib/dom.ts +3 -3
  37. package/dist/lib/form.js +2 -2
  38. package/dist/lib/form.ts +6 -6
  39. package/dist/lib/fs.js +1 -1
  40. package/dist/lib/fs.ts +1 -1
  41. package/dist/lib/tool.js +18 -2
  42. package/dist/lib/tool.ts +18 -2
  43. package/dist/theme/byterun.cgt +0 -0
  44. package/dist/theme/familiar.cgt +0 -0
  45. package/dist/theme/light.cgt +0 -0
  46. package/package.json +1 -1
  47. package/types/index.d.ts +1 -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.0/dist/loader.min.js?path=index&npm={'clickgo':'3.3.4'}"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.0/dist/loader.min.js?path=index&npm={'clickgo':'3.4.0'}"></script>
32
32
  ```
33
33
 
34
34
  **index.js**
@@ -17,7 +17,8 @@
17
17
  "/clickgo/control/html",
18
18
  "/clickgo/control/iconview",
19
19
  "/clickgo/control/xterm",
20
- "/clickgo/control/echarts"
20
+ "/clickgo/control/echarts",
21
+ "/clickgo/control/map"
21
22
  ],
22
23
  "style": "/package/global",
23
24
 
@@ -31,6 +32,8 @@
31
32
  "/form/control/button/button.xml",
32
33
  "/form/control/check/check.js",
33
34
  "/form/control/check/check.xml",
35
+ "/form/control/date/date.js",
36
+ "/form/control/date/date.xml",
34
37
  "/form/control/desc/desc.js",
35
38
  "/form/control/desc/desc.xml",
36
39
  "/form/control/dialog/dialog.js",
@@ -59,6 +62,8 @@
59
62
  "/form/control/list/list.js",
60
63
  "/form/control/list/list.xml",
61
64
  "/form/control/loading/loading.xml",
65
+ "/form/control/map/map.js",
66
+ "/form/control/map/map.xml",
62
67
  "/form/control/marquee/marquee.js",
63
68
  "/form/control/marquee/marquee.xml",
64
69
  "/form/control/menu/menu.js",
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const clickgo = __importStar(require("clickgo"));
27
+ class default_1 extends clickgo.form.AbstractForm {
28
+ constructor() {
29
+ super(...arguments);
30
+ this.date = true;
31
+ this.time = true;
32
+ this.zone = true;
33
+ this.ts = 0;
34
+ this.disabled = false;
35
+ }
36
+ }
37
+ exports.default = default_1;
@@ -0,0 +1,14 @@
1
+ <form width="350" height="350" title="Date">
2
+ <layout direction="v" gutter="10" style="padding: 10px; flex: 1;">
3
+ <label>Timestamp: {{ts}}</label>
4
+ <date v-model="ts" :date="date" :time="time" :zone="zone" :disabled="disabled" />
5
+ <layout gutter="10">
6
+ <button @click="date = !date" style="flex: 1;">{{date ? '' : '!'}}date</button>
7
+ <button @click="time = !time" style="flex: 1;">{{time ? '' : '!'}}time</button>
8
+ <button @click="zone = !zone" style="flex: 1;">{{zone ? '' : '!'}}zone</button>
9
+ </layout>
10
+ <layout gutter="10">
11
+ <button @click="disabled = !disabled" style="flex: 1;">{{disabled ? '' : '!'}}disabled</button>
12
+ </layout>
13
+ </layout>
14
+ </form>
@@ -68,6 +68,13 @@ class default_1 extends clickgo.form.AbstractForm {
68
68
  this.select = [];
69
69
  this.select2 = ['Appraise'];
70
70
  this.label2 = [''];
71
+ this.selectObject = ['test'];
72
+ this.listDataObject = {
73
+ 'test': 'This is test',
74
+ '-1': 'This is number',
75
+ 'other': 'This is other',
76
+ 'same': 'same'
77
+ };
71
78
  this.sub6children = [];
72
79
  this.select3 = [0];
73
80
  this.listData3 = [];
@@ -1,6 +1,6 @@
1
1
  <form title="List" width="400" height="450" min-width="300" min-height="400" padding="10" direction="v">
2
2
  <label>Greatlist: {{select}}, list: {{select2}}, label: {{label2}}</label>
3
- <tab v-model="ntab" :tabs="['greatlist', 'adaptation', 'beyond', 'list', 'async']" style="flex: 1; height: 0;">
3
+ <tab v-model="ntab" :tabs="['greatlist', 'adaptation', 'beyond', 'list', 'object', 'async']" style="flex: 1; height: 0;">
4
4
  <!-- 默认 -->
5
5
  <layout v-if="ntab === 'greatlist'" direction="v" style="flex: 1; width: 0; padding: 10px;">
6
6
  <greatlist v-model="select" :data="slist" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :sizes="sizes" @select="onSelect" style="line-height: 1.3; flex: 1; height: 0;">
@@ -60,6 +60,13 @@
60
60
  </layout>
61
61
  <label class="tip">Right-click (computer) or press and hold (phone) to open the universal menu.</label>
62
62
  </layout>
63
+ <!-- object -->
64
+ <layout v-else-if="ntab === 'object'" direction="v" gutter="10" style="flex: 1; width: 0; padding: 10px;">
65
+ <label>Select value: {{selectObject}}</label>
66
+ <label>Raw data:</label>
67
+ <flow direction="v" style="border: solid 1px #b3b3b3; line-height: 1.5; height: 50px; padding: 5px;">{{listDataObject}}</flow>
68
+ <list v-model="selectObject" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :data="listDataObject" style="flex: 1;"></list>
69
+ </layout>
63
70
  <!-- async -->
64
71
  <layout v-else gutter="10" style="flex: 1; width: 0; padding: 10px;">
65
72
  <layout direction="v" gutter="10" style="flex: 1; width: 0;">
@@ -76,13 +83,13 @@
76
83
  </layout>
77
84
  </layout>
78
85
  </tab>
79
- <layout class="ctr" gutter="10" v-show="ntab !== 'async'">
86
+ <layout class="ctr" gutter="10" v-show="ntab !== 'async' && ntab !== 'object'">
80
87
  <button @click="slist.splice(-2, 0, {'type': 0, 'name': 'Card' + slist.length, 'path': 'Bob >> folder >> Card', 'src': '/package/res/r-2.svg','disabled': false})">Add</button>
81
88
  <button @click="slist.splice(-3, 1)">Remove</button>
82
89
  <button @click="scrollChange">Scroll {{scroll}}</button>
83
90
  <button @click="icon = !icon" v-show="ntab === 'list'">{{icon ? '' : '!'}}icon</button>
84
91
  </layout>
85
- <layout class="ctr" gutter="10" v-show="ntab !== 'async'">
92
+ <layout class="ctr" gutter="10" v-show="ntab !== 'async' && ntab !== 'object'">
86
93
  <button @click="selectButton">Select {{ntab === 'list' ? 'item1' : 'item2'}}</button>
87
94
  <button @click="selectButtonList" v-show="ntab === 'list'">Select Sub3</button>
88
95
  <button @click="tree = !tree" v-show="ntab === 'list'">{{tree ? '' : '!'}}tree</button>
@@ -0,0 +1,207 @@
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
+ constructor() {
38
+ super(...arguments);
39
+ this.key = '6901643c38b65f1f9770196343cf72b2';
40
+ this.factory = ['tianditu'];
41
+ this.keyReal = '';
42
+ this.factoryReal = 'google';
43
+ this.css = '.label{background:rgba(255,255,255,.7);padding:5px;border:solid 1px #000;position:absolute;transform:translateX(-27px) translateY(5px);}';
44
+ this.ntab = 'marker';
45
+ this.lat = 31.223704;
46
+ this.lng = 121.366077;
47
+ this.zoom = 8;
48
+ this.zoomControl = false;
49
+ this.logs = [];
50
+ this.markers = [];
51
+ this.lines = [];
52
+ this.lineDrag = true;
53
+ this.lineEdit = true;
54
+ this.polygons = [{
55
+ 'path': [{
56
+ 'lat': 31.283912,
57
+ 'lng': 121.129381
58
+ },
59
+ {
60
+ 'lat': 31.083912,
61
+ 'lng': 121.329381
62
+ },
63
+ {
64
+ 'lat': 31.283912,
65
+ 'lng': 121.629381
66
+ },
67
+ {
68
+ 'lat': 31.583912,
69
+ 'lng': 121.629381
70
+ },
71
+ {
72
+ 'lat': 31.583912,
73
+ 'lng': 121.029381
74
+ }],
75
+ 'strokeColor': 'hsl(210, 100%, 50%)',
76
+ 'strokeWeight': 3,
77
+ 'fillColor': 'hsl(210, 100%, 50%)',
78
+ 'drag': this.lineDrag,
79
+ 'edit': this.lineEdit
80
+ }];
81
+ this.overlays = [];
82
+ }
83
+ get dataInfo() {
84
+ return this[this.ntab + 's'];
85
+ }
86
+ load() {
87
+ this.keyReal = this.key;
88
+ this.factoryReal = this.factory[0];
89
+ }
90
+ markerAddGaoqiao(wgs) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ if (this.markers.length < 3) {
93
+ yield clickgo.form.dialog('Please create at least 3 markers first.');
94
+ return;
95
+ }
96
+ const lat = wgs ? 31.354737 : 31.352569;
97
+ const lng = wgs ? 121.558717 : 121.56302;
98
+ this.markers.push({
99
+ 'lat': lat,
100
+ 'lng': lng,
101
+ 'title': 'Gaoqiao',
102
+ 'drag': true
103
+ });
104
+ this.overlays.push({
105
+ 'lat': lat,
106
+ 'lng': lng,
107
+ 'html': '<div class="label">Gaoqiao' + this.markers.length.toString() + '</div>'
108
+ });
109
+ });
110
+ }
111
+ markerAdd() {
112
+ const drag = clickgo.tool.rand(0, 1) ? true : false;
113
+ const lat = 31 + (clickgo.tool.rand(0, 999999) / 1000000);
114
+ const lng = 121 + (clickgo.tool.rand(0, 999999) / 1000000);
115
+ this.markers.push({
116
+ 'lat': lat,
117
+ 'lng': lng,
118
+ 'title': 'Title' + (this.markers.length + 1).toString() + (drag ? ' (drag)' : ''),
119
+ 'drag': drag
120
+ });
121
+ this.overlays.push({
122
+ 'lat': lat,
123
+ 'lng': lng,
124
+ 'html': '<div class="label">Overlay' + this.markers.length.toString() + '</div>'
125
+ });
126
+ if (this.markers.length > 2 && !this.lines.length) {
127
+ this.lines.push({
128
+ 'path': [{
129
+ 'lat': this.markers[0].lat,
130
+ 'lng': this.markers[0].lng
131
+ }, {
132
+ 'lat': this.markers[1].lat,
133
+ 'lng': this.markers[1].lng
134
+ }, {
135
+ 'lat': this.markers[2].lat,
136
+ 'lng': this.markers[2].lng
137
+ }],
138
+ 'drag': this.lineDrag,
139
+ 'edit': this.lineEdit
140
+ });
141
+ }
142
+ }
143
+ markerRemove() {
144
+ if (!this.markers.length) {
145
+ return;
146
+ }
147
+ this.markers.splice(-1);
148
+ if (this.markers.length < 3 && this.lines.length) {
149
+ this.lines.splice(-1);
150
+ }
151
+ }
152
+ markerDrag() {
153
+ if (!this.markers[2]) {
154
+ return;
155
+ }
156
+ this.markers[2].drag = !this.markers[2].drag;
157
+ this.markers[2].title = 'Title3' + (this.markers[2].drag ? ' (drag)' : '');
158
+ }
159
+ lineEvent(key, i, data) {
160
+ if (!this.markers.length) {
161
+ return;
162
+ }
163
+ if (!this.lines[0]) {
164
+ return;
165
+ }
166
+ if (!this.lines[0].path[2]) {
167
+ this.lines[0].path.splice(i, 0, data);
168
+ }
169
+ this.markers[0].lat = this.lines[0].path[0].lat;
170
+ this.markers[0].lng = this.lines[0].path[0].lng;
171
+ this.markers[1].lat = this.lines[0].path[1].lat;
172
+ this.markers[1].lng = this.lines[0].path[1].lng;
173
+ this.markers[2].lat = this.lines[0].path[2].lat;
174
+ this.markers[2].lng = this.lines[0].path[2].lng;
175
+ }
176
+ log(o, e, data) {
177
+ const d = new Date();
178
+ this.logs.unshift({
179
+ 'time': d.getHours().toString() + ':' + d.getMinutes().toString() + ':' + d.getSeconds().toString(),
180
+ 'object': o,
181
+ 'event': e,
182
+ 'data': data
183
+ });
184
+ }
185
+ click(data) {
186
+ this.log('map', 'click', data);
187
+ }
188
+ mc(key) {
189
+ this.log('marker', 'click', {
190
+ 'key': key
191
+ });
192
+ }
193
+ markerEvent(key) {
194
+ const i = parseInt(key);
195
+ this.overlays[i].lat = this.markers[i].lat;
196
+ this.overlays[i].lng = this.markers[i].lng;
197
+ if (i > 2) {
198
+ return;
199
+ }
200
+ if (!this.lines[0]) {
201
+ return;
202
+ }
203
+ this.lines[0].path[i].lat = this.markers[i].lat;
204
+ this.lines[0].path[i].lng = this.markers[i].lng;
205
+ }
206
+ }
207
+ exports.default = default_1;
@@ -0,0 +1,42 @@
1
+ <form title="Map" width="500" min-width="380" height="500" min-height="400" padding="10">
2
+ <layout gutter="10" direction="v" style="flex: 1; width: 0;">
3
+ <label>lat: {{lat}}, lng: {{lng}}</label>
4
+ <map :akey="keyReal" :factory="factoryReal" :css="css" v-model:zoom="zoom" :zoomControl="zoomControl" v-model:lat="lat" v-model:lng="lng" v-model:markers="markers" v-model:lines="lines" v-model:polygons="polygons" v-model:overlays="overlays" @mapClick="click" @markerClick="mc" @markerUpdate="markerEvent" @lineInsert="lineEvent" @lineRemove="lineEvent" @lineUpdate="lineEvent" style="flex: 1; height: 0;"></map>
5
+ <layout gutter="10">
6
+ <select v-model="factory" :data="['google', 'tianditu']" style="height: 30px;"></select>
7
+ <text v-model="key" placeholder="Key" style="flex: 1; height: 30px;" />
8
+ <button @click="load" style="height: 30px;">Load</button>
9
+ </layout>
10
+ <layout gutter="10" align-v="center">
11
+ <label>zoom:</label><text v-model="zoom" style="height: 30px; flex: 1;" />
12
+ <button @click="zoomControl = !zoomControl" style="height: 30px;">zoomCtrl: {{zoomControl ? 'true' : 'false'}}</button>
13
+ </layout>
14
+ <layout gutter="10" align-v="center">
15
+ <label>marker:</label>
16
+ <button @click="markerAdd" style="height: 30px;">Add</button>
17
+ <button @click="markerRemove" style="height: 30px;">Remove</button>
18
+ <button @click="markerDrag" style="height: 30px;">Change 2 drag</button>
19
+ <button @click="markerAddGaoqiao(false)" style="height: 30px;">Gaoqiao (GCJ02)</button>
20
+ <button @click="markerAddGaoqiao(true)" style="height: 30px;">WGS84</button>
21
+ </layout>
22
+ <tab v-model="ntab" :tabs="['marker', 'line', 'polygon', 'overlay', 'log']">
23
+ <flow direction="v" style="line-height: 1.5; flex: 1; height: 100px; padding: 5px;">
24
+ <template v-if="ntab === 'log'">
25
+ <div style="display: flex;border-bottom: solid 1px rgba(0,0,0,.1);">
26
+ <div style="width: 100px;">TIME</div>
27
+ <div style="width: 100px;">OBJECT</div>
28
+ <div style="width: 100px;">EVENT</div>
29
+ <div style="flex: 1;">DATA</div>
30
+ </div>
31
+ <div v-for="item of dataInfo" style="display: flex;border-bottom: solid 1px rgba(0,0,0,.1);">
32
+ <div style="width: 100px;">{{item.time}}</div>
33
+ <div style="width: 100px;">{{item.object}}</div>
34
+ <div style="width: 100px;">{{item.event}}</div>
35
+ <div style="flex: 1;">{{item.data}}</div>
36
+ </div>
37
+ </template>
38
+ <template v-else>{{dataInfo}}</template>
39
+ </flow>
40
+ </tab>
41
+ </layout>
42
+ </form>
@@ -7,9 +7,9 @@
7
7
  <monaco v-model="npath[0]" v-model:files="files" :readonly="readonly" :language="language" :disabled="disabled" :theme="theme[0]" @jump="jump" style="flex: 1; wdith: 0;" :style="{'font-size': size[0], 'font-family': family ? 'Consolas, \'Courier New\', monospace' : undefined}"></monaco>
8
8
  </layout>
9
9
  <layout gutter="10">
10
- <button @click="disabled = !disabled" style="height: 30px; flex: 1; width: 0;">{{disabled ? '' : '!'}}disabled</button>
11
- <button @click="readonly = !readonly" style="height: 30px; flex: 1; width: 0;">{{readonly ? '' : '!'}}readonly</button>
12
- <button @click="family = !family" style="height: 30px; flex: 1; width: 0;">{{family ? '' : '!'}}Family CCM</button>
10
+ <button @click="disabled = !disabled" style="flex: 1; width: 0;">{{disabled ? '' : '!'}}disabled</button>
11
+ <button @click="readonly = !readonly" style="flex: 1; width: 0;">{{readonly ? '' : '!'}}readonly</button>
12
+ <button @click="family = !family" style="flex: 1; width: 0;">{{family ? '' : '!'}}Family CCM</button>
13
13
  <select v-model="size" :data="['12px', '13px', '14px', '15px', '16px']" style="flex: 1; width: 0;"></select>
14
14
  <select v-model="theme" :data="themes" style="flex: 1; width: 0;"></select>
15
15
  <select v-model="npath" @label="pathLebel" :data="list" style="flex: 1; width: 0;"></select>
@@ -39,6 +39,7 @@ const clickgo = __importStar(require("clickgo"));
39
39
  const box_1 = __importDefault(require("./control/box/box"));
40
40
  const button_1 = __importDefault(require("~c/button/button"));
41
41
  const check_1 = __importDefault(require("./control/check/check"));
42
+ const date_1 = __importDefault(require("./control/date/date"));
42
43
  const dialog_1 = __importDefault(require("./control/dialog/dialog"));
43
44
  const file_1 = __importDefault(require("./control/file/file"));
44
45
  const form_1 = __importDefault(require("./control/form/form"));
@@ -47,6 +48,7 @@ const iconview_1 = __importDefault(require("./control/iconview/iconview"));
47
48
  const link_1 = __importDefault(require("./control/link/link"));
48
49
  const layout_1 = __importDefault(require("./control/layout/layout"));
49
50
  const list_1 = __importDefault(require("./control/list/list"));
51
+ const map_1 = __importDefault(require("./control/map/map"));
50
52
  const marquee_1 = __importDefault(require("./control/marquee/marquee"));
51
53
  const menu_1 = __importDefault(require("./control/menu/menu"));
52
54
  const monaco_1 = __importDefault(require("./control/monaco/monaco"));
@@ -109,6 +111,10 @@ class default_1 extends clickgo.form.AbstractForm {
109
111
  frm = yield clickgo.form.create(check_1.default);
110
112
  break;
111
113
  }
114
+ case 'cdate': {
115
+ frm = yield clickgo.form.create(date_1.default);
116
+ break;
117
+ }
112
118
  case 'cdesc': {
113
119
  frm = yield clickgo.form.create(desc_1.default);
114
120
  break;
@@ -175,6 +181,10 @@ class default_1 extends clickgo.form.AbstractForm {
175
181
  });
176
182
  break;
177
183
  }
184
+ case 'cmap': {
185
+ frm = yield clickgo.form.create(map_1.default);
186
+ break;
187
+ }
178
188
  case 'cmarquee': {
179
189
  frm = yield clickgo.form.create(marquee_1.default);
180
190
  break;
@@ -10,6 +10,7 @@
10
10
  <button @click="openForm('ccheck')">Check</button>
11
11
  <button @click="openForm('cradio')">Radio</button>
12
12
  <button @click="openForm('ctext')">Text</button>
13
+ <button @click="openForm('cdate')">Date</button>
13
14
  <button @click="openForm('ctab')">Tab</button>
14
15
  <button @click="openForm('clabel')">Label</button>
15
16
  <button @click="openForm('clink')">Link</button>
@@ -31,12 +32,13 @@
31
32
  <button @click="openForm('cnav')">Nav</button>
32
33
  <button @click="openForm('cpage')">Page</button>
33
34
  <button @click="openForm('cbox')">Box</button>
34
- <button @click="openForm('cmonaco')">Monaco</button>
35
35
  <button @click="openForm('cdesc')">Desc</button>
36
36
  <button @click="openForm('chtml')">Html</button>
37
37
  <button @click="openForm('ciconview')">Iconview</button>
38
+ <button @click="openForm('cmonaco')">Monaco</button>
38
39
  <button @click="openForm('cxterm')">Xterm</button>
39
40
  <button @click="openForm('cecharts')">Echarts</button>
41
+ <button @click="openForm('cmap')">Map</button>
40
42
  </layout>
41
43
  </flow>
42
44
  <flow v-else-if="ntab === 'method'" class="inner" direction="v">
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.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.3.4';
27
+ const version = '3.4.0';
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.3.4';
16
+ const version = '3.4.0';
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
package/dist/index.js CHANGED
@@ -95,7 +95,7 @@ function launcher(boot) {
95
95
  var _a;
96
96
  return __awaiter(this, void 0, void 0, function* () {
97
97
  const paths = [
98
- loader.cdn + '/npm/vue@3.2.47/dist/vue.global.prod.min.js'
98
+ loader.cdn + '/npm/vue@3.3.4/dist/vue.global.prod.min.js'
99
99
  ];
100
100
  let ro = true;
101
101
  if (!(window.ResizeObserver)) {
@@ -108,7 +108,7 @@ function launcher(boot) {
108
108
  window.ResizeObserver = window.ResizeObserver.ResizeObserver;
109
109
  }
110
110
  const map = {
111
- 'jszip': loader.cdn + '/npm/jszip@3.10.0/dist/jszip.min'
111
+ 'jszip': loader.cdn + '/npm/jszip@3.10.1/dist/jszip.min'
112
112
  };
113
113
  const after = '?' + Math.random().toString();
114
114
  const files = yield loader.sniffFiles('clickgo.js', {
package/dist/index.ts CHANGED
@@ -161,7 +161,7 @@ export function launcher(boot: AbstractBoot): void {
161
161
  (async function() {
162
162
  // --- 通过标签加载库 ---
163
163
  const paths: string[] = [
164
- loader.cdn + '/npm/vue@3.2.47/dist/vue.global.prod.min.js'
164
+ loader.cdn + '/npm/vue@3.3.4/dist/vue.global.prod.min.js'
165
165
  ];
166
166
  // --- 判断 ResizeObserver 是否存在 ---
167
167
  let ro = true;
@@ -179,7 +179,7 @@ export function launcher(boot: AbstractBoot): void {
179
179
  }
180
180
  // --- map 加载库 ---
181
181
  const map: Record<string, string> = {
182
- 'jszip': loader.cdn + '/npm/jszip@3.10.0/dist/jszip.min'
182
+ 'jszip': loader.cdn + '/npm/jszip@3.10.1/dist/jszip.min'
183
183
  };
184
184
  // --- 加载 clickgo 主程序 ---
185
185
  const after = '?' + Math.random().toString();
@@ -42,6 +42,7 @@ const form = __importStar(require("./form"));
42
42
  const fs = __importStar(require("./fs"));
43
43
  class AbstractControl {
44
44
  constructor() {
45
+ this.packageFiles = {};
45
46
  this.props = {};
46
47
  this.slots = {};
47
48
  }
@@ -269,6 +270,7 @@ function init(taskId, invoke) {
269
270
  let prep = '';
270
271
  t.controls[name] = {
271
272
  'layout': '',
273
+ 'files': item.files,
272
274
  'props': {
273
275
  'formFocus': {
274
276
  'default': false
@@ -362,6 +364,9 @@ function init(taskId, invoke) {
362
364
  }
363
365
  const cdata = Object.entries(cls);
364
366
  for (const item of cdata) {
367
+ if (item[0] === 'files') {
368
+ continue;
369
+ }
365
370
  if (item[0] === 'access') {
366
371
  t.controls[name].access = item[1];
367
372
  continue;
@@ -454,7 +459,7 @@ function buildComponents(taskId, formId, path) {
454
459
  if (data.props) {
455
460
  delete data.props;
456
461
  }
457
- return tool.clone(data);
462
+ return data;
458
463
  },
459
464
  'methods': control.methods,
460
465
  'computed': computed,
@@ -463,6 +468,10 @@ function buildComponents(taskId, formId, path) {
463
468
  this.props = this.$props;
464
469
  this.slots = this.$slots;
465
470
  this.access = tool.clone(control.access);
471
+ this.packageFiles = {};
472
+ for (const fname in control.files) {
473
+ this.packageFiles[fname] = control.files[fname];
474
+ }
466
475
  this.onCreated();
467
476
  },
468
477
  beforeMount: function () {
@@ -159,6 +159,9 @@ export abstract class AbstractControl {
159
159
 
160
160
  // --- 以下为 control 有,但窗体没有 ---
161
161
 
162
+ /** --- 组件内部文件,由系统重写 --- */
163
+ public readonly packageFiles: Record<string, Blob | string> = {};
164
+
162
165
  /** --- 组件参数,由用户定义重写 --- */
163
166
  public readonly props = {};
164
167
 
@@ -386,6 +389,7 @@ export async function init(
386
389
  t.controls[name] = {
387
390
  'layout': '',
388
391
 
392
+ 'files': item.files,
389
393
  'props': {
390
394
  'formFocus': {
391
395
  'default': false
@@ -455,7 +459,7 @@ export async function init(
455
459
  });
456
460
  return '';
457
461
  }
458
- // --- 给 form 的 class 增加 filename 的 get ---
462
+ // --- 给 control 的 class 增加 filename 的 get ---
459
463
  code = code.replace(/extends[\s\S]+?\.\s*AbstractControl\s*{/, (t: string) => {
460
464
  return t + 'get filename() {return __filename;}';
461
465
  });
@@ -495,6 +499,9 @@ export async function init(
495
499
  // --- DATA ---
496
500
  const cdata = Object.entries(cls);
497
501
  for (const item of cdata) {
502
+ if (item[0] === 'files') {
503
+ continue;
504
+ }
498
505
  if (item[0] === 'access') {
499
506
  // --- access 属性不放在 data 当中 ---
500
507
  t.controls[name].access = item[1] as any;
@@ -600,7 +607,7 @@ export function buildComponents(
600
607
  if (data.props) {
601
608
  delete data.props;
602
609
  }
603
- return tool.clone(data);
610
+ return data;
604
611
  },
605
612
  'methods': control.methods,
606
613
  'computed': computed,
@@ -610,6 +617,10 @@ export function buildComponents(
610
617
  this.props = this.$props;
611
618
  this.slots = this.$slots;
612
619
  this.access = tool.clone(control.access);
620
+ this.packageFiles = {};
621
+ for (const fname in control.files) {
622
+ this.packageFiles[fname] = control.files[fname];
623
+ }
613
624
  this.onCreated();
614
625
  },
615
626
  beforeMount: function() {
package/dist/lib/core.js CHANGED
@@ -186,7 +186,7 @@ const modules = {
186
186
  func: function () {
187
187
  return __awaiter(this, void 0, void 0, function* () {
188
188
  return new Promise(function (resolve, reject) {
189
- fetch(loader.cdn + '/npm/monaco-editor@0.37.1/min/vs/loader.js').then(function (r) {
189
+ fetch(loader.cdn + '/npm/monaco-editor@0.40.0/min/vs/loader.js').then(function (r) {
190
190
  return r.blob();
191
191
  }).then(function (b) {
192
192
  return tool.blob2DataUrl(b);
@@ -206,9 +206,9 @@ const modules = {
206
206
  func: function () {
207
207
  return __awaiter(this, void 0, void 0, function* () {
208
208
  yield loader.loadScripts([
209
- loader.cdn + '/npm/xterm@5.1.0/lib/xterm.js',
209
+ loader.cdn + '/npm/xterm@5.2.1/lib/xterm.js',
210
210
  loader.cdn + '/npm/xterm-addon-fit@0.7.0/lib/xterm-addon-fit.js',
211
- loader.cdn + '/npm/xterm-addon-webgl@0.14.0/lib/xterm-addon-webgl.js'
211
+ loader.cdn + '/npm/xterm-addon-webgl@0.15.0/lib/xterm-addon-webgl.js'
212
212
  ]);
213
213
  yield loader.loadLinks([
214
214
  loader.cdn + '/npm/xterm@5.1.0/css/xterm.min.css'
package/dist/lib/core.ts CHANGED
@@ -251,7 +251,7 @@ const modules: Record<string, {
251
251
  'monaco': {
252
252
  func: async function() {
253
253
  return new Promise(function(resolve, reject) {
254
- fetch(loader.cdn + '/npm/monaco-editor@0.37.1/min/vs/loader.js').then(function(r) {
254
+ fetch(loader.cdn + '/npm/monaco-editor@0.40.0/min/vs/loader.js').then(function(r) {
255
255
  return r.blob();
256
256
  }).then(function(b) {
257
257
  return tool.blob2DataUrl(b);
@@ -269,9 +269,9 @@ const modules: Record<string, {
269
269
  'xterm': {
270
270
  func: async function() {
271
271
  await loader.loadScripts([
272
- loader.cdn + '/npm/xterm@5.1.0/lib/xterm.js',
272
+ loader.cdn + '/npm/xterm@5.2.1/lib/xterm.js',
273
273
  loader.cdn + '/npm/xterm-addon-fit@0.7.0/lib/xterm-addon-fit.js',
274
- loader.cdn + '/npm/xterm-addon-webgl@0.14.0/lib/xterm-addon-webgl.js'
274
+ loader.cdn + '/npm/xterm-addon-webgl@0.15.0/lib/xterm-addon-webgl.js'
275
275
  ]);
276
276
  await loader.loadLinks([
277
277
  loader.cdn + '/npm/xterm@5.1.0/css/xterm.min.css'
package/dist/lib/dom.js CHANGED
@@ -85,7 +85,7 @@ document.addEventListener('touchstart', function () {
85
85
  'passive': true
86
86
  });
87
87
  function hasTouchButMouse(e) {
88
- if (e instanceof TouchEvent) {
88
+ if (e instanceof TouchEvent || e.type === 'touchstart') {
89
89
  return false;
90
90
  }
91
91
  if ((e.pointerType === 'touch') && (e.type === 'contextmenu')) {
@@ -1204,8 +1204,8 @@ function bindLong(e, long) {
1204
1204
  if (hasTouchButMouse(e)) {
1205
1205
  return;
1206
1206
  }
1207
- const tx = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;
1208
- const ty = e instanceof MouseEvent ? e.clientY : e.touches[0].clientY;
1207
+ const tx = (e instanceof MouseEvent || e.type === 'mousedown') ? e.clientX : e.touches[0].clientX;
1208
+ const ty = (e instanceof MouseEvent || e.type === 'mousedown') ? e.clientY : e.touches[0].clientY;
1209
1209
  let ox = 0;
1210
1210
  let oy = 0;
1211
1211
  let isLong = false;
package/dist/lib/dom.ts CHANGED
@@ -85,7 +85,7 @@ document.addEventListener('touchstart', function() {
85
85
  * --- 判断当前的事件是否是含有 touch 的设备触发的,如果当前就是 touch 则直接返回 false(false 代表 OK,true 代表 touch 设备却触发了 mouse 事件) ---
86
86
  */
87
87
  export function hasTouchButMouse(e: MouseEvent | TouchEvent | PointerEvent): boolean {
88
- if (e instanceof TouchEvent) {
88
+ if (e instanceof TouchEvent || e.type === 'touchstart') {
89
89
  return false;
90
90
  }
91
91
  if (((e as any).pointerType === 'touch') && (e.type === 'contextmenu')) {
@@ -1548,8 +1548,8 @@ export function bindLong(e: MouseEvent | TouchEvent, long: (e: MouseEvent | Touc
1548
1548
  return;
1549
1549
  }
1550
1550
  /** --- 上一次的坐标 --- */
1551
- const tx: number = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;
1552
- const ty: number = e instanceof MouseEvent ? e.clientY : e.touches[0].clientY;
1551
+ const tx: number = (e instanceof MouseEvent || e.type === 'mousedown') ? (e as MouseEvent).clientX : e.touches[0].clientX;
1552
+ const ty: number = (e instanceof MouseEvent || e.type === 'mousedown') ? (e as MouseEvent).clientY : e.touches[0].clientY;
1553
1553
  let ox: number = 0;
1554
1554
  let oy: number = 0;
1555
1555
  /** --- 是否执行了 long --- */
package/dist/lib/form.js CHANGED
@@ -1363,11 +1363,11 @@ function showPop(el, pop, direction, opt = {}) {
1363
1363
  else {
1364
1364
  let x;
1365
1365
  let y;
1366
- if (direction instanceof MouseEvent) {
1366
+ if (direction instanceof MouseEvent || direction.type === 'mousedown') {
1367
1367
  x = direction.clientX;
1368
1368
  y = direction.clientY;
1369
1369
  }
1370
- else if (direction instanceof TouchEvent) {
1370
+ else if (direction instanceof TouchEvent || direction.type === 'touchstart') {
1371
1371
  x = direction.touches[0].clientX;
1372
1372
  y = direction.touches[0].clientY;
1373
1373
  }
package/dist/lib/form.ts CHANGED
@@ -1792,13 +1792,13 @@ export function showPop(el: HTMLElement, pop: HTMLElement | undefined, direction
1792
1792
  else {
1793
1793
  let x: number;
1794
1794
  let y: number;
1795
- if (direction instanceof MouseEvent) {
1796
- x = direction.clientX;
1797
- y = direction.clientY;
1795
+ if (direction instanceof MouseEvent || (direction as any).type === 'mousedown') {
1796
+ x = (direction as MouseEvent).clientX;
1797
+ y = (direction as MouseEvent).clientY;
1798
1798
  }
1799
- else if (direction instanceof TouchEvent) {
1800
- x = direction.touches[0].clientX;
1801
- y = direction.touches[0].clientY;
1799
+ else if (direction instanceof TouchEvent || (direction as any).type === 'touchstart') {
1800
+ x = (direction as TouchEvent).touches[0].clientX;
1801
+ y = (direction as TouchEvent).touches[0].clientY;
1802
1802
  }
1803
1803
  else {
1804
1804
  x = direction.x;
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/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/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.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/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/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/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.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/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.css', '/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/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/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/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/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/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/xterm.cgc', '/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/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/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.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/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/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.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/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.css', '/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/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/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/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/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/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/xterm.cgc', '/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/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/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/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.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/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/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/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.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/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.css', '/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/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/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/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/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/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/html.cgc', '/control/iconview.cgc', '/control/monaco.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/property.cgc', '/control/table.cgc', '/control/task.cgc', '/control/xterm.cgc', '/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/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/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.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/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/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.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/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.css', '/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/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/global.css', '/app/demo/res/', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/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/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/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/xterm.cgc', '/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/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/tool.js CHANGED
@@ -70,12 +70,28 @@ function clone(obj) {
70
70
  if (obj instanceof Array) {
71
71
  newObj = [];
72
72
  for (let i = 0; i < obj.length; ++i) {
73
- newObj[i] = typeof obj[i] === 'object' ? clone(obj[i]) : obj[i];
73
+ if (obj[i] instanceof Date) {
74
+ newObj[i] = new Date(obj[i].getTime());
75
+ }
76
+ else if (typeof obj[i] === 'object') {
77
+ newObj[i] = clone(obj[i]);
78
+ }
79
+ else {
80
+ newObj[i] = obj[i];
81
+ }
74
82
  }
75
83
  }
76
84
  else {
77
85
  for (const key in obj) {
78
- newObj[key] = typeof obj[key] === 'object' ? clone(obj[key]) : obj[key];
86
+ if (obj[key] instanceof Date) {
87
+ newObj[key] = new Date(obj[key].getTime());
88
+ }
89
+ else if (typeof obj[key] === 'object') {
90
+ newObj[key] = clone(obj[key]);
91
+ }
92
+ else {
93
+ newObj[key] = obj[key];
94
+ }
79
95
  }
80
96
  }
81
97
  return newObj;
package/dist/lib/tool.ts CHANGED
@@ -99,12 +99,28 @@ export function clone(obj: Record<string, any> | any[]): any[] | any {
99
99
  if (obj instanceof Array) {
100
100
  newObj = [];
101
101
  for (let i = 0; i < obj.length; ++i) {
102
- newObj[i] = typeof obj[i] === 'object' ? clone(obj[i]) : obj[i];
102
+ if (obj[i] instanceof Date) {
103
+ newObj[i] = new Date(obj[i].getTime());
104
+ }
105
+ else if (typeof obj[i] === 'object') {
106
+ newObj[i] = clone(obj[i]);
107
+ }
108
+ else {
109
+ newObj[i] = obj[i];
110
+ }
103
111
  }
104
112
  }
105
113
  else {
106
114
  for (const key in obj) {
107
- newObj[key] = typeof obj[key] === 'object' ? clone(obj[key]) : obj[key];
115
+ if (obj[key] instanceof Date) {
116
+ newObj[key] = new Date(obj[key].getTime());
117
+ }
118
+ else if (typeof obj[key] === 'object') {
119
+ newObj[key] = clone(obj[key]);
120
+ }
121
+ else {
122
+ newObj[key] = obj[key];
123
+ }
108
124
  }
109
125
  }
110
126
  return newObj;
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickgo",
3
- "version": "3.3.4",
3
+ "version": "3.4.0",
4
4
  "description": "Background interface, software interface, mobile phone APP interface operation library.",
5
5
  "keywords": [
6
6
  "deskrt",
package/types/index.d.ts CHANGED
@@ -400,6 +400,7 @@ export interface ITask {
400
400
  'controls': Record<string, {
401
401
  'layout': string;
402
402
 
403
+ 'files': Record<string, Blob | string>;
403
404
  'props': Record<string, any>;
404
405
  'data': Record<string, any>;
405
406
  'access': Record<string, any>;