clickgo 3.10.4 → 3.11.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 (59) hide show
  1. package/README.md +9 -2
  2. package/dist/app/demo/config.json +1 -0
  3. package/dist/app/demo/form/control/alayout/alayout.xml +2 -2
  4. package/dist/app/demo/form/control/button/button.css +1 -1
  5. package/dist/app/demo/form/control/button/button.scss +2 -2
  6. package/dist/app/demo/form/control/check/check.xml +2 -2
  7. package/dist/app/demo/form/control/dialog/dialog.xml +8 -8
  8. package/dist/app/demo/form/control/file/file.xml +1 -1
  9. package/dist/app/demo/form/control/html/html.xml +3 -3
  10. package/dist/app/demo/form/control/layout/layout.xml +1 -1
  11. package/dist/app/demo/form/control/list/list.css +1 -1
  12. package/dist/app/demo/form/control/list/list.scss +1 -1
  13. package/dist/app/demo/form/control/list/list.xml +2 -2
  14. package/dist/app/demo/form/control/map/map.xml +10 -10
  15. package/dist/app/demo/form/control/panel/panel.js +1 -0
  16. package/dist/app/demo/form/control/panel/panel.xml +4 -1
  17. package/dist/app/demo/form/control/panel/test1.js +4 -0
  18. package/dist/app/demo/form/control/panel/test1.xml +1 -0
  19. package/dist/app/demo/form/control/select/select.js +1 -0
  20. package/dist/app/demo/form/control/select/select.xml +9 -8
  21. package/dist/app/demo/form/control/svg/svg.xml +11 -11
  22. package/dist/app/demo/form/control/tab/tab.xml +9 -9
  23. package/dist/app/demo/form/control/tag/tag.xml +20 -0
  24. package/dist/app/demo/form/control/text/text.js +3 -0
  25. package/dist/app/demo/form/control/text/text.xml +8 -2
  26. package/dist/app/demo/form/event/task/task.xml +3 -3
  27. package/dist/app/demo/form/main.js +6 -0
  28. package/dist/app/demo/form/main.xml +2 -1
  29. package/dist/app/demo/form/method/aform/aform.js +23 -0
  30. package/dist/app/demo/form/method/aform/aform.xml +10 -1
  31. package/dist/app/demo/form/method/core/core.js +3 -0
  32. package/dist/app/demo/form/method/core/core.xml +3 -1
  33. package/dist/app/demo/form/method/dom/dom.xml +15 -15
  34. package/dist/app/demo/form/method/form/form.js +1 -1
  35. package/dist/app/demo/form/method/fs/fs.xml +6 -6
  36. package/dist/app/demo/form/method/native/native.xml +5 -5
  37. package/dist/app/demo/form/method/task/task.xml +28 -28
  38. package/dist/app/demo/form/method/theme/theme.xml +7 -7
  39. package/dist/app/demo/form/method/tool/tool.xml +15 -15
  40. package/dist/app/demo/form/method/zip/zip.xml +2 -2
  41. package/dist/app/demo/form/solution/backpanel/backpanel.js +9 -4
  42. package/dist/clickgo.js +1 -1
  43. package/dist/clickgo.ts +1 -1
  44. package/dist/control/common.cgc +0 -0
  45. package/dist/control/form.cgc +0 -0
  46. package/dist/control/nav.cgc +0 -0
  47. package/dist/global.css +1 -1
  48. package/dist/lib/control.ts +1 -1
  49. package/dist/lib/core.js +3 -1
  50. package/dist/lib/core.ts +3 -0
  51. package/dist/lib/form.js +146 -46
  52. package/dist/lib/form.ts +132 -29
  53. package/dist/lib/fs.js +1 -1
  54. package/dist/lib/fs.ts +1 -1
  55. package/dist/lib/task.js +1 -0
  56. package/dist/lib/task.ts +2 -1
  57. package/dist/theme/light.cgt +0 -0
  58. package/package.json +1 -1
  59. package/types/index.d.ts +13 -0
@@ -1,7 +1,9 @@
1
- <form width="350" height="500" title="Library task" padding="10">
1
+ <form width="350" height="600" title="Library task" padding="10">
2
2
  <layout direction="v" gutter="10" style="flex: 1;">
3
3
  <label>config:</label>
4
4
  <text v-model="config" readonly multi style="flex: 1;"></text>
5
+ <label>global:</label>
6
+ <text v-model="global" readonly multi style="flex: 1;"></text>
5
7
  <button @click="getCdn">getCdn()</button>
6
8
  <button @click="getAvailArea">getAvailArea()</button>
7
9
  <layout gutter="10">
@@ -1,35 +1,35 @@
1
1
  <form width="400" height="450" title="Library dom">
2
2
  <flow direction="v" style="flex: 1; padding: 10px;">
3
3
  <layout gutter="10" direction="v" style="flex: 1;">
4
- <button @click="setGlobalCursor('wait')" style="height: 30px;">setGlobalCursor('wait')</button>
5
- <button @click="setGlobalCursor" style="height: 30px;">setGlobalCursor()</button>
6
- <button @click="hasTouchButMouse" style="height: 30px;">hasTouchButMouse()</button>
7
- <button @click="getStyleCount" style="height: 30px;">getStyleCount({{taskId}}, 'form')</button>
4
+ <button @click="setGlobalCursor('wait')" >setGlobalCursor('wait')</button>
5
+ <button @click="setGlobalCursor" >setGlobalCursor()</button>
6
+ <button @click="hasTouchButMouse" >hasTouchButMouse()</button>
7
+ <button @click="getStyleCount" >getStyleCount({{taskId}}, 'form')</button>
8
8
  <layout gutter="10">
9
9
  <button @click="watchSize" ref="watchSize" :style="{'height': (watchSizeHeight ? 30 : 50) + 'px'}" style="padding: 0 5px; flex: 1;">{{watchSizeText ? '' : '!'}}watchSize</button>
10
10
  <button @click="watchSizeHeight = !watchSizeHeight" style="padding: 0 5px; flex: 1;">Change</button>
11
11
  </layout>
12
12
  <layout gutter="10">
13
- <button style="height: 30px; flex: 1;" @click="getWatchSizeCount()">getWatchSizeCount()</button>
14
- <button style="height: 30px; flex: 1;" @click="getWatchSizeCount(taskId)">getWatchSizeCount({{taskId}})</button>
13
+ <button style="flex: 1;" @click="getWatchSizeCount()">getWatchSizeCount()</button>
14
+ <button style="flex: 1;" @click="getWatchSizeCount(taskId)">getWatchSizeCount({{taskId}})</button>
15
15
  </layout>
16
16
  <layout gutter="10">
17
17
  <layout ref="watch" align-v="center" align-h="center" style="flex: 1; background: var(--g-plain-background); border: solid 1px var(--g-plain-border-color);">{{watchInner ? 'inner' : 'Inner'}}</layout>
18
- <button @click="wwatch" style="height: 30px; padding: 0 5px;">{{watchText ? '' : '!'}}watch</button>
19
- <button @click="watchInner = !watchInner" style="padding: 0 5px;">Change</button>
18
+ <button @click="wwatch">{{watchText ? '' : '!'}}watch</button>
19
+ <button @click="watchInner = !watchInner">Change</button>
20
20
  </layout>
21
21
  <layout gutter="10">
22
- <button style="height: 30px; flex: 1;" @click="getWatchCount()">getWatchCount()</button>
23
- <button style="height: 30px; flex: 1;" @click="getWatchCount(taskId)">getWatchCount({{taskId}})</button>
22
+ <button style="flex: 1;" @click="getWatchCount()">getWatchCount()</button>
23
+ <button style="flex: 1;" @click="getWatchCount(taskId)">getWatchCount({{taskId}})</button>
24
24
  </layout>
25
- <button @click="watchStyleChange = !watchStyleChange" ref="watchStyle" style="height: 30px;" :style="{'font-size': watchStyleChange ? 'inherit' : '16px'}">watchStyle(this.refs.watchStyle.$el, 'font-size', (n, v) => { ... })</button>
26
- <button @click="isWatchStyle" style="height: 30px;">isWatchStyle(this.refs.watchStyle.$el)</button>
25
+ <button @click="watchStyleChange = !watchStyleChange" ref="watchStyle" :style="{'font-size': watchStyleChange ? 'inherit' : '16px'}">watchStyle(this.refs.watchStyle.$el, 'font-size', (n, v) => { ... })</button>
26
+ <button @click="isWatchStyle" >isWatchStyle(this.refs.watchStyle.$el)</button>
27
27
  <!-- getWatchInfo -->
28
28
  <text :model-value="getWatchInfoText" readonly multi style="height: 300px;"></text>
29
- <button @click="getWatchInfo" :disabled="getWatchInfoDisabled" style="height: 30px; padding: 0 10px;">getWatchInfo 20s</button>
29
+ <button @click="getWatchInfo" :disabled="getWatchInfoDisabled">getWatchInfo 20s</button>
30
30
  <block @mousedown="bindGesture" @touchstart="bindGesture" style="height: 50px; display: flex; justify-content: center; align-items: center; font-size: 14px; background: var(--g-plain-background); border: solid 1px var(--g-plain-border-color);">{{bindGestureText ? bindGestureText : 'bindGesture(e: Touch | Mouse, { ... })'}}</block>
31
31
  <block @wheel="bindGestureWheel" style="height: 50px; display: flex; justify-content: center; align-items: center; font-size: 14px; background: var(--g-plain-background); border: solid 1px var(--g-plain-border-color);">{{bindGestureWheelText ? bindGestureWheelText : 'bindGesture(e: Wheel, { ... })'}}</block>
32
- <button @click="bindLong" ref="bindLong" @mousedown="bindLongDown" @touchstart="bindLongDown" style="height: 30px;">{{bindLongText ? 'Yeah!' : 'bindLong(e, () => { ... })'}}</button>
32
+ <button @click="bindLong" ref="bindLong" @mousedown="bindLongDown" @touchstart="bindLongDown" >{{bindLongText ? 'Yeah!' : 'bindLong(e, () => { ... })'}}</button>
33
33
  <block style="height: 100px; display: flex; background: var(--g-plain-background); border: solid 1px var(--g-plain-border-color);">
34
34
  <block style="flex: 1; display: flex; justify-content: center; align-items: center;">
35
35
  <block @mousedown="bindDragDown" @touchstart="bindDragDown" ref="bindDrag" style="width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; border: solid 1px var(--g-plain-border-color);">Drag</block>
@@ -56,7 +56,7 @@
56
56
  <label>bindMove(e, { ... })</label>
57
57
  <block ref="move" style="background: #07c160; position: absolute;" :style="{'left': moveLeft + 'px', 'top': moveTop + 'px', 'width': moveWidth + 'px', 'height': moveHeight + 'px'}" @touchstart="moveDown" @mousedown="moveDown"></block>
58
58
  </block>
59
- <button @click="fullscreen" style="height: 30px;">fullscreen()</button>
59
+ <button @click="fullscreen" >fullscreen()</button>
60
60
  <label>clickgo.dom.is.move: {{isMove ? 'true' : 'false'}}</label>
61
61
  <label>clickgo.dom.is.shift: {{isShift ? 'true' : 'false'}}</label>
62
62
  <label>clickgo.dom.is.ctrl: {{isCtrl ? 'true' : 'false'}}</label>
@@ -71,7 +71,7 @@ class default_1 extends clickgo.form.AbstractForm {
71
71
  }
72
72
  hashBack() {
73
73
  return __awaiter(this, void 0, void 0, function* () {
74
- yield clickgo.form.dialog(JSON.stringify(clickgo.form.hashBack(parseInt(this.fid))));
74
+ yield clickgo.form.dialog(JSON.stringify(yield clickgo.form.hashBack(parseInt(this.fid))));
75
75
  });
76
76
  }
77
77
  tohash() {
@@ -5,14 +5,14 @@
5
5
  <label>{{val[0]}}</label>
6
6
  <list v-model="val" :data="list" @mousedown="dblclick" @touchstart="dblclick" style="flex: 1; height: 0;"></list>
7
7
  <layout gutter="10">
8
- <button style="height: 30px; padding: 0 10px;" @click="open(ppath)">Refresh</button>
9
- <button style="height: 30px; padding: 0 10px;" @click="stats">Stats</button>
10
- <button style="height: 30px; flex: 1;" @click="up">Up</button>
8
+ <button style="padding: 0 10px;" @click="open(ppath)">Refresh</button>
9
+ <button style="padding: 0 10px;" @click="stats">Stats</button>
10
+ <button style="flex: 1;" @click="up">Up</button>
11
11
  </layout>
12
12
  <layout gutter="10">
13
- <button style="height: 30px; flex: 1;" @click="mount">Mount "test"</button>
14
- <button style="height: 30px; flex: 1;" @click="unmount">Unmount</button>
15
- <button style="height: 30px; flex: 1;" @click="get = !get">{{get ? '' : '!'}}get(2,4)</button>
13
+ <button style="flex: 1;" @click="mount">Mount "test"</button>
14
+ <button style="flex: 1;" @click="unmount">Unmount</button>
15
+ <button style="flex: 1;" @click="get = !get">{{get ? '' : '!'}}get(2,4)</button>
16
16
  </layout>
17
17
  </layout>
18
18
  </form>
@@ -1,12 +1,12 @@
1
1
  <form width="350" height="400" title="Library native" padding="10">
2
2
  <layout gutter="10" direction="v" style="flex: 1;">
3
- <button @click="getListenerList" style="height: 30px;">getListenerList</button>
4
- <button @click="max" style="height: 30px;">max</button>
5
- <button @click="min" style="height: 30px;">min</button>
3
+ <button @click="getListenerList"getListenerList</button>
4
+ <button @click="max"max</button>
5
+ <button @click="min"min</button>
6
6
  <layout gutter="10" align-v="center">
7
7
  <text style="flex: 1;" v-model="val"></text>
8
- <button @click="ping" style="height: 30px; padding: 0 10px;">ping("{{val}}")</button>
8
+ <button @click="ping" style="padding: 0 10px;">ping("{{val}}")</button>
9
9
  </layout>
10
- <button @click="isMax" style="height: 30px;">isMax</button>
10
+ <button @click="isMax"isMax</button>
11
11
  </layout>
12
12
  </form>
@@ -4,58 +4,58 @@
4
4
  <label>onFrame(): timer: {{frameTimer}}, count: {{frameCount}}</label>
5
5
  <layout gutter="10">
6
6
  <template v-if="frameTimer === 0">
7
- <button @click="frameStart(0)" style="height: 30px; flex: 1;">Once</button>
8
- <button @click="frameStart(1)" style="height: 30px; flex: 1;">Count 100</button>
9
- <button @click="frameStart(2)" style="height: 30px; flex: 1;">Form</button>
7
+ <button @click="frameStart(0)" style="flex: 1;">Once</button>
8
+ <button @click="frameStart(1)" style="flex: 1;">Count 100</button>
9
+ <button @click="frameStart(2)" style="flex: 1;">Form</button>
10
10
  </template>
11
11
  <template v-else>
12
- <button @click="frameEnd" style="height: 30px; flex: 1;">End</button>
12
+ <button @click="frameEnd" style="flex: 1;">End</button>
13
13
  </template>
14
14
  </layout>
15
15
  <label>createTimer(): timer: {{timer}}, count: {{timerCount}}</label>
16
16
  <layout gutter="10">
17
17
  <template v-if="timer === 0">
18
- <button @click="timerStart(0)" style="height: 30px; flex: 1;">Once</button>
19
- <button @click="timerStart(1)" style="height: 30px; flex: 1;">Count 100</button>
20
- <button @click="timerStart(2)" style="height: 30px; flex: 1;">Form</button>
18
+ <button @click="timerStart(0)" style="flex: 1;">Once</button>
19
+ <button @click="timerStart(1)" style="flex: 1;">Count 100</button>
20
+ <button @click="timerStart(2)" style="flex: 1;">Form</button>
21
21
  </template>
22
22
  <template v-else>
23
- <button @click="timerEnd" style="height: 30px; flex: 1;">End</button>
23
+ <button @click="timerEnd" style="flex: 1;">End</button>
24
24
  </template>
25
25
  </layout>
26
26
  <layout gutter="10" align-v="center">
27
27
  <label>Task ID:</label>
28
- <text v-model="tid" style="flex: 1; width: 0; height: 30px;"></text>
29
- <button @click="get" style="height: 30px; padding: 0 10px;">get({{tid}})</button>
28
+ <text v-model="tid" style="flex: 1; width: 0;"></text>
29
+ <button @click="get" style="padding: 0 10px;">get({{tid}})</button>
30
30
  </layout>
31
- <button @click="getPermissions" style="height: 30px;">getPermissions({{tid}})</button>
32
- <button @click="getList" style="height: 30px;">getList()</button>
33
- <button @click="run" style="height: 30px;">run('/clickgo/app/demo/')</button>
31
+ <button @click="getPermissions">getPermissions({{tid}})</button>
32
+ <button @click="getList">getList()</button>
33
+ <button @click="run">run('/clickgo/app/demo/')</button>
34
34
  <layout gutter="10" align-v="center">
35
35
  <label>checkPermission:</label>
36
- <button @click="checkPermission('hash')" style="height: 30px; flex: 1;">hash</button>
37
- <button @click="checkPermission('root')" style="height: 30px; flex: 1; color: red;">root</button>
36
+ <button @click="checkPermission('hash')" style="flex: 1;">hash</button>
37
+ <button @click="checkPermission('root')" style="flex: 1; color: red;">root</button>
38
38
  </layout>
39
- <button @click="end" style="height: 30px;">end('{{tid}}')</button>
39
+ <button @click="end">end('{{tid}}')</button>
40
40
  <label>Now locale: {{locale}}, Global locale: {{globalLocale}}</label>
41
41
  <label>l('File name'): {{l('File name')}}</label>
42
42
  <label>l('File size'): {{l('File size')}}</label>
43
- <button @click="loadLocale('en', 'locale1')" style="height: 30px;">loadLocale('en', 'locale1')</button>
44
- <button @click="loadLocale('sc', 'locale2')" style="height: 30px;">loadLocale('sc', 'locale2')</button>
45
- <button @click="setLocale('sc', 'locale2')" style="height: 30px;">setLocale('sc', 'locale2')</button>
46
- <button @click="clearLocale" style="height: 30px;">clearLocale()</button>
47
- <button @click="loadLocaleData('en', {'File size': 'File size'})" style="height: 30px;">loadLocaleData('en', {'File size': 'File size'})</button>
48
- <button @click="loadLocaleData('sc', {'File size': '文件大小'})" style="height: 30px;">loadLocaleData('sc', {'File size': '文件大小'})</button>
49
- <button @click="setLocaleLang('en')" style="height: 30px;">setLocaleLang('en')</button>
50
- <button @click="setLocaleLang('sc')" style="height: 30px;">setLocaleLang('sc')</button>
51
- <button @click="clearLocaleLang()" style="height: 30px;">clearLocaleLang()</button>
43
+ <button @click="loadLocale('en', 'locale1')">loadLocale('en', 'locale1')</button>
44
+ <button @click="loadLocale('sc', 'locale2')">loadLocale('sc', 'locale2')</button>
45
+ <button @click="setLocale('sc', 'locale2')">setLocale('sc', 'locale2')</button>
46
+ <button @click="clearLocale">clearLocale()</button>
47
+ <button @click="loadLocaleData('en', {'File size': 'File size'})">loadLocaleData('en', {'File size': 'File size'})</button>
48
+ <button @click="loadLocaleData('sc', {'File size': '文件大小'})">loadLocaleData('sc', {'File size': '文件大小'})</button>
49
+ <button @click="setLocaleLang('en')">setLocaleLang('en')</button>
50
+ <button @click="setLocaleLang('sc')">setLocaleLang('sc')</button>
51
+ <button @click="clearLocaleLang()">clearLocaleLang()</button>
52
52
  <label>Change global locale lang:</label>
53
53
  <layout gutter="10">
54
54
  <select v-model="select" :data="['en', 'sc', 'tc', 'ja', 'ko', 'th', 'es', 'de', 'fr', 'pt', 'ru', 'vi']" style="flex: 1; width: 0;"></select>
55
- <button @click="changeLocaleLang" style="padding: 0 10px; height: 30px;">Change</button>
55
+ <button @click="changeLocaleLang" style="padding: 0 10px;">Change</button>
56
56
  </layout>
57
- <button @click="sleep" style="height: 30px;">{{sleeping ? 'Waiting...' : 'sleep(() => { ... }, 1000)'}}</button>
58
- <button @click="systemTaskInfo()" style="height: 30px;">systemTaskInfo</button>
57
+ <button @click="sleep">{{sleeping ? 'Waiting...' : 'sleep(() => { ... }, 1000)'}}</button>
58
+ <button @click="systemTaskInfo()">systemTaskInfo</button>
59
59
  </layout>
60
60
  </flow>
61
61
  </form>
@@ -1,11 +1,11 @@
1
1
  <form width="350" height="400" title="Library theme" padding="10">
2
2
  <layout direction="v" gutter="10" style="flex: 1;">
3
- <button @click="load" style="height: 30px;">Load "/clickgo/theme/familiar.cgt"</button>
4
- <button @click="remove" style="height: 30px;">remove('familiar')</button>
5
- <button @click="clear" style="height: 30px;">clear()</button>
6
- <button @click="setGlobal('familiar')" style="height: 30px;">setGlobal "/clickgo/theme/familiar.cgt"</button>
7
- <button @click="setGlobal('byterun')" style="height: 30px;">setGlobal "/clickgo/theme/byterun.cgt"</button>
8
- <button @click="setGlobal('light')" style="height: 30px;">setGlobal "/clickgo/theme/light.cgt"</button>
9
- <button @click="clearGlobal" style="height: 30px;">clearGlobal()</button>
3
+ <button @click="load">Load "/clickgo/theme/familiar.cgt"</button>
4
+ <button @click="remove">remove('familiar')</button>
5
+ <button @click="clear">clear()</button>
6
+ <button @click="setGlobal('familiar')">setGlobal "/clickgo/theme/familiar.cgt"</button>
7
+ <button @click="setGlobal('byterun')">setGlobal "/clickgo/theme/byterun.cgt"</button>
8
+ <button @click="setGlobal('light')">setGlobal "/clickgo/theme/light.cgt"</button>
9
+ <button @click="clearGlobal">clearGlobal()</button>
10
10
  </layout>
11
11
  </form>
@@ -1,27 +1,27 @@
1
1
  <form width="350" height="400" title="Library tool">
2
2
  <flow direction="v" style="flex: 1; padding: 10px;">
3
3
  <layout direction="v" gutter="10">
4
- <button @click="sleep" style="height: 30px;">{{sleeping ? 'Waiting...' : 'sleep(1000)'}}</button>
4
+ <button @click="sleep">{{sleeping ? 'Waiting...' : 'sleep(1000)'}}</button>
5
5
  <text v-model="purifyTxt" multi style="height: 100px;"></text>
6
- <button @click="purify" style="height: 30px;">purify('{{purifyTxt.slice(0, 5).replace("'", "\\'")}}...')</button>
6
+ <button @click="purify">purify('{{purifyTxt.slice(0, 5).replace("'", "\\'")}}...')</button>
7
7
  <layout gutter="10">
8
- <text v-model="min" style="height: 30px; flex: 1;"></text>
9
- <text v-model="max" style="height: 30px; flex: 1;"></text>
10
- <button @click="rand" style="height: 30px; padding: 0 10px;">rand({{min}}, {{max}})</button>
8
+ <text v-model="min" style="flex: 1;"></text>
9
+ <text v-model="max" style="flex: 1;"></text>
10
+ <button @click="rand" style="padding: 0 10px;">rand({{min}}, {{max}})</button>
11
11
  </layout>
12
12
  <layout gutter="10">
13
- <text v-model="length" style="height: 30px; width: 30px;"></text>
14
- <text v-model="block" style="height: 30px; flex: 1;"></text>
15
- <button @click="random" style="height: 30px; padding: 0 10px;">random({{length}}, RANDOM_LN, '{{block}}')</button>
13
+ <text v-model="length" style="width: 30px;"></text>
14
+ <text v-model="block" style="flex: 1;"></text>
15
+ <button @click="random" style="padding: 0 10px;">random({{length}}, RANDOM_LN, '{{block}}')</button>
16
16
  </layout>
17
- <button @click="escapeHTML" style="height: 30px;">escapeHTML('{{purifyTxt.slice(0, 5).replace("'", "\\'")}}...')</button>
18
- <button @click="rgb2hsl" style="height: 30px;">rgb2hsl('9,105,218')</button>
19
- <text v-model="url" style="height: 30px;"></text>
20
- <button @click="parseUrl" style="height: 30px;">parseUrl('{{url.slice(0, 5).replace("'","\\'")}}...')</button>
17
+ <button @click="escapeHTML">escapeHTML('{{purifyTxt.slice(0, 5).replace("'", "\\'")}}...')</button>
18
+ <button @click="rgb2hsl">rgb2hsl('9,105,218')</button>
19
+ <text v-model="url"></text>
20
+ <button @click="parseUrl">parseUrl('{{url.slice(0, 5).replace("'","\\'")}}...')</button>
21
21
  <label>urlResolve:</label>
22
- <text v-model="url1" style="height: 30px;"></text>
23
- <text v-model="url2" style="height: 30px;"></text>
24
- <button @click="urlResolve" style="height: 30px;">urlResolve('{{url1.slice(0, 5)}}...', '{{url2.slice(0, 5)}}...')</button>
22
+ <text v-model="url1"></text>
23
+ <text v-model="url2"></text>
24
+ <button @click="urlResolve">urlResolve('{{url1.slice(0, 5)}}...', '{{url2.slice(0, 5)}}...')</button>
25
25
  </layout>
26
26
  </flow>
27
27
  </form>
@@ -1,12 +1,12 @@
1
1
  <form width="350" height="400" title="Library zip" padding="10">
2
2
  <layout direction="v" gutter="10" style="flex: 1;">
3
- <button @click="select" style="height: 30px;">
3
+ <button @click="select">
4
4
  Select a ".zip, .apk" file
5
5
  <file ref="file" @change="change" :accept="['zip', 'apk']"></file>
6
6
  </button>
7
7
  <label>Double click the item below:</label>
8
8
  <block style="background: #000; color: #FFF; padding: 5px;">{{ppath}}</block>
9
9
  <list v-model="val" :data="list" @mousedown="dblclick" @touchstart="dblclick" style="flex: 1; height: 0;"></list>
10
- <button style="height: 30px;" @click="up">Up</button>
10
+ <button @click="up">Up</button>
11
11
  </layout>
12
12
  </form>
@@ -42,6 +42,7 @@ class default_1 extends clickgo.form.AbstractForm {
42
42
  super(...arguments);
43
43
  this.fh = '';
44
44
  this.name = '';
45
+ this.mountData = 'none';
45
46
  this.map = {
46
47
  'test1': test1_1.default,
47
48
  'test2': '../../control/panel/test2'
@@ -60,10 +61,14 @@ class default_1 extends clickgo.form.AbstractForm {
60
61
  });
61
62
  }
62
63
  onMounted(data) {
63
- if (!data.hash) {
64
- return;
65
- }
66
- this.formHash = data.hash;
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ if (!data.hash) {
66
+ return;
67
+ }
68
+ this.formHash = data.hash;
69
+ yield clickgo.tool.sleep(500);
70
+ this.mountData = 'ok';
71
+ });
67
72
  }
68
73
  }
69
74
  exports.default = default_1;
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.10.4';
27
+ const version = '3.11.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.10.4';
16
+ const version = '3.11.1';
17
17
  export function getVersion(): string {
18
18
  return version;
19
19
  }
Binary file
Binary file
Binary file
package/dist/global.css CHANGED
@@ -1 +1 @@
1
- #cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode", "Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--g-line:1;--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-color: hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%)}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .15s ease;transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);opacity:0;display:flex;justify-content:center;align-items:center}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .1s linear;transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .15s ease}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .1s linear;transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .1s linear;transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .1s linear}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.15s ease;transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.15s ease;transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .15s ease;overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0 5px 20px rgba(0,0,0,.25);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
1
+ #cg-wrap{position:fixed;left:0;top:0;--g-padding:7px;--g-margin:2px;--g-radius:0;--g-size:12px;--g-family:"Lucida Sans Unicode", "Helvetica Neue","Helvetica","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans CJK","Source Han Sans","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--g-line:1;--cg:hsl(20, 100%, 65%);--success:hsl(150, 100%, 40%);--success-hover:hsl(150, 100%, 45%);--success-active:hsl(150, 100%, 30%);--success-focus:hsl(150, 100%, 35%);--success-disabled:hsl(150, 0%, 40%);--success-bg:hsl(150, 100%, 98%);--info:hsl(210, 100%, 50%);--info-hover:hsl(210, 100%, 60%);--info-active:hsl(210, 100%, 40%);--info-focus:hsl(210, 100%, 45%);--info-disabled:hsl(210, 0%, 50%);--success-bg:hsl(210, 100%, 98%);--warning:hsl(20, 100%, 70%);--warning-hover:hsl(20, 100%, 80%);--warning-active:hsl(20, 100%, 60%);--warning-focus:hsl(20, 100%, 65%);--warning-disabled:hsl(20, 0%, 70%);--warning-bg:hsl(20, 100%, 98%);--danger:hsl(350, 100%, 50%);--danger-hover:hsl(350, 100%, 70%);--danger-active:hsl(350, 100%, 40%);--danger-focus:hsl(350, 100%, 45%);--danger-disabled:hsl(350, 0%, 50%);--danger-bg:hsl(350, 100%, 98%);--system-color:hsl(0, 0%, 95%);--system-background:hsla(0, 0%, 0%, .35);--system-control-background:hsla(0, 0%, 100%, .03);--system-background-hover:hsla(0, 0%, 100%, .06);--system-background-active:hsla(0, 0%, 100%, .1);--system-border-color:hsla(0, 0%, 100%, .03);--system-border-color-hover:hsla(0, 0%, 100%, .06);--system-placeholder-color: hsla(0, 0%, 100%, .2);--face:hsl(0, 0%, 95%);--g-color:hsl(0, 0%, 20%);--g-color-hover:hsl(0, 0%, 30%);--g-color-active:hsl(0, 0%, 10%);--g-color-focus:hsl(0, 0%, 15%);--g-color-disabled:hsl(0, 0%, 60%);--g-background:hsl(0, 0%, 95%);--g-background-hover:hsl(0, 0%, 100%);--g-background-active:hsl(0, 0%, 85%);--g-background-kp:hsl(0, 0%, 80%);--g-background-opacity:hsl(0, 0%, 50%, .2);--g-background-focus:hsl(0, 0%, 97.5%);--g-background-disabled:hsl(0, 0%, 75%);--g-border-color:hsl(0, 0%, 40%);--g-border-color-hover:hsl(0, 0%, 50%);--g-border-color-active:hsl(0, 0%, 30%);--g-border-color-focus:hsl(0, 0%, 35%);--g-border-color-disabled:hsl(0, 0%, 60%);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:hsl(0, 0%, 100%);--g-plain-background-hover:hsl(0, 0%, 98%);--g-plain-background-active:hsl(0, 0%, 95%);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:hsl(0, 0%, 95%);--g-plain-border-color:hsl(0, 0%, 70%);--g-plain-border-color-hover:hsl(0, 0%, 80%);--g-plain-border-color-active:hsl(0, 0%, 60%);--g-plain-border-color-focus:hsl(0, 0%, 65%);--g-plain-border-color-disabled:hsl(0, 0%, 60%);--g-block-background:hsl(0, 0%, 85%);--g-block-background-hover:hsl(0, 0%, 75%)}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .15s ease;transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:var(--system-background);box-shadow:0 5px 20px rgba(0,0,0,.25);opacity:0;display:flex;justify-content:center;align-items:center}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .1s linear;transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .15s ease}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:13px;font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .1s linear;transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .1s linear;transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .1s linear}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 5px 20px rgba(0,0,0,.25);transition:.15s ease;transition-property:transform,opacity;transform:translateY(-10px);opacity:0}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;top:0;width:280px;font-size:14px;display:flex;transition:.15s ease;transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0 5px 20px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-icon{margin-right:10px;width:16px;height:16px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold;padding-bottom:10px}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .15s ease;overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:rgba(0,0,0,.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:rgba(0,0,0,.1)}.cg-simpletask-item:active{background:rgba(0,0,0,.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020006;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0 5px 20px rgba(0,0,0,.25);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
@@ -142,7 +142,7 @@ export abstract class AbstractControl {
142
142
  /**
143
143
  * --- 获取 refs 情况 ---
144
144
  */
145
- public get refs(): Record<string, HTMLElement & types.IVue> {
145
+ public get refs(): Record<string, HTMLElement & AbstractControl & Record<string, any>> {
146
146
  return (this as any).$refs;
147
147
  }
148
148
 
package/dist/lib/core.js CHANGED
@@ -31,8 +31,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
+ var _a;
34
35
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.open = exports.back = exports.getLocation = exports.location = exports.getHost = exports.getHash = exports.hash = exports.getAvailArea = exports.fetchApp = exports.readApp = exports.trigger = exports.getModule = exports.regModule = exports.boot = exports.getCdn = exports.AbstractApp = exports.config = void 0;
36
+ exports.open = exports.back = exports.getLocation = exports.location = exports.getHost = exports.getHash = exports.hash = exports.getAvailArea = exports.fetchApp = exports.readApp = exports.trigger = exports.getModule = exports.regModule = exports.boot = exports.getCdn = exports.AbstractApp = exports.global = exports.config = void 0;
36
37
  const clickgo = __importStar(require("../clickgo"));
37
38
  const fs = __importStar(require("./fs"));
38
39
  const form = __importStar(require("./form"));
@@ -59,6 +60,7 @@ exports.config = clickgo.vue.reactive({
59
60
  'desktop.path': null,
60
61
  'launcher.list': []
61
62
  });
63
+ exports.global = (_a = window.clickgoGlobal) !== null && _a !== void 0 ? _a : {};
62
64
  class AbstractApp {
63
65
  get filename() {
64
66
  return '';
package/dist/lib/core.ts CHANGED
@@ -45,6 +45,9 @@ export const config: types.IConfig = clickgo.vue.reactive({
45
45
  'launcher.list': []
46
46
  });
47
47
 
48
+ /** --- 用户在浏览器页面定义的全局数据 --- */
49
+ export const global: Record<string, any> = (window as any).clickgoGlobal ?? {};
50
+
48
51
  /** --- App 抽象类 --- */
49
52
  export abstract class AbstractApp {
50
53