clickgo 3.9.1 → 3.10.1

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 (42) hide show
  1. package/README.md +5 -1
  2. package/dist/app/demo/config.json +2 -0
  3. package/dist/app/demo/form/control/file/file.js +2 -0
  4. package/dist/app/demo/form/control/form/form.js +3 -3
  5. package/dist/app/demo/form/control/form/form.xml +1 -1
  6. package/dist/app/demo/form/control/list/list.js +29 -0
  7. package/dist/app/demo/form/control/list/list.xml +2 -2
  8. package/dist/app/demo/form/control/nav/nav.js +4 -3
  9. package/dist/app/demo/form/control/nav/nav.xml +12 -4
  10. package/dist/app/demo/form/control/panel/panel.js +27 -7
  11. package/dist/app/demo/form/control/panel/panel.xml +5 -4
  12. package/dist/app/demo/form/control/panel/test1.js +6 -0
  13. package/dist/app/demo/form/control/panel/test1.xml +1 -0
  14. package/dist/app/demo/form/control/select/select.js +35 -25
  15. package/dist/app/demo/form/control/select/select.xml +2 -2
  16. package/dist/app/demo/form/control/tab/tab.js +3 -3
  17. package/dist/app/demo/form/main.js +6 -1
  18. package/dist/app/demo/form/main.xml +7 -2
  19. package/dist/app/demo/form/method/aform/aform.js +7 -0
  20. package/dist/app/demo/form/method/aform/aform.xml +1 -0
  21. package/dist/app/demo/form/solution/backpanel/backpanel.js +63 -0
  22. package/dist/app/demo/form/solution/backpanel/backpanel.xml +29 -0
  23. package/dist/clickgo.js +1 -1
  24. package/dist/clickgo.ts +1 -1
  25. package/dist/control/common.cgc +0 -0
  26. package/dist/control/form.cgc +0 -0
  27. package/dist/control/nav.cgc +0 -0
  28. package/dist/index.js +1 -1
  29. package/dist/index.ts +1 -1
  30. package/dist/lib/control.js +27 -1
  31. package/dist/lib/control.ts +32 -1
  32. package/dist/lib/form.js +81 -21
  33. package/dist/lib/form.ts +94 -24
  34. package/dist/lib/fs.js +1 -1
  35. package/dist/lib/fs.ts +1 -1
  36. package/dist/lib/task.js +2 -2
  37. package/dist/lib/task.ts +8 -4
  38. package/dist/lib/tool.js +20 -0
  39. package/dist/lib/tool.ts +21 -1
  40. package/dist/theme/light.cgt +0 -0
  41. package/package.json +1 -1
  42. package/types/index.d.ts +144 -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.9.1'}"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.0/dist/loader.min.js?path=index&npm={'clickgo':'3.10.1'}"></script>
32
32
  ```
33
33
 
34
34
  **index.js**
@@ -117,6 +117,10 @@ This library is published under [Apache-2.0](./LICENSE) license.
117
117
  [Border Radius SVG Vector](https://www.svgrepo.com/svg/446973/border-radius)
118
118
  [Copy SVG Vector](https://www.svgrepo.com/svg/446994/copy)
119
119
 
120
+ #### Select
121
+
122
+ [Close SVG Vector](https://www.svgrepo.com/svg/446990/close)
123
+
120
124
  ### **LICENSE:** MIT License **AUTHOR:** developmentseed
121
125
 
122
126
  #### Map
@@ -157,6 +157,8 @@
157
157
  "/form/method/tool/tool.xml",
158
158
  "/form/method/zip/zip.js",
159
159
  "/form/method/zip/zip.xml",
160
+ "/form/solution/backpanel/backpanel.js",
161
+ "/form/solution/backpanel/backpanel.xml",
160
162
  "/form/main.css",
161
163
  "/form/main.js",
162
164
  "/form/main.xml",
@@ -31,6 +31,7 @@ class default_1 extends clickgo.form.AbstractForm {
31
31
  this.multi = 'false';
32
32
  this.dir = 'false';
33
33
  this.list = [];
34
+ this.fd = new FormData();
34
35
  }
35
36
  select() {
36
37
  this.refs.file.select();
@@ -42,6 +43,7 @@ class default_1 extends clickgo.form.AbstractForm {
42
43
  }
43
44
  for (const file of files) {
44
45
  this.list.push((file.webkitRelativePath || file.name) + ' (' + file.size.toString() + ')');
46
+ this.fd.append('file', file, file.name);
45
47
  }
46
48
  }
47
49
  }
@@ -48,14 +48,14 @@ class default_1 extends clickgo.form.AbstractForm {
48
48
  this.minWidth = 200;
49
49
  this.minHeight = 100;
50
50
  this.resize = true;
51
- this.loading = false;
51
+ this.floading = false;
52
52
  this.border = 'normal';
53
53
  }
54
54
  showLoading() {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
- this.loading = true;
56
+ this.floading = true;
57
57
  yield clickgo.tool.sleep(1000);
58
- this.loading = false;
58
+ this.floading = false;
59
59
  });
60
60
  }
61
61
  }
@@ -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="loading" :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">
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>
@@ -235,5 +235,34 @@ class default_1 extends clickgo.form.AbstractForm {
235
235
  yield clickgo.form.dialog('onGesture: ' + dir);
236
236
  });
237
237
  }
238
+ onGAdd(e) {
239
+ clickgo.form.notify({
240
+ 'type': 'info',
241
+ 'title': 'Greatlist @add',
242
+ 'content': 'value: ' + e.detail.value.toString()
243
+ });
244
+ }
245
+ onGRemove(e) {
246
+ clickgo.form.notify({
247
+ 'type': 'info',
248
+ 'title': 'Greatlist @remove',
249
+ 'content': 'value: ' + e.detail.value.toString()
250
+ });
251
+ }
252
+ onLAdd(e) {
253
+ console.log('x', e.detail);
254
+ clickgo.form.notify({
255
+ 'type': 'info',
256
+ 'title': 'List @add',
257
+ 'content': 'value: ' + e.detail.value
258
+ });
259
+ }
260
+ onLRemove(e) {
261
+ clickgo.form.notify({
262
+ 'type': 'info',
263
+ 'title': 'List @remove',
264
+ 'content': 'value: ' + e.detail.value
265
+ });
266
+ }
238
267
  }
239
268
  exports.default = default_1;
@@ -3,7 +3,7 @@
3
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
- <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;">
6
+ <greatlist v-model="select" :data="slist" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" @add="onGAdd" @Remove="onGRemove" :scroll="scroll" :sizes="sizes" @select="onSelect" style="line-height: 1.3; flex: 1; height: 0;">
7
7
  <template v-slot="data">
8
8
  <layout v-if="data.row.type === 0" align-v="center" gutter="5" style="flex: 1;">
9
9
  <img :src="data.row.src" style="width: 32px; height: 32px;"></img>
@@ -51,7 +51,7 @@
51
51
  <label>Raw data:</label>
52
52
  <flow direction="v" style="border: solid 1px #b3b3b3; line-height: 1.5; height: 50px; padding: 5px;">{{listData}}</flow>
53
53
  <layout gutter="10" style="flex: 1; height: 0;">
54
- <list v-model="select2" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :data="listData" @label="label2 = $event" style="flex: 2; width: 0;" :tree="tree" :async="async" :icon="icon" icon-default="../../../res/txt.svg" @load="onSelectLoad">
54
+ <list v-model="select2" :disabled="disabled" :must="must" :multi="multi" :ctrl="ctrl" :selection="selection" :gesture="gesture ? ['top', 'bottom'] : []" @gesture="onGesture" :scroll="scroll" :data="listData" @label="label2 = $event" style="flex: 2; width: 0;" :tree="tree" :async="async" :icon="icon" icon-default="../../../res/txt.svg" @load="onSelectLoad" @add="onLAdd" @Remove="onLRemove">
55
55
  <menulist>
56
56
  <menulist-item alt="I" @click="showIndex2">Show select</menulist-item>
57
57
  </menulist>
@@ -37,15 +37,16 @@ class default_1 extends clickgo.form.AbstractForm {
37
37
  constructor() {
38
38
  super(...arguments);
39
39
  this.layer = false;
40
+ this.qs = {};
40
41
  this.name = '';
41
42
  this.isShow = true;
42
- this.loading = false;
43
43
  this.logo = '';
44
+ this.hash = false;
44
45
  }
45
- onSelect(e, o, v) {
46
+ onSelect(e) {
46
47
  return __awaiter(this, void 0, void 0, function* () {
47
48
  e.preventDefault();
48
- yield clickgo.form.dialog('Not nav, o: ' + o + ', v: ' + v);
49
+ yield clickgo.form.dialog('Not nav, selected: ' + e.detail.selected + ', name: ' + e.detail.name);
49
50
  });
50
51
  }
51
52
  onMounted() {
@@ -1,5 +1,5 @@
1
- <form width="600" height="500" title="Nav" :loading="loading">
2
- <nav v-model="name" v-model:show="isShow" :logo="logo" @layer="layer = $event" style="flex: 1; width: 0;">
1
+ <form width="600" height="500" title="Nav">
2
+ <nav v-model="name" default="Action1" v-model:show="isShow" :logo="logo" @layer="layer = $event" @qs="qs = $event" :hash="hash" style="flex: 1; width: 0;">
3
3
  <nav-item label="Title1">
4
4
  <nav-title>group1</nav-title>
5
5
  <nav-item label="Sub1">
@@ -39,9 +39,10 @@
39
39
  <nav-item label="Root2"></nav-item>
40
40
  <nav-item label="Root3" name="root?id=1"></nav-item>
41
41
  <nav-item label="Root4" name="root?id=2"></nav-item>
42
+ <nav-item label="Root5" name="root"></nav-item>
42
43
  <nav-item label="Event" @select="onSelect"></nav-item>
43
- <nav-item label="Root3" icon="/package/res/icon.svg"></nav-item>
44
- <nav-item label="Root4" icon="/package/res/marker.svg"></nav-item>
44
+ <nav-item label="Root6" name="root6" icon="/package/res/icon.svg"></nav-item>
45
+ <nav-item label="Root7" icon="/package/res/marker.svg"></nav-item>
45
46
  <template v-slot:header>
46
47
  <label style="flex: 1; padding-left: 10px;">Test</label>
47
48
  <menu>
@@ -78,10 +79,17 @@
78
79
  <label>Now select: {{name}}</label>
79
80
  <label>Show: {{isShow ? 'true' : 'false'}}</label>
80
81
  <label>Layer: {{layer ? 'true' : 'false'}}</label>
82
+ <label>Qs: {{qs}}</label>
83
+ <label>formHash: {{formHash}}</label>
81
84
  <button v-if="layer" @click="isShow = true">Open</button>
82
85
  <button @click="name = 'Action11'">Select "Action11"</button>
83
86
  <button @click="name = 'hasname'">Select "hasname"</button>
87
+ <button @click="name = 'root6?id=8'">Select "root6?id=8"</button>
84
88
  <button @click="logo = logo ? '' : '/clickgo/icon.png'">{{logo ? 'Remove' : 'Set'}} logo</button>
89
+ <layout gutter="10">
90
+ <button @click="hash = !hash" style="flex: 1;">{{hash ? '' : '!'}}hash</button>
91
+ <button v-if="hash" @click="formHashBack" style="flex: 1;">hashBack</button>
92
+ </layout>
85
93
  </layout>
86
94
  </template>
87
95
  </nav>
@@ -41,8 +41,9 @@ class default_1 extends clickgo.form.AbstractForm {
41
41
  constructor() {
42
42
  super(...arguments);
43
43
  this.selected = ['none'];
44
+ this.panelv = '';
44
45
  this.parentData = 'yeah!';
45
- this.loading = false;
46
+ this.map = null;
46
47
  }
47
48
  go() {
48
49
  return __awaiter(this, void 0, void 0, function* () {
@@ -58,22 +59,41 @@ class default_1 extends clickgo.form.AbstractForm {
58
59
  'type': 'send'
59
60
  });
60
61
  }
62
+ changeMap() {
63
+ this.map = this.map ? null : {
64
+ 'test1': test1_1.default,
65
+ 'test2': './test2'
66
+ };
67
+ }
61
68
  onMounted() {
62
69
  this.watch('selected', () => __awaiter(this, void 0, void 0, function* () {
63
70
  switch (this.selected[0]) {
64
71
  case 'none': {
72
+ if (this.map) {
73
+ this.panelv = '';
74
+ }
65
75
  break;
66
76
  }
67
77
  case './test1': {
68
- this.loading = true;
69
- yield this.refs.panel.go(test1_1.default);
70
- this.loading = false;
78
+ if (this.map) {
79
+ this.panelv = 'test1';
80
+ }
81
+ else {
82
+ this.loading = true;
83
+ yield this.refs.panel.go(test1_1.default);
84
+ this.loading = false;
85
+ }
71
86
  break;
72
87
  }
73
88
  case './test2': {
74
- this.loading = true;
75
- yield this.refs.panel.go('./test2');
76
- this.loading = false;
89
+ if (this.map) {
90
+ this.panelv = 'test2';
91
+ }
92
+ else {
93
+ this.loading = true;
94
+ yield this.refs.panel.go('./test2');
95
+ this.loading = false;
96
+ }
77
97
  break;
78
98
  }
79
99
  }
@@ -1,11 +1,12 @@
1
- <form width="600" height="500" title="Panel" :loading="loading">
1
+ <form width="600" height="500" title="Panel">
2
2
  <layout direction="v" gutter="10" style="padding: 10px; flex: 1;">
3
3
  <label>Form ID: {{formId}}</label>
4
4
  <select v-model="selected" :data="['none', './test1', './test2']"></select>
5
5
  <layout gutter="10">
6
- <button v-if="selected[0] !== './test1'" style="height: 30px; flex: 1;" @click="go">Go test1 with {'type': 'show'}</button>
7
- <button style="height: 30px; flex: 1;" @click="ssend">send {'type': 'send'}</button>
6
+ <button v-if="selected[0] !== './test1'" style="flex: 1;" @click="go">Go test1 with {'type': 'show'}</button>
7
+ <button style="flex: 1;" @click="ssend">send {'type': 'send'}</button>
8
+ <button style="flex: 1;" @click="changeMap">{{map ? '' : '!'}}map</button>
8
9
  </layout>
9
- <panel ref="panel" style="flex: 1;"></panel>
10
+ <panel ref="panel" v-model="panelv" :map="map" @go="loading=true" @went="loading=false" style="flex: 1;"></panel>
10
11
  </layout>
11
12
  </form>
@@ -57,6 +57,12 @@ class default_1 extends clickgo.form.AbstractPanel {
57
57
  yield clickgo.form.dialog('test1 got data.');
58
58
  });
59
59
  }
60
+ onQsChange() {
61
+ clickgo.form.notify({
62
+ 'title': 'Test1 Panel',
63
+ 'content': 'onQsChange: ' + Object.keys(this.qs).length.toString()
64
+ });
65
+ }
60
66
  click() {
61
67
  return __awaiter(this, void 0, void 0, function* () {
62
68
  yield clickgo.form.dialog('Hello panel!');
@@ -3,6 +3,7 @@
3
3
  <label>onShow count: {{scount}}</label>
4
4
  <label>Data: {{data}}</label>
5
5
  <label>Parent data: {{rootForm.parentData}}</label>
6
+ <label>Qs: {{qs}}</label>
6
7
  <button @click="click" style="height: 30px;">Hi</button>
7
8
  <layout>
8
9
  <button style="padding: 15px 30px;" area="split">
@@ -153,11 +153,7 @@ class default_1 extends clickgo.form.AbstractForm {
153
153
  onRemote(value, resolve) {
154
154
  return __awaiter(this, void 0, void 0, function* () {
155
155
  yield clickgo.tool.sleep(300);
156
- if (value === '') {
157
- resolve(['1', '3', '5']);
158
- return;
159
- }
160
- if (value === '8') {
156
+ if (!value || value === '8') {
161
157
  resolve();
162
158
  return;
163
159
  }
@@ -170,11 +166,37 @@ class default_1 extends clickgo.form.AbstractForm {
170
166
  }]);
171
167
  });
172
168
  }
173
- onAdd(index, value) {
174
- this.addRemoveList.unshift('@add, index: ' + index.toString() + ', value: ' + value);
169
+ onGAdd(e) {
170
+ clickgo.form.notify({
171
+ 'type': 'info',
172
+ 'title': 'Greatselect @add',
173
+ 'content': 'value: ' + e.detail.value.toString()
174
+ });
175
+ if (this.slist[e.detail.value].type === 1) {
176
+ e.preventDefault();
177
+ }
178
+ }
179
+ onGRemove(e) {
180
+ clickgo.form.notify({
181
+ 'type': 'info',
182
+ 'title': 'Greaselect @remove',
183
+ 'content': 'value: ' + e.detail.value.toString()
184
+ });
185
+ }
186
+ onAdd(e) {
187
+ this.addRemoveList.unshift('@add, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value);
175
188
  }
176
- onRemove(index, value) {
177
- this.addRemoveList.unshift('@remove, index: ' + index.toString() + ', value: ' + value);
189
+ onAdded(e) {
190
+ this.addRemoveList.unshift('@added, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value);
191
+ }
192
+ onRemove(e) {
193
+ this.addRemoveList.unshift('@remove, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value + ', mode: ' + e.detail.mode);
194
+ }
195
+ onRemoved(e) {
196
+ this.addRemoveList.unshift('@removed, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value + ', mode: ' + e.detail.mode);
197
+ }
198
+ onTagclick(e) {
199
+ this.addRemoveList.unshift('@tagclick, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value);
178
200
  }
179
201
  changeArea() {
180
202
  switch (this.area) {
@@ -202,25 +224,13 @@ class default_1 extends clickgo.form.AbstractForm {
202
224
  }
203
225
  onMounted() {
204
226
  this.watch(() => this.select.join(','), (n, o) => {
205
- let select = [];
206
- const now = n.split(',');
207
- const old = o.split(',');
208
- for (const item of now) {
209
- if (this.slist[parseInt(item)].type !== 0) {
210
- continue;
211
- }
212
- select.push(parseInt(item));
213
- }
214
- if (select.length === now.length) {
227
+ if (this.multi) {
215
228
  return;
216
229
  }
217
- select = [];
218
- for (const item of old) {
219
- select.push(parseInt(item));
230
+ if (this.slist[parseInt(n)].type === 0) {
231
+ return;
220
232
  }
221
- this.select = select;
222
- }, {
223
- 'deep': true
233
+ this.select = [parseInt(o)];
224
234
  });
225
235
  }
226
236
  }
@@ -4,7 +4,7 @@
4
4
  <!-- greatselect -->
5
5
  <layout v-if="ntab === 'greatselect'" gutter="10" direction="v" style="flex: 1; width: 0; padding: 10px;">
6
6
  <label>Now select value is {{select}}:</label>
7
- <greatselect v-model="select" :data="slist" :area="area" :disabled="disabled" :multi="multi" :sizes="sizes" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}" style="line-height: 1.3;">
7
+ <greatselect v-model="select" :data="slist" :area="area" :disabled="disabled" :multi="multi" :sizes="sizes" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}" style="line-height: 1.3;" @add="onGAdd" @remove="onGRemove">
8
8
  <layout align-v="center" gutter="5" style="flex: 1;">
9
9
  <img :src="slist[select[0]] ? slist[select[0]].src : ''" style="width: 32px; height: 32px;"></img>
10
10
  <block>
@@ -45,7 +45,7 @@
45
45
  <layout gutter="10" direction="v" style="padding: 10px;">
46
46
  <label>Now select value is {{select2}}</label>
47
47
  <label>Label: {{label2}}</label>
48
- <select v-model="select2" @label="label2 = $event" :data="slist2" :disabled="disabled" :editable="editable" :multi="multi" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" @load="onLoad" @remote="onRemote" @add="onAdd" @remove="onRemove" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
48
+ <select v-model="select2" @label="label2 = $event" :data="slist2" :disabled="disabled" :editable="editable" :multi="multi" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" @load="onLoad" @remote="onRemote" @add="onAdd" @remove="onRemove" @added="onAdded" @removed="onRemoved" @tagclick="onTagclick" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
49
49
  <list :data="addRemoveList" style="height: 100px;"></list>
50
50
  <label>Custom height:</label>
51
51
  <select :data="['1','2','3','4','5']" :disabled="disabled" :editable="editable" :multi="multi" :tree="tree" :async="async" :search="search" :remote="remote" :remote-delay="remoteDelay[0]" :icon="icon" icon-default="../../../res/txt.svg" style="height: 60px;" @load="onLoad" @remote="onRemote" :style="{'font-size': fontSize ? '16px' : undefined, 'padding': padding ? '15px' : undefined, 'background': background ? 'red' : undefined, 'color': background ? '#FFF' : undefined}"></select>
@@ -48,10 +48,10 @@ class default_1 extends clickgo.form.AbstractForm {
48
48
  this.drag = false;
49
49
  this.cclose = false;
50
50
  }
51
- onClose(e, i, v) {
51
+ onClose(e) {
52
52
  return __awaiter(this, void 0, void 0, function* () {
53
- if (i !== 10) {
54
- yield clickgo.form.dialog('Closed, index: ' + i.toString() + ', value: ' + v);
53
+ if (e.detail.index !== 10) {
54
+ yield clickgo.form.dialog('Closed, index: ' + e.detail.index.toString() + ', value: ' + e.detail.value);
55
55
  return;
56
56
  }
57
57
  e.preventDefault();
@@ -90,6 +90,7 @@ const task_2 = __importDefault(require("./method/task/task"));
90
90
  const theme_1 = __importDefault(require("./method/theme/theme"));
91
91
  const tool_1 = __importDefault(require("./method/tool/tool"));
92
92
  const zip_1 = __importDefault(require("./method/zip/zip"));
93
+ const backpanel_1 = __importDefault(require("./solution/backpanel/backpanel"));
93
94
  class default_1 extends clickgo.form.AbstractForm {
94
95
  constructor() {
95
96
  super(...arguments);
@@ -330,8 +331,12 @@ class default_1 extends clickgo.form.AbstractForm {
330
331
  frm = yield clickgo.form.create(tool_1.default);
331
332
  break;
332
333
  }
333
- default: {
334
+ case 'mzip': {
334
335
  frm = yield clickgo.form.create(zip_1.default);
336
+ break;
337
+ }
338
+ default: {
339
+ frm = yield clickgo.form.create(backpanel_1.default);
335
340
  }
336
341
  }
337
342
  frm.show();
@@ -1,5 +1,5 @@
1
1
  <form width="400" height="550" title="ClickGo demo" icon="/package/res/icon.svg">
2
- <tab v-model="ntab" :tabs="['control', 'method', 'event']" style="margin: 10px; flex: 1;">
2
+ <tab v-model="ntab" :tabs="['control', 'method', 'event', 'solution']" style="margin: 10px; flex: 1;">
3
3
  <flow v-if="ntab === 'control'" class="inner" direction="v">
4
4
  <layout class="buttons" gutter="10" direction="v">
5
5
  <label>App data: {{adata}}</label>
@@ -104,7 +104,7 @@
104
104
  <button @click="openForm('msystem')">System</button>
105
105
  </layout>
106
106
  </flow>
107
- <flow v-else class="inner" direction="v">
107
+ <flow v-else-if="ntab === 'event'" class="inner" direction="v">
108
108
  <layout gutter="10" direction="v">
109
109
  <button @click="openForm('escreen')">About screen</button>
110
110
  <button @click="openForm('eform')">About form</button>
@@ -112,5 +112,10 @@
112
112
  <button @click="openForm('eother')">About other</button>
113
113
  </layout>
114
114
  </flow>
115
+ <flow v-else class="inner" direction="v">
116
+ <layout gutter="10" direction="v">
117
+ <button @click="openForm('sbackpanel')">Backend panel</button>
118
+ </layout>
119
+ </flow>
115
120
  </tab>
116
121
  </form>
@@ -64,6 +64,13 @@ class default_1 extends clickgo.form.AbstractForm {
64
64
  this.dr = yield frm.showDialog();
65
65
  });
66
66
  }
67
+ showLoading() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ this.loading = true;
70
+ yield clickgo.tool.sleep(1000);
71
+ this.loading = false;
72
+ });
73
+ }
67
74
  onMounted() {
68
75
  this.watch('test', () => __awaiter(this, void 0, void 0, function* () {
69
76
  yield clickgo.form.dialog('test changed.');
@@ -30,6 +30,7 @@
30
30
  <label>{{formHash}}</label>
31
31
  </layout>
32
32
  <button @click="formHashBack">formHashBack()</button>
33
+ <button @click="showLoading">Show loading</button>
33
34
  <layout gutter="10" align-v="center">
34
35
  <label>Form Hash:</label>
35
36
  <text v-model="hash" style="flex: 1; width: 0;"></text>
@@ -0,0 +1,63 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const clickgo = __importStar(require("clickgo"));
39
+ const test1_1 = __importDefault(require("../../control/panel/test1"));
40
+ class default_1 extends clickgo.form.AbstractForm {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.fh = '';
44
+ this.name = '';
45
+ this.map = {
46
+ 'test1': test1_1.default,
47
+ 'test2': '../../control/panel/test2'
48
+ };
49
+ }
50
+ onFormHashChange(taskId, formId, value) {
51
+ if (formId !== this.formId) {
52
+ return;
53
+ }
54
+ this.fh = value;
55
+ }
56
+ onSelect(e) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ e.preventDefault();
59
+ yield clickgo.form.dialog('Show form');
60
+ });
61
+ }
62
+ }
63
+ exports.default = default_1;
@@ -0,0 +1,29 @@
1
+ <form width="800" height="500" title="Backend Panel" padding="10">
2
+ <layout direction="v" gutter="10" style="flex: 1;">
3
+ <layout gutter="10" align-v="center">
4
+ <label>formHash:</label>
5
+ <text v-model="fh" style="flex: 1;" />
6
+ <button @click="formHash = fh">Change</button>
7
+ </layout>
8
+ <nav v-model="name" default="list" hash style="flex: 1;">
9
+ <nav-item label="User">
10
+ <nav-item label="All list" name="list"></nav-item>
11
+ <nav-item label="Available" name="list?avail=1"></nav-item>
12
+ </nav-item>
13
+ <nav-item label="Goods">
14
+ <nav-item label="Available" name="goodslist?avail=1"></nav-item>
15
+ <nav-item label="Unavailable" name="goodslist?avail=0"></nav-item>
16
+ </nav-item>
17
+ <nav-item label="Form" name="form" @select="onSelect"></nav-item>
18
+ <nav-item label="Test1" name="test1"></nav-item>
19
+ <nav-item label="Test1QS" name="test1?a=1&b=2"></nav-item>
20
+ <nav-item label="Test2" name="test2"></nav-item>
21
+ <template v-slot:header>
22
+ <label style="flex: 1; text-align: right; padding-right: var(--g-padding);">Panel</label>
23
+ </template>
24
+ <template v-slot:content>
25
+ <panel :map="map" style="flex: 1;" @go="loading = true" @went="loading = false"></panel>
26
+ </template>
27
+ </nav>
28
+ </layout>
29
+ </form>
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.9.1';
27
+ const version = '3.10.1';
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.9.1';
16
+ const version = '3.10.1';
17
17
  export function getVersion(): string {
18
18
  return version;
19
19
  }
Binary file
Binary file
Binary file
package/dist/index.js CHANGED
@@ -101,7 +101,7 @@ function launcher(boot) {
101
101
  var _a;
102
102
  return __awaiter(this, void 0, void 0, function* () {
103
103
  const paths = [
104
- loader.cdn + '/npm/vue@3.3.13/dist/vue.global.prod.min.js'
104
+ loader.cdn + '/npm/vue@3.4.15/dist/vue.global.prod.min.js'
105
105
  ];
106
106
  let ro = true;
107
107
  if (!(window.ResizeObserver)) {
package/dist/index.ts CHANGED
@@ -176,7 +176,7 @@ export function launcher(boot: AbstractBoot): void {
176
176
  (async function() {
177
177
  // --- 通过标签加载库 ---
178
178
  const paths: string[] = [
179
- loader.cdn + '/npm/vue@3.3.13/dist/vue.global.prod.min.js'
179
+ loader.cdn + '/npm/vue@3.4.15/dist/vue.global.prod.min.js'
180
180
  ];
181
181
  // --- 判断 ResizeObserver 是否存在 ---
182
182
  let ro = true;