@gct-paas/word 0.1.39 → 0.1.42
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/dist/core/data/DataManager.d.ts +4 -2
- package/dist/index.es.js +1983 -179
- package/dist/runtime/_register_/runtime/SuiteRuntime.d.ts +4 -0
- package/dist/runtime/factories/useWidgetInitializer.d.ts +3 -1
- package/dist/runtime/interface/change-diff.d.ts +2 -0
- package/dist/sdk/doc-runtime/composables/useDocOperations.d.ts +2 -0
- package/dist/sdk/engine/index.d.ts +0 -1
- package/dist/sdk/types/field-model-query.d.ts +2 -0
- package/dist/sdk/types/index.d.ts +16 -7
- package/dist/utils/func/render.d.ts +11 -3
- package/package.json +5 -4
|
@@ -28,6 +28,10 @@ export declare class SuiteRuntime implements FieldModelQuery {
|
|
|
28
28
|
getFieldByKeyAsync(modelKey: ModelKey, key: string): FieldMeta | undefined;
|
|
29
29
|
getFieldByIdAsync(modelKey: ModelKey, id: string): FieldMeta | undefined;
|
|
30
30
|
getModel(modelKey: ModelKey): ModelMeta | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 确保主模型字段已拉取并写入缓存(避免 preload 与文档 immediate 加载竞态)。
|
|
33
|
+
*/
|
|
34
|
+
ensureModelFieldsReady(modelKey: ModelKey): Promise<void>;
|
|
31
35
|
getMasterSlaveFieldList(modelKey: ModelKey): FieldMeta[];
|
|
32
36
|
reloadFields(modelKey: ModelKey): Promise<import('../../../capabilities/model-field-runtime').FieldListResult>;
|
|
33
37
|
reloadModel(modelKey: ModelKey): Promise<[ModelMeta | undefined, import('../../../capabilities/model-field-runtime').FieldListResult]>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Doc } from '../../core';
|
|
2
2
|
export interface WidgetInitializerOptions {
|
|
3
|
-
doc
|
|
3
|
+
doc?: Doc;
|
|
4
4
|
widget: any;
|
|
5
5
|
fieldInfo?: any;
|
|
6
6
|
ctx?: any;
|
|
7
7
|
}
|
|
8
|
+
/** 运行时执行单个 widget 初始化 */
|
|
9
|
+
export declare function applyWidgetRuntimeInitializer(options: WidgetInitializerOptions): void;
|
|
8
10
|
/** widget 运行时初始化 */
|
|
9
11
|
export declare function useWidgetInitializer(options: WidgetInitializerOptions): {
|
|
10
12
|
init: (isSupport: boolean) => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SubTableInfo } from '../../sdk/types';
|
|
1
2
|
interface WidgetFieldMeta {
|
|
2
3
|
id: string;
|
|
3
4
|
metaKey: string;
|
|
@@ -22,5 +23,6 @@ export declare function buildFieldChangeList(params: {
|
|
|
22
23
|
baselineData: Record<string, any> | undefined;
|
|
23
24
|
currentData: Record<string, any> | undefined;
|
|
24
25
|
widgetMetaMap?: WidgetFieldMetaMap;
|
|
26
|
+
subTableInfoList?: SubTableInfo[];
|
|
25
27
|
}): FieldChangeItem[];
|
|
26
28
|
export {};
|
|
@@ -2,10 +2,12 @@ import { ShallowRef } from 'vue';
|
|
|
2
2
|
import { Doc } from '../../../core';
|
|
3
3
|
import { FieldChangeItem, WidgetFieldMetaMap } from '../../../runtime/interface/change-diff';
|
|
4
4
|
import { DesignerValidationResult } from '../../types/designer-validation';
|
|
5
|
+
import { SubTableInfo } from '../../types';
|
|
5
6
|
/** 数据变更基线上下文 */
|
|
6
7
|
export interface DocBaselineContext {
|
|
7
8
|
baselineSnapshot: Record<string, any> | undefined;
|
|
8
9
|
widgetMetaMap: WidgetFieldMetaMap;
|
|
10
|
+
subTableInfoList: SubTableInfo[];
|
|
9
11
|
}
|
|
10
12
|
export interface DocUnsavedChanges {
|
|
11
13
|
/** 是否存在未保存改动 */
|
|
@@ -12,4 +12,3 @@ export { useDocumentFactory } from '../doc-runtime/factories/useDocumentFactory'
|
|
|
12
12
|
export { useDocRuntimeProvider } from '../doc-runtime/composables/useDocRuntimeProvider';
|
|
13
13
|
export { useDocOperations } from '../doc-runtime/composables/useDocOperations';
|
|
14
14
|
export { useDocController } from '../doc-runtime/composables/useDocController';
|
|
15
|
-
export { getSubmitFormData } from '../../utils/func/render';
|
|
@@ -14,6 +14,8 @@ export interface FieldModelQuery {
|
|
|
14
14
|
getFieldByIdAsync(modelKey: ModelKey, id: string): FieldMeta | undefined;
|
|
15
15
|
getModel(modelKey: ModelKey): ModelMeta | undefined;
|
|
16
16
|
getMasterSlaveFieldList(modelKey: ModelKey): FieldMeta[];
|
|
17
|
+
/** 拉取并缓存模型字段(幂等,有缓存则跳过请求) */
|
|
18
|
+
ensureModelFieldsReady(modelKey: ModelKey): Promise<void>;
|
|
17
19
|
reloadFields(modelKey: ModelKey): Promise<FieldListResult>;
|
|
18
20
|
reloadModel(modelKey: ModelKey): Promise<[ModelMeta | undefined, FieldListResult]>;
|
|
19
21
|
}
|
|
@@ -10,6 +10,16 @@ import { DesignerValidationResult } from './designer-validation';
|
|
|
10
10
|
export type { DocUnsavedChanges, DocGetUnsavedChangesOptions, } from '../doc-runtime/composables/useDocOperations';
|
|
11
11
|
export type { DesignerValidationError, DesignerValidationResult, DesignerValidationSource, } from './designer-validation';
|
|
12
12
|
export type { FieldModelQuery } from './field-model-query';
|
|
13
|
+
/** 文档模型层子表元信息 */
|
|
14
|
+
export interface SubTableInfo {
|
|
15
|
+
field: string;
|
|
16
|
+
subType: string;
|
|
17
|
+
name: string;
|
|
18
|
+
key: string;
|
|
19
|
+
/** 二维/检验表交叉区 rawData key,形如 f_sub:f_link */
|
|
20
|
+
crossKey?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
13
23
|
/** 字段权限信息 */
|
|
14
24
|
export interface FieldPermissionInfo {
|
|
15
25
|
modelKey: string;
|
|
@@ -62,18 +72,17 @@ export interface DocControllerMethods extends DocOperations {
|
|
|
62
72
|
setModel(model: DocModel): void;
|
|
63
73
|
/** 获取当前文档原始填报数据快照 */
|
|
64
74
|
rawData(): Recordable<any>;
|
|
75
|
+
/**
|
|
76
|
+
* 将填报数据转为提交结构(二维交叉区合并回子表、清理前端占位字段等)。
|
|
77
|
+
* 未传 formData 时使用当前 rawData。
|
|
78
|
+
*/
|
|
79
|
+
getSubmitFormData(formData?: Record<string, any>): Record<string, any>;
|
|
65
80
|
/** 设置当前文档整个原始数据 */
|
|
66
81
|
setRawData(data: Record<string, any>, defaultDataMap?: Record<string, any>): void;
|
|
67
82
|
/** 根据 jsonpath 批量设置文档数据 */
|
|
68
83
|
setMultiple(updates: Record<string, any>): boolean;
|
|
69
84
|
/** 获取当前文档的所有子表信息 */
|
|
70
|
-
getSubTableInfoList():
|
|
71
|
-
field: string;
|
|
72
|
-
subType: string;
|
|
73
|
-
name: string;
|
|
74
|
-
key: string;
|
|
75
|
-
[key: string]: any;
|
|
76
|
-
}>;
|
|
85
|
+
getSubTableInfoList(): SubTableInfo[];
|
|
77
86
|
/** 手动触发文档重新加载 */
|
|
78
87
|
reload(): void;
|
|
79
88
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldMeta } from '../../capabilities/model-field-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { SubTableInfo } from '../../sdk/types';
|
|
3
3
|
export declare function transformSourceData(sourceData: any, i18nData: any): any;
|
|
4
4
|
export declare function transformSourceDataList(data: any[], dict?: {}): {
|
|
5
5
|
_DICT: object;
|
|
@@ -13,7 +13,15 @@ export declare function conversionFormState(payload: {
|
|
|
13
13
|
/** 渲染数据列表 */
|
|
14
14
|
interfaceData: any;
|
|
15
15
|
/** 主要是 WrField */
|
|
16
|
-
|
|
16
|
+
subTableInfoList: {
|
|
17
|
+
field: string;
|
|
18
|
+
key: string;
|
|
19
|
+
name: string;
|
|
20
|
+
subType: string;
|
|
21
|
+
crossKey?: string;
|
|
22
|
+
}[];
|
|
17
23
|
}): Record<string, any>;
|
|
24
|
+
/** 从模型子表元信息解析二维/检验表交叉区 key;无元信息时回退为 formData 中含 `:` 的 key */
|
|
25
|
+
export declare function resolveSubmitCrossKeys(formData: Record<string, any>, subTableInfoList?: SubTableInfo[]): string[];
|
|
18
26
|
/** 数据转成真实提交数据 */
|
|
19
|
-
export declare function getSubmitFormData(formData: any): any;
|
|
27
|
+
export declare function getSubmitFormData(formData: any, subTableInfoList?: SubTableInfo[]): any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gct-paas/word",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.42",
|
|
4
4
|
"description": "GCT 在线 word",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "vite build",
|
|
36
36
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx --fix",
|
|
37
|
-
"version:beta": "npm version prerelease --preid=beta --no-git-tag-version",
|
|
38
|
-
"version:release": "npm version patch --no-git-tag-version",
|
|
39
37
|
"publish:beta": "pnpm run version:beta && pnpm run build && npm publish --registry=https://registry.npmjs.org/ --access public --tag beta",
|
|
40
38
|
"publish:prod": "pnpm run version:release && pnpm run build && npm publish --registry=https://registry.npmjs.org/ --access public",
|
|
41
|
-
"test": "vitest run"
|
|
39
|
+
"test": "vitest run",
|
|
40
|
+
"version:beta": "npm version prerelease --preid=beta --no-git-tag-version",
|
|
41
|
+
"version:release": "npm version patch --no-git-tag-version"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@gct-paas/api": "0.1.0-word.7",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"bignumber.js": "^9.3.1",
|
|
48
48
|
"dayjs": "^1.11.19",
|
|
49
49
|
"hotkeys-js": "4.0.0-beta.7",
|
|
50
|
+
"jsonpath-plus": "^10.4.0",
|
|
50
51
|
"less": "^4.4.2",
|
|
51
52
|
"lodash-es": "^4.17.21",
|
|
52
53
|
"node-sql-parser": "^5.4.0",
|