clickgo 3.1.3-dev12 → 3.1.5-dev14
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.
- package/README.md +1 -1
- package/dist/app/demo/app.js +1 -1
- package/dist/app/demo/config.json +9 -2
- package/dist/app/demo/form/control/text/text.js +1 -0
- package/dist/app/demo/form/control/text/text.xml +1 -1
- package/dist/app/demo/form/event/other/other.js +29 -0
- package/dist/app/demo/form/event/other/other.xml +5 -0
- package/dist/app/demo/form/main.js +51 -51
- package/dist/app/demo/form/main.xml +1 -0
- package/dist/app/demo/form/method/aform/aform.js +2 -13
- package/dist/app/demo/form/method/aform/aform.xml +0 -1
- package/dist/app/demo/form/method/aform/sd.js +25 -0
- package/dist/app/demo/form/method/aform/{test.xml → sd.xml} +3 -2
- package/dist/app/demo/form/method/core/core.js +12 -0
- package/dist/app/demo/form/method/core/core.xml +4 -0
- package/dist/app/demo/form/method/form/form.js +5 -6
- package/dist/app/demo/form/method/form/form.xml +1 -0
- package/dist/app/demo/form/method/form/test.xml +5 -0
- package/dist/app/demo/form/method/fs/fs.js +1 -4
- package/dist/app/demo/form/method/task/task.js +9 -1
- package/dist/app/demo/form/method/task/task.xml +1 -0
- package/dist/app/demo/form/method/tool/tool.js +3 -0
- package/dist/app/demo/form/method/tool/tool.xml +1 -0
- package/dist/app/demo/form/method/zip/zip.js +1 -4
- package/dist/app/task/app.js +1 -1
- package/dist/control/common.cgc +0 -0
- package/dist/control/form.cgc +0 -0
- package/dist/control/monaco.cgc +0 -0
- package/dist/control/property.cgc +0 -0
- package/dist/control/task.cgc +0 -0
- package/dist/global.css +1 -1
- package/dist/index.js +3 -0
- package/dist/index.ts +6 -0
- package/dist/lib/core.js +59 -10
- package/dist/lib/core.ts +67 -10
- package/dist/lib/dom.js +3 -3
- package/dist/lib/dom.ts +4 -4
- package/dist/lib/form.js +240 -215
- package/dist/lib/form.ts +290 -249
- package/dist/lib/fs.js +107 -12
- package/dist/lib/fs.ts +111 -20
- package/dist/lib/native.js +8 -1
- package/dist/lib/native.ts +6 -0
- package/dist/lib/task.js +253 -14
- package/dist/lib/task.ts +298 -12
- package/dist/lib/tool.js +39 -1
- package/dist/lib/tool.ts +45 -0
- package/dist/theme/familiar.cgt +0 -0
- package/package.json +3 -3
- package/types/index.d.ts +70 -52
package/types/index.d.ts
CHANGED
|
@@ -83,7 +83,7 @@ export interface IAvailArea {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/** --- 全局事件类型 --- */
|
|
86
|
-
export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCreated' | 'formRemoved' | 'formTitleChanged' | 'formIconChanged' | 'formStateMinChanged' | 'formStateMaxChanged' | 'formShowChanged' | 'formFocused' | 'formBlurred' | 'formFlash' | 'taskStarted' | 'taskEnded' | 'launcherFolderNameChanged';
|
|
86
|
+
export type TGlobalEvent = 'error' | 'screenResize' | 'configChanged' | 'formCreated' | 'formRemoved' | 'formTitleChanged' | 'formIconChanged' | 'formStateMinChanged' | 'formStateMaxChanged' | 'formShowChanged' | 'formFocused' | 'formBlurred' | 'formFlash' | 'taskStarted' | 'taskEnded' | 'launcherFolderNameChanged' | 'hashChanged';
|
|
87
87
|
|
|
88
88
|
/** --- 现场下载 app 的参数 --- */
|
|
89
89
|
export interface ICoreFetchAppOptions {
|
|
@@ -99,7 +99,7 @@ export interface IApp {
|
|
|
99
99
|
'config': IAppConfig;
|
|
100
100
|
/** --- 所有已加载的文件内容 --- */
|
|
101
101
|
'files': Record<string, Blob | string>;
|
|
102
|
-
/** ---
|
|
102
|
+
/** --- 应用图标 --- */
|
|
103
103
|
'icon': string;
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -119,7 +119,7 @@ export interface IAppConfig {
|
|
|
119
119
|
/** --- 将自动加载的主题 --- */
|
|
120
120
|
'themes'?: string[];
|
|
121
121
|
/** --- 将自动申请的权限 --- */
|
|
122
|
-
'permissions'?:
|
|
122
|
+
'permissions'?: string[];
|
|
123
123
|
/** --- 将自动加载的语言包,path: lang --- */
|
|
124
124
|
'locales'?: Record<string, string>;
|
|
125
125
|
/** --- 全局样式,不带扩展名,系统会在末尾添加 .css --- */
|
|
@@ -129,6 +129,8 @@ export interface IAppConfig {
|
|
|
129
129
|
|
|
130
130
|
/** --- 将要加载的非 js 文件列表,打包为 cga 模式下此配置可省略 --- */
|
|
131
131
|
'files'?: string[];
|
|
132
|
+
/** --- import 的目录映射关系 --- */
|
|
133
|
+
'map'?: Record<string, string>;
|
|
132
134
|
}
|
|
133
135
|
|
|
134
136
|
// -------------------------
|
|
@@ -284,58 +286,68 @@ export interface IFormInfo {
|
|
|
284
286
|
'focus': boolean;
|
|
285
287
|
}
|
|
286
288
|
|
|
287
|
-
/** --- 窗体创建选项 --- */
|
|
288
|
-
export interface IFormCreateOptions {
|
|
289
|
-
'code'?: IFormCreateCode;
|
|
290
|
-
'layout': string;
|
|
291
|
-
'style'?: string;
|
|
292
|
-
|
|
293
|
-
/** --- 当前窗体的基准路径,不以 / 结尾,仅用作传值,App 内无法填写 --- */
|
|
294
|
-
'path'?: string;
|
|
295
|
-
/** --- 传递到 onMounted 的数据 --- */
|
|
296
|
-
'data'?: Record<string, any>;
|
|
297
|
-
/** --- APP 内无法填写 --- */
|
|
298
|
-
'taskId'?: number;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
/** --- 窗体的 code 参数 --- */
|
|
302
|
-
export interface IFormCreateCode {
|
|
303
|
-
'data'?: Record<string, any>;
|
|
304
|
-
'access'?: Record<string, any>;
|
|
305
|
-
'methods'?: Record<string, any>;
|
|
306
|
-
'computed'?: Record<string, {
|
|
307
|
-
'get'?: any;
|
|
308
|
-
'set'?: any;
|
|
309
|
-
}>;
|
|
310
|
-
'beforeCreate'?: any;
|
|
311
|
-
'created'?: any;
|
|
312
|
-
'beforeMount'?: any;
|
|
313
|
-
'mounted'?: any;
|
|
314
|
-
'beforeUpdate'?: any;
|
|
315
|
-
'updated'?: any;
|
|
316
|
-
'beforeUnmount'?: any;
|
|
317
|
-
'unmounted'?: any;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
289
|
// --------------------------
|
|
321
290
|
// --------- fs lib ---------
|
|
322
291
|
// --------------------------
|
|
323
292
|
|
|
293
|
+
export interface IMountHandler {
|
|
294
|
+
'taskId'?: number;
|
|
295
|
+
getContent?: (path: string, options?: BufferEncoding | {
|
|
296
|
+
'encoding'?: BufferEncoding;
|
|
297
|
+
'start'?: number;
|
|
298
|
+
'end'?: number;
|
|
299
|
+
'files'?: Record<string, Blob | string>;
|
|
300
|
+
'current'?: string;
|
|
301
|
+
'progress'?: (loaded: number, total: number) => void | Promise<void>;
|
|
302
|
+
}) => Promise<Blob | string | null>;
|
|
303
|
+
putContent?: (path: string, data: string | Blob, options?: {
|
|
304
|
+
'encoding'?: BufferEncoding | null;
|
|
305
|
+
'mode'?: string | number;
|
|
306
|
+
'flag'?: string | number;
|
|
307
|
+
'current'?: string;
|
|
308
|
+
}) => Promise<boolean>;
|
|
309
|
+
readLink?: (path: string, options?: BufferEncoding | {
|
|
310
|
+
'encoding'?: BufferEncoding;
|
|
311
|
+
/** --- 不以 / 结尾的路径 --- */
|
|
312
|
+
'current'?: string;
|
|
313
|
+
}) => Promise<string | null>;
|
|
314
|
+
symlink?: (filePath: string, linkPath: string, options?: {
|
|
315
|
+
'type'?: 'dir' | 'file' | 'junction';
|
|
316
|
+
'current'?: string;
|
|
317
|
+
}) => Promise<boolean>;
|
|
318
|
+
unlink?: (path: string, options?: {
|
|
319
|
+
'current'?: string;
|
|
320
|
+
}) => Promise<boolean>;
|
|
321
|
+
stats: (path: string, options?: {
|
|
322
|
+
'files'?: Record<string, Blob | string>;
|
|
323
|
+
'current'?: string;
|
|
324
|
+
}) => Promise<IStats | null>;
|
|
325
|
+
mkdir: (path: string, mode?: number, options?: {
|
|
326
|
+
'current'?: string;
|
|
327
|
+
}) => Promise<boolean>;
|
|
328
|
+
rmdir: (path: string, options?: {
|
|
329
|
+
'current'?: string;
|
|
330
|
+
}) => Promise<boolean>;
|
|
331
|
+
chmod: (path: string, mod: string | number, options?: {
|
|
332
|
+
'current'?: string;
|
|
333
|
+
}) => Promise<boolean>;
|
|
334
|
+
}
|
|
335
|
+
|
|
324
336
|
/** --- 文件/文件夹信息对象 --- */
|
|
325
337
|
export interface IStats {
|
|
326
338
|
isFile(): boolean;
|
|
327
339
|
isDirectory(): boolean;
|
|
328
340
|
isSymbolicLink(): boolean;
|
|
329
|
-
size: number;
|
|
330
|
-
blksize: number;
|
|
331
|
-
atimeMs: number;
|
|
332
|
-
mtimeMs: number;
|
|
333
|
-
ctimeMs: number;
|
|
334
|
-
birthtimeMs: number;
|
|
335
|
-
atime: Date;
|
|
336
|
-
mtime: Date;
|
|
337
|
-
ctime: Date;
|
|
338
|
-
birthtime: Date;
|
|
341
|
+
'size': number;
|
|
342
|
+
'blksize': number;
|
|
343
|
+
'atimeMs': number;
|
|
344
|
+
'mtimeMs': number;
|
|
345
|
+
'ctimeMs': number;
|
|
346
|
+
'birthtimeMs': number;
|
|
347
|
+
'atime': Date;
|
|
348
|
+
'mtime': Date;
|
|
349
|
+
'ctime': Date;
|
|
350
|
+
'birthtime': Date;
|
|
339
351
|
}
|
|
340
352
|
|
|
341
353
|
/** --- 目录下项目 --- */
|
|
@@ -343,7 +355,7 @@ export interface IDirent {
|
|
|
343
355
|
isFile(): boolean;
|
|
344
356
|
isDirectory(): boolean;
|
|
345
357
|
isSymbolicLink(): boolean;
|
|
346
|
-
name: string;
|
|
358
|
+
'name': string;
|
|
347
359
|
}
|
|
348
360
|
|
|
349
361
|
// --------------------------
|
|
@@ -370,7 +382,7 @@ export interface ITask {
|
|
|
370
382
|
/** --- 独占窗体序列 --- */
|
|
371
383
|
'dialogFormIds': number[];
|
|
372
384
|
/** --- 已申请的权限列表 --- */
|
|
373
|
-
'permissions':
|
|
385
|
+
'permissions': string[];
|
|
374
386
|
};
|
|
375
387
|
/** --- 窗体对象列表 --- */
|
|
376
388
|
'forms': Record<string, IForm>;
|
|
@@ -403,8 +415,10 @@ export interface ITaskRunOptions {
|
|
|
403
415
|
'notify'?: boolean;
|
|
404
416
|
/** --- 所属任务,App 模式无法设置 --- */
|
|
405
417
|
'taskId'?: number;
|
|
406
|
-
/** --- 不禁止某些浏览器对象,App
|
|
418
|
+
/** --- 不禁止某些浏览器对象,App 模式下仅能设置基任务中已经 unblock 的值 --- */
|
|
407
419
|
'unblock'?: string[];
|
|
420
|
+
/** --- 直接赋予此任务相应权限,App 模式下有 "root" 权限的应用才能设置 --- */
|
|
421
|
+
'permissions'?: string[];
|
|
408
422
|
}
|
|
409
423
|
|
|
410
424
|
export interface ICreateTimerOptions {
|
|
@@ -527,15 +541,19 @@ export interface IZipMetadata {
|
|
|
527
541
|
|
|
528
542
|
/** --- Dialog 选项 --- */
|
|
529
543
|
export interface IFormDialogOptions {
|
|
530
|
-
/** --- 当前的 taskId,App 模式下无效 --- */
|
|
531
|
-
'taskId'?: number;
|
|
532
|
-
|
|
533
544
|
'title'?: string;
|
|
534
545
|
'content': string;
|
|
535
546
|
'buttons'?: string[];
|
|
536
547
|
'direction'?: 'h' | 'v';
|
|
537
548
|
|
|
549
|
+
'style'?: string;
|
|
550
|
+
/** --- 路径基,以 / 结束或文件路径则以文件的基路径为准,可留空 --- */
|
|
551
|
+
'path'?: string;
|
|
552
|
+
|
|
538
553
|
'select'?: (e: Event, button: string) => void;
|
|
554
|
+
|
|
555
|
+
/** --- 当前的 taskId,App 模式下无效 --- */
|
|
556
|
+
'taskId'?: number;
|
|
539
557
|
}
|
|
540
558
|
|
|
541
559
|
/** --- Confirm 选项 --- */
|