@agile-team/mach-report 2.16.0 → 2.18.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.
- package/README.md +25 -12
- package/dist/{ExcelBindingWizard-CP6h2x1f.cjs → ExcelBindingWizard-Czn3C2yE.cjs} +1 -1
- package/dist/{ExcelBindingWizard-HhB3hAJE.js → ExcelBindingWizard-DMGZj6I6.js} +3 -3
- package/dist/ParamEditor-KzDQvbHY.js +732 -0
- package/dist/ParamEditor-oDfD8LgE.cjs +1 -0
- package/dist/{ReportBatchPanel-ruxcbfY6.js → ReportBatchPanel-BJK7PvZ4.js} +39 -39
- package/dist/ReportBatchPanel-DnmNRssu.cjs +1 -0
- package/dist/ReportParamPanel-mQkeN70Q.js +1020 -0
- package/dist/ReportParamPanel-sOANVRz-.cjs +1 -0
- package/dist/ReportPreview-BxWWTUL5.js +5583 -0
- package/dist/ReportPreview-Yf99omi3.cjs +6 -0
- package/dist/{ReportTemplateLibrary-DcwrH-63.js → ReportTemplateLibrary-BFjB08Wu.js} +1 -1
- package/dist/{ReportTemplateLibrary-BDlNT8JN.cjs → ReportTemplateLibrary-BO42QnWd.cjs} +1 -1
- package/dist/RuleEditor-CqxT1a-W.js +2337 -0
- package/dist/RuleEditor-D7YWigD9.cjs +1 -0
- package/dist/{TemplateOutlinePanel-CGrT5DFN.cjs → TemplateOutlinePanel-B0XX350V.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-SXCjaPKR.js → TemplateOutlinePanel-zG0DrsIB.js} +2 -2
- package/dist/{TemplateReusePanel-6Z3wRFz8.cjs → TemplateReusePanel-BD0HSKp_.cjs} +1 -1
- package/dist/{TemplateReusePanel-lHLOS9Wn.js → TemplateReusePanel-Czwe5GbC.js} +2 -2
- package/dist/{TemplateReviewPanel-Dpk7sLcF.cjs → TemplateReviewPanel-CA5sdffM.cjs} +1 -1
- package/dist/{TemplateReviewPanel-CJ9PLc48.js → TemplateReviewPanel-NhmQI65C.js} +2 -2
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +163 -42
- package/dist/analytics.d.ts +163 -42
- package/dist/analytics.js +76 -141
- package/dist/artifact-integrity.json +110 -108
- package/dist/assets-2eC3mOcV.js +232 -0
- package/dist/assets-B0Hxn4l6.cjs +1 -0
- package/dist/{auto-uVBjX1j5.cjs → auto-B0EZFIK1.cjs} +1 -1
- package/dist/{auto-YR7a4BtF.js → auto-BlchZ1b8.js} +10 -10
- package/dist/{batch-WzDIXJAt.js → batch-DGCt44XM.js} +1 -1
- package/dist/{batch-z6Aw5GEY.cjs → batch-DYcokH4v.cjs} +1 -1
- package/dist/charts-Dlv8j2AG.js +141 -0
- package/dist/charts-aCtoswXq.cjs +1 -0
- package/dist/codes.cjs +9 -9
- package/dist/codes.d.cts +54 -0
- package/dist/codes.d.ts +54 -0
- package/dist/codes.js +12097 -13668
- package/dist/column-visual-BpgQVWwT.js +238 -0
- package/dist/column-visual-CtYxnBCP.cjs +1 -0
- package/dist/component-tree-6TV7W6Yj.cjs +1 -0
- package/dist/component-tree-CvW4lzpv.js +67 -0
- package/dist/computed-4TnxzgIh.cjs +1 -0
- package/dist/computed-C8NRZQss.js +739 -0
- package/dist/data-bar-Ce38juRZ.cjs +1 -0
- package/dist/data-bar-PtjXhMgN.js +9 -0
- package/dist/dataset-DL83majE.js +161 -0
- package/dist/dataset-IrlXbUvh.cjs +1 -0
- package/dist/designer--TKECSEc.cjs +2 -0
- package/dist/designer-d6hJS41w.js +5683 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +835 -45
- package/dist/designer.d.ts +835 -45
- package/dist/designer.js +23 -20
- package/dist/{encoding-BYF9ZTl9.cjs → encoding-B--eZpp1.cjs} +1 -1
- package/dist/{encoding-BOGq4qYL.js → encoding-mctOLocI.js} +2 -2
- package/dist/{font-loader-EKLzOJxf.cjs → font-loader-DBBJ5KE9.cjs} +1 -1
- package/dist/{font-loader-CzI1GuBc.js → font-loader-DW8tIaNp.js} +1 -1
- package/dist/index-CPh6tqge.js +1575 -0
- package/dist/index-CUNw7dL9.cjs +1 -0
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +534 -16
- package/dist/index.d.ts +534 -16
- package/dist/index.js +1393 -955
- package/dist/json-snapshot-By4ZVVUt.js +1967 -0
- package/dist/json-snapshot-jiXff4lc.cjs +2 -0
- package/dist/matrix-0hywp0-F.cjs +1 -0
- package/dist/matrix-Dy-tyY7E.js +381 -0
- package/dist/param-validation-C-8sRJLq.cjs +1 -0
- package/dist/param-validation-CnDEd2l-.js +333 -0
- package/dist/{pdf-DJ5S6ukC.js → pdf-CKROKygt.js} +1845 -1845
- package/dist/{pdf-ByVCb1i6.cjs → pdf-DqyxJ96U.cjs} +47 -47
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.d.cts +66 -0
- package/dist/pdf.d.ts +66 -0
- package/dist/pdf.js +2 -2
- package/dist/{plugin-C2j5_mhx.js → plugin-ByjF2kiV.js} +5 -5
- package/dist/{plugin-Dr39GBRG.cjs → plugin-DM1M2wlI.cjs} +1 -1
- package/dist/prefill-B8H9qwE4.js +371 -0
- package/dist/prefill-D7EswyTI.cjs +1 -0
- package/dist/{prepared-DqtpvRTn.js → prepared-BE-4jfX5.js} +2 -2
- package/dist/{prepared-DdrjLC7L.cjs → prepared-CGVphji3.cjs} +1 -1
- package/dist/{protocol-BzwMP4Vw.cjs → protocol-ByRVzzQG.cjs} +1 -1
- package/dist/{protocol-kt4Iy6-3.js → protocol-Cr81vFSQ.js} +3 -3
- package/dist/{record-bindings-CZWBJ1fU.js → record-bindings-DEJtmo3p.js} +67 -107
- package/dist/record-bindings-ehjnCDHt.cjs +1 -0
- package/dist/{region-binding-workflow-CWNvIjkV.js → region-binding-workflow-CBg0l_tj.js} +2 -2
- package/dist/{region-binding-workflow-CqSMxQ4p.cjs → region-binding-workflow-D05tOYn3.cjs} +1 -1
- package/dist/report-encoding-worker.cjs +1 -1
- package/dist/report-encoding-worker.js +1 -1
- package/dist/{report-params-B1RzkhJj.js → report-params-D9tBuM9B.js} +1 -1
- package/dist/{report-params-WDGrA4oP.cjs → report-params-VTg8MoCp.cjs} +1 -1
- package/dist/runtime-CDA6d263.cjs +1 -0
- package/dist/runtime-CEMvybO7.js +170 -0
- package/dist/sbom.cdx.json +1 -1
- package/dist/server/node.d.cts +121 -7
- package/dist/server/node.d.ts +121 -7
- package/dist/server-node.cjs +4 -4
- package/dist/server-node.js +3446 -2115
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +417 -29
- package/dist/server.d.ts +417 -29
- package/dist/server.js +787 -544
- package/dist/sha256-BDQ1Qk7A.js +158 -0
- package/dist/sha256-DgZAKXqI.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/template-bindings-Cg5oBLFT.cjs +1 -0
- package/dist/template-bindings-TKnXM7ll.js +62 -0
- package/dist/{template-catalog-BtR2JmCL.js → template-catalog-CmbWOJqy.js} +16 -16
- package/dist/template-catalog-Utu4GP09.cjs +1 -0
- package/dist/{template-fragments-BVsbxs4a.cjs → template-fragments-C_zSHJAa.cjs} +1 -1
- package/dist/{template-fragments-By0aZC1D.js → template-fragments-DWgo9tlZ.js} +2 -2
- package/dist/{template-outline-BwRV_eRo.cjs → template-outline-DWkzZXVC.cjs} +1 -1
- package/dist/{template-outline-cnWfT_LK.js → template-outline-DiADphlq.js} +1 -1
- package/dist/{template-registry-Cw3vRTX2.js → template-registry-BIhIHOab.js} +319 -314
- package/dist/template-registry-DzWswQI5.cjs +1 -0
- package/dist/vue/async.d.cts +636 -35
- package/dist/vue/async.d.ts +636 -35
- package/dist/vue/index.d.cts +746 -67
- package/dist/vue/index.d.ts +746 -67
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +94 -89
- package/dist/{workbook-session-Cbts-22R.cjs → workbook-session-B94EwVa_.cjs} +1 -1
- package/dist/{workbook-session-BeSO8PFB.js → workbook-session-BoScoOg-.js} +2 -2
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +75 -7
- package/dist/worker.d.ts +75 -7
- package/dist/worker.js +4 -4
- package/dist/xlsx.cjs +4 -4
- package/dist/xlsx.d.cts +208 -15
- package/dist/xlsx.d.ts +208 -15
- package/dist/xlsx.js +288 -252
- package/package.json +1 -1
- package/dist/ParamEditor-CUQLgoxa.cjs +0 -1
- package/dist/ParamEditor-OKesP_nO.js +0 -594
- package/dist/ReportBatchPanel-cZCAMAwH.cjs +0 -1
- package/dist/ReportPreview-BcDKCLiK.js +0 -4834
- package/dist/ReportPreview-Bk9nLfO9.cjs +0 -6
- package/dist/RuleEditor-BX5S8RSF.cjs +0 -1
- package/dist/RuleEditor-CGl9XY2s.js +0 -2037
- package/dist/assets-CqIbfbTr.js +0 -126
- package/dist/assets-e4YSke8n.cjs +0 -1
- package/dist/capabilities-DDwXr_cA.js +0 -103
- package/dist/capabilities-DNLyZdNw.cjs +0 -1
- package/dist/component-tree-Ca6YYfHq.js +0 -61
- package/dist/component-tree-DkGLEfZC.cjs +0 -1
- package/dist/computed-C-4C2S5h.js +0 -521
- package/dist/computed-CGV2a809.cjs +0 -1
- package/dist/config-Dg_o8e7m.cjs +0 -1
- package/dist/config-XQ4qrQ7Q.js +0 -844
- package/dist/dataset-BkRmwgeJ.cjs +0 -1
- package/dist/dataset-H5pFuQGU.js +0 -121
- package/dist/designer-BfQSahxq.js +0 -5163
- package/dist/designer-CPPdeM5_.cjs +0 -2
- package/dist/diagnostic-notification-B9K9We3h.cjs +0 -1
- package/dist/diagnostic-notification-qGAYZdkB.js +0 -7
- package/dist/drill-CsdjgkRM.cjs +0 -1
- package/dist/drill-DIGsZfyB.js +0 -145
- package/dist/json-snapshot-D6ioHth9.js +0 -1702
- package/dist/json-snapshot-DknkjvxP.cjs +0 -2
- package/dist/matrix-CGRGkn5s.js +0 -112
- package/dist/matrix-gEO7ZM_u.cjs +0 -1
- package/dist/param-validation-C3HlcLLO.cjs +0 -1
- package/dist/param-validation-Do7Eg8Zv.js +0 -181
- package/dist/record-bindings-DUX1VMlR.cjs +0 -1
- package/dist/runtime-BjKBI530.js +0 -168
- package/dist/runtime-CBFEPKEs.cjs +0 -1
- package/dist/sha256-BshdOkCC.cjs +0 -1
- package/dist/sha256-DTG-Gq8i.js +0 -157
- package/dist/template-bindings-C2SpvsMU.js +0 -58
- package/dist/template-bindings-CEtWyiLX.cjs +0 -1
- package/dist/template-catalog-C2NLdrwB.cjs +0 -1
- package/dist/template-registry-C62vpv4a.cjs +0 -1
- package/dist/tree-BX380Rr7.cjs +0 -1
- package/dist/tree-CjVZLRw7.js +0 -172
package/dist/vue/async.d.ts
CHANGED
|
@@ -17,8 +17,39 @@ declare interface AggregateDefinition_2 {
|
|
|
17
17
|
numeric?: "number" | "decimal";
|
|
18
18
|
digits?: number;
|
|
19
19
|
}
|
|
20
|
+
declare interface AggregateDefinition_3 {
|
|
21
|
+
/** Output column; valueField defaults to this field. */
|
|
22
|
+
field: string;
|
|
23
|
+
op: AggregateOperation_3;
|
|
24
|
+
valueField?: string;
|
|
25
|
+
weightField?: string;
|
|
26
|
+
numeric?: "number" | "decimal";
|
|
27
|
+
digits?: number;
|
|
28
|
+
}
|
|
20
29
|
declare type AggregateOperation = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
21
30
|
declare type AggregateOperation_2 = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
31
|
+
declare type AggregateOperation_3 = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
32
|
+
declare interface AggregateRequest {
|
|
33
|
+
op: AggregateOperation;
|
|
34
|
+
field?: string;
|
|
35
|
+
weightField?: string;
|
|
36
|
+
numeric?: "number" | "decimal";
|
|
37
|
+
digits?: number;
|
|
38
|
+
}
|
|
39
|
+
declare interface AggregateRequest_2 {
|
|
40
|
+
op: AggregateOperation_2;
|
|
41
|
+
field?: string;
|
|
42
|
+
weightField?: string;
|
|
43
|
+
numeric?: "number" | "decimal";
|
|
44
|
+
digits?: number;
|
|
45
|
+
}
|
|
46
|
+
declare interface AggregateRequest_3 {
|
|
47
|
+
op: AggregateOperation_3;
|
|
48
|
+
field?: string;
|
|
49
|
+
weightField?: string;
|
|
50
|
+
numeric?: "number" | "decimal";
|
|
51
|
+
digits?: number;
|
|
52
|
+
}
|
|
22
53
|
declare interface AssetRenderBudget {
|
|
23
54
|
/** Maximum newly rendered assets, default 1000. Existing imageData is kept unchanged. */
|
|
24
55
|
maxAssets?: number;
|
|
@@ -29,13 +60,34 @@ declare interface AssetRenderBudget {
|
|
|
29
60
|
/** Wall-clock budget, including adapters that ignore AbortSignal. Default 30 seconds. */
|
|
30
61
|
maxDurationMs?: number;
|
|
31
62
|
}
|
|
63
|
+
declare interface AssetRenderBudget_2 {
|
|
64
|
+
/** Maximum newly rendered assets, default 1000. Existing imageData is kept unchanged. */
|
|
65
|
+
maxAssets?: number;
|
|
66
|
+
/** Maximum image payload bytes per new asset, default 32 MiB. */
|
|
67
|
+
maxImageBytes?: number;
|
|
68
|
+
/** Maximum total image payload bytes for new assets, default 128 MiB. */
|
|
69
|
+
maxTotalImageBytes?: number;
|
|
70
|
+
/** Wall-clock budget, including adapters that ignore AbortSignal. Default 30 seconds. */
|
|
71
|
+
maxDurationMs?: number;
|
|
72
|
+
}
|
|
32
73
|
declare interface AssetRenderOptions extends OutputDiagnosticOptions, ImageMediaOptions {
|
|
33
74
|
assetRenderers?: Partial<Record<ImageComponentKind, ComponentImageRenderer>>;
|
|
75
|
+
/** Explicit id/version registry; unbound components continue using assetRenderers by kind. */
|
|
76
|
+
assetRegistry?: ComponentAssetRegistry;
|
|
34
77
|
assetBudget?: AssetRenderBudget;
|
|
35
78
|
/** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
|
|
36
79
|
assetFailure?: "throw" | "placeholder";
|
|
37
80
|
signal?: AbortSignal;
|
|
38
81
|
}
|
|
82
|
+
declare interface AssetRenderOptions_2 extends OutputDiagnosticOptions_2, ImageMediaOptions_2 {
|
|
83
|
+
assetRenderers?: Partial<Record<ImageComponentKind_2, ComponentImageRenderer_2>>;
|
|
84
|
+
/** Explicit id/version registry; unbound components continue using assetRenderers by kind. */
|
|
85
|
+
assetRegistry?: ComponentAssetRegistry_2;
|
|
86
|
+
assetBudget?: AssetRenderBudget_2;
|
|
87
|
+
/** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
|
|
88
|
+
assetFailure?: "throw" | "placeholder";
|
|
89
|
+
signal?: AbortSignal;
|
|
90
|
+
}
|
|
39
91
|
declare interface BrowserReportWorker {
|
|
40
92
|
postMessage(value: unknown, transfer?: Transferable[]): void;
|
|
41
93
|
terminate(): void;
|
|
@@ -143,6 +195,46 @@ declare type ColumnFormat_3 = {
|
|
|
143
195
|
kind: "date";
|
|
144
196
|
pattern?: string;
|
|
145
197
|
};
|
|
198
|
+
declare type ColumnVisual = {
|
|
199
|
+
/** Defaults to the column field; never changes the cell's raw value or business identity. */
|
|
200
|
+
field?: string;
|
|
201
|
+
/** Numeric text requires explicit opt-in; formatting an identifier does not turn it into a measure. */
|
|
202
|
+
numeric?: "number" | "decimal";
|
|
203
|
+
min?: number;
|
|
204
|
+
max?: number;
|
|
205
|
+
} & ({
|
|
206
|
+
kind: "colorScale";
|
|
207
|
+
lowColor?: string;
|
|
208
|
+
highColor?: string;
|
|
209
|
+
} | {
|
|
210
|
+
kind: "dataBar";
|
|
211
|
+
color?: string;
|
|
212
|
+
negativeColor?: string;
|
|
213
|
+
});
|
|
214
|
+
declare type ColumnVisual_2 = {
|
|
215
|
+
/** Defaults to the column field; never changes the cell's raw value or business identity. */
|
|
216
|
+
field?: string;
|
|
217
|
+
/** Numeric text requires explicit opt-in; formatting an identifier does not turn it into a measure. */
|
|
218
|
+
numeric?: "number" | "decimal";
|
|
219
|
+
min?: number;
|
|
220
|
+
max?: number;
|
|
221
|
+
} & ({
|
|
222
|
+
kind: "colorScale";
|
|
223
|
+
lowColor?: string;
|
|
224
|
+
highColor?: string;
|
|
225
|
+
} | {
|
|
226
|
+
kind: "dataBar";
|
|
227
|
+
color?: string;
|
|
228
|
+
negativeColor?: string;
|
|
229
|
+
});
|
|
230
|
+
declare interface ComponentAssetRegistry {
|
|
231
|
+
rendererFor(component: Readonly<PlanComponent>): ComponentImageRenderer | undefined;
|
|
232
|
+
hasExtension(id: string, version: string, kind: string): boolean;
|
|
233
|
+
}
|
|
234
|
+
declare interface ComponentAssetRegistry_2 {
|
|
235
|
+
rendererFor(component: Readonly<PlanComponent_2>): ComponentImageRenderer_2 | undefined;
|
|
236
|
+
hasExtension(id: string, version: string, kind: string): boolean;
|
|
237
|
+
}
|
|
146
238
|
/** A literal own field of the current label record; expressions and paths are not evaluated. */
|
|
147
239
|
declare interface ComponentBinding {
|
|
148
240
|
field: string;
|
|
@@ -174,7 +266,15 @@ declare interface ComponentImageContext {
|
|
|
174
266
|
readonly componentPath: readonly number[];
|
|
175
267
|
readonly signal: AbortSignal;
|
|
176
268
|
}
|
|
269
|
+
declare interface ComponentImageContext_2 {
|
|
270
|
+
readonly component: Readonly<PlanComponent_2>;
|
|
271
|
+
readonly pageIndex: number;
|
|
272
|
+
readonly componentIndex: number;
|
|
273
|
+
readonly componentPath: readonly number[];
|
|
274
|
+
readonly signal: AbortSignal;
|
|
275
|
+
}
|
|
177
276
|
declare type ComponentImageRenderer = (context: ComponentImageContext) => string | Promise<string>;
|
|
277
|
+
declare type ComponentImageRenderer_2 = (context: ComponentImageContext_2) => string | Promise<string>;
|
|
178
278
|
declare type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
179
279
|
declare type ComponentKind_2 = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
180
280
|
declare type ComponentKind_3 = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
@@ -265,6 +365,15 @@ declare interface ComputedField_2 extends ExpressionOptions_2 {
|
|
|
265
365
|
/** String adapter expressions cannot be inspected; declare dependencies explicitly. */
|
|
266
366
|
dependsOn?: readonly string[];
|
|
267
367
|
}
|
|
368
|
+
declare interface ComputedField_3 extends ExpressionOptions_3 {
|
|
369
|
+
field: string;
|
|
370
|
+
expression: ReportExpression_3 | string;
|
|
371
|
+
/** Scope controls aggregate inputs; row expressions may reference the current row in any scope. */
|
|
372
|
+
scope?: "row" | "group" | "dataset";
|
|
373
|
+
groupBy?: readonly string[];
|
|
374
|
+
/** String adapter expressions cannot be inspected; declare dependencies explicitly. */
|
|
375
|
+
dependsOn?: readonly string[];
|
|
376
|
+
}
|
|
268
377
|
declare interface DatasetContract {
|
|
269
378
|
fields: readonly ReportFieldContract[];
|
|
270
379
|
rowKey?: string;
|
|
@@ -362,6 +471,12 @@ declare interface ExpressionOptions_2 {
|
|
|
362
471
|
nulls?: "propagate" | "error";
|
|
363
472
|
divisionByZero?: "null" | "error";
|
|
364
473
|
}
|
|
474
|
+
declare interface ExpressionOptions_3 {
|
|
475
|
+
numeric?: "number" | "decimal";
|
|
476
|
+
digits?: number;
|
|
477
|
+
nulls?: "propagate" | "error";
|
|
478
|
+
divisionByZero?: "null" | "error";
|
|
479
|
+
}
|
|
365
480
|
declare interface FormulaAdapter {
|
|
366
481
|
/** Explicit trusted engine; core never evaluates source code/macros/external workbook references. */
|
|
367
482
|
evaluate(expression: string, context: {
|
|
@@ -370,7 +485,21 @@ declare interface FormulaAdapter {
|
|
|
370
485
|
rows: readonly Record<string, unknown>[];
|
|
371
486
|
}): unknown;
|
|
372
487
|
}
|
|
488
|
+
declare interface FormulaAdapter_2 {
|
|
489
|
+
/** Explicit trusted engine; core never evaluates source code/macros/external workbook references. */
|
|
490
|
+
evaluate(expression: string, context: {
|
|
491
|
+
row: Readonly<Record<string, unknown>>;
|
|
492
|
+
rowIndex: number;
|
|
493
|
+
rows: readonly Record<string, unknown>[];
|
|
494
|
+
}): unknown;
|
|
495
|
+
}
|
|
373
496
|
declare interface GridCell {
|
|
497
|
+
/** Resolved visual only. Original value, text, editability and source are unchanged. */
|
|
498
|
+
dataBar?: {
|
|
499
|
+
start: number;
|
|
500
|
+
end: number;
|
|
501
|
+
color: string;
|
|
502
|
+
};
|
|
374
503
|
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
375
504
|
richParagraphs?: RichParagraph[];
|
|
376
505
|
text?: string;
|
|
@@ -396,6 +525,12 @@ declare interface GridCell {
|
|
|
396
525
|
style?: ComponentStyle;
|
|
397
526
|
}
|
|
398
527
|
declare interface GridCell_2 {
|
|
528
|
+
/** Resolved visual only. Original value, text, editability and source are unchanged. */
|
|
529
|
+
dataBar?: {
|
|
530
|
+
start: number;
|
|
531
|
+
end: number;
|
|
532
|
+
color: string;
|
|
533
|
+
};
|
|
399
534
|
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
400
535
|
richParagraphs?: RichParagraph_2[];
|
|
401
536
|
text?: string;
|
|
@@ -421,6 +556,12 @@ declare interface GridCell_2 {
|
|
|
421
556
|
style?: ComponentStyle_2;
|
|
422
557
|
}
|
|
423
558
|
declare interface GridCell_3 {
|
|
559
|
+
/** Resolved visual only. Original value, text, editability and source are unchanged. */
|
|
560
|
+
dataBar?: {
|
|
561
|
+
start: number;
|
|
562
|
+
end: number;
|
|
563
|
+
color: string;
|
|
564
|
+
};
|
|
424
565
|
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
425
566
|
richParagraphs?: RichParagraph_3[];
|
|
426
567
|
text?: string;
|
|
@@ -446,6 +587,7 @@ declare interface GridCell_3 {
|
|
|
446
587
|
style?: ComponentStyle_3;
|
|
447
588
|
}
|
|
448
589
|
declare type ImageComponentKind = "image" | "chart" | "barcode" | "qrcode";
|
|
590
|
+
declare type ImageComponentKind_2 = "image" | "chart" | "barcode" | "qrcode";
|
|
449
591
|
/** Bounded binary image inspection shared by PDF, Excel and template import. No decoder is loaded. */
|
|
450
592
|
declare interface ImageMediaOptions {
|
|
451
593
|
maxImageBytes?: number;
|
|
@@ -489,6 +631,8 @@ declare interface ListColumn {
|
|
|
489
631
|
format?: ColumnFormat;
|
|
490
632
|
/** 条件格式规则(声明式,命中合并进单元格样式;如负数红字) */
|
|
491
633
|
rules?: StyleRule[];
|
|
634
|
+
/** Optional resolved color scale or value-preserving data bar. */
|
|
635
|
+
visual?: ColumnVisual;
|
|
492
636
|
/** 内容列编辑控制;仍需由预览显式开启 editing,不影响表头/小计只读规则。 */
|
|
493
637
|
editable?: boolean;
|
|
494
638
|
/** 空值列或特殊数据类型可显式声明编辑输入类型。 */
|
|
@@ -514,6 +658,8 @@ declare interface ListColumn_2 {
|
|
|
514
658
|
format?: ColumnFormat_3;
|
|
515
659
|
/** 条件格式规则(声明式,命中合并进单元格样式;如负数红字) */
|
|
516
660
|
rules?: StyleRule_2[];
|
|
661
|
+
/** Optional resolved color scale or value-preserving data bar. */
|
|
662
|
+
visual?: ColumnVisual_2;
|
|
517
663
|
/** 内容列编辑控制;仍需由预览显式开启 editing,不影响表头/小计只读规则。 */
|
|
518
664
|
editable?: boolean;
|
|
519
665
|
/** 空值列或特殊数据类型可显式声明编辑输入类型。 */
|
|
@@ -616,11 +762,11 @@ declare interface ListComponent_2 {
|
|
|
616
762
|
groupBy?: ListGroupBy_2;
|
|
617
763
|
/** Ordered outer-to-inner grouping; groupBy remains the single-level shorthand. */
|
|
618
764
|
groups?: ListGroupBy_2[];
|
|
619
|
-
computed?:
|
|
765
|
+
computed?: ComputedField_3[];
|
|
620
766
|
/** Dynamic pivot of the current source dataset, with read-only derived identities. */
|
|
621
767
|
matrix?: MatrixTableOptions_2;
|
|
622
768
|
/** Full ordered hierarchy; source parent values and descendant-leaf rollups are explicit. */
|
|
623
|
-
tree?:
|
|
769
|
+
tree?: TreeTableOptions_3;
|
|
624
770
|
/** Explicit row visibility; hidden rows do not participate in summaries. */
|
|
625
771
|
rowVisibleWhen?: StyleRule_2["when"];
|
|
626
772
|
/** Master/detail relation is keyed by business identity, never by display row index. */
|
|
@@ -670,7 +816,7 @@ declare type ListGrandTotal_2 = boolean | {
|
|
|
670
816
|
style?: ComponentStyle_3;
|
|
671
817
|
/** 合计列(缺省沿用 groupBy.subtotal) */
|
|
672
818
|
fields?: string[];
|
|
673
|
-
aggregates?:
|
|
819
|
+
aggregates?: AggregateDefinition_3[];
|
|
674
820
|
};
|
|
675
821
|
/** 分组小计配置(声明式,见 ListComponent.groupBy) */
|
|
676
822
|
declare interface ListGroupBy {
|
|
@@ -702,7 +848,7 @@ declare interface ListGroupBy_2 {
|
|
|
702
848
|
subtotalLabel?: string;
|
|
703
849
|
/** 组头防孤行(默认 true:页尾放不下"组头+首行"时整体换页) */
|
|
704
850
|
keepWithNext?: boolean;
|
|
705
|
-
aggregates?:
|
|
851
|
+
aggregates?: AggregateDefinition_3[];
|
|
706
852
|
/** Repeat this group heading after page breaks within the group. */
|
|
707
853
|
repeatHeader?: boolean;
|
|
708
854
|
}
|
|
@@ -753,6 +899,10 @@ declare interface MachReportDefaults {
|
|
|
753
899
|
xlsx?: XlsxRenderOptions;
|
|
754
900
|
/** 默认关闭;true 为本地草稿,对象可提供权限、校验和保存回调。 */
|
|
755
901
|
editable?: boolean | ReportEditingOptions;
|
|
902
|
+
/** Optional reference-data loader; review and atomic editing are maintained inside the package. */
|
|
903
|
+
prefill?: ReportPrefillReviewOptions | false;
|
|
904
|
+
/** Compare a reference with the same query result rendered in the report. */
|
|
905
|
+
dataComparison?: ReportDataComparisonReviewOptions | false;
|
|
756
906
|
/** 默认关闭;启用后提供导入按钮。ExcelJS 仅在导入时加载。 */
|
|
757
907
|
excelImport?: boolean | ExcelImportOptions;
|
|
758
908
|
}
|
|
@@ -770,7 +920,14 @@ declare type MachReportLogger = Pick<Console, "warn" | "info">;
|
|
|
770
920
|
* - 优先级:组件 props > 路由级叠加 > preset > defaults(props 永远最高)
|
|
771
921
|
*/
|
|
772
922
|
/** 工具栏与状态文案(默认简体中文;出海场景覆写) */
|
|
773
|
-
declare interface MachReportMessages extends Partial<ReportCalculationMessages>, ReportPrintMessages, ReportParamOptionsMessages {
|
|
923
|
+
declare interface MachReportMessages extends Partial<ReportCalculationMessages>, Partial<ReportDataReviewMessages>, ReportPrintMessages, ReportParamOptionsMessages {
|
|
924
|
+
reviewTools?: string;
|
|
925
|
+
validationTitle?: string;
|
|
926
|
+
validationError?: string;
|
|
927
|
+
validationWarning?: string;
|
|
928
|
+
validationDataset?: string;
|
|
929
|
+
validationRow?: string;
|
|
930
|
+
validationMore?: string;
|
|
774
931
|
drillActions?: string;
|
|
775
932
|
drillOpening?: string;
|
|
776
933
|
drillMissingValue?: string;
|
|
@@ -1028,6 +1185,40 @@ declare interface MachReportToolbarOptions {
|
|
|
1028
1185
|
/** 未传时显示全部已有出口;空数组表示不提供导出工具。 */
|
|
1029
1186
|
exportFormats?: ReportExportFormat[];
|
|
1030
1187
|
}
|
|
1188
|
+
declare interface MatrixAxisOptions {
|
|
1189
|
+
/** Display names in the same outer-to-inner order as the dimension fields. */
|
|
1190
|
+
labels?: readonly string[];
|
|
1191
|
+
/** Per-level sibling order; omitted levels retain first-seen order. */
|
|
1192
|
+
sort?: readonly MatrixDimensionOrder[];
|
|
1193
|
+
/** One-based prefix depths. Leaf depths are not subtotals. */
|
|
1194
|
+
subtotals?: readonly number[];
|
|
1195
|
+
}
|
|
1196
|
+
declare interface MatrixAxisOptions_2 {
|
|
1197
|
+
/** Display names in the same outer-to-inner order as the dimension fields. */
|
|
1198
|
+
labels?: readonly string[];
|
|
1199
|
+
/** Per-level sibling order; omitted levels retain first-seen order. */
|
|
1200
|
+
sort?: readonly MatrixDimensionOrder_2[];
|
|
1201
|
+
/** One-based prefix depths. Leaf depths are not subtotals. */
|
|
1202
|
+
subtotals?: readonly number[];
|
|
1203
|
+
}
|
|
1204
|
+
declare type MatrixDimensionOrder = "source" | "asc" | "desc";
|
|
1205
|
+
declare type MatrixDimensionOrder_2 = "source" | "asc" | "desc";
|
|
1206
|
+
declare interface MatrixHierarchyOptions {
|
|
1207
|
+
row?: MatrixAxisOptions;
|
|
1208
|
+
column?: MatrixAxisOptions;
|
|
1209
|
+
/** Only null/missing values use this label; empty strings and zero stay distinct. */
|
|
1210
|
+
emptyLabel?: string;
|
|
1211
|
+
subtotalLabel?: string;
|
|
1212
|
+
totalLabel?: string;
|
|
1213
|
+
}
|
|
1214
|
+
declare interface MatrixHierarchyOptions_2 {
|
|
1215
|
+
row?: MatrixAxisOptions_2;
|
|
1216
|
+
column?: MatrixAxisOptions_2;
|
|
1217
|
+
/** Only null/missing values use this label; empty strings and zero stay distinct. */
|
|
1218
|
+
emptyLabel?: string;
|
|
1219
|
+
subtotalLabel?: string;
|
|
1220
|
+
totalLabel?: string;
|
|
1221
|
+
}
|
|
1031
1222
|
declare interface MatrixTableOptions {
|
|
1032
1223
|
rowFields: readonly string[];
|
|
1033
1224
|
columnFields: readonly string[];
|
|
@@ -1042,11 +1233,15 @@ declare interface MatrixTableOptions {
|
|
|
1042
1233
|
maxColumns?: number;
|
|
1043
1234
|
maxInputRows?: number;
|
|
1044
1235
|
maxCells?: number;
|
|
1236
|
+
/** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
|
|
1237
|
+
hierarchy?: MatrixHierarchyOptions;
|
|
1238
|
+
/** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
|
|
1239
|
+
maxAggregateUpdates?: number;
|
|
1045
1240
|
}
|
|
1046
1241
|
declare interface MatrixTableOptions_2 {
|
|
1047
1242
|
rowFields: readonly string[];
|
|
1048
1243
|
columnFields: readonly string[];
|
|
1049
|
-
measures: readonly (
|
|
1244
|
+
measures: readonly (AggregateDefinition_3 & {
|
|
1050
1245
|
label?: string;
|
|
1051
1246
|
})[];
|
|
1052
1247
|
totals?: boolean;
|
|
@@ -1057,6 +1252,10 @@ declare interface MatrixTableOptions_2 {
|
|
|
1057
1252
|
maxColumns?: number;
|
|
1058
1253
|
maxInputRows?: number;
|
|
1059
1254
|
maxCells?: number;
|
|
1255
|
+
/** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
|
|
1256
|
+
hierarchy?: MatrixHierarchyOptions_2;
|
|
1257
|
+
/** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
|
|
1258
|
+
maxAggregateUpdates?: number;
|
|
1060
1259
|
}
|
|
1061
1260
|
declare interface OutputDiagnostic {
|
|
1062
1261
|
code: "invalid-image-data" | "image-budget-exceeded" | "component-render-failed" | "unsupported-text" | "output-degraded" | "missing-image" | "unsupported-component" | "unsupported-image-format" | "unsupported-style" | "rich-text-flattened" | "nested-components-omitted" | "async-image-required" | "image-decode-failed" | "asset-render-failed" | "asset-budget-exceeded";
|
|
@@ -1068,6 +1267,11 @@ declare interface OutputDiagnostic {
|
|
|
1068
1267
|
componentPath?: readonly number[];
|
|
1069
1268
|
kind: string;
|
|
1070
1269
|
nid?: string;
|
|
1270
|
+
/** Declarative extension identity only; no property values or business binding data enter diagnostics. */
|
|
1271
|
+
extension?: {
|
|
1272
|
+
id: string;
|
|
1273
|
+
version: string;
|
|
1274
|
+
};
|
|
1071
1275
|
message: string;
|
|
1072
1276
|
}
|
|
1073
1277
|
declare interface OutputDiagnostic_2 {
|
|
@@ -1080,6 +1284,11 @@ declare interface OutputDiagnostic_2 {
|
|
|
1080
1284
|
componentPath?: readonly number[];
|
|
1081
1285
|
kind: string;
|
|
1082
1286
|
nid?: string;
|
|
1287
|
+
/** Declarative extension identity only; no property values or business binding data enter diagnostics. */
|
|
1288
|
+
extension?: {
|
|
1289
|
+
id: string;
|
|
1290
|
+
version: string;
|
|
1291
|
+
};
|
|
1083
1292
|
message: string;
|
|
1084
1293
|
}
|
|
1085
1294
|
declare interface OutputDiagnosticOptions extends OutputTaskOptions {
|
|
@@ -1120,6 +1329,8 @@ declare interface PaginateOptions {
|
|
|
1120
1329
|
maxPages?: number;
|
|
1121
1330
|
/** Actual grid cells, including repeated furniture and nested children; checked before each page is appended. */
|
|
1122
1331
|
maxCells?: number;
|
|
1332
|
+
/** Shared bound-chart primitive budget, checked before expansion; default 50000, range 1..1000000. */
|
|
1333
|
+
maxChartComponents?: number;
|
|
1123
1334
|
signal?: AbortSignal;
|
|
1124
1335
|
/** Streaming total-page anchors can skip the bounded counting pass when known. */
|
|
1125
1336
|
knownTotalPages?: number;
|
|
@@ -1146,6 +1357,8 @@ declare interface PdfFontCheckResult {
|
|
|
1146
1357
|
/** available 仅表示字体资源可达;实际导出仍会校验文字能否编码。 */
|
|
1147
1358
|
declare type PdfFontStatus = "unchecked" | "checking" | "available" | "disabled" | "unverified" | "error";
|
|
1148
1359
|
declare interface PlanComponent {
|
|
1360
|
+
/** Template-only aggregate binding, expanded into shared primitives during layout. */
|
|
1361
|
+
chartBinding?: ReportChartBinding;
|
|
1149
1362
|
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
1150
1363
|
code?: CodeOptions;
|
|
1151
1364
|
/** Template-only binding; resolved and removed before constructing the output plan. */
|
|
@@ -1174,6 +1387,8 @@ declare interface PlanComponent {
|
|
|
1174
1387
|
fallbackText?: string;
|
|
1175
1388
|
}
|
|
1176
1389
|
declare interface PlanComponent_2 {
|
|
1390
|
+
/** Template-only aggregate binding, expanded into shared primitives during layout. */
|
|
1391
|
+
chartBinding?: ReportChartBinding_2;
|
|
1177
1392
|
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
1178
1393
|
code?: CodeOptions_2;
|
|
1179
1394
|
/** Template-only binding; resolved and removed before constructing the output plan. */
|
|
@@ -1202,6 +1417,8 @@ declare interface PlanComponent_2 {
|
|
|
1202
1417
|
fallbackText?: string;
|
|
1203
1418
|
}
|
|
1204
1419
|
declare interface PlanComponent_3 {
|
|
1420
|
+
/** Template-only aggregate binding, expanded into shared primitives during layout. */
|
|
1421
|
+
chartBinding?: ReportChartBinding_3;
|
|
1205
1422
|
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
1206
1423
|
code?: CodeOptions_3;
|
|
1207
1424
|
/** Template-only binding; resolved and removed before constructing the output plan. */
|
|
@@ -1272,6 +1489,18 @@ declare interface PlanPage {
|
|
|
1272
1489
|
marginRightMm?: number;
|
|
1273
1490
|
components: PlanComponent[];
|
|
1274
1491
|
}
|
|
1492
|
+
declare interface PlanPage_2 {
|
|
1493
|
+
meta?: Record<string, unknown>;
|
|
1494
|
+
/** wide 表示完整自然列宽;页面仅为预览的垂直窗口分段。 */
|
|
1495
|
+
layout?: "page" | "wide";
|
|
1496
|
+
pageWidthMm: number;
|
|
1497
|
+
pageHeightMm: number;
|
|
1498
|
+
marginTopMm?: number;
|
|
1499
|
+
marginBottomMm?: number;
|
|
1500
|
+
marginLeftMm?: number;
|
|
1501
|
+
marginRightMm?: number;
|
|
1502
|
+
components: PlanComponent_2[];
|
|
1503
|
+
}
|
|
1275
1504
|
/** 列表的逻辑行来源;用于连续 Excel 重组,避免按文本猜测重复表头。 */
|
|
1276
1505
|
declare interface PlanTableFragment {
|
|
1277
1506
|
/** 在整个计划中唯一的逻辑表身份;同一表的分页片段共享身份。 */
|
|
@@ -1328,6 +1557,12 @@ declare interface RenderPlan {
|
|
|
1328
1557
|
requiresRecalculation?: boolean;
|
|
1329
1558
|
pages: PlanPage[];
|
|
1330
1559
|
}
|
|
1560
|
+
declare interface RenderPlan_2 {
|
|
1561
|
+
schemaVersion: string;
|
|
1562
|
+
/** 编辑需要模板重算上下文;跨 Worker/JSON 保留要求,但不声明本地会话可用。 */
|
|
1563
|
+
requiresRecalculation?: boolean;
|
|
1564
|
+
pages: PlanPage_2[];
|
|
1565
|
+
}
|
|
1331
1566
|
/** Return false to keep the current report. Without a hook the preview asks inline. */
|
|
1332
1567
|
declare type ReportBeforeDiscard = (context: Readonly<ReportBeforeDiscardContext>) => boolean | Promise<boolean>;
|
|
1333
1568
|
declare interface ReportBeforeDiscardContext {
|
|
@@ -1365,6 +1600,10 @@ declare interface ReportCalculationMessages {
|
|
|
1365
1600
|
calculationErrorOverflow: string;
|
|
1366
1601
|
calculationErrorPrecision: string;
|
|
1367
1602
|
}
|
|
1603
|
+
declare interface ReportCandidateValidationOptions extends Pick<ReportDatasetValidationOptions, "rules" | "maxChecks" | "maxIssues"> {
|
|
1604
|
+
/** Warnings are visible and allowed by default; block explicitly when required by business policy. */
|
|
1605
|
+
warningPolicy?: "allow" | "block";
|
|
1606
|
+
}
|
|
1368
1607
|
/** 预览中的物理坐标;合并单元格使用左上角坐标。 */
|
|
1369
1608
|
declare interface ReportCellAddress {
|
|
1370
1609
|
pageIndex: number;
|
|
@@ -1492,6 +1731,229 @@ declare interface ReportCellTableIdentity_2 {
|
|
|
1492
1731
|
declare type ReportCellValue = string | number | boolean | null;
|
|
1493
1732
|
declare type ReportCellValue_2 = string | number | boolean | null;
|
|
1494
1733
|
declare type ReportCellValueType = NonNullable<GridCell_2["valueType"]>;
|
|
1734
|
+
/** Serializable binding; data and authorization continue to come from the existing report source. */
|
|
1735
|
+
declare interface ReportChartBinding {
|
|
1736
|
+
dataset: string;
|
|
1737
|
+
categoryField: string;
|
|
1738
|
+
measures: readonly ReportChartMeasure[];
|
|
1739
|
+
type: ReportChartOptions["type"];
|
|
1740
|
+
sort?: "asc" | "desc";
|
|
1741
|
+
title?: string;
|
|
1742
|
+
showValues?: boolean;
|
|
1743
|
+
maxRows?: number;
|
|
1744
|
+
maxCategories?: number;
|
|
1745
|
+
}
|
|
1746
|
+
/** Serializable binding; data and authorization continue to come from the existing report source. */
|
|
1747
|
+
declare interface ReportChartBinding_2 {
|
|
1748
|
+
dataset: string;
|
|
1749
|
+
categoryField: string;
|
|
1750
|
+
measures: readonly ReportChartMeasure_2[];
|
|
1751
|
+
type: ReportChartOptions_2["type"];
|
|
1752
|
+
sort?: "asc" | "desc";
|
|
1753
|
+
title?: string;
|
|
1754
|
+
showValues?: boolean;
|
|
1755
|
+
maxRows?: number;
|
|
1756
|
+
maxCategories?: number;
|
|
1757
|
+
}
|
|
1758
|
+
/** Serializable binding; data and authorization continue to come from the existing report source. */
|
|
1759
|
+
declare interface ReportChartBinding_3 {
|
|
1760
|
+
dataset: string;
|
|
1761
|
+
categoryField: string;
|
|
1762
|
+
measures: readonly ReportChartMeasure_3[];
|
|
1763
|
+
type: ReportChartOptions_3["type"];
|
|
1764
|
+
sort?: "asc" | "desc";
|
|
1765
|
+
title?: string;
|
|
1766
|
+
showValues?: boolean;
|
|
1767
|
+
maxRows?: number;
|
|
1768
|
+
maxCategories?: number;
|
|
1769
|
+
}
|
|
1770
|
+
declare interface ReportChartMeasure extends AggregateRequest {
|
|
1771
|
+
label?: string;
|
|
1772
|
+
color?: string;
|
|
1773
|
+
}
|
|
1774
|
+
declare interface ReportChartMeasure_2 extends AggregateRequest_2 {
|
|
1775
|
+
label?: string;
|
|
1776
|
+
color?: string;
|
|
1777
|
+
}
|
|
1778
|
+
declare interface ReportChartMeasure_3 extends AggregateRequest_3 {
|
|
1779
|
+
label?: string;
|
|
1780
|
+
color?: string;
|
|
1781
|
+
}
|
|
1782
|
+
declare interface ReportChartOptions {
|
|
1783
|
+
type: "bar" | "line" | "stackedBar" | "percentBar";
|
|
1784
|
+
categories: readonly string[];
|
|
1785
|
+
series: readonly ReportChartSeries[];
|
|
1786
|
+
leftMm: number;
|
|
1787
|
+
topMm: number;
|
|
1788
|
+
widthMm: number;
|
|
1789
|
+
heightMm: number;
|
|
1790
|
+
title?: string;
|
|
1791
|
+
showValues?: boolean;
|
|
1792
|
+
}
|
|
1793
|
+
declare interface ReportChartOptions_2 {
|
|
1794
|
+
type: "bar" | "line" | "stackedBar" | "percentBar";
|
|
1795
|
+
categories: readonly string[];
|
|
1796
|
+
series: readonly ReportChartSeries_2[];
|
|
1797
|
+
leftMm: number;
|
|
1798
|
+
topMm: number;
|
|
1799
|
+
widthMm: number;
|
|
1800
|
+
heightMm: number;
|
|
1801
|
+
title?: string;
|
|
1802
|
+
showValues?: boolean;
|
|
1803
|
+
}
|
|
1804
|
+
declare interface ReportChartOptions_3 {
|
|
1805
|
+
type: "bar" | "line" | "stackedBar" | "percentBar";
|
|
1806
|
+
categories: readonly string[];
|
|
1807
|
+
series: readonly ReportChartSeries_3[];
|
|
1808
|
+
leftMm: number;
|
|
1809
|
+
topMm: number;
|
|
1810
|
+
widthMm: number;
|
|
1811
|
+
heightMm: number;
|
|
1812
|
+
title?: string;
|
|
1813
|
+
showValues?: boolean;
|
|
1814
|
+
}
|
|
1815
|
+
declare interface ReportChartSeries {
|
|
1816
|
+
name: string;
|
|
1817
|
+
values: readonly (number | null)[];
|
|
1818
|
+
color?: string;
|
|
1819
|
+
}
|
|
1820
|
+
declare interface ReportChartSeries_2 {
|
|
1821
|
+
name: string;
|
|
1822
|
+
values: readonly (number | null)[];
|
|
1823
|
+
color?: string;
|
|
1824
|
+
}
|
|
1825
|
+
declare interface ReportChartSeries_3 {
|
|
1826
|
+
name: string;
|
|
1827
|
+
values: readonly (number | null)[];
|
|
1828
|
+
color?: string;
|
|
1829
|
+
}
|
|
1830
|
+
declare interface ReportComparison {
|
|
1831
|
+
field: string;
|
|
1832
|
+
op: ">" | ">=" | "<" | "<=" | "==" | "!=" | "between" | "contains" | "isNull" | "isNotNull";
|
|
1833
|
+
/** Legacy scalar thresholds remain supported. Use right for field-to-field comparisons. */
|
|
1834
|
+
value?: ReportPredicateScalar;
|
|
1835
|
+
right?: ReportPredicateOperand;
|
|
1836
|
+
values?: readonly [
|
|
1837
|
+
ReportPredicateScalar,
|
|
1838
|
+
ReportPredicateScalar
|
|
1839
|
+
];
|
|
1840
|
+
numeric?: "number" | "decimal";
|
|
1841
|
+
valueType?: "number" | "decimal" | "text" | "date" | "boolean";
|
|
1842
|
+
}
|
|
1843
|
+
declare interface ReportComparison_2 {
|
|
1844
|
+
field: string;
|
|
1845
|
+
op: ">" | ">=" | "<" | "<=" | "==" | "!=" | "between" | "contains" | "isNull" | "isNotNull";
|
|
1846
|
+
/** Legacy scalar thresholds remain supported. Use right for field-to-field comparisons. */
|
|
1847
|
+
value?: ReportPredicateScalar_2;
|
|
1848
|
+
right?: ReportPredicateOperand_2;
|
|
1849
|
+
values?: readonly [
|
|
1850
|
+
ReportPredicateScalar_2,
|
|
1851
|
+
ReportPredicateScalar_2
|
|
1852
|
+
];
|
|
1853
|
+
numeric?: "number" | "decimal";
|
|
1854
|
+
valueType?: "number" | "decimal" | "text" | "date" | "boolean";
|
|
1855
|
+
}
|
|
1856
|
+
declare interface ReportComparison_3 {
|
|
1857
|
+
field: string;
|
|
1858
|
+
op: ">" | ">=" | "<" | "<=" | "==" | "!=" | "between" | "contains" | "isNull" | "isNotNull";
|
|
1859
|
+
/** Legacy scalar thresholds remain supported. Use right for field-to-field comparisons. */
|
|
1860
|
+
value?: ReportPredicateScalar_3;
|
|
1861
|
+
right?: ReportPredicateOperand_3;
|
|
1862
|
+
values?: readonly [
|
|
1863
|
+
ReportPredicateScalar_3,
|
|
1864
|
+
ReportPredicateScalar_3
|
|
1865
|
+
];
|
|
1866
|
+
numeric?: "number" | "decimal";
|
|
1867
|
+
valueType?: "number" | "decimal" | "text" | "date" | "boolean";
|
|
1868
|
+
}
|
|
1869
|
+
declare interface ReportDataComparisonField {
|
|
1870
|
+
field: string;
|
|
1871
|
+
label?: string;
|
|
1872
|
+
/** Numeric comparison is explicit; identifiers containing digits stay text. */
|
|
1873
|
+
type?: "value" | "decimal";
|
|
1874
|
+
/** Absolute decimal tolerance, inclusive. No binary floating-point subtraction. */
|
|
1875
|
+
tolerance?: string;
|
|
1876
|
+
/** Fractional ratio digits. changeRatio is (after - before) / before, not a percent. */
|
|
1877
|
+
ratioDigits?: number;
|
|
1878
|
+
zeroDenominator?: "omit" | "zero-if-equal";
|
|
1879
|
+
missing?: "distinct" | "empty-equivalent" | "zero";
|
|
1880
|
+
}
|
|
1881
|
+
declare interface ReportDataComparisonReviewOptions extends ReportDataReviewSource {
|
|
1882
|
+
fields: readonly ReportDataComparisonField[];
|
|
1883
|
+
maxDifferences?: number;
|
|
1884
|
+
}
|
|
1885
|
+
declare interface ReportDataLimits {
|
|
1886
|
+
maxRows?: number;
|
|
1887
|
+
maxFields?: number;
|
|
1888
|
+
maxCells?: number;
|
|
1889
|
+
}
|
|
1890
|
+
/** A business record, never a physical report row index. */
|
|
1891
|
+
declare interface ReportDataRecord {
|
|
1892
|
+
rowKey: string | number;
|
|
1893
|
+
values: Readonly<Record<string, ReportCellValue_2>>;
|
|
1894
|
+
}
|
|
1895
|
+
declare interface ReportDataReviewMessages {
|
|
1896
|
+
prefillTitle: string;
|
|
1897
|
+
prefillHint: string;
|
|
1898
|
+
prefillCurrent: string;
|
|
1899
|
+
prefillReference: string;
|
|
1900
|
+
prefillLoad: string;
|
|
1901
|
+
prefillApply: string;
|
|
1902
|
+
prefillMatched: string;
|
|
1903
|
+
prefillChanged: string;
|
|
1904
|
+
prefillSkipped: string;
|
|
1905
|
+
prefillConflict: string;
|
|
1906
|
+
prefillUnchanged: string;
|
|
1907
|
+
prefillReadonly: string;
|
|
1908
|
+
prefillOccupied: string;
|
|
1909
|
+
prefillMissingSource: string;
|
|
1910
|
+
prefillMissingTarget: string;
|
|
1911
|
+
prefillAmbiguous: string;
|
|
1912
|
+
prefillInvalid: string;
|
|
1913
|
+
comparisonTitle: string;
|
|
1914
|
+
comparisonHint: string;
|
|
1915
|
+
comparisonLoad: string;
|
|
1916
|
+
comparisonAdded: string;
|
|
1917
|
+
comparisonRemoved: string;
|
|
1918
|
+
comparisonChanged: string;
|
|
1919
|
+
comparisonUnchanged: string;
|
|
1920
|
+
reviewCancel: string;
|
|
1921
|
+
reviewClose: string;
|
|
1922
|
+
reviewBefore: string;
|
|
1923
|
+
reviewAfter: string;
|
|
1924
|
+
reviewField: string;
|
|
1925
|
+
reviewKey: string;
|
|
1926
|
+
reviewDelta: string;
|
|
1927
|
+
reviewRatio: string;
|
|
1928
|
+
reviewLocate: string;
|
|
1929
|
+
reviewEmpty: string;
|
|
1930
|
+
reviewPrevious: string;
|
|
1931
|
+
reviewNext: string;
|
|
1932
|
+
reviewPage: string;
|
|
1933
|
+
}
|
|
1934
|
+
declare interface ReportDataReviewSource extends ReportDataLimits {
|
|
1935
|
+
sourceScope?: string;
|
|
1936
|
+
datasetId: string;
|
|
1937
|
+
label?: string;
|
|
1938
|
+
/** The host chooses history/instances; this package never guesses an endpoint or period. */
|
|
1939
|
+
load(operation: {
|
|
1940
|
+
signal: AbortSignal;
|
|
1941
|
+
}): readonly ReportDataRecord[] | Promise<readonly ReportDataRecord[]>;
|
|
1942
|
+
/** Cancel loaders that do not finish; default 15 seconds, bounded at 120 seconds. */
|
|
1943
|
+
timeoutMs?: number;
|
|
1944
|
+
}
|
|
1945
|
+
declare interface ReportDatasetValidationOptions {
|
|
1946
|
+
rules: readonly ReportValidationRule[];
|
|
1947
|
+
rowKey?: string;
|
|
1948
|
+
computed?: readonly ComputedField_2[];
|
|
1949
|
+
/** Explicit trusted engine, shared with pagination; never read from a serialized template. */
|
|
1950
|
+
formula?: FormulaAdapter_2;
|
|
1951
|
+
/** Uses the same bounded tree preparation and descendant-leaf summaries as pagination. */
|
|
1952
|
+
tree?: TreeTableOptions_2;
|
|
1953
|
+
maxChecks?: number;
|
|
1954
|
+
maxIssues?: number;
|
|
1955
|
+
signal?: AbortSignal;
|
|
1956
|
+
}
|
|
1495
1957
|
declare interface ReportDataTarget {
|
|
1496
1958
|
datasetId: string;
|
|
1497
1959
|
field: string;
|
|
@@ -1599,6 +2061,10 @@ declare interface ReportEditingOptions {
|
|
|
1599
2061
|
canEdit?(context: ReportCellContext): boolean;
|
|
1600
2062
|
/** Return an error message or throw to reject the edit. */
|
|
1601
2063
|
validate?(edit: Readonly<ReportCellEdit_2>, operation: ReportEditOperation): void | string | Promise<void | string>;
|
|
2064
|
+
/** Same declarative rules can be run in Node via validateReportDataset. Requires a source-backed session. */
|
|
2065
|
+
validation?: ReportCandidateValidationOptions;
|
|
2066
|
+
/** Optional host batch validation sees the fully recalculated candidate plan. */
|
|
2067
|
+
validateBatch?(batch: Readonly<ReportEditBatch>, candidate: RenderPlan_2, operation: ReportEditOperation): void | readonly ReportValidationIssue[] | Promise<void | readonly ReportValidationIssue[]>;
|
|
1602
2068
|
/** Called before applying the change. A rejection leaves the current report untouched. */
|
|
1603
2069
|
save?(edit: Readonly<ReportCellEdit_2>, operation: ReportEditOperation): void | ReportEditResult | Promise<void | ReportEditResult>;
|
|
1604
2070
|
/** Must commit all edits in one server transaction. Required for multi-cell persisted edits. */
|
|
@@ -1663,7 +2129,9 @@ declare type ReportExpression = {
|
|
|
1663
2129
|
field?: string;
|
|
1664
2130
|
weightField?: string;
|
|
1665
2131
|
} | {
|
|
1666
|
-
op:
|
|
2132
|
+
op: ReportExpressionOperation;
|
|
2133
|
+
/** Required for if; args are [then, else], and only the selected branch is evaluated. */
|
|
2134
|
+
condition?: ReportPredicate;
|
|
1667
2135
|
args: readonly ReportExpression[];
|
|
1668
2136
|
};
|
|
1669
2137
|
declare type ReportExpression_2 = {
|
|
@@ -1675,9 +2143,28 @@ declare type ReportExpression_2 = {
|
|
|
1675
2143
|
field?: string;
|
|
1676
2144
|
weightField?: string;
|
|
1677
2145
|
} | {
|
|
1678
|
-
op:
|
|
2146
|
+
op: ReportExpressionOperation_2;
|
|
2147
|
+
/** Required for if; args are [then, else], and only the selected branch is evaluated. */
|
|
2148
|
+
condition?: ReportPredicate_2;
|
|
1679
2149
|
args: readonly ReportExpression_2[];
|
|
1680
2150
|
};
|
|
2151
|
+
declare type ReportExpression_3 = {
|
|
2152
|
+
field: string;
|
|
2153
|
+
} | {
|
|
2154
|
+
value: string | number | boolean | null;
|
|
2155
|
+
} | {
|
|
2156
|
+
aggregate: AggregateOperation_3;
|
|
2157
|
+
field?: string;
|
|
2158
|
+
weightField?: string;
|
|
2159
|
+
} | {
|
|
2160
|
+
op: ReportExpressionOperation_3;
|
|
2161
|
+
/** Required for if; args are [then, else], and only the selected branch is evaluated. */
|
|
2162
|
+
condition?: ReportPredicate_3;
|
|
2163
|
+
args: readonly ReportExpression_3[];
|
|
2164
|
+
};
|
|
2165
|
+
declare type ReportExpressionOperation = "add" | "subtract" | "multiply" | "divide" | "coalesce" | "if" | "round" | "abs" | "concat" | "trim" | "upper" | "lower" | "dateYear" | "dateMonth" | "dateDay";
|
|
2166
|
+
declare type ReportExpressionOperation_2 = "add" | "subtract" | "multiply" | "divide" | "coalesce" | "if" | "round" | "abs" | "concat" | "trim" | "upper" | "lower" | "dateYear" | "dateMonth" | "dateDay";
|
|
2167
|
+
declare type ReportExpressionOperation_3 = "add" | "subtract" | "multiply" | "divide" | "coalesce" | "if" | "round" | "abs" | "concat" | "trim" | "upper" | "lower" | "dateYear" | "dateMonth" | "dateDay";
|
|
1681
2168
|
/** 保持 Promise<RenderPlan> 契约;元数据为可选,旧业务 fetcher 无需改造。 */
|
|
1682
2169
|
declare interface ReportFetcher {
|
|
1683
2170
|
(input: ReportFetchInput): Promise<RenderPlan>;
|
|
@@ -1692,7 +2179,13 @@ declare interface ReportFetchInput extends ReportTaskMonitoring {
|
|
|
1692
2179
|
/** Index scopes diagnostics when reports share datasets or a report ID is repeated. */
|
|
1693
2180
|
onQueryResult?: (reportId: string, result: ReportQueryResult, reportIndex?: number) => void;
|
|
1694
2181
|
}
|
|
1695
|
-
declare
|
|
2182
|
+
declare type ReportFieldAggregation = "sum" | "avg" | "min" | "max" | "count" | "none";
|
|
2183
|
+
declare interface ReportFieldCalculation {
|
|
2184
|
+
/** Business-owned explanation, never executable JavaScript or an inferred business formula. */
|
|
2185
|
+
description: string;
|
|
2186
|
+
dependsOn: readonly string[];
|
|
2187
|
+
}
|
|
2188
|
+
declare interface ReportFieldContract extends ReportFieldSemantics {
|
|
1696
2189
|
field: string;
|
|
1697
2190
|
label?: string;
|
|
1698
2191
|
type: "text" | "number" | "boolean" | "date" | "decimal";
|
|
@@ -1706,6 +2199,16 @@ declare interface ReportFieldContract {
|
|
|
1706
2199
|
semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
|
|
1707
2200
|
unit?: string;
|
|
1708
2201
|
}
|
|
2202
|
+
declare interface ReportFieldSemantics {
|
|
2203
|
+
description?: string;
|
|
2204
|
+
/** Explicit meaning of null/missing; does not convert blanks into zero. */
|
|
2205
|
+
missingMeaning?: string;
|
|
2206
|
+
/** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
|
|
2207
|
+
aggregation?: ReportFieldAggregation;
|
|
2208
|
+
/** Shared presentation only; raw values and calculation precision remain unchanged. */
|
|
2209
|
+
format?: ColumnFormat;
|
|
2210
|
+
calculation?: ReportFieldCalculation;
|
|
2211
|
+
}
|
|
1709
2212
|
declare interface ReportFieldTarget {
|
|
1710
2213
|
field: string;
|
|
1711
2214
|
datasetId?: string;
|
|
@@ -1759,12 +2262,9 @@ declare interface ReportParamDef {
|
|
|
1759
2262
|
field: string;
|
|
1760
2263
|
/** 显示名(缺省用 field) */
|
|
1761
2264
|
label?: string;
|
|
1762
|
-
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select";
|
|
2265
|
+
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select" | "multiSelect" | "cascader" | "numberRange";
|
|
1763
2266
|
/** select 选项 */
|
|
1764
|
-
options?:
|
|
1765
|
-
label: string;
|
|
1766
|
-
value: string;
|
|
1767
|
-
}>;
|
|
2267
|
+
options?: ReportParamTreeOption[];
|
|
1768
2268
|
/** Opaque host-resolved source key. No URL, credentials or executable code is stored. */
|
|
1769
2269
|
optionsSource?: string;
|
|
1770
2270
|
/** Select dependencies must be declared parameters; changing a parent clears descendants. */
|
|
@@ -1777,6 +2277,9 @@ declare interface ReportParamDef {
|
|
|
1777
2277
|
max?: number | string;
|
|
1778
2278
|
minLength?: number;
|
|
1779
2279
|
maxLength?: number;
|
|
2280
|
+
/** multiSelect item count (maximum 100). Cascader paths are bounded to 16 levels. */
|
|
2281
|
+
minItems?: number;
|
|
2282
|
+
maxItems?: number;
|
|
1780
2283
|
}
|
|
1781
2284
|
/** 报表参数定义(声明式,模板自描述参数面:渲染组件据此生成查询面板) */
|
|
1782
2285
|
declare interface ReportParamDef_2 {
|
|
@@ -1784,12 +2287,9 @@ declare interface ReportParamDef_2 {
|
|
|
1784
2287
|
field: string;
|
|
1785
2288
|
/** 显示名(缺省用 field) */
|
|
1786
2289
|
label?: string;
|
|
1787
|
-
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select";
|
|
2290
|
+
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select" | "multiSelect" | "cascader" | "numberRange";
|
|
1788
2291
|
/** select 选项 */
|
|
1789
|
-
options?:
|
|
1790
|
-
label: string;
|
|
1791
|
-
value: string;
|
|
1792
|
-
}>;
|
|
2292
|
+
options?: ReportParamTreeOption_2[];
|
|
1793
2293
|
/** Opaque host-resolved source key. No URL, credentials or executable code is stored. */
|
|
1794
2294
|
optionsSource?: string;
|
|
1795
2295
|
/** Select dependencies must be declared parameters; changing a parent clears descendants. */
|
|
@@ -1802,6 +2302,9 @@ declare interface ReportParamDef_2 {
|
|
|
1802
2302
|
max?: number | string;
|
|
1803
2303
|
minLength?: number;
|
|
1804
2304
|
maxLength?: number;
|
|
2305
|
+
/** multiSelect item count (maximum 100). Cascader paths are bounded to 16 levels. */
|
|
2306
|
+
minItems?: number;
|
|
2307
|
+
maxItems?: number;
|
|
1805
2308
|
}
|
|
1806
2309
|
declare interface ReportParamIssue {
|
|
1807
2310
|
code: ReportParamIssueCode;
|
|
@@ -1809,10 +2312,11 @@ declare interface ReportParamIssue {
|
|
|
1809
2312
|
field: string;
|
|
1810
2313
|
message: string;
|
|
1811
2314
|
}
|
|
1812
|
-
declare type ReportParamIssueCode = "definition" | "required" | "type" | "option" | "dependency" | "minimum" | "maximum" | "minLength" | "maxLength";
|
|
2315
|
+
declare type ReportParamIssueCode = "definition" | "required" | "type" | "option" | "dependency" | "minimum" | "maximum" | "minLength" | "maxLength" | "minItems" | "maxItems";
|
|
1813
2316
|
declare interface ReportParamOption {
|
|
1814
2317
|
readonly label: string;
|
|
1815
2318
|
readonly value: string;
|
|
2319
|
+
readonly children?: readonly ReportParamOption[];
|
|
1816
2320
|
}
|
|
1817
2321
|
declare interface ReportParamOptionsInput {
|
|
1818
2322
|
readonly source: string;
|
|
@@ -1832,6 +2336,20 @@ declare interface ReportParamOptionsMessages {
|
|
|
1832
2336
|
paramOptionsMissingLoader?: string;
|
|
1833
2337
|
paramOptionsDependencies?: string;
|
|
1834
2338
|
paramOptionsClear?: string;
|
|
2339
|
+
paramNumberRangeStart?: string;
|
|
2340
|
+
paramNumberRangeEnd?: string;
|
|
2341
|
+
}
|
|
2342
|
+
/** Cascader values are unique within each sibling list. */
|
|
2343
|
+
declare interface ReportParamTreeOption {
|
|
2344
|
+
label: string;
|
|
2345
|
+
value: string;
|
|
2346
|
+
children?: ReportParamTreeOption[];
|
|
2347
|
+
}
|
|
2348
|
+
/** Cascader values are unique within each sibling list. */
|
|
2349
|
+
declare interface ReportParamTreeOption_2 {
|
|
2350
|
+
label: string;
|
|
2351
|
+
value: string;
|
|
2352
|
+
children?: ReportParamTreeOption_2[];
|
|
1835
2353
|
}
|
|
1836
2354
|
/** Licensed local font bytes; never downloaded implicitly by the runtime. */
|
|
1837
2355
|
declare interface ReportPdfFontOptions {
|
|
@@ -1844,6 +2362,45 @@ declare interface ReportPdfFontOptions {
|
|
|
1844
2362
|
boldItalic?: Uint8Array | ArrayBuffer;
|
|
1845
2363
|
};
|
|
1846
2364
|
}
|
|
2365
|
+
declare type ReportPredicate = ReportComparison | {
|
|
2366
|
+
all: readonly ReportPredicate[];
|
|
2367
|
+
} | {
|
|
2368
|
+
any: readonly ReportPredicate[];
|
|
2369
|
+
} | {
|
|
2370
|
+
not: ReportPredicate;
|
|
2371
|
+
};
|
|
2372
|
+
declare type ReportPredicate_2 = ReportComparison_2 | {
|
|
2373
|
+
all: readonly ReportPredicate_2[];
|
|
2374
|
+
} | {
|
|
2375
|
+
any: readonly ReportPredicate_2[];
|
|
2376
|
+
} | {
|
|
2377
|
+
not: ReportPredicate_2;
|
|
2378
|
+
};
|
|
2379
|
+
declare type ReportPredicate_3 = ReportComparison_3 | {
|
|
2380
|
+
all: readonly ReportPredicate_3[];
|
|
2381
|
+
} | {
|
|
2382
|
+
any: readonly ReportPredicate_3[];
|
|
2383
|
+
} | {
|
|
2384
|
+
not: ReportPredicate_3;
|
|
2385
|
+
};
|
|
2386
|
+
declare type ReportPredicateOperand = {
|
|
2387
|
+
field: string;
|
|
2388
|
+
} | {
|
|
2389
|
+
value: ReportPredicateScalar;
|
|
2390
|
+
};
|
|
2391
|
+
declare type ReportPredicateOperand_2 = {
|
|
2392
|
+
field: string;
|
|
2393
|
+
} | {
|
|
2394
|
+
value: ReportPredicateScalar_2;
|
|
2395
|
+
};
|
|
2396
|
+
declare type ReportPredicateOperand_3 = {
|
|
2397
|
+
field: string;
|
|
2398
|
+
} | {
|
|
2399
|
+
value: ReportPredicateScalar_3;
|
|
2400
|
+
};
|
|
2401
|
+
declare type ReportPredicateScalar = string | number | boolean | null;
|
|
2402
|
+
declare type ReportPredicateScalar_2 = string | number | boolean | null;
|
|
2403
|
+
declare type ReportPredicateScalar_3 = string | number | boolean | null;
|
|
1847
2404
|
declare interface ReportPreferencesAdapter {
|
|
1848
2405
|
load(key: string): Partial<ReportPreviewPreferences> | null | Promise<Partial<ReportPreviewPreferences> | null>;
|
|
1849
2406
|
save(key: string, value: Readonly<Partial<ReportPreviewPreferences>>): void | Promise<void>;
|
|
@@ -1854,6 +2411,16 @@ declare interface ReportPreferencesOptions {
|
|
|
1854
2411
|
key: string;
|
|
1855
2412
|
adapter: ReportPreferencesAdapter;
|
|
1856
2413
|
}
|
|
2414
|
+
declare interface ReportPrefillField {
|
|
2415
|
+
field: string;
|
|
2416
|
+
sourceField?: string;
|
|
2417
|
+
label?: string;
|
|
2418
|
+
}
|
|
2419
|
+
declare interface ReportPrefillReviewOptions extends ReportDataReviewSource {
|
|
2420
|
+
fields: readonly ReportPrefillField[];
|
|
2421
|
+
mode?: "empty" | "replace";
|
|
2422
|
+
maxChanges?: number;
|
|
2423
|
+
}
|
|
1857
2424
|
declare interface ReportPreviewDataTarget extends ReportDataTarget_2 {
|
|
1858
2425
|
/** Added by the query adapter; isolates identical dataset/row/field identities across reports. */
|
|
1859
2426
|
reportScope?: string;
|
|
@@ -1939,6 +2506,8 @@ declare interface ReportRuntimeBudget {
|
|
|
1939
2506
|
maxRows?: number;
|
|
1940
2507
|
maxPages?: number;
|
|
1941
2508
|
maxCells?: number;
|
|
2509
|
+
/** Aggregate bound-chart primitives per prepare, before expansion; default 50000, hard maximum 1000000. */
|
|
2510
|
+
maxChartComponents?: number;
|
|
1942
2511
|
maxOutputBytes?: number;
|
|
1943
2512
|
/** Bound the plain JSON snapshot accepted by exportPrepared (default 64 MB). */
|
|
1944
2513
|
maxPreparedBytes?: number;
|
|
@@ -2031,6 +2600,29 @@ declare interface ReportTemplateRepeat_2 {
|
|
|
2031
2600
|
};
|
|
2032
2601
|
}
|
|
2033
2602
|
declare type ReportTemplateSummary = Omit<ReportTemplateDocument, "template">;
|
|
2603
|
+
declare interface ReportValidationIssue {
|
|
2604
|
+
ruleId: string;
|
|
2605
|
+
rowKey?: string | number;
|
|
2606
|
+
rowIndex?: number;
|
|
2607
|
+
field?: string;
|
|
2608
|
+
dataset?: string;
|
|
2609
|
+
sourceScope?: string;
|
|
2610
|
+
severity: "error" | "warning";
|
|
2611
|
+
message: string;
|
|
2612
|
+
}
|
|
2613
|
+
declare interface ReportValidationRule {
|
|
2614
|
+
id: string;
|
|
2615
|
+
/** Optional target; omitted applies to each candidate dataset. */
|
|
2616
|
+
dataset?: string;
|
|
2617
|
+
assert: ReportPredicate_2;
|
|
2618
|
+
when?: ReportPredicate_2;
|
|
2619
|
+
field?: string;
|
|
2620
|
+
severity?: "error" | "warning";
|
|
2621
|
+
message: string;
|
|
2622
|
+
scope?: "row" | "dataset";
|
|
2623
|
+
/** Dataset-scope assertions read this explicit summary row, never an arbitrary detail row. */
|
|
2624
|
+
aggregates?: readonly AggregateDefinition_2[];
|
|
2625
|
+
}
|
|
2034
2626
|
/** Optional business explanations never replace raw data or schema validation. */
|
|
2035
2627
|
declare type ReportValueState = "missing-source" | "not-applicable" | "not-calculable";
|
|
2036
2628
|
/** Optional business explanations never replace raw data or schema validation. */
|
|
@@ -2079,25 +2671,13 @@ declare interface RichSegment_3 {
|
|
|
2079
2671
|
}
|
|
2080
2672
|
/** 条件格式规则求值(声明式,见 ListColumn.rules) */
|
|
2081
2673
|
declare interface StyleRule {
|
|
2082
|
-
when:
|
|
2083
|
-
field: string;
|
|
2084
|
-
op: ">" | ">=" | "<" | "<=" | "==" | "!=";
|
|
2085
|
-
value: number | string;
|
|
2086
|
-
/** Explicit decimal comparisons retain decimal thresholds as text. */
|
|
2087
|
-
numeric?: "number" | "decimal";
|
|
2088
|
-
};
|
|
2674
|
+
when: ReportPredicate;
|
|
2089
2675
|
/** 命中时合并进单元格样式(color/bold/backgroundColor 等) */
|
|
2090
2676
|
style: Record<string, unknown>;
|
|
2091
2677
|
}
|
|
2092
2678
|
/** 条件格式规则求值(声明式,见 ListColumn.rules) */
|
|
2093
2679
|
declare interface StyleRule_2 {
|
|
2094
|
-
when:
|
|
2095
|
-
field: string;
|
|
2096
|
-
op: ">" | ">=" | "<" | "<=" | "==" | "!=";
|
|
2097
|
-
value: number | string;
|
|
2098
|
-
/** Explicit decimal comparisons retain decimal thresholds as text. */
|
|
2099
|
-
numeric?: "number" | "decimal";
|
|
2100
|
-
};
|
|
2680
|
+
when: ReportPredicate_3;
|
|
2101
2681
|
/** 命中时合并进单元格样式(color/bold/backgroundColor 等) */
|
|
2102
2682
|
style: Record<string, unknown>;
|
|
2103
2683
|
}
|
|
@@ -2187,6 +2767,25 @@ declare interface TreeTableOptions_2 {
|
|
|
2187
2767
|
/** Bounded leaf-to-ancestor aggregate work; default one million. */
|
|
2188
2768
|
maxAggregationVisits?: number;
|
|
2189
2769
|
}
|
|
2770
|
+
/** A serialized tree contract. Sibling and root order follow input order. */
|
|
2771
|
+
declare interface TreeTableOptions_3 {
|
|
2772
|
+
input: "flat" | "nested";
|
|
2773
|
+
idField: string;
|
|
2774
|
+
/** Flat roots have null/undefined parent values. */
|
|
2775
|
+
parentField?: string;
|
|
2776
|
+
/** Nested child arrays, defaults to children. Every node still needs an ID. */
|
|
2777
|
+
childrenField?: string;
|
|
2778
|
+
labelField: string;
|
|
2779
|
+
indentMm?: number;
|
|
2780
|
+
orphan?: "error" | "root";
|
|
2781
|
+
/** Source preserves parent values; leaf-aggregate derives only parents from descendant leaves. */
|
|
2782
|
+
parentValues?: "source" | "leaf-aggregate";
|
|
2783
|
+
aggregates?: AggregateDefinition_3[];
|
|
2784
|
+
maxRows?: number;
|
|
2785
|
+
maxDepth?: number;
|
|
2786
|
+
/** Bounded leaf-to-ancestor aggregate work; default one million. */
|
|
2787
|
+
maxAggregationVisits?: number;
|
|
2788
|
+
}
|
|
2190
2789
|
/** The same declarative formatting used by list columns, before any output backend. */
|
|
2191
2790
|
declare type ValueFormat = ColumnFormat;
|
|
2192
2791
|
/** The same declarative formatting used by list columns, before any output backend. */
|
|
@@ -2202,13 +2801,15 @@ declare type XlsxImageOptions = ImageMediaOptions_2;
|
|
|
2202
2801
|
* 目标是"财务能直接用的对账表"而非复刻版面)
|
|
2203
2802
|
* - 原生 richText 保留基础字形;未支持组件、段落专有排版与单元格嵌套组件计入 diagnostics / warnings
|
|
2204
2803
|
*/
|
|
2205
|
-
declare interface XlsxRenderOptions extends
|
|
2804
|
+
declare interface XlsxRenderOptions extends AssetRenderOptions_2, XlsxImageOptions {
|
|
2206
2805
|
/** 工作表命名(连续表默认使用标题,其余默认 "Sheet1" 起序)。 */
|
|
2207
2806
|
sheetName?: (sheetIndex: number) => string;
|
|
2208
2807
|
/** auto 默认将 wide 逻辑表合并为连续 Sheet;pages 保留逐页;continuous 要求明确的表来源。 */
|
|
2209
2808
|
sheetMode?: "auto" | "pages" | "continuous";
|
|
2210
2809
|
/** 宽表或连续表默认 raw,其余默认 text;显式配置可覆盖默认值。 */
|
|
2211
2810
|
valueMode?: "text" | "raw";
|
|
2811
|
+
/** Static data-bar drawing budget; fail explicitly rather than omitting bars. Default 10,000. */
|
|
2812
|
+
maxDataBars?: number;
|
|
2212
2813
|
/** 连续表默认不限制打印纸型;显式 A3/A4/A5 仅设置打印适配,不改变 Excel 列宽。 */
|
|
2213
2814
|
paperSize?: "auto" | "a3" | "a4" | "a5";
|
|
2214
2815
|
}
|