clickgo 3.16.28 → 4.0.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 (301) hide show
  1. package/README.md +19 -8
  2. package/dist/app/{demo/res/video.mp4 → demo.cga} +0 -0
  3. package/dist/app/task.cga +0 -0
  4. package/dist/control/arteditor.cgc +0 -0
  5. package/dist/control/box.cgc +0 -0
  6. package/dist/control/captcha.cgc +0 -0
  7. package/dist/control/common.cgc +0 -0
  8. package/dist/control/desc.cgc +0 -0
  9. package/dist/control/drawer.cgc +0 -0
  10. package/dist/control/echarts.cgc +0 -0
  11. package/dist/control/form.cgc +0 -0
  12. package/dist/control/iconview.cgc +0 -0
  13. package/dist/control/jodit.cgc +0 -0
  14. package/dist/control/map.cgc +0 -0
  15. package/dist/control/monaco.cgc +0 -0
  16. package/dist/control/mpegts.cgc +0 -0
  17. package/dist/control/nav.cgc +0 -0
  18. package/dist/control/novnc.cgc +0 -0
  19. package/dist/control/page.cgc +0 -0
  20. package/dist/control/pdf.cgc +0 -0
  21. package/dist/control/property.cgc +0 -0
  22. package/dist/control/qrcode.cgc +0 -0
  23. package/dist/control/table.cgc +0 -0
  24. package/dist/control/task.cgc +0 -0
  25. package/dist/control/tplink.cgc +0 -0
  26. package/dist/control/tuieditor.cgc +0 -0
  27. package/dist/control/tuiviewer.cgc +0 -0
  28. package/dist/control/tums.cgc +0 -0
  29. package/dist/control/xterm.cgc +0 -0
  30. package/dist/ext/tums-player/audio.wasm +0 -0
  31. package/dist/ext/tums-player/decoder.worker.js +129 -0
  32. package/dist/ext/tums-player/libaudio.js +1 -0
  33. package/dist/ext/tums-player/libaudio.wasm +0 -0
  34. package/dist/ext/tums-player/libffmpeg.js +1 -0
  35. package/dist/ext/tums-player/libffmpeg.wasm +0 -0
  36. package/dist/ext/tums-player/libs.worker.js +92 -0
  37. package/dist/ext/tums-player/tums-player.umd.min.js +35 -0
  38. package/dist/ext/tums-player/webgl.js +2 -0
  39. package/dist/ext/tums-player/webgl.worker.js +42 -0
  40. package/dist/global.css +1 -1
  41. package/dist/index.js +1 -175
  42. package/dist/theme/dark.cgt +0 -0
  43. package/dist/theme/light.cgt +0 -0
  44. package/package.json +16 -10
  45. package/dist/app/demo/app.js +0 -48
  46. package/dist/app/demo/config.json +0 -252
  47. package/dist/app/demo/form/control/alayout2/alayout2.js +0 -43
  48. package/dist/app/demo/form/control/alayout2/alayout2.xml +0 -16
  49. package/dist/app/demo/form/control/alert/alert.js +0 -43
  50. package/dist/app/demo/form/control/alert/alert.xml +0 -32
  51. package/dist/app/demo/form/control/arteditor/arteditor.js +0 -64
  52. package/dist/app/demo/form/control/arteditor/arteditor.xml +0 -12
  53. package/dist/app/demo/form/control/arteditor/img.js +0 -61
  54. package/dist/app/demo/form/control/arteditor/img.xml +0 -6
  55. package/dist/app/demo/form/control/block/block.css +0 -1
  56. package/dist/app/demo/form/control/block/block.scss +0 -17
  57. package/dist/app/demo/form/control/block/block.xml +0 -7
  58. package/dist/app/demo/form/control/box/box.js +0 -87
  59. package/dist/app/demo/form/control/box/box.xml +0 -23
  60. package/dist/app/demo/form/control/button/button.css +0 -1
  61. package/dist/app/demo/form/control/button/button.js +0 -51
  62. package/dist/app/demo/form/control/button/button.scss +0 -18
  63. package/dist/app/demo/form/control/button/button.xml +0 -133
  64. package/dist/app/demo/form/control/calendar/calendar.js +0 -62
  65. package/dist/app/demo/form/control/calendar/calendar.xml +0 -34
  66. package/dist/app/demo/form/control/captcha/captcha.js +0 -60
  67. package/dist/app/demo/form/control/captcha/captcha.xml +0 -10
  68. package/dist/app/demo/form/control/check/check.js +0 -54
  69. package/dist/app/demo/form/control/check/check.xml +0 -17
  70. package/dist/app/demo/form/control/circle/circle.xml +0 -36
  71. package/dist/app/demo/form/control/content/content.js +0 -47
  72. package/dist/app/demo/form/control/content/content.xml +0 -16
  73. package/dist/app/demo/form/control/date/date.js +0 -56
  74. package/dist/app/demo/form/control/date/date.xml +0 -28
  75. package/dist/app/demo/form/control/datepanel/datepanel.js +0 -63
  76. package/dist/app/demo/form/control/datepanel/datepanel.xml +0 -32
  77. package/dist/app/demo/form/control/daterange/daterange.js +0 -54
  78. package/dist/app/demo/form/control/daterange/daterange.xml +0 -22
  79. package/dist/app/demo/form/control/delete/delete.js +0 -47
  80. package/dist/app/demo/form/control/delete/delete.xml +0 -20
  81. package/dist/app/demo/form/control/desc/desc.js +0 -82
  82. package/dist/app/demo/form/control/desc/desc.xml +0 -44
  83. package/dist/app/demo/form/control/dialog/dialog.js +0 -49
  84. package/dist/app/demo/form/control/dialog/dialog.xml +0 -46
  85. package/dist/app/demo/form/control/drawer/drawer.js +0 -45
  86. package/dist/app/demo/form/control/drawer/drawer.xml +0 -34
  87. package/dist/app/demo/form/control/echarts/echarts.js +0 -137
  88. package/dist/app/demo/form/control/echarts/echarts.xml +0 -12
  89. package/dist/app/demo/form/control/empty/empty.js +0 -44
  90. package/dist/app/demo/form/control/empty/empty.xml +0 -9
  91. package/dist/app/demo/form/control/file/file.js +0 -60
  92. package/dist/app/demo/form/control/file/file.xml +0 -25
  93. package/dist/app/demo/form/control/flow/flow.css +0 -1
  94. package/dist/app/demo/form/control/flow/flow.js +0 -86
  95. package/dist/app/demo/form/control/flow/flow.scss +0 -18
  96. package/dist/app/demo/form/control/flow/flow.xml +0 -101
  97. package/dist/app/demo/form/control/form/form.css +0 -1
  98. package/dist/app/demo/form/control/form/form.js +0 -66
  99. package/dist/app/demo/form/control/form/form.scss +0 -5
  100. package/dist/app/demo/form/control/form/form.xml +0 -29
  101. package/dist/app/demo/form/control/grid/grid.js +0 -45
  102. package/dist/app/demo/form/control/grid/grid.xml +0 -27
  103. package/dist/app/demo/form/control/group/group.js +0 -50
  104. package/dist/app/demo/form/control/group/group.xml +0 -46
  105. package/dist/app/demo/form/control/hske/hske.js +0 -44
  106. package/dist/app/demo/form/control/hske/hske.xml +0 -19
  107. package/dist/app/demo/form/control/html/html.js +0 -70
  108. package/dist/app/demo/form/control/html/html.xml +0 -18
  109. package/dist/app/demo/form/control/icon/icon.xml +0 -49
  110. package/dist/app/demo/form/control/iconview/iconview.js +0 -174
  111. package/dist/app/demo/form/control/iconview/iconview.xml +0 -45
  112. package/dist/app/demo/form/control/img/img.xml +0 -26
  113. package/dist/app/demo/form/control/imgviewer/imgviewer.js +0 -46
  114. package/dist/app/demo/form/control/imgviewer/imgviewer.xml +0 -9
  115. package/dist/app/demo/form/control/jodit/jodit.js +0 -64
  116. package/dist/app/demo/form/control/jodit/jodit.xml +0 -24
  117. package/dist/app/demo/form/control/label/label.js +0 -51
  118. package/dist/app/demo/form/control/label/label.xml +0 -34
  119. package/dist/app/demo/form/control/layout/layout.js +0 -45
  120. package/dist/app/demo/form/control/layout/layout.xml +0 -18
  121. package/dist/app/demo/form/control/link/link.js +0 -42
  122. package/dist/app/demo/form/control/link/link.xml +0 -30
  123. package/dist/app/demo/form/control/list/list.css +0 -1
  124. package/dist/app/demo/form/control/list/list.js +0 -375
  125. package/dist/app/demo/form/control/list/list.scss +0 -7
  126. package/dist/app/demo/form/control/list/list.xml +0 -150
  127. package/dist/app/demo/form/control/loading/loading.xml +0 -8
  128. package/dist/app/demo/form/control/map/map.js +0 -206
  129. package/dist/app/demo/form/control/map/map.xml +0 -44
  130. package/dist/app/demo/form/control/marquee/marquee.js +0 -64
  131. package/dist/app/demo/form/control/marquee/marquee.xml +0 -33
  132. package/dist/app/demo/form/control/menu/menu.js +0 -56
  133. package/dist/app/demo/form/control/menu/menu.xml +0 -125
  134. package/dist/app/demo/form/control/monaco/monaco.js +0 -136
  135. package/dist/app/demo/form/control/monaco/monaco.xml +0 -28
  136. package/dist/app/demo/form/control/mpegts/mpegts.js +0 -70
  137. package/dist/app/demo/form/control/mpegts/mpegts.xml +0 -11
  138. package/dist/app/demo/form/control/nav/nav.js +0 -60
  139. package/dist/app/demo/form/control/nav/nav.xml +0 -106
  140. package/dist/app/demo/form/control/novnc/novnc.js +0 -75
  141. package/dist/app/demo/form/control/novnc/novnc.xml +0 -13
  142. package/dist/app/demo/form/control/page/page.js +0 -51
  143. package/dist/app/demo/form/control/page/page.xml +0 -22
  144. package/dist/app/demo/form/control/palette/palette.js +0 -46
  145. package/dist/app/demo/form/control/palette/palette.xml +0 -16
  146. package/dist/app/demo/form/control/panel/panel.js +0 -106
  147. package/dist/app/demo/form/control/panel/panel.xml +0 -16
  148. package/dist/app/demo/form/control/panel/test1.js +0 -84
  149. package/dist/app/demo/form/control/panel/test1.xml +0 -22
  150. package/dist/app/demo/form/control/panel/test2.xml +0 -4
  151. package/dist/app/demo/form/control/pdf/pdf.js +0 -65
  152. package/dist/app/demo/form/control/pdf/pdf.xml +0 -12
  153. package/dist/app/demo/form/control/pdf/test.pdf +0 -0
  154. package/dist/app/demo/form/control/progress/progress.js +0 -54
  155. package/dist/app/demo/form/control/progress/progress.xml +0 -9
  156. package/dist/app/demo/form/control/property/property.js +0 -166
  157. package/dist/app/demo/form/control/property/property.xml +0 -6
  158. package/dist/app/demo/form/control/qrcode/qrcode.js +0 -45
  159. package/dist/app/demo/form/control/qrcode/qrcode.xml +0 -13
  160. package/dist/app/demo/form/control/radio/radio.js +0 -51
  161. package/dist/app/demo/form/control/radio/radio.xml +0 -15
  162. package/dist/app/demo/form/control/scroll/scroll.js +0 -52
  163. package/dist/app/demo/form/control/scroll/scroll.xml +0 -38
  164. package/dist/app/demo/form/control/select/select.js +0 -273
  165. package/dist/app/demo/form/control/select/select.xml +0 -141
  166. package/dist/app/demo/form/control/setting/setting.xml +0 -11
  167. package/dist/app/demo/form/control/sgroup/sgroup.xml +0 -28
  168. package/dist/app/demo/form/control/step/step.js +0 -61
  169. package/dist/app/demo/form/control/step/step.xml +0 -16
  170. package/dist/app/demo/form/control/svg/svg.js +0 -61
  171. package/dist/app/demo/form/control/svg/svg.xml +0 -24
  172. package/dist/app/demo/form/control/switch/switch.js +0 -53
  173. package/dist/app/demo/form/control/switch/switch.xml +0 -29
  174. package/dist/app/demo/form/control/tab/tab.js +0 -102
  175. package/dist/app/demo/form/control/tab/tab.xml +0 -22
  176. package/dist/app/demo/form/control/table/table.js +0 -218
  177. package/dist/app/demo/form/control/table/table.xml +0 -97
  178. package/dist/app/demo/form/control/tag/tag.js +0 -44
  179. package/dist/app/demo/form/control/tag/tag.xml +0 -52
  180. package/dist/app/demo/form/control/text/text.js +0 -116
  181. package/dist/app/demo/form/control/text/text.xml +0 -70
  182. package/dist/app/demo/form/control/timeline/timeline.js +0 -43
  183. package/dist/app/demo/form/control/timeline/timeline.xml +0 -19
  184. package/dist/app/demo/form/control/tip/tip.js +0 -43
  185. package/dist/app/demo/form/control/tip/tip.xml +0 -42
  186. package/dist/app/demo/form/control/tplink/tplink.js +0 -74
  187. package/dist/app/demo/form/control/tplink/tplink.xml +0 -13
  188. package/dist/app/demo/form/control/tuieditor/tuieditor.js +0 -62
  189. package/dist/app/demo/form/control/tuieditor/tuieditor.xml +0 -22
  190. package/dist/app/demo/form/control/tuiviewer/tuiviewer.js +0 -45
  191. package/dist/app/demo/form/control/tuiviewer/tuiviewer.xml +0 -14
  192. package/dist/app/demo/form/control/uploader/uploader.js +0 -80
  193. package/dist/app/demo/form/control/uploader/uploader.xml +0 -15
  194. package/dist/app/demo/form/control/vflow/vflow.css +0 -1
  195. package/dist/app/demo/form/control/vflow/vflow.js +0 -101
  196. package/dist/app/demo/form/control/vflow/vflow.scss +0 -22
  197. package/dist/app/demo/form/control/vflow/vflow.xml +0 -89
  198. package/dist/app/demo/form/control/video/video.js +0 -47
  199. package/dist/app/demo/form/control/video/video.xml +0 -14
  200. package/dist/app/demo/form/control/web/web.js +0 -43
  201. package/dist/app/demo/form/control/web/web.xml +0 -4
  202. package/dist/app/demo/form/control/xterm/xterm.js +0 -100
  203. package/dist/app/demo/form/control/xterm/xterm.xml +0 -6
  204. package/dist/app/demo/form/event/form/form.css +0 -1
  205. package/dist/app/demo/form/event/form/form.js +0 -169
  206. package/dist/app/demo/form/event/form/form.scss +0 -24
  207. package/dist/app/demo/form/event/form/form.xml +0 -16
  208. package/dist/app/demo/form/event/other/other.js +0 -78
  209. package/dist/app/demo/form/event/other/other.xml +0 -5
  210. package/dist/app/demo/form/event/screen/screen.js +0 -86
  211. package/dist/app/demo/form/event/screen/screen.xml +0 -9
  212. package/dist/app/demo/form/event/task/task.js +0 -96
  213. package/dist/app/demo/form/event/task/task.xml +0 -20
  214. package/dist/app/demo/form/main.css +0 -1
  215. package/dist/app/demo/form/main.js +0 -515
  216. package/dist/app/demo/form/main.scss +0 -9
  217. package/dist/app/demo/form/main.xml +0 -163
  218. package/dist/app/demo/form/method/acontrol/acontrol.js +0 -42
  219. package/dist/app/demo/form/method/acontrol/acontrol.xml +0 -5
  220. package/dist/app/demo/form/method/aform/aform.js +0 -104
  221. package/dist/app/demo/form/method/aform/aform.xml +0 -60
  222. package/dist/app/demo/form/method/aform/sd.js +0 -47
  223. package/dist/app/demo/form/method/aform/sd.xml +0 -7
  224. package/dist/app/demo/form/method/core/core.js +0 -86
  225. package/dist/app/demo/form/method/core/core.xml +0 -23
  226. package/dist/app/demo/form/method/dom/dom.css +0 -1
  227. package/dist/app/demo/form/method/dom/dom.js +0 -228
  228. package/dist/app/demo/form/method/dom/dom.scss +0 -10
  229. package/dist/app/demo/form/method/dom/dom.xml +0 -76
  230. package/dist/app/demo/form/method/form/form.js +0 -244
  231. package/dist/app/demo/form/method/form/form.xml +0 -74
  232. package/dist/app/demo/form/method/form/test.xml +0 -5
  233. package/dist/app/demo/form/method/fs/fs.js +0 -209
  234. package/dist/app/demo/form/method/fs/fs.xml +0 -18
  235. package/dist/app/demo/form/method/fs/text.js +0 -48
  236. package/dist/app/demo/form/method/fs/text.xml +0 -3
  237. package/dist/app/demo/form/method/native/native.js +0 -100
  238. package/dist/app/demo/form/method/native/native.xml +0 -22
  239. package/dist/app/demo/form/method/storage/storage.js +0 -77
  240. package/dist/app/demo/form/method/storage/storage.xml +0 -18
  241. package/dist/app/demo/form/method/system/system.js +0 -63
  242. package/dist/app/demo/form/method/system/system.xml +0 -14
  243. package/dist/app/demo/form/method/task/locale1.json +0 -3
  244. package/dist/app/demo/form/method/task/locale2.json +0 -3
  245. package/dist/app/demo/form/method/task/task.js +0 -177
  246. package/dist/app/demo/form/method/task/task.xml +0 -61
  247. package/dist/app/demo/form/method/theme/theme.js +0 -92
  248. package/dist/app/demo/form/method/theme/theme.xml +0 -12
  249. package/dist/app/demo/form/method/tool/tool.js +0 -122
  250. package/dist/app/demo/form/method/tool/tool.xml +0 -40
  251. package/dist/app/demo/form/method/zip/zip.js +0 -126
  252. package/dist/app/demo/form/method/zip/zip.xml +0 -12
  253. package/dist/app/demo/form/solution/backpanel/backpanel.js +0 -76
  254. package/dist/app/demo/form/solution/backpanel/backpanel.xml +0 -31
  255. package/dist/app/demo/global.css +0 -3
  256. package/dist/app/demo/res/custombtn.cgc +0 -0
  257. package/dist/app/demo/res/icon.svg +0 -5
  258. package/dist/app/demo/res/img.jpg +0 -0
  259. package/dist/app/demo/res/marker.svg +0 -5
  260. package/dist/app/demo/res/r-1.svg +0 -32
  261. package/dist/app/demo/res/r-2.svg +0 -38
  262. package/dist/app/demo/res/sql.svg +0 -25
  263. package/dist/app/demo/res/txt.svg +0 -21
  264. package/dist/app/demo/res/zip.svg +0 -21
  265. package/dist/app/task/app.js +0 -46
  266. package/dist/app/task/config.json +0 -29
  267. package/dist/app/task/form/bar/bar.js +0 -406
  268. package/dist/app/task/form/bar/bar.xml +0 -46
  269. package/dist/app/task/form/desktop/desktop.xml +0 -1
  270. package/dist/app/task/locale/en.json +0 -11
  271. package/dist/app/task/locale/ja.json +0 -11
  272. package/dist/app/task/locale/sc.json +0 -11
  273. package/dist/app/task/locale/tc.json +0 -11
  274. package/dist/clickgo.d.ts +0 -22
  275. package/dist/clickgo.js +0 -109
  276. package/dist/index.d.ts +0 -55
  277. package/dist/lib/control.d.ts +0 -53
  278. package/dist/lib/control.js +0 -584
  279. package/dist/lib/core.d.ts +0 -47
  280. package/dist/lib/core.js +0 -1005
  281. package/dist/lib/dom.d.ts +0 -75
  282. package/dist/lib/dom.js +0 -2147
  283. package/dist/lib/form.d.ts +0 -222
  284. package/dist/lib/form.js +0 -2961
  285. package/dist/lib/fs.d.ts +0 -35
  286. package/dist/lib/fs.js +0 -1183
  287. package/dist/lib/native.d.ts +0 -43
  288. package/dist/lib/native.js +0 -197
  289. package/dist/lib/storage.d.ts +0 -6
  290. package/dist/lib/storage.js +0 -215
  291. package/dist/lib/task.d.ts +0 -32
  292. package/dist/lib/task.js +0 -1831
  293. package/dist/lib/theme.d.ts +0 -8
  294. package/dist/lib/theme.js +0 -176
  295. package/dist/lib/tool.d.ts +0 -122
  296. package/dist/lib/tool.js +0 -1021
  297. package/dist/lib/zip.d.ts +0 -40
  298. package/dist/lib/zip.js +0 -382
  299. package/dist/theme/blue.cgt +0 -0
  300. package/dist/theme/byterun.cgt +0 -0
  301. package/types/index.d.ts +0 -1374
package/types/index.d.ts DELETED
@@ -1,1374 +0,0 @@
1
- export * as control from '../dist/lib/control';
2
- export * as core from '../dist/lib/core';
3
- export * as dom from '../dist/lib/dom';
4
- export * as form from '../dist/lib/form';
5
- export * as fs from '../dist/lib/fs';
6
- export * as native from '../dist/lib/native';
7
- export * as storage from '../dist/lib/storage';
8
- export * as task from '../dist/lib/task';
9
- export * as theme from '../dist/lib/theme';
10
- export * as tool from '../dist/lib/tool';
11
- export * as zip from '../dist/lib/zip';
12
-
13
- export function getVersion(): string;
14
- export function isNative(): boolean;
15
- export function getPlatform(): NodeJS.Platform | 'web';
16
- export function getDevice(): {
17
- 'type': 'unknown' | 'mobile' | 'desktop';
18
- 'os': 'unknown' | 'android' | 'ios' | 'windows' | 'macos' | 'linux';
19
- };
20
- export function isImmersion(): boolean;
21
- export function hasFrame(): boolean;
22
- // eslint-disable-next-line @typescript-eslint/naming-convention
23
- export const AbstractBoot: typeof import('../dist/index').AbstractBoot;
24
- export function launcher(boot: import('../dist/index').AbstractBoot): void;
25
-
26
- // -------------------------
27
- // ------ control lib ------
28
- // -------------------------
29
-
30
- /** --- 控件文件包的 config --- */
31
- export interface IControlConfig {
32
- 'name': string;
33
- 'ver': number;
34
- 'version': string;
35
- 'author': string;
36
-
37
- /** --- 不带扩展名,系统会在末尾添加 .js --- */
38
- 'code': string;
39
- /** --- 不带扩展名,系统会在末尾添加 .html --- */
40
- 'layout': string;
41
- /** --- 不带扩展名,系统会在末尾添加 .css --- */
42
- 'style': string;
43
- }
44
-
45
- /** --- 控件对象 --- */
46
- export interface IControl {
47
- 'type': 'control';
48
- /** --- 控件对象配置文件 --- */
49
- 'config': IControlConfig;
50
- /** --- 所有已加载的文件内容 --- */
51
- 'files': Record<string, Blob | string>;
52
- }
53
-
54
- /** --- 控件文件包 --- */
55
- export type TControlPackage = Record<string, IControl>;
56
-
57
- // --------------------------
58
- // -------- core lib --------
59
- // --------------------------
60
-
61
- /** --- Config 对象 --- */
62
- export interface IConfig {
63
- 'locale': string;
64
- ['task.position']: 'left' | 'right' | 'top' | 'bottom';
65
- ['task.pin']: Record<string, { 'name': string; 'icon': string; }>;
66
- ['desktop.icon.storage']: boolean;
67
- ['desktop.icon.recycler']: boolean;
68
- ['desktop.wallpaper']: string | null;
69
- ['desktop.path']: string | null;
70
- ['launcher.list']: IConfigLauncherItem[];
71
- }
72
-
73
- /** --- Launcher 的 item 对象 --- */
74
- export interface IConfigLauncherItem {
75
- 'id'?: string;
76
- 'name': string;
77
- 'path'?: string;
78
- 'icon'?: string;
79
- 'list'?: Array<{ 'id'?: string; 'name': string; 'path': string; 'icon': string; }>;
80
- }
81
-
82
- /** --- 屏幕可用区域 --- */
83
- export interface IAvailArea {
84
- 'left': number;
85
- 'top': number;
86
- 'width': number;
87
- 'height': number;
88
- 'owidth': number;
89
- 'oheight': number;
90
- }
91
-
92
- /** --- 全局事件类型 --- */
93
- export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCreated' | 'formRemoved' | 'formTitleChanged' | 'formIconChanged' | 'formStateMinChanged' | 'formStateMaxChanged' | 'formShowChanged' | 'formFocused' | 'formBlurred' | 'formFlash' | 'formShowInSystemTaskChange' | 'formHashChange' | 'taskStarted' | 'taskEnded' | 'launcherFolderNameChanged' | 'hashChanged' | 'keydown' | 'keyup';
94
-
95
- /** --- 现场下载 app 的参数 --- */
96
- export interface ICoreFetchAppOptions {
97
- 'notifyId'?: number;
98
- 'progress'?: (loaded: number, total: number) => void | Promise<void>;
99
- 'cache'?: string;
100
- }
101
-
102
- /** --- 应用包解包后对象 --- */
103
- export interface IApp {
104
- 'type': 'app';
105
- /** --- 控件对象配置文件 --- */
106
- 'config': IAppConfig;
107
- /** --- 所有已加载的文件内容 --- */
108
- 'files': Record<string, Blob | string>;
109
- /** --- 应用图标 --- */
110
- 'icon': string;
111
- }
112
-
113
- /** --- 应用文件包 config --- */
114
- export interface IAppConfig {
115
- /** --- 应用名 --- */
116
- 'name': string;
117
- /** --- 发行版本 --- */
118
- 'ver': number;
119
- /** --- 发行版本字符串 --- */
120
- 'version': string;
121
- /** --- 作者 --- */
122
- 'author': string;
123
-
124
- /** --- 将要加载的控件 --- */
125
- 'controls': string[];
126
- /** --- 将自动加载的主题 --- */
127
- 'themes'?: string[];
128
- /** --- 将自动申请的权限 --- */
129
- 'permissions'?: string[];
130
- /** --- 将自动加载的语言包,path: lang --- */
131
- 'locales'?: Record<string, string>;
132
- /** --- 全局样式,不带扩展名,系统会在末尾添加 .css --- */
133
- 'style'?: string;
134
- /** --- 图标路径,需包含扩展名 --- */
135
- 'icon'?: string;
136
-
137
- /** --- 将要加载的非 js 文件列表,打包为 cga 模式下此配置可省略 --- */
138
- 'files'?: string[];
139
- /** --- import 的目录映射关系 --- */
140
- 'map'?: Record<string, string>;
141
- }
142
-
143
- // -------------------------
144
- // -------- dom lib --------
145
- // -------------------------
146
-
147
- /** --- 方向类型,从左上开始 --- */
148
- export type TDomBorder = 'lt' | 't' | 'tr' | 'r' | 'rb' | 'b' | 'bl' | 'l' | '';
149
-
150
- export type TDomBorderCustom = TDomBorder | { 'left': number; 'top'?: number; 'width': number; 'height'?: number; };
151
-
152
- /** --- Element 的大小 --- */
153
- export interface IDomSize {
154
- 'top': number;
155
- 'right': number;
156
- 'bottom': number;
157
- 'left': number;
158
- 'width': number;
159
- 'height': number;
160
- 'padding': {
161
- 'top': number;
162
- 'right': number;
163
- 'bottom': number;
164
- 'left': number;
165
- };
166
- 'border': {
167
- 'top': number;
168
- 'right': number;
169
- 'bottom': number;
170
- 'left': number;
171
- };
172
- 'clientHeight': number;
173
- 'clientWidth': number;
174
- 'innerWidth': number;
175
- 'innerHeight': number;
176
- 'scrollWidth': number;
177
- 'scrollHeight': number;
178
- }
179
-
180
- /** --- 绑定鼠标事件选项 --- */
181
- export interface IBindDownOptions<T extends MouseEvent | TouchEvent> {
182
- 'down'?: (e: T) => void;
183
- 'start'?: (e: T) => any;
184
- 'move'?: (
185
- e: T,
186
- dir: 'top' | 'right' | 'bottom' | 'left'
187
- ) => any;
188
- 'up'?: (e: T) => void | Promise<void>;
189
- 'end'?: (e: T) => void | Promise<void>;
190
- }
191
-
192
- /** --- 绑定拖动选项 move 回调的回调参数 --- */
193
- export interface IBindMoveMoveOptions {
194
- 'ox': number;
195
- 'oy': number;
196
- 'x': number;
197
- 'y': number;
198
- 'border': TDomBorder;
199
- 'inBorder': {
200
- 'top': boolean;
201
- 'right': boolean;
202
- 'bottom': boolean;
203
- 'left': boolean;
204
- };
205
- 'dir': 'top' | 'right' | 'bottom' | 'left';
206
- }
207
-
208
- /** --- 绑定拖动选项 --- */
209
- export interface IBindMoveOptions {
210
- 'areaObject'?: HTMLElement | IVue;
211
- 'left'?: number;
212
- 'top'?: number;
213
- 'right'?: number;
214
- 'bottom'?: number;
215
- 'offsetLeft'?: number;
216
- 'offsetTop'?: number;
217
- 'offsetRight'?: number;
218
- 'offsetBottom'?: number;
219
- 'objectLeft'?: number;
220
- 'objectTop'?: number;
221
- 'objectWidth'?: number;
222
- 'objectHeight'?: number;
223
- 'object'?: HTMLElement | IVue;
224
- 'showRect'?: boolean;
225
- 'cursor'?: string;
226
- 'start'?: (x: number, y: number) => any;
227
- 'move'?: (e: MouseEvent | TouchEvent, opt: IBindMoveMoveOptions) => void;
228
- 'up'?: (moveTimes: Array<{ 'time': number; 'ox': number; 'oy': number; }>, e: MouseEvent | TouchEvent) => void;
229
- 'end'?: (moveTimes: Array<{ 'time': number; 'ox': number; 'oy': number; }>, e: MouseEvent | TouchEvent) => void;
230
- 'borderIn'?: (x: number, y: number, border: TDomBorder, e: MouseEvent | TouchEvent) => void;
231
- 'borderOut'?: () => void;
232
- }
233
-
234
- /** --- 绑定拖动返回值 --- */
235
- export interface IBindMoveResult {
236
- 'left': number;
237
- 'top': number;
238
- 'right': number;
239
- 'bottom': number;
240
- }
241
-
242
- /** --- 绑定改变大小选项 --- */
243
- export interface IBindResizeOptions {
244
- 'objectLeft'?: number;
245
- 'objectTop'?: number;
246
- 'objectWidth'?: number;
247
- 'objectHeight'?: number;
248
- 'object'?: HTMLElement | IVue;
249
- 'minWidth'?: number;
250
- 'minHeight'?: number;
251
- 'maxWidth'?: number;
252
- 'maxHeight'?: number;
253
- 'border': TDomBorder;
254
- 'start'?: (x: number, y: number) => any;
255
- 'move'?: (left: number, top: number, width: number, height: number, x: number, y: number, border: TDomBorder) => void;
256
- 'end'?: () => void;
257
- }
258
-
259
- /** --- 监视位置中的元素 --- */
260
- export interface IWatchPositionItem {
261
- 'el': HTMLElement;
262
- 'rect': DOMRect;
263
- 'handler': (state: {
264
- 'position': boolean;
265
- 'size': boolean;
266
- }) => void | Promise<void>;
267
- }
268
-
269
- /** --- 监视大小中的元素 --- */
270
- export interface IWatchSizeItem {
271
- 'el': HTMLElement;
272
- 'handler': () => void | Promise<void>;
273
- 'taskId'?: number;
274
- }
275
-
276
- /** --- 监视变化中的元素 --- */
277
- export interface IWatchItem {
278
- 'el': HTMLElement;
279
- 'mo': MutationObserver;
280
- 'taskId'?: number;
281
- }
282
-
283
- /** --- 获取当前正在监视中的 property、style 和 position 的元素信息 --- */
284
- export interface IGetWatchInfoResult {
285
- 'formId': number;
286
- 'default': Record<string, {
287
- 'style': {
288
- 'list': string[];
289
- 'count': number;
290
- };
291
- 'property': {
292
- 'list': string[];
293
- 'count': number;
294
- };
295
- 'position': {
296
- 'count': number;
297
- };
298
- }>;
299
- 'panels': Record<string,
300
- Record<string, {
301
- 'style': {
302
- 'list': string[];
303
- 'count': number;
304
- };
305
- 'property': {
306
- 'list': string[];
307
- 'count': number;
308
- };
309
- 'position': {
310
- 'count': number;
311
- };
312
- }>
313
- >;
314
- }
315
-
316
- // --------------------------
317
- // -------- form lib --------
318
- // --------------------------
319
-
320
- export type AbstractForm = import('../dist/lib/form').AbstractForm;
321
-
322
- /** --- 运行时 task 中的 form 对象 --- */
323
- export interface IForm {
324
- 'id': number;
325
- 'vapp': IVApp;
326
- 'vroot': IVue;
327
- /** --- 是否已经执行过了关闭窗体方法,此处加判断为了防止重复执行 close 导致的 bug --- */
328
- 'closed': boolean;
329
- }
330
-
331
- /** --- Form 的简略情况,通常在 list 当中 --- */
332
- export interface IFormInfo {
333
- 'taskId': number;
334
- 'title': string;
335
- 'icon': string;
336
- 'stateMax': boolean;
337
- 'stateMin': boolean;
338
- 'show': boolean;
339
- 'focus': boolean;
340
- 'showInSystemTask': boolean;
341
- }
342
-
343
- // --------------------------
344
- // --------- fs lib ---------
345
- // --------------------------
346
-
347
- export interface IMountHandler {
348
- /** --- 挂载时间,无需设置 --- */
349
- 'date'?: Date;
350
- getContent?: (path: string, options?: BufferEncoding | {
351
- 'encoding'?: BufferEncoding;
352
- 'start'?: number;
353
- 'end'?: number;
354
- 'progress'?: (loaded: number, total: number) => void | Promise<void>;
355
- 'cache'?: string;
356
- }) => Blob | string | null | Promise<Blob | string | null>;
357
- putContent?: (path: string, data: string | Blob, options?: {
358
- 'encoding'?: BufferEncoding | null;
359
- 'mode'?: string | number;
360
- 'flag'?: string | number;
361
- }) => boolean | Promise<boolean>;
362
- readLink?: (path: string, encoding?: BufferEncoding) => string | null | Promise<string | null>;
363
- symlink?: (filePath: string, linkPath: string, type?: 'dir' | 'file' | 'junction') => boolean | Promise<boolean>;
364
- unlink?: (path: string) => boolean | Promise<boolean>;
365
- stats?: (path: string) => IStats | null | Promise<IStats | null>;
366
- mkdir?: (path: string, mode?: number) => boolean | Promise<boolean>;
367
- rmdir?: (path: string) => boolean | Promise<boolean>;
368
- chmod?: (path: string, mod: string | number) => boolean | Promise<boolean>;
369
- rename?: (oldPath: string, newPath: string) => boolean | Promise<boolean>;
370
- readDir?: (path: string, encoding?: BufferEncoding) => IDirent[] | Promise<IDirent[]>;
371
- copyFile?: (src: string, dest: string) => boolean | Promise<boolean>;
372
- }
373
-
374
- /** --- 文件/文件夹信息对象 --- */
375
- export interface IStats {
376
- isFile(): boolean;
377
- isDirectory(): boolean;
378
- isSymbolicLink(): boolean;
379
- 'size': number;
380
- 'blksize': number;
381
- 'atimeMs': number;
382
- 'mtimeMs': number;
383
- 'ctimeMs': number;
384
- 'birthtimeMs': number;
385
- 'atime': Date;
386
- 'mtime': Date;
387
- 'ctime': Date;
388
- 'birthtime': Date;
389
- }
390
-
391
- /** --- 目录下项目 --- */
392
- export interface IDirent {
393
- isFile(): boolean;
394
- isDirectory(): boolean;
395
- isSymbolicLink(): boolean;
396
- 'name': string;
397
- }
398
-
399
- // --------------------------
400
- // -------- task lib --------
401
- // --------------------------
402
-
403
- /** --- 运行中的任务对象 --- */
404
- export interface ITask {
405
- 'id': number;
406
- 'app': IApp;
407
- 'class': import('../dist/lib/core').AbstractApp;
408
- 'customTheme': boolean;
409
- 'locale': {
410
- 'lang': string;
411
- 'data': Record<string, Record<string, string>>;
412
- };
413
- /** --- 当前 app 自己的完整路径,如 /x/xx.cga,或 /x/x,末尾不含 / --- */
414
- 'path': string;
415
- /** --- 当前 app 运行路径,末尾不含 / --- */
416
- 'current': string;
417
-
418
- /** --- 运行时的一些参数 --- */
419
- 'runtime': {
420
- /** --- 独占窗体序列 --- */
421
- 'dialogFormIds': number[];
422
- /** --- 已申请的权限列表 --- */
423
- 'permissions': string[];
424
- };
425
- /** --- 窗体对象列表 --- */
426
- 'forms': Record<string, IForm>;
427
- /** --- 已解析的控件处理后的对象,任务启动时解析,窗体创建时部分复用 --- */
428
- 'controls': Record<string, {
429
- 'layout': string;
430
-
431
- 'files': Record<string, Blob | string>;
432
- 'props': Record<string, any>;
433
- 'emits': Record<string, any>;
434
- 'data': Record<string, any>;
435
- 'access': Record<string, any>;
436
- 'methods': Record<string, any>;
437
- 'computed': Record<string, any>;
438
- }>;
439
- /** --- 任务中的 timer 列表 --- */
440
- 'timers': Record<string, number>;
441
- }
442
-
443
- /** --- 系统任务信息 --- */
444
- export interface ISystemTaskInfo {
445
- 'taskId': number;
446
- 'formId': number;
447
- 'length': number;
448
- }
449
-
450
- export interface ITaskRunOptions {
451
- 'icon'?: string;
452
- /** --- 加载进度回调 --- */
453
- 'progress'?: (loaded: number, total: number) => void | Promise<void>;
454
- /** --- 初始化进度回调 --- */
455
- 'initProgress'?: (state: string) => void | Promise<void>;
456
- /** --- 显示 notify 窗口 --- */
457
- 'notify'?: boolean;
458
- /** --- 直接赋予此任务相应权限,App 模式下有 "root" 权限的应用才能设置 --- */
459
- 'permissions'?: string[];
460
- /** --- 给 task 传值 --- */
461
- 'data'?: Record<string, any>;
462
- /** --- 执行文件的基路径,一般在传入 APP 包时使用,以 .cga 结尾或以 / 结尾的路径 --- */
463
- 'path'?: string;
464
- /** --- 是否禁用缓存加载,默认禁用 --- */
465
- 'cache'?: string;
466
- }
467
-
468
- export interface ICreateTimerOptions {
469
- 'taskId'?: number;
470
- 'formId'?: number;
471
-
472
- 'immediate'?: boolean;
473
- 'count'?: number;
474
- }
475
-
476
- /** --- Task 的简略情况,通常在 list 当中 --- */
477
- export interface ITaskInfo {
478
- 'name': string;
479
- 'locale': string;
480
- 'customTheme': boolean;
481
- 'formCount': number;
482
- 'icon': string;
483
- 'path': string;
484
- 'current': string;
485
- }
486
-
487
- // ---------------------------
488
- // -------- theme lib --------
489
- // ---------------------------
490
-
491
- /** --- 主题对象 --- */
492
- export interface ITheme {
493
- 'type': 'theme';
494
- /** --- 主题对象配置文件 --- */
495
- 'config': IThemeConfig;
496
- /** --- 所有已加载的文件内容 --- */
497
- 'files': Record<string, Blob | string>;
498
- }
499
-
500
- /** --- 主题文件包的 config --- */
501
- export interface IThemeConfig {
502
- 'name': string;
503
- 'ver': number;
504
- 'version': string;
505
- 'author': string;
506
-
507
- /** --- 不带扩展名,系统会在末尾添加 .css --- */
508
- 'style': string;
509
-
510
- /** --- 将要加载的文件 --- */
511
- 'files': string[];
512
- }
513
-
514
- // --------------------------
515
- // -------- tool lib --------
516
- // --------------------------
517
-
518
- export interface IRequestOptions {
519
- 'credentials'?: boolean;
520
- 'method'?: 'GET' | 'POST';
521
- 'body'?: FormData;
522
- 'timeout'?: number;
523
- 'responseType'?: XMLHttpRequestResponseType;
524
- 'headers'?: HeadersInit;
525
-
526
- 'uploadStart'?: (total: number) => void | Promise<void>;
527
- 'uploadProgress'?: (loaded: number, total: number) => void | Promise<void>;
528
- 'uploadEnd'?: () => void | Promise<void>;
529
- 'start'?: (total: number) => void | Promise<void>;
530
- 'end'?: () => void | Promise<void>;
531
- 'progress'?: (loaded: number, total: number) => void | Promise<void>;
532
- 'load'?: (res: any) => void | Promise<void>;
533
- 'error'?: () => void | Promise<void>;
534
- }
535
-
536
- // -------------------------
537
- // -------- zip lib --------
538
- // -------------------------
539
-
540
- export type TZip = import('../dist/lib/zip').Zip;
541
-
542
- export interface IZipItem {
543
- 'name': string;
544
- 'compressedSize': number;
545
- 'uncompressedSize': number;
546
- 'date': Date;
547
- 'isFile': boolean;
548
- 'isDirectory': boolean;
549
- 'path': string;
550
- }
551
-
552
- export interface IZipStats {
553
- 'compressedSize': number;
554
- 'uncompressedSize': number;
555
- 'date': Date;
556
- 'isFile': boolean;
557
- 'isDirectory': boolean;
558
- }
559
-
560
- export interface IZipOutputByType {
561
- 'base64': string;
562
- 'string': string;
563
- 'array': number[];
564
- 'uint8array': Uint8Array;
565
- 'arraybuffer': ArrayBuffer;
566
- 'blob': Blob;
567
- }
568
-
569
- export type TZipOutputType = keyof IZipOutputByType;
570
-
571
- export interface IZipInputByType {
572
- 'base64': string;
573
- 'string': string;
574
- 'array': number[];
575
- 'uint8array': Uint8Array;
576
- 'arraybuffer': ArrayBuffer;
577
- 'blob': Blob;
578
- }
579
-
580
- export type TZipInputType = keyof IZipInputByType;
581
-
582
- export type TZipInputFileFormat = IZipInputByType[keyof IZipInputByType];
583
-
584
- export interface IZipMetadata {
585
- percent: number;
586
- currentFile: string | null;
587
- }
588
-
589
- // --- form ---
590
-
591
- /** --- Dialog 选项 --- */
592
- export interface IFormDialogOptions {
593
- 'title'?: string;
594
- 'content': string;
595
- 'buttons'?: string[];
596
- 'autoDialogResult'?: boolean;
597
-
598
- 'direction'?: 'h' | 'v';
599
- 'gutter'?: number | string;
600
-
601
- /** --- 传值,需要用 data.x 读取 --- */
602
- 'data'?: Record<string, any>;
603
- /** --- 传值,需要用 methods.x 读取 --- */
604
- 'methods'?: Record<string, (...param: any) => any>;
605
- /** --- 样式表 --- */
606
- 'style'?: string;
607
- /** --- 路径基,以 / 结束或文件路径则以文件的基路径为准,可留空 --- */
608
- 'path'?: string;
609
-
610
- 'select'?: (this: AbstractForm & { 'data': Record<string, any>; 'methods': Record<string, (...param: any) => any>; }, e: IFormDialogSelectEvent, button: string) => void;
611
-
612
- /** --- 当前的 taskId,App 模式下无效 --- */
613
- 'taskId'?: number;
614
- }
615
-
616
- export interface IFormDialogSelectEvent extends ICustomEvent {
617
- 'detail': {
618
- 'button': string;
619
- };
620
- }
621
-
622
- /** --- Confirm 选项 --- */
623
- export interface IFormConfirmOptions {
624
- /** --- 当前的 taskId,App 模式下无效 --- */
625
- 'taskId'?: number;
626
-
627
- 'title'?: string;
628
- 'content': string;
629
- 'cancel'?: boolean;
630
- }
631
-
632
- /** --- Prompt 选项 --- */
633
- export interface IFormPromptOptions {
634
- /** --- 当前的 taskId,App 模式下无效 --- */
635
- 'taskId'?: number;
636
-
637
- /** --- 标题 --- */
638
- 'title'?: string;
639
- /** --- 内容说明 --- */
640
- 'content': string;
641
- /** --- 文本默认值 --- */
642
- 'text'?: string;
643
- /** --- 是否显示取消按钮,默认显示 --- */
644
- 'cancel'?: boolean;
645
-
646
- 'select'?: (this: AbstractForm & { 'data': Record<string, any>; }, e: IFormPromptSelectEvent, button: string) => void;
647
- }
648
-
649
- export interface IFormPromptSelectEvent extends ICustomEvent {
650
- 'detail': {
651
- 'button': string;
652
- 'value': string;
653
- };
654
- }
655
-
656
- export interface IFormSetTopMostOptions {
657
- /** --- 当前 taskId,App 模式下无效 --- */
658
- 'taskId'?: number;
659
- /** --- 当前的 formId,App 模式下留空为当前窗体 --- */
660
- 'formId'?: number;
661
- }
662
-
663
- /** --- 移动 drag 到新位置函数的选项 --- */
664
- export interface IMoveDragOptions {
665
- 'top'?: number;
666
- 'left'?: number;
667
- 'width'?: number;
668
- 'height'?: number;
669
- 'icon'?: boolean;
670
- }
671
-
672
- export interface IAlertOptions {
673
- 'content'?: string;
674
- 'type'?: 'primary' | 'info' | 'warning' | 'danger' | 'progress';
675
- }
676
-
677
- export interface INotifyOptions {
678
- 'title'?: string;
679
- 'content'?: string;
680
- 'icon'?: string | null;
681
- 'timeout'?: number;
682
- 'type'?: 'primary' | 'info' | 'warning' | 'danger' | 'progress';
683
- 'progress'?: boolean;
684
- }
685
-
686
- export interface INotifyContentOptions {
687
- 'title'?: string;
688
- 'content'?: string;
689
- }
690
-
691
- // --- Custom Event Control ---
692
-
693
- interface ICustomEvent {
694
- 'go': boolean;
695
- preventDefault: () => void;
696
- }
697
-
698
- // --- AbstractPanel ---
699
-
700
- export interface IAbstractPanelShowEvent {
701
- 'detail': {
702
- 'data': Record<string, any>;
703
- /** --- 是否是 nav 模式 --- */
704
- 'nav': boolean;
705
- /** --- 仅 nav 联动时有效,代表是前进还是回退 --- */
706
- 'action': 'forword' | 'back';
707
- /** --- 仅 nav 联动时有效,代表上一个的 formHash 的值 --- */
708
- 'previous': string;
709
- /** --- 仅 nav 联动时有效,代表本次 show 的时候 qs 是否发生了变化 --- */
710
- 'qsChange': boolean;
711
- };
712
- }
713
-
714
- export interface IAbstractPanelQsChangeShowEvent {
715
- 'detail': {
716
- 'data': Record<string, any>;
717
- /** --- 是否是 nav 模式 --- */
718
- 'nav': boolean;
719
- /** --- 仅 nav 联动时有效,代表是前进还是回退 --- */
720
- 'action': 'forword' | 'back';
721
- /** --- 仅 nav 联动时有效,代表上一个的 formHash 的值 --- */
722
- 'previous': string;
723
- /** --- 仅 nav 联动时有效,代表本次 qs 是否发生了变化 --- */
724
- 'qsChange': boolean;
725
- };
726
- }
727
-
728
- // --- Check Control ---
729
-
730
- export interface ICheckChangeEvent extends ICustomEvent {
731
- 'detail': {
732
- 'value': boolean;
733
- 'indeterminate': boolean;
734
- };
735
- }
736
-
737
- export interface ICheckChangedEvent {
738
- 'detail': {
739
- 'value': boolean;
740
- 'indeterminate': boolean;
741
- };
742
- }
743
-
744
- // --- Number Control ---
745
-
746
- export interface INumberBeforeChangeEvent extends ICustomEvent {
747
- 'detail': {
748
- 'value': string;
749
- 'change'?: string;
750
- };
751
- }
752
-
753
- export interface INumberMinMaxChangeEvent extends ICustomEvent {
754
- 'detail': {
755
- 'before': string;
756
- 'value': string;
757
- };
758
- }
759
-
760
- // --- Text Control ---
761
-
762
- export interface ITextBeforeChangeEvent extends ICustomEvent {
763
- 'detail': {
764
- 'value': string;
765
- 'change'?: string;
766
- };
767
- }
768
-
769
- export interface ITextMinMaxChangeEvent extends ICustomEvent {
770
- 'detail': {
771
- 'before': string;
772
- 'value': string;
773
- };
774
- }
775
-
776
- // --- MenulistItem Control ---
777
-
778
- export interface IMenulistItemCheckEvent extends ICustomEvent {
779
- 'detail': {
780
- /** --- 当前要选中的项 --- */
781
- 'value': string | boolean;
782
- /** --- radio 模式下,当前项的 label 内容 --- */
783
- 'label'?: string;
784
- };
785
- }
786
-
787
- // --- Date Control ---
788
-
789
- export interface IDateChangedEvent {
790
- 'detail': {
791
- 'before'?: number;
792
- 'value'?: number;
793
- };
794
- }
795
-
796
- // --- Calendar Control ---
797
-
798
- export interface ICalendarSelectedEvent {
799
- 'detail': {
800
- 'year': string;
801
- 'month': string;
802
- 'date': string;
803
- 'value': string;
804
- 'type': 'default' | 'click';
805
- };
806
- }
807
-
808
- // --- Datepanel Control ---
809
-
810
- export interface IDatepanelRangeEvent extends ICustomEvent {
811
- 'detail': {
812
- 'start': number;
813
- 'end': number;
814
- };
815
- }
816
-
817
- export interface IDatepanelChangedEvent {
818
- 'detail': {
819
- 'before'?: number;
820
- 'value'?: number;
821
- };
822
- }
823
-
824
- export interface IDatepanelSelectedEvent {
825
- 'detail': {
826
- 'time': number;
827
- 'date': number;
828
- 'month': number;
829
- 'year': number;
830
- 'day': number;
831
- 'str': string;
832
- };
833
- }
834
-
835
- // --- Form Control ---
836
-
837
- export interface IFormCloseEvent extends ICustomEvent {
838
- 'detail': {
839
- 'event': MouseEvent;
840
- };
841
- }
842
-
843
- export interface IFormMaxEvent {
844
- 'detail': {
845
- 'event': MouseEvent | TouchEvent | null;
846
- 'action': 'click' | 'move';
847
- /** --- 当前是否时最大化状态 --- */
848
- 'max': boolean;
849
- /** --- 最大化之前的窗体位置 --- */
850
- 'history': {
851
- 'width': number;
852
- 'height': number;
853
- 'left': number;
854
- 'top': number;
855
- } | null;
856
- };
857
- }
858
-
859
- export interface IFormMinEvent {
860
- 'detail': {
861
- 'event': MouseEvent | TouchEvent | null;
862
- 'action': 'click' | 'method';
863
- /** --- 当前是否时最小化状态 --- */
864
- 'min': boolean;
865
- /** --- 最小化之前的窗体位置 --- */
866
- 'history': {
867
- 'width': number;
868
- 'height': number;
869
- 'left': number;
870
- 'top': number;
871
- } | null;
872
- };
873
- }
874
-
875
- // --- Greatlist Control ---
876
-
877
- export interface IGreatlistChangeEvent extends ICustomEvent {
878
- 'detail': {
879
- 'value': number[];
880
- };
881
- }
882
-
883
- export interface IGreatlistChangedEvent {
884
- 'detail': {
885
- 'value': number[];
886
- };
887
- }
888
-
889
- export interface IGreatlistRemoveEvent extends ICustomEvent {
890
- 'detail': {
891
- 'index': number;
892
- 'value': number;
893
- };
894
- }
895
-
896
- export interface IGreatlistAddEvent extends ICustomEvent {
897
- 'detail': {
898
- 'index': number;
899
- 'value': number;
900
- };
901
- }
902
-
903
- export interface IGreatlistItemclickedEvent {
904
- 'detail': {
905
- 'event': MouseEvent | TouchEvent;
906
- 'value': number;
907
- 'arrow': boolean;
908
- };
909
- }
910
-
911
- export interface IGreatlistItemdblclickedEvent {
912
- 'detail': {
913
- 'event': MouseEvent | TouchEvent;
914
- 'value': number;
915
- 'arrow': boolean;
916
- };
917
- }
918
-
919
- // --- Greatselect Control ---
920
-
921
- export interface IGreatselectChangeEvent extends ICustomEvent {
922
- 'detail': {
923
- 'value': number[];
924
- };
925
- }
926
-
927
- export interface IGreatselectChangedEvent {
928
- 'detail': {
929
- 'value': number[];
930
- };
931
- }
932
-
933
- export interface IGreatselectRemoveEvent extends ICustomEvent {
934
- 'detail': {
935
- 'value': number;
936
- };
937
- }
938
-
939
- export interface IGreatselectAddEvent extends ICustomEvent {
940
- 'detail': {
941
- 'value': number;
942
- };
943
- }
944
-
945
- // --- Captcha Control ---
946
-
947
- export interface ICaptchaResultEvent {
948
- 'detail': {
949
- 'result': number;
950
- 'token': string;
951
- };
952
- }
953
-
954
- // --- Pdf Control ---
955
-
956
- export interface IPdfViewEvent {
957
- 'detail': {
958
- /** --- 宽度 point --- */
959
- 'width': number;
960
- /** --- 高度 point --- */
961
- 'height': number;
962
- /** --- 宽度英寸 --- */
963
- 'inwidth': number;
964
- /** --- 高度英寸 --- */
965
- 'inheight': number;
966
- /** --- 宽度像素 --- */
967
- 'pxwidth': number;
968
- /** --- 高度像素 --- */
969
- 'pxheight': number;
970
- };
971
- }
972
-
973
- // --- Iconview Control ---
974
-
975
- export interface IIconviewItemclickedEvent {
976
- 'detail': {
977
- 'event': MouseEvent | TouchEvent;
978
- 'value': number;
979
- };
980
- }
981
-
982
- export interface IIconviewOpenEvent {
983
- 'detail': {
984
- 'value': number[];
985
- };
986
- }
987
-
988
- export interface IIconviewDropEvent {
989
- 'detail': {
990
- 'self': boolean;
991
- 'from': Array<{
992
- 'index': number;
993
- 'type': 0 | 1 | -1 | undefined;
994
- 'path': string;
995
- }>;
996
- 'to': {
997
- 'index': number;
998
- 'type': 0 | 1 | -1 | undefined;
999
- 'path': string;
1000
- };
1001
- };
1002
- }
1003
-
1004
- export interface IIconviewSelectEvent {
1005
- 'detail': {
1006
- 'area': {
1007
- 'x': number;
1008
- 'y': number;
1009
- 'width': number;
1010
- 'height': number;
1011
- 'shift': boolean;
1012
- 'ctrl': boolean;
1013
- 'start': number;
1014
- 'end': number;
1015
- 'empty': boolean;
1016
- };
1017
- };
1018
- }
1019
-
1020
- // --- Levelselect Control ---
1021
-
1022
- export interface ILevelselectLevelEvent {
1023
- 'detail': {
1024
- 'list': Array<{
1025
- 'label': string;
1026
- 'value': string;
1027
- }>;
1028
- 'values': string[];
1029
- 'labels': string[];
1030
- };
1031
- }
1032
-
1033
- // --- Checklist Control ---
1034
-
1035
- export interface IChecklistRemoveEvent extends ICustomEvent {
1036
- 'detail': {
1037
- 'index': number;
1038
- 'value': string;
1039
- };
1040
- }
1041
-
1042
- export interface IChecklistAddEvent extends ICustomEvent {
1043
- 'detail': {
1044
- 'index': number;
1045
- 'value': string;
1046
- };
1047
- }
1048
-
1049
- export interface IChecklistItemclickedEvent {
1050
- 'detail': {
1051
- 'event': MouseEvent | TouchEvent;
1052
- 'value': string;
1053
- 'arrow': boolean;
1054
- };
1055
- }
1056
-
1057
- // --- List Control ---
1058
-
1059
- export interface IListChangeEvent extends ICustomEvent {
1060
- 'detail': {
1061
- 'value': string[];
1062
- };
1063
- }
1064
-
1065
- export interface IListChangedEvent {
1066
- 'detail': {
1067
- 'value': string[];
1068
- };
1069
- }
1070
-
1071
- export interface IListRemoveEvent extends ICustomEvent {
1072
- 'detail': {
1073
- 'index': number;
1074
- 'value': string;
1075
- };
1076
- }
1077
-
1078
- export interface IListAddEvent extends ICustomEvent {
1079
- 'detail': {
1080
- 'index': number;
1081
- 'value': string;
1082
- };
1083
- }
1084
-
1085
- export interface IListItemclickedEvent {
1086
- 'detail': {
1087
- 'event': MouseEvent | TouchEvent;
1088
- 'value': string;
1089
- 'arrow': boolean;
1090
- };
1091
- }
1092
-
1093
- export interface IListItemdblclickedEvent {
1094
- 'detail': {
1095
- 'event': MouseEvent | TouchEvent;
1096
- 'value': string;
1097
- 'arrow': boolean;
1098
- };
1099
- }
1100
-
1101
- // --- Nav Item ---
1102
-
1103
- export interface INavItemSelectEvent extends ICustomEvent {
1104
- 'detail': {
1105
- 'name': string;
1106
- 'selected': string;
1107
- };
1108
- }
1109
-
1110
- // --- Panel Item ---
1111
-
1112
- export interface IPanelGoEvent extends ICustomEvent {
1113
- 'detail': {
1114
- 'from': string;
1115
- 'to': string;
1116
- };
1117
- }
1118
-
1119
- export interface IPanelWentEvent {
1120
- 'detail': {
1121
- 'result': boolean;
1122
- 'from': string;
1123
- 'to': string;
1124
- };
1125
- }
1126
-
1127
- // --- Radio Control ---
1128
-
1129
- export interface IRadioChangeEvent extends ICustomEvent {
1130
- 'detail': {
1131
- /** --- 设定的值 --- */
1132
- 'value': string;
1133
- /** --- 选中的值 --- */
1134
- 'selected': string;
1135
- };
1136
- }
1137
-
1138
- // --- Palette Control ---
1139
-
1140
- export interface IPaletteChangedEvent {
1141
- 'detail': {
1142
- /** --- 颜色值 --- */
1143
- 'value': string;
1144
- /** --- 对象 --- */
1145
- 'hsl'?: {
1146
- 'h': number;
1147
- 's': number;
1148
- 'l': number;
1149
- 'a': number;
1150
- };
1151
- 'rgb'?: {
1152
- 'r': number;
1153
- 'g': number;
1154
- 'b': number;
1155
- 'a': number;
1156
- };
1157
- };
1158
- }
1159
-
1160
- // --- Colorist Control ---
1161
-
1162
- export interface IColoristChangedEvent {
1163
- 'detail': {
1164
- /** --- 颜色值 --- */
1165
- 'value': string;
1166
- /** --- 对象 --- */
1167
- 'hsl'?: {
1168
- 'h': number;
1169
- 's': number;
1170
- 'l': number;
1171
- 'a': number;
1172
- };
1173
- 'rgb'?: {
1174
- 'r': number;
1175
- 'g': number;
1176
- 'b': number;
1177
- 'a': number;
1178
- };
1179
- };
1180
- }
1181
-
1182
- // --- Select Control ---
1183
-
1184
- export interface ISelectAddEvent extends ICustomEvent {
1185
- 'detail': {
1186
- 'index': number;
1187
- 'value': string;
1188
- };
1189
- }
1190
-
1191
- export interface ISelectRemoveEvent extends ICustomEvent {
1192
- 'detail': {
1193
- 'index': number;
1194
- 'value': string;
1195
- 'mode': 'backspace' | 'tag' | 'list';
1196
- };
1197
- }
1198
-
1199
- export interface ISelectAddedEvent {
1200
- 'detail': {
1201
- 'index': number;
1202
- 'value': string;
1203
- };
1204
- }
1205
-
1206
- export interface ISelectRemovedEvent {
1207
- 'detail': {
1208
- 'index': number;
1209
- 'value': string;
1210
- 'mode': 'backspace' | 'tag' | 'list';
1211
- };
1212
- }
1213
-
1214
- export interface ISelectChangeEvent extends ICustomEvent {
1215
- 'detail': {
1216
- 'value': string[];
1217
- };
1218
- }
1219
-
1220
- export interface ISelectChangedEvent {
1221
- 'detail': {
1222
- 'before': string[];
1223
- 'value': string[];
1224
- };
1225
- }
1226
-
1227
- export interface ISelectTagclickEvent {
1228
- 'detail': {
1229
- 'index': number;
1230
- 'value': string;
1231
- };
1232
- }
1233
-
1234
- export interface ISelectRemoteEvent {
1235
- 'detail': {
1236
- 'value': string;
1237
- 'callback': (data?: any[] | Record<string, string>) => Promise<void>;
1238
- };
1239
- }
1240
-
1241
- export interface ISelectItemclickedEvent {
1242
- 'detail': {
1243
- 'event': MouseEvent | TouchEvent;
1244
- 'value': string;
1245
- 'arrow': boolean;
1246
- };
1247
- }
1248
-
1249
- // --- Switch Control ---
1250
-
1251
- export interface ISwitchChangeEvent extends ICustomEvent {
1252
- 'detail': {
1253
- 'value': boolean;
1254
- };
1255
- }
1256
-
1257
- // --- Tab Control ---
1258
-
1259
- export interface ITabChangeEvent extends ICustomEvent {
1260
- 'detail': {
1261
- 'value': string;
1262
- };
1263
- }
1264
-
1265
- export interface ITabChangedEvent {
1266
- 'detail': {
1267
- 'value': string;
1268
- };
1269
- }
1270
-
1271
- export interface ITabCloseEvent extends ICustomEvent {
1272
- 'detail': {
1273
- 'index': number;
1274
- 'value': string;
1275
- };
1276
- }
1277
-
1278
- // --- Table Control ---
1279
-
1280
- export interface ITableSortEvent extends ICustomEvent {
1281
- 'detail': {
1282
- 'index': number;
1283
- 'label': string;
1284
- 'sort': 'desc' | 'asc';
1285
- };
1286
- }
1287
-
1288
- // --- Tuieditor Control ---
1289
-
1290
- export interface ITuieditorImguploadEvent {
1291
- 'detail': {
1292
- 'file': Blob;
1293
- 'callback': (url: string, opt?: {
1294
- 'alt'?: string;
1295
- 'width'?: number;
1296
- 'height'?: number;
1297
- 'align'?: string;
1298
- }) => void | Promise<void>;
1299
- };
1300
- }
1301
-
1302
- // -------------------------
1303
- // ---------- vue ----------
1304
- // -------------------------
1305
-
1306
- export interface IVueObject {
1307
- createApp(opt: any): IVApp;
1308
- ref<T extends number | string>(obj: T): { 'value': T; };
1309
- reactive<T>(obj: T): T;
1310
- watch(
1311
- v: any,
1312
- cb: (n: any, o: any) => void | Promise<void>,
1313
- opt: Record<string, string | boolean>
1314
- ): void;
1315
- h(tag: string, props?: Record<string, any> | any[], list?: any[]): any;
1316
- }
1317
-
1318
- export type IVueOptionMergeFunction = (to: unknown, from: unknown, instance: IVue) => any;
1319
-
1320
- export interface IVueConfig {
1321
- errorHandler?(err: unknown, instance: IVue | null, info: string): void;
1322
- 'globalProperties': Record<string, any>;
1323
- isCustomElement(tag: string): boolean;
1324
- 'optionMergeStrategies': Record<string, IVueOptionMergeFunction>;
1325
- 'performance': boolean;
1326
- warnHandler?(msg: string, instance: IVue | null, trace: string): void;
1327
- }
1328
-
1329
- export interface IVApp {
1330
- component(name: string): any | undefined;
1331
- component(name: string, config: any): this;
1332
- 'config': IVueConfig;
1333
- directive(name: string): any | undefined;
1334
- directive(name: string, config: any): this;
1335
- mixin(mixin: any): this;
1336
- mount(rootContainer: HTMLElement | string): IVue;
1337
- provide<T>(key: string, value: T): this;
1338
- unmount(): void;
1339
- 'version': string;
1340
-
1341
- ['_container']: HTMLElement;
1342
- }
1343
-
1344
- export interface IVue {
1345
- '$attrs': Record<string, string>;
1346
- '$data': Record<string, any>;
1347
- '$el': HTMLElement;
1348
- $emit(name: string, ...arg: any): void;
1349
- $forceUpdate(): void;
1350
- $nextTick(): Promise<void>;
1351
- '$options': Record<string, any>;
1352
- '$parent': IVue | null;
1353
- '$props': Record<string, any>;
1354
- '$refs': Record<string, HTMLElement & IVue>;
1355
- '$root': IVue;
1356
- '$slots': {
1357
- 'default': undefined | ((o?: any) => IVNode[]);
1358
- [key: string]: undefined | ((o?: any) => IVNode[]);
1359
- };
1360
- '$watch': (o: any, cb: (n: any, o: any) => void) => void;
1361
-
1362
- [key: string]: any;
1363
- }
1364
-
1365
- export interface IVNode {
1366
- 'children': {
1367
- 'default': undefined | (() => IVNode[]);
1368
- [key: string]: undefined | (() => IVNode[]);
1369
- } & IVNode[];
1370
- 'props': Record<string, any>;
1371
- 'type': symbol | Record<string, any>;
1372
-
1373
- [key: string]: any;
1374
- }