@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/xlsx.d.ts
CHANGED
|
@@ -35,6 +35,14 @@ declare interface AggregateDefinition {
|
|
|
35
35
|
|
|
36
36
|
declare type AggregateOperation = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
37
37
|
|
|
38
|
+
declare interface AggregateRequest {
|
|
39
|
+
op: AggregateOperation;
|
|
40
|
+
field?: string;
|
|
41
|
+
weightField?: string;
|
|
42
|
+
numeric?: "number" | "decimal";
|
|
43
|
+
digits?: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
38
46
|
declare interface Alignment {
|
|
39
47
|
horizontal: 'left' | 'center' | 'right' | 'fill' | 'justify' | 'centerContinuous' | 'distributed';
|
|
40
48
|
vertical: 'top' | 'middle' | 'bottom' | 'distributed' | 'justify';
|
|
@@ -64,6 +72,27 @@ export declare type AnyExcelBindingDocumentResult = ExcelBindingDocumentResult |
|
|
|
64
72
|
|
|
65
73
|
export declare type AnyExcelBindingSession = ExcelBindingSession | ExcelRegionBindingSession;
|
|
66
74
|
|
|
75
|
+
declare interface AssetRenderBudget {
|
|
76
|
+
/** Maximum newly rendered assets, default 1000. Existing imageData is kept unchanged. */
|
|
77
|
+
maxAssets?: number;
|
|
78
|
+
/** Maximum image payload bytes per new asset, default 32 MiB. */
|
|
79
|
+
maxImageBytes?: number;
|
|
80
|
+
/** Maximum total image payload bytes for new assets, default 128 MiB. */
|
|
81
|
+
maxTotalImageBytes?: number;
|
|
82
|
+
/** Wall-clock budget, including adapters that ignore AbortSignal. Default 30 seconds. */
|
|
83
|
+
maxDurationMs?: number;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
declare interface AssetRenderOptions extends OutputDiagnosticOptions, ImageMediaOptions {
|
|
87
|
+
assetRenderers?: Partial<Record<ImageComponentKind, ComponentImageRenderer>>;
|
|
88
|
+
/** Explicit id/version registry; unbound components continue using assetRenderers by kind. */
|
|
89
|
+
assetRegistry?: ComponentAssetRegistry;
|
|
90
|
+
assetBudget?: AssetRenderBudget;
|
|
91
|
+
/** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
|
|
92
|
+
assetFailure?: "throw" | "placeholder";
|
|
93
|
+
signal?: AbortSignal;
|
|
94
|
+
}
|
|
95
|
+
|
|
67
96
|
declare type AutoFilter = string | {
|
|
68
97
|
from: string | { row: number; column: number };
|
|
69
98
|
to: string | { row: number; column: number };
|
|
@@ -395,6 +424,23 @@ declare type ColumnFormat = {
|
|
|
395
424
|
pattern?: string;
|
|
396
425
|
};
|
|
397
426
|
|
|
427
|
+
declare type ColumnVisual = {
|
|
428
|
+
/** Defaults to the column field; never changes the cell's raw value or business identity. */
|
|
429
|
+
field?: string;
|
|
430
|
+
/** Numeric text requires explicit opt-in; formatting an identifier does not turn it into a measure. */
|
|
431
|
+
numeric?: "number" | "decimal";
|
|
432
|
+
min?: number;
|
|
433
|
+
max?: number;
|
|
434
|
+
} & ({
|
|
435
|
+
kind: "colorScale";
|
|
436
|
+
lowColor?: string;
|
|
437
|
+
highColor?: string;
|
|
438
|
+
} | {
|
|
439
|
+
kind: "dataBar";
|
|
440
|
+
color?: string;
|
|
441
|
+
negativeColor?: string;
|
|
442
|
+
});
|
|
443
|
+
|
|
398
444
|
declare interface Comment_2 {
|
|
399
445
|
texts?: RichText[];
|
|
400
446
|
margins?: Partial<CommentMargins>;
|
|
@@ -414,6 +460,11 @@ declare interface CommentProtection {
|
|
|
414
460
|
lockText: 'True' | 'False';
|
|
415
461
|
}
|
|
416
462
|
|
|
463
|
+
declare interface ComponentAssetRegistry {
|
|
464
|
+
rendererFor(component: Readonly<PlanComponent>): ComponentImageRenderer | undefined;
|
|
465
|
+
hasExtension(id: string, version: string, kind: string): boolean;
|
|
466
|
+
}
|
|
467
|
+
|
|
417
468
|
/** A literal own field of the current label record; expressions and paths are not evaluated. */
|
|
418
469
|
declare interface ComponentBinding {
|
|
419
470
|
field: string;
|
|
@@ -423,6 +474,16 @@ declare interface ComponentBinding {
|
|
|
423
474
|
emptyText?: string;
|
|
424
475
|
}
|
|
425
476
|
|
|
477
|
+
declare interface ComponentImageContext {
|
|
478
|
+
readonly component: Readonly<PlanComponent>;
|
|
479
|
+
readonly pageIndex: number;
|
|
480
|
+
readonly componentIndex: number;
|
|
481
|
+
readonly componentPath: readonly number[];
|
|
482
|
+
readonly signal: AbortSignal;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
declare type ComponentImageRenderer = (context: ComponentImageContext) => string | Promise<string>;
|
|
486
|
+
|
|
426
487
|
declare type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
427
488
|
|
|
428
489
|
declare interface ComponentStyle {
|
|
@@ -1152,6 +1213,12 @@ declare interface GradientStop {
|
|
|
1152
1213
|
}
|
|
1153
1214
|
|
|
1154
1215
|
declare interface GridCell {
|
|
1216
|
+
/** Resolved visual only. Original value, text, editability and source are unchanged. */
|
|
1217
|
+
dataBar?: {
|
|
1218
|
+
start: number;
|
|
1219
|
+
end: number;
|
|
1220
|
+
color: string;
|
|
1221
|
+
};
|
|
1155
1222
|
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
1156
1223
|
richParagraphs?: RichParagraph[];
|
|
1157
1224
|
text?: string;
|
|
@@ -1245,6 +1312,8 @@ declare interface Image_2 {
|
|
|
1245
1312
|
buffer?: Buffer_2;
|
|
1246
1313
|
}
|
|
1247
1314
|
|
|
1315
|
+
declare type ImageComponentKind = "image" | "chart" | "barcode" | "qrcode";
|
|
1316
|
+
|
|
1248
1317
|
declare interface ImageHyperlinkValue {
|
|
1249
1318
|
hyperlink: string;
|
|
1250
1319
|
tooltip?: string;
|
|
@@ -1313,6 +1382,8 @@ declare interface ListColumn {
|
|
|
1313
1382
|
format?: ColumnFormat;
|
|
1314
1383
|
/** 条件格式规则(声明式,命中合并进单元格样式;如负数红字) */
|
|
1315
1384
|
rules?: StyleRule[];
|
|
1385
|
+
/** Optional resolved color scale or value-preserving data bar. */
|
|
1386
|
+
visual?: ColumnVisual;
|
|
1316
1387
|
/** 内容列编辑控制;仍需由预览显式开启 editing,不影响表头/小计只读规则。 */
|
|
1317
1388
|
editable?: boolean;
|
|
1318
1389
|
/** 空值列或特殊数据类型可显式声明编辑输入类型。 */
|
|
@@ -1435,6 +1506,26 @@ declare interface Margins {
|
|
|
1435
1506
|
footer: number;
|
|
1436
1507
|
}
|
|
1437
1508
|
|
|
1509
|
+
declare interface MatrixAxisOptions {
|
|
1510
|
+
/** Display names in the same outer-to-inner order as the dimension fields. */
|
|
1511
|
+
labels?: readonly string[];
|
|
1512
|
+
/** Per-level sibling order; omitted levels retain first-seen order. */
|
|
1513
|
+
sort?: readonly MatrixDimensionOrder[];
|
|
1514
|
+
/** One-based prefix depths. Leaf depths are not subtotals. */
|
|
1515
|
+
subtotals?: readonly number[];
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
declare type MatrixDimensionOrder = "source" | "asc" | "desc";
|
|
1519
|
+
|
|
1520
|
+
declare interface MatrixHierarchyOptions {
|
|
1521
|
+
row?: MatrixAxisOptions;
|
|
1522
|
+
column?: MatrixAxisOptions;
|
|
1523
|
+
/** Only null/missing values use this label; empty strings and zero stay distinct. */
|
|
1524
|
+
emptyLabel?: string;
|
|
1525
|
+
subtotalLabel?: string;
|
|
1526
|
+
totalLabel?: string;
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1438
1529
|
declare interface MatrixTableOptions {
|
|
1439
1530
|
rowFields: readonly string[];
|
|
1440
1531
|
columnFields: readonly string[];
|
|
@@ -1449,6 +1540,10 @@ declare interface MatrixTableOptions {
|
|
|
1449
1540
|
maxColumns?: number;
|
|
1450
1541
|
maxInputRows?: number;
|
|
1451
1542
|
maxCells?: number;
|
|
1543
|
+
/** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
|
|
1544
|
+
hierarchy?: MatrixHierarchyOptions;
|
|
1545
|
+
/** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
|
|
1546
|
+
maxAggregateUpdates?: number;
|
|
1452
1547
|
}
|
|
1453
1548
|
|
|
1454
1549
|
declare interface Media {
|
|
@@ -1471,6 +1566,11 @@ declare interface OutputDiagnostic {
|
|
|
1471
1566
|
componentPath?: readonly number[];
|
|
1472
1567
|
kind: string;
|
|
1473
1568
|
nid?: string;
|
|
1569
|
+
/** Declarative extension identity only; no property values or business binding data enter diagnostics. */
|
|
1570
|
+
extension?: {
|
|
1571
|
+
id: string;
|
|
1572
|
+
version: string;
|
|
1573
|
+
};
|
|
1474
1574
|
message: string;
|
|
1475
1575
|
}
|
|
1476
1576
|
|
|
@@ -1658,6 +1758,8 @@ export declare function parseExcelBindingSession(input: unknown): ExcelBindingSe
|
|
|
1658
1758
|
export declare function parseExcelRegionBindingSession(input: unknown): ExcelRegionBindingSession;
|
|
1659
1759
|
|
|
1660
1760
|
declare interface PlanComponent {
|
|
1761
|
+
/** Template-only aggregate binding, expanded into shared primitives during layout. */
|
|
1762
|
+
chartBinding?: ReportChartBinding;
|
|
1661
1763
|
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
1662
1764
|
code?: CodeOptions;
|
|
1663
1765
|
/** Template-only binding; resolved and removed before constructing the output plan. */
|
|
@@ -1820,6 +1922,53 @@ declare interface ReportCellSource {
|
|
|
1820
1922
|
sourceToken?: string;
|
|
1821
1923
|
}
|
|
1822
1924
|
|
|
1925
|
+
/** Serializable binding; data and authorization continue to come from the existing report source. */
|
|
1926
|
+
declare interface ReportChartBinding {
|
|
1927
|
+
dataset: string;
|
|
1928
|
+
categoryField: string;
|
|
1929
|
+
measures: readonly ReportChartMeasure[];
|
|
1930
|
+
type: ReportChartOptions["type"];
|
|
1931
|
+
sort?: "asc" | "desc";
|
|
1932
|
+
title?: string;
|
|
1933
|
+
showValues?: boolean;
|
|
1934
|
+
maxRows?: number;
|
|
1935
|
+
maxCategories?: number;
|
|
1936
|
+
}
|
|
1937
|
+
|
|
1938
|
+
declare interface ReportChartMeasure extends AggregateRequest {
|
|
1939
|
+
label?: string;
|
|
1940
|
+
color?: string;
|
|
1941
|
+
}
|
|
1942
|
+
|
|
1943
|
+
declare interface ReportChartOptions {
|
|
1944
|
+
type: "bar" | "line" | "stackedBar" | "percentBar";
|
|
1945
|
+
categories: readonly string[];
|
|
1946
|
+
series: readonly ReportChartSeries[];
|
|
1947
|
+
leftMm: number;
|
|
1948
|
+
topMm: number;
|
|
1949
|
+
widthMm: number;
|
|
1950
|
+
heightMm: number;
|
|
1951
|
+
title?: string;
|
|
1952
|
+
showValues?: boolean;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
declare interface ReportChartSeries {
|
|
1956
|
+
name: string;
|
|
1957
|
+
values: readonly (number | null)[];
|
|
1958
|
+
color?: string;
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
declare interface ReportComparison {
|
|
1962
|
+
field: string;
|
|
1963
|
+
op: ">" | ">=" | "<" | "<=" | "==" | "!=" | "between" | "contains" | "isNull" | "isNotNull";
|
|
1964
|
+
/** Legacy scalar thresholds remain supported. Use right for field-to-field comparisons. */
|
|
1965
|
+
value?: ReportPredicateScalar;
|
|
1966
|
+
right?: ReportPredicateOperand;
|
|
1967
|
+
values?: readonly [ReportPredicateScalar, ReportPredicateScalar];
|
|
1968
|
+
numeric?: "number" | "decimal";
|
|
1969
|
+
valueType?: "number" | "decimal" | "text" | "date" | "boolean";
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1823
1972
|
declare type ReportExpression = {
|
|
1824
1973
|
field: string;
|
|
1825
1974
|
} | {
|
|
@@ -1829,11 +1978,23 @@ declare type ReportExpression = {
|
|
|
1829
1978
|
field?: string;
|
|
1830
1979
|
weightField?: string;
|
|
1831
1980
|
} | {
|
|
1832
|
-
op:
|
|
1981
|
+
op: ReportExpressionOperation;
|
|
1982
|
+
/** Required for if; args are [then, else], and only the selected branch is evaluated. */
|
|
1983
|
+
condition?: ReportPredicate;
|
|
1833
1984
|
args: readonly ReportExpression[];
|
|
1834
1985
|
};
|
|
1835
1986
|
|
|
1836
|
-
declare
|
|
1987
|
+
declare type ReportExpressionOperation = "add" | "subtract" | "multiply" | "divide" | "coalesce" | "if" | "round" | "abs" | "concat" | "trim" | "upper" | "lower" | "dateYear" | "dateMonth" | "dateDay";
|
|
1988
|
+
|
|
1989
|
+
declare type ReportFieldAggregation = "sum" | "avg" | "min" | "max" | "count" | "none";
|
|
1990
|
+
|
|
1991
|
+
declare interface ReportFieldCalculation {
|
|
1992
|
+
/** Business-owned explanation, never executable JavaScript or an inferred business formula. */
|
|
1993
|
+
description: string;
|
|
1994
|
+
dependsOn: readonly string[];
|
|
1995
|
+
}
|
|
1996
|
+
|
|
1997
|
+
declare interface ReportFieldContract extends ReportFieldSemantics {
|
|
1837
1998
|
field: string;
|
|
1838
1999
|
label?: string;
|
|
1839
2000
|
type: "text" | "number" | "boolean" | "date" | "decimal";
|
|
@@ -1848,6 +2009,17 @@ declare interface ReportFieldContract {
|
|
|
1848
2009
|
unit?: string;
|
|
1849
2010
|
}
|
|
1850
2011
|
|
|
2012
|
+
declare interface ReportFieldSemantics {
|
|
2013
|
+
description?: string;
|
|
2014
|
+
/** Explicit meaning of null/missing; does not convert blanks into zero. */
|
|
2015
|
+
missingMeaning?: string;
|
|
2016
|
+
/** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
|
|
2017
|
+
aggregation?: ReportFieldAggregation;
|
|
2018
|
+
/** Shared presentation only; raw values and calculation precision remain unchanged. */
|
|
2019
|
+
format?: ColumnFormat;
|
|
2020
|
+
calculation?: ReportFieldCalculation;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
1851
2023
|
declare interface ReportFlowBand {
|
|
1852
2024
|
/** Exact stable component IDs. Static components use nid, lists use id. */
|
|
1853
2025
|
componentIds: string[];
|
|
@@ -1866,12 +2038,9 @@ declare interface ReportParamDef {
|
|
|
1866
2038
|
field: string;
|
|
1867
2039
|
/** 显示名(缺省用 field) */
|
|
1868
2040
|
label?: string;
|
|
1869
|
-
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select";
|
|
2041
|
+
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select" | "multiSelect" | "cascader" | "numberRange";
|
|
1870
2042
|
/** select 选项 */
|
|
1871
|
-
options?:
|
|
1872
|
-
label: string;
|
|
1873
|
-
value: string;
|
|
1874
|
-
}>;
|
|
2043
|
+
options?: ReportParamTreeOption[];
|
|
1875
2044
|
/** Opaque host-resolved source key. No URL, credentials or executable code is stored. */
|
|
1876
2045
|
optionsSource?: string;
|
|
1877
2046
|
/** Select dependencies must be declared parameters; changing a parent clears descendants. */
|
|
@@ -1884,8 +2053,34 @@ declare interface ReportParamDef {
|
|
|
1884
2053
|
max?: number | string;
|
|
1885
2054
|
minLength?: number;
|
|
1886
2055
|
maxLength?: number;
|
|
2056
|
+
/** multiSelect item count (maximum 100). Cascader paths are bounded to 16 levels. */
|
|
2057
|
+
minItems?: number;
|
|
2058
|
+
maxItems?: number;
|
|
1887
2059
|
}
|
|
1888
2060
|
|
|
2061
|
+
/** Cascader values are unique within each sibling list. */
|
|
2062
|
+
declare interface ReportParamTreeOption {
|
|
2063
|
+
label: string;
|
|
2064
|
+
value: string;
|
|
2065
|
+
children?: ReportParamTreeOption[];
|
|
2066
|
+
}
|
|
2067
|
+
|
|
2068
|
+
declare type ReportPredicate = ReportComparison | {
|
|
2069
|
+
all: readonly ReportPredicate[];
|
|
2070
|
+
} | {
|
|
2071
|
+
any: readonly ReportPredicate[];
|
|
2072
|
+
} | {
|
|
2073
|
+
not: ReportPredicate;
|
|
2074
|
+
};
|
|
2075
|
+
|
|
2076
|
+
declare type ReportPredicateOperand = {
|
|
2077
|
+
field: string;
|
|
2078
|
+
} | {
|
|
2079
|
+
value: ReportPredicateScalar;
|
|
2080
|
+
};
|
|
2081
|
+
|
|
2082
|
+
declare type ReportPredicateScalar = string | number | boolean | null;
|
|
2083
|
+
|
|
1889
2084
|
declare interface ReportTemplate {
|
|
1890
2085
|
schemaVersion?: string;
|
|
1891
2086
|
/** 参数定义(可选;宿主也可经 ReportPreview 的 paramDefs prop 提供,prop 优先) */
|
|
@@ -2193,13 +2388,7 @@ declare interface Style {
|
|
|
2193
2388
|
|
|
2194
2389
|
/** 条件格式规则求值(声明式,见 ListColumn.rules) */
|
|
2195
2390
|
declare interface StyleRule {
|
|
2196
|
-
when:
|
|
2197
|
-
field: string;
|
|
2198
|
-
op: ">" | ">=" | "<" | "<=" | "==" | "!=";
|
|
2199
|
-
value: number | string;
|
|
2200
|
-
/** Explicit decimal comparisons retain decimal thresholds as text. */
|
|
2201
|
-
numeric?: "number" | "decimal";
|
|
2202
|
-
};
|
|
2391
|
+
when: ReportPredicate;
|
|
2203
2392
|
/** 命中时合并进单元格样式(color/bold/backgroundColor 等) */
|
|
2204
2393
|
style: Record<string, unknown>;
|
|
2205
2394
|
}
|
|
@@ -3064,13 +3253,15 @@ declare interface XlsxReadOptions {
|
|
|
3064
3253
|
* 目标是"财务能直接用的对账表"而非复刻版面)
|
|
3065
3254
|
* - 原生 richText 保留基础字形;未支持组件、段落专有排版与单元格嵌套组件计入 diagnostics / warnings
|
|
3066
3255
|
*/
|
|
3067
|
-
export declare interface XlsxRenderOptions extends
|
|
3256
|
+
export declare interface XlsxRenderOptions extends AssetRenderOptions, XlsxImageOptions {
|
|
3068
3257
|
/** 工作表命名(连续表默认使用标题,其余默认 "Sheet1" 起序)。 */
|
|
3069
3258
|
sheetName?: (sheetIndex: number) => string;
|
|
3070
3259
|
/** auto 默认将 wide 逻辑表合并为连续 Sheet;pages 保留逐页;continuous 要求明确的表来源。 */
|
|
3071
3260
|
sheetMode?: "auto" | "pages" | "continuous";
|
|
3072
3261
|
/** 宽表或连续表默认 raw,其余默认 text;显式配置可覆盖默认值。 */
|
|
3073
3262
|
valueMode?: "text" | "raw";
|
|
3263
|
+
/** Static data-bar drawing budget; fail explicitly rather than omitting bars. Default 10,000. */
|
|
3264
|
+
maxDataBars?: number;
|
|
3074
3265
|
/** 连续表默认不限制打印纸型;显式 A3/A4/A5 仅设置打印适配,不改变 Excel 列宽。 */
|
|
3075
3266
|
paperSize?: "auto" | "a3" | "a4" | "a5";
|
|
3076
3267
|
}
|
|
@@ -3080,6 +3271,8 @@ export declare interface XlsxRenderResult {
|
|
|
3080
3271
|
buffer: ExcelJS.Buffer;
|
|
3081
3272
|
warnings: string[];
|
|
3082
3273
|
diagnostics?: OutputDiagnostic[];
|
|
3274
|
+
/** Informational output semantics; these do not indicate missing content. */
|
|
3275
|
+
notes?: string[];
|
|
3083
3276
|
}
|
|
3084
3277
|
|
|
3085
3278
|
declare interface XlsxWriteOptions extends stream.xlsx.WorkbookWriterOptions {
|