@report-designer/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/aggregate-engine/aggregate-runtime.d.ts +14 -0
  2. package/dist/aggregate-engine/aggregate-runtime.d.ts.map +1 -0
  3. package/dist/aggregate-engine/aggregate-runtime.js +98 -0
  4. package/dist/aggregate-engine/aggregate-runtime.js.map +1 -0
  5. package/dist/aggregate-engine/aggregate-types.d.ts +14 -0
  6. package/dist/aggregate-engine/aggregate-types.d.ts.map +1 -0
  7. package/dist/aggregate-engine/aggregate-types.js +2 -0
  8. package/dist/aggregate-engine/aggregate-types.js.map +1 -0
  9. package/dist/aggregate-engine/index.d.ts +3 -0
  10. package/dist/aggregate-engine/index.d.ts.map +1 -0
  11. package/dist/aggregate-engine/index.js +3 -0
  12. package/dist/aggregate-engine/index.js.map +1 -0
  13. package/dist/band-planner/band-plan.d.ts +46 -0
  14. package/dist/band-planner/band-plan.d.ts.map +1 -0
  15. package/dist/band-planner/band-plan.js +2 -0
  16. package/dist/band-planner/band-plan.js.map +1 -0
  17. package/dist/band-planner/build-band-plan.d.ts +4 -0
  18. package/dist/band-planner/build-band-plan.d.ts.map +1 -0
  19. package/dist/band-planner/build-band-plan.js +84 -0
  20. package/dist/band-planner/build-band-plan.js.map +1 -0
  21. package/dist/band-planner/execute-band-plan.d.ts +8 -0
  22. package/dist/band-planner/execute-band-plan.d.ts.map +1 -0
  23. package/dist/band-planner/execute-band-plan.js +280 -0
  24. package/dist/band-planner/execute-band-plan.js.map +1 -0
  25. package/dist/band-planner/index.d.ts +4 -0
  26. package/dist/band-planner/index.d.ts.map +1 -0
  27. package/dist/band-planner/index.js +4 -0
  28. package/dist/band-planner/index.js.map +1 -0
  29. package/dist/chart/chart-capabilities.d.ts +40 -0
  30. package/dist/chart/chart-capabilities.d.ts.map +1 -0
  31. package/dist/chart/chart-capabilities.js +62 -0
  32. package/dist/chart/chart-capabilities.js.map +1 -0
  33. package/dist/chart/index.d.ts +2 -0
  34. package/dist/chart/index.d.ts.map +1 -0
  35. package/dist/chart/index.js +2 -0
  36. package/dist/chart/index.js.map +1 -0
  37. package/dist/command-engine/index.d.ts +49 -0
  38. package/dist/command-engine/index.d.ts.map +1 -0
  39. package/dist/command-engine/index.js +537 -0
  40. package/dist/command-engine/index.js.map +1 -0
  41. package/dist/conditional-format/index.d.ts +17 -0
  42. package/dist/conditional-format/index.d.ts.map +1 -0
  43. package/dist/conditional-format/index.js +171 -0
  44. package/dist/conditional-format/index.js.map +1 -0
  45. package/dist/data-dictionary/index.d.ts +3 -0
  46. package/dist/data-dictionary/index.d.ts.map +1 -0
  47. package/dist/data-dictionary/index.js +3 -0
  48. package/dist/data-dictionary/index.js.map +1 -0
  49. package/dist/data-dictionary/json-dictionary.d.ts +6 -0
  50. package/dist/data-dictionary/json-dictionary.d.ts.map +1 -0
  51. package/dist/data-dictionary/json-dictionary.js +195 -0
  52. package/dist/data-dictionary/json-dictionary.js.map +1 -0
  53. package/dist/data-dictionary/json-path.d.ts +9 -0
  54. package/dist/data-dictionary/json-path.d.ts.map +1 -0
  55. package/dist/data-dictionary/json-path.js +34 -0
  56. package/dist/data-dictionary/json-path.js.map +1 -0
  57. package/dist/event-engine/event-component-handles.d.ts +84 -0
  58. package/dist/event-engine/event-component-handles.d.ts.map +1 -0
  59. package/dist/event-engine/event-component-handles.js +276 -0
  60. package/dist/event-engine/event-component-handles.js.map +1 -0
  61. package/dist/event-engine/event-context.d.ts +23 -0
  62. package/dist/event-engine/event-context.d.ts.map +1 -0
  63. package/dist/event-engine/event-context.js +184 -0
  64. package/dist/event-engine/event-context.js.map +1 -0
  65. package/dist/event-engine/event-editor-contract.d.ts +39 -0
  66. package/dist/event-engine/event-editor-contract.d.ts.map +1 -0
  67. package/dist/event-engine/event-editor-contract.js +442 -0
  68. package/dist/event-engine/event-editor-contract.js.map +1 -0
  69. package/dist/event-engine/event-editor-data-contract.d.ts +10 -0
  70. package/dist/event-engine/event-editor-data-contract.d.ts.map +1 -0
  71. package/dist/event-engine/event-editor-data-contract.js +85 -0
  72. package/dist/event-engine/event-editor-data-contract.js.map +1 -0
  73. package/dist/event-engine/event-log.d.ts +3 -0
  74. package/dist/event-engine/event-log.d.ts.map +1 -0
  75. package/dist/event-engine/event-log.js +37 -0
  76. package/dist/event-engine/event-log.js.map +1 -0
  77. package/dist/event-engine/event-runner.d.ts +7 -0
  78. package/dist/event-engine/event-runner.d.ts.map +1 -0
  79. package/dist/event-engine/event-runner.js +265 -0
  80. package/dist/event-engine/event-runner.js.map +1 -0
  81. package/dist/event-engine/event-template.d.ts +14 -0
  82. package/dist/event-engine/event-template.d.ts.map +1 -0
  83. package/dist/event-engine/event-template.js +183 -0
  84. package/dist/event-engine/event-template.js.map +1 -0
  85. package/dist/event-engine/index.d.ts +9 -0
  86. package/dist/event-engine/index.d.ts.map +1 -0
  87. package/dist/event-engine/index.js +9 -0
  88. package/dist/event-engine/index.js.map +1 -0
  89. package/dist/event-engine/types.d.ts +129 -0
  90. package/dist/event-engine/types.d.ts.map +1 -0
  91. package/dist/event-engine/types.js +2 -0
  92. package/dist/event-engine/types.js.map +1 -0
  93. package/dist/expression-engine/ast.d.ts +35 -0
  94. package/dist/expression-engine/ast.d.ts.map +1 -0
  95. package/dist/expression-engine/ast.js +9 -0
  96. package/dist/expression-engine/ast.js.map +1 -0
  97. package/dist/expression-engine/chinese-money.d.ts +2 -0
  98. package/dist/expression-engine/chinese-money.d.ts.map +1 -0
  99. package/dist/expression-engine/chinese-money.js +90 -0
  100. package/dist/expression-engine/chinese-money.js.map +1 -0
  101. package/dist/expression-engine/evaluator.d.ts +26 -0
  102. package/dist/expression-engine/evaluator.d.ts.map +1 -0
  103. package/dist/expression-engine/evaluator.js +406 -0
  104. package/dist/expression-engine/evaluator.js.map +1 -0
  105. package/dist/expression-engine/index.d.ts +7 -0
  106. package/dist/expression-engine/index.d.ts.map +1 -0
  107. package/dist/expression-engine/index.js +5 -0
  108. package/dist/expression-engine/index.js.map +1 -0
  109. package/dist/expression-engine/lexer.d.ts +33 -0
  110. package/dist/expression-engine/lexer.d.ts.map +1 -0
  111. package/dist/expression-engine/lexer.js +169 -0
  112. package/dist/expression-engine/lexer.js.map +1 -0
  113. package/dist/expression-engine/parser.d.ts +8 -0
  114. package/dist/expression-engine/parser.d.ts.map +1 -0
  115. package/dist/expression-engine/parser.js +223 -0
  116. package/dist/expression-engine/parser.js.map +1 -0
  117. package/dist/expression-engine/report-functions.d.ts +3 -0
  118. package/dist/expression-engine/report-functions.d.ts.map +1 -0
  119. package/dist/expression-engine/report-functions.js +41 -0
  120. package/dist/expression-engine/report-functions.js.map +1 -0
  121. package/dist/fonts/index.d.ts +14 -0
  122. package/dist/fonts/index.d.ts.map +1 -0
  123. package/dist/fonts/index.js +73 -0
  124. package/dist/fonts/index.js.map +1 -0
  125. package/dist/index.d.ts +19 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +19 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/layout-engine/index.d.ts +3 -0
  130. package/dist/layout-engine/index.d.ts.map +1 -0
  131. package/dist/layout-engine/index.js +3 -0
  132. package/dist/layout-engine/index.js.map +1 -0
  133. package/dist/layout-engine/layout-band.d.ts +40 -0
  134. package/dist/layout-engine/layout-band.d.ts.map +1 -0
  135. package/dist/layout-engine/layout-band.js +1243 -0
  136. package/dist/layout-engine/layout-band.js.map +1 -0
  137. package/dist/layout-engine/measure.d.ts +10 -0
  138. package/dist/layout-engine/measure.d.ts.map +1 -0
  139. package/dist/layout-engine/measure.js +37 -0
  140. package/dist/layout-engine/measure.js.map +1 -0
  141. package/dist/pagination/index.d.ts +38 -0
  142. package/dist/pagination/index.d.ts.map +1 -0
  143. package/dist/pagination/index.js +114 -0
  144. package/dist/pagination/index.js.map +1 -0
  145. package/dist/pagination/page-number-pass.d.ts +3 -0
  146. package/dist/pagination/page-number-pass.d.ts.map +1 -0
  147. package/dist/pagination/page-number-pass.js +18 -0
  148. package/dist/pagination/page-number-pass.js.map +1 -0
  149. package/dist/pagination/paginate.d.ts +24 -0
  150. package/dist/pagination/paginate.d.ts.map +1 -0
  151. package/dist/pagination/paginate.js +904 -0
  152. package/dist/pagination/paginate.js.map +1 -0
  153. package/dist/render-document/index.d.ts +2 -0
  154. package/dist/render-document/index.d.ts.map +1 -0
  155. package/dist/render-document/index.js +2 -0
  156. package/dist/render-document/index.js.map +1 -0
  157. package/dist/render-document/types.d.ts +159 -0
  158. package/dist/render-document/types.d.ts.map +1 -0
  159. package/dist/render-document/types.js +2 -0
  160. package/dist/render-document/types.js.map +1 -0
  161. package/dist/render-engine/index.d.ts +65 -0
  162. package/dist/render-engine/index.d.ts.map +1 -0
  163. package/dist/render-engine/index.js +188 -0
  164. package/dist/render-engine/index.js.map +1 -0
  165. package/dist/rich-text/index.d.ts +2 -0
  166. package/dist/rich-text/index.d.ts.map +1 -0
  167. package/dist/rich-text/index.js +84 -0
  168. package/dist/rich-text/index.js.map +1 -0
  169. package/dist/table/table-structure.d.ts +10 -0
  170. package/dist/table/table-structure.d.ts.map +1 -0
  171. package/dist/table/table-structure.js +196 -0
  172. package/dist/table/table-structure.js.map +1 -0
  173. package/dist/template-model/index.d.ts +5 -0
  174. package/dist/template-model/index.d.ts.map +1 -0
  175. package/dist/template-model/index.js +5 -0
  176. package/dist/template-model/index.js.map +1 -0
  177. package/dist/template-model/normalize-template.d.ts +3 -0
  178. package/dist/template-model/normalize-template.d.ts.map +1 -0
  179. package/dist/template-model/normalize-template.js +167 -0
  180. package/dist/template-model/normalize-template.js.map +1 -0
  181. package/dist/template-model/schema.d.ts +10 -0
  182. package/dist/template-model/schema.d.ts.map +1 -0
  183. package/dist/template-model/schema.js +134 -0
  184. package/dist/template-model/schema.js.map +1 -0
  185. package/dist/template-model/template.d.ts +5 -0
  186. package/dist/template-model/template.d.ts.map +1 -0
  187. package/dist/template-model/template.js +194 -0
  188. package/dist/template-model/template.js.map +1 -0
  189. package/dist/template-model/types.d.ts +641 -0
  190. package/dist/template-model/types.d.ts.map +1 -0
  191. package/dist/template-model/types.js +36 -0
  192. package/dist/template-model/types.js.map +1 -0
  193. package/dist/text-format/index.d.ts +5 -0
  194. package/dist/text-format/index.d.ts.map +1 -0
  195. package/dist/text-format/index.js +311 -0
  196. package/dist/text-format/index.js.map +1 -0
  197. package/dist/text-style/index.d.ts +3 -0
  198. package/dist/text-style/index.d.ts.map +1 -0
  199. package/dist/text-style/index.js +2 -0
  200. package/dist/text-style/index.js.map +1 -0
  201. package/dist/text-style/resolve-text-style.d.ts +58 -0
  202. package/dist/text-style/resolve-text-style.d.ts.map +1 -0
  203. package/dist/text-style/resolve-text-style.js +155 -0
  204. package/dist/text-style/resolve-text-style.js.map +1 -0
  205. package/package.json +38 -0
@@ -0,0 +1,276 @@
1
+ import { insertTableColumn, insertTableRow, mergeTableCellRange, normalizeTable, setTableCellText, setTableCellWidth, } from '../table/table-structure';
2
+ import { setComponentProperty } from './event-template';
3
+ export function createEventComponentHelpers(options) {
4
+ const resolve = (name) => {
5
+ const component = options.getComponentByName(name);
6
+ if (!component) {
7
+ throw new Error(`Component "${name}" was not found.`);
8
+ }
9
+ return component;
10
+ };
11
+ const typed = (name, type) => {
12
+ const component = resolve(name);
13
+ if (component.type !== type) {
14
+ throw new Error(`Component "${name}" is type "${component.type}", expected "${type}".`);
15
+ }
16
+ return component;
17
+ };
18
+ return {
19
+ component: (name) => createBaseHandle(resolve(name)),
20
+ text: (name) => createTextHandle(typed(name, 'text')),
21
+ image: (name) => createImageHandle(typed(name, 'image')),
22
+ table: (name) => createTableHandle(typed(name, 'table')),
23
+ barcode: (name) => createBarcodeHandle(typed(name, 'barcode')),
24
+ qrcode: (name) => createQRCodeHandle(typed(name, 'qrcode')),
25
+ checkbox: (name) => createCheckboxHandle(typed(name, 'checkbox')),
26
+ richtext: (name) => createRichtextHandle(typed(name, 'richtext')),
27
+ chart: (name) => createBaseHandle(typed(name, 'chart')),
28
+ line: (name) => createBaseHandle(typed(name, 'line')),
29
+ shape: (name) => createBaseHandle(typed(name, 'shape')),
30
+ pageNumber: (name) => createBaseHandle(typed(name, 'pagenumber')),
31
+ dateTime: (name) => createBaseHandle(typed(name, 'datetime')),
32
+ panel: (name) => createBaseHandle(typed(name, 'panel')),
33
+ };
34
+ }
35
+ export function createBaseHandle(component) {
36
+ const handle = {
37
+ component,
38
+ get id() {
39
+ return component.id;
40
+ },
41
+ get name() {
42
+ return component.name;
43
+ },
44
+ get type() {
45
+ return component.type;
46
+ },
47
+ setProperty(path, value) {
48
+ setComponentProperty(component, path, value);
49
+ return this;
50
+ },
51
+ getProperty(path) {
52
+ return getComponentProperty(component, path);
53
+ },
54
+ setBounds(bounds) {
55
+ Object.assign(component, bounds);
56
+ return this;
57
+ },
58
+ show() {
59
+ component.visible = undefined;
60
+ return this;
61
+ },
62
+ hide() {
63
+ component.visible = 'false';
64
+ return this;
65
+ },
66
+ };
67
+ return handle;
68
+ }
69
+ function createTextHandle(component) {
70
+ return Object.assign(createBaseHandle(component), {
71
+ setText(text) {
72
+ component.text = text;
73
+ return this;
74
+ },
75
+ bindText(expression) {
76
+ component.text = expression;
77
+ return this;
78
+ },
79
+ });
80
+ }
81
+ function createImageHandle(component) {
82
+ return Object.assign(createBaseHandle(component), {
83
+ setSource(src) {
84
+ component.src = src;
85
+ return this;
86
+ },
87
+ });
88
+ }
89
+ function createBarcodeHandle(component) {
90
+ return Object.assign(createBaseHandle(component), {
91
+ setValue(value) {
92
+ component.value = value;
93
+ return this;
94
+ },
95
+ setFormat(format) {
96
+ component.format = format;
97
+ return this;
98
+ },
99
+ });
100
+ }
101
+ function createQRCodeHandle(component) {
102
+ return Object.assign(createBaseHandle(component), {
103
+ setValue(value) {
104
+ component.value = value;
105
+ return this;
106
+ },
107
+ });
108
+ }
109
+ function createCheckboxHandle(component) {
110
+ return Object.assign(createBaseHandle(component), {
111
+ setChecked(checked) {
112
+ component.checked = typeof checked === 'boolean' ? String(checked) : checked;
113
+ return this;
114
+ },
115
+ setLabel(label) {
116
+ component.label = label;
117
+ return this;
118
+ },
119
+ });
120
+ }
121
+ function createRichtextHandle(component) {
122
+ return Object.assign(createBaseHandle(component), {
123
+ setHtml(html) {
124
+ component.html = html;
125
+ return this;
126
+ },
127
+ });
128
+ }
129
+ function createTableHandle(component) {
130
+ const handle = Object.assign(createBaseHandle(component), {
131
+ get rowCount() {
132
+ normalizeIntoComponent(component);
133
+ return component.rowCount ?? 0;
134
+ },
135
+ get columnCount() {
136
+ normalizeIntoComponent(component);
137
+ return component.columnCount ?? 0;
138
+ },
139
+ findCellText(text) {
140
+ normalizeIntoComponent(component);
141
+ for (let row = 0; row < (component.rows?.length ?? 0); row += 1) {
142
+ const cells = component.rows?.[row]?.cells ?? [];
143
+ for (let column = 0; column < cells.length; column += 1) {
144
+ if (cells[column]?.text === text) {
145
+ return { row, column, cell: cells[column] };
146
+ }
147
+ }
148
+ }
149
+ return undefined;
150
+ },
151
+ ensureColumnCount(columnCount) {
152
+ while (this.columnCount < columnCount) {
153
+ this.insertColumnsAfter(this.columnCount - 1, 1);
154
+ }
155
+ return this;
156
+ },
157
+ ensureRowCount(rowCount) {
158
+ while (this.rowCount < rowCount) {
159
+ this.insertRowsAfter(this.rowCount - 1, 1);
160
+ }
161
+ return this;
162
+ },
163
+ insertColumnsAfter(afterColumn, count = 1) {
164
+ const safeCount = normalizeCount(count);
165
+ for (let index = 0; index < safeCount; index += 1) {
166
+ assignTable(component, insertTableColumn(component, afterColumn + index));
167
+ }
168
+ return this;
169
+ },
170
+ insertRowsAfter(afterRow, count = 1) {
171
+ const safeCount = normalizeCount(count);
172
+ for (let index = 0; index < safeCount; index += 1) {
173
+ assignTable(component, insertTableRow(component, afterRow + index));
174
+ }
175
+ return this;
176
+ },
177
+ setCellText(row, column, text) {
178
+ assignTable(component, setTableCellText(component, row, column, text));
179
+ return this;
180
+ },
181
+ setCell(row, column, cell) {
182
+ normalizeIntoComponent(component);
183
+ const target = component.rows?.[row]?.cells[column];
184
+ if (!target) {
185
+ throw new Error(`Table cell at row ${row}, column ${column} was not found.`);
186
+ }
187
+ Object.assign(target, cell);
188
+ assignTable(component, normalizeTable(component));
189
+ return this;
190
+ },
191
+ mergeCells(row, column, rowSpan, colSpan) {
192
+ const safeRowSpan = normalizeMergeSpan(rowSpan);
193
+ const safeColSpan = normalizeMergeSpan(colSpan);
194
+ assignTable(component, mergeTableCellRange(component, row, column, row + safeRowSpan - 1, column + safeColSpan - 1));
195
+ return this;
196
+ },
197
+ setColumnWidth(column, width) {
198
+ normalizeIntoComponent(component);
199
+ for (let row = 0; row < (component.rows?.length ?? 0); row += 1) {
200
+ assignTable(component, setTableCellWidth(component, row, column, width));
201
+ }
202
+ return this;
203
+ },
204
+ distributeColumns(startColumn = 0, count) {
205
+ normalizeIntoComponent(component);
206
+ const safeStart = Math.max(0, startColumn);
207
+ const columnCount = component.rows?.reduce((max, row) => Math.max(max, row.cells.length), component.columnCount ?? 0) ?? 0;
208
+ const safeEnd = Math.min(columnCount, safeStart + normalizeCount(count ?? columnCount - safeStart));
209
+ for (const row of component.rows ?? []) {
210
+ for (let column = safeStart; column < safeEnd; column += 1) {
211
+ if (row.cells[column]) {
212
+ row.cells[column].width = undefined;
213
+ }
214
+ }
215
+ }
216
+ assignTable(component, normalizeTable(component));
217
+ return this;
218
+ },
219
+ });
220
+ return handle;
221
+ }
222
+ function assignTable(component, next) {
223
+ Object.keys(component).forEach((key) => {
224
+ delete component[key];
225
+ });
226
+ Object.assign(component, next);
227
+ }
228
+ function normalizeIntoComponent(component) {
229
+ assignTable(component, normalizeTable(component));
230
+ }
231
+ function normalizeCount(count) {
232
+ return Math.max(0, Math.floor(Number.isFinite(count) ? count : 0));
233
+ }
234
+ function normalizeMergeSpan(span) {
235
+ if (!Number.isFinite(span)) {
236
+ throw new Error('Table cell merge span must be positive.');
237
+ }
238
+ const normalized = Math.floor(span);
239
+ if (normalized <= 0) {
240
+ throw new Error('Table cell merge span must be positive.');
241
+ }
242
+ return normalized;
243
+ }
244
+ function getComponentProperty(component, path) {
245
+ const segments = path.split('.').filter(Boolean);
246
+ if (segments.length === 0) {
247
+ throw new Error('Component property path is required.');
248
+ }
249
+ let target = component;
250
+ for (const segment of segments) {
251
+ if (Array.isArray(target)) {
252
+ const index = parseArrayIndex(segment);
253
+ if (index === undefined || index >= target.length) {
254
+ throw new Error(`Cannot get component property path: ${path}`);
255
+ }
256
+ target = target[index];
257
+ continue;
258
+ }
259
+ if (isRecord(target) && segment in target) {
260
+ target = target[segment];
261
+ continue;
262
+ }
263
+ throw new Error(`Cannot get component property path: ${path}`);
264
+ }
265
+ return target;
266
+ }
267
+ function isRecord(value) {
268
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
269
+ }
270
+ function parseArrayIndex(segment) {
271
+ if (!/^\d+$/.test(segment)) {
272
+ return undefined;
273
+ }
274
+ return Number(segment);
275
+ }
276
+ //# sourceMappingURL=event-component-handles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-component-handles.js","sourceRoot":"","sources":["../../src/event-engine/event-component-handles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Band, Page, ReportComponent, ReportTemplate } from '../template-model/types';
2
+ import type { EventContext, EventExecutionState, EventLogCollector, EventMode, EventRuntimeState, EventTargetState } from './types';
3
+ export interface CreateEventContextOptions {
4
+ mode?: EventMode;
5
+ report?: ReportTemplate;
6
+ template?: ReportTemplate;
7
+ page?: Page;
8
+ band?: Band;
9
+ component?: ReportComponent;
10
+ row?: Record<string, unknown>;
11
+ rowIndex?: number;
12
+ dataSourceId?: string;
13
+ data?: Record<string, unknown>;
14
+ parameters?: Record<string, unknown>;
15
+ variables?: Record<string, unknown>;
16
+ state?: Record<string, unknown>;
17
+ log: EventLogCollector;
18
+ target: EventTargetState;
19
+ runtime?: EventRuntimeState;
20
+ execution?: EventExecutionState;
21
+ }
22
+ export declare function createEventContext(options: CreateEventContextOptions): EventContext;
23
+ //# sourceMappingURL=event-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-context.d.ts","sourceRoot":"","sources":["../../src/event-engine/event-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAkB,eAAe,EAAE,cAAc,EAAiB,MAAM,yBAAyB,CAAC;AAW1H,OAAO,KAAK,EAIV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAwBjB,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAwHnF"}
@@ -0,0 +1,184 @@
1
+ import { appendComponentToBand, createDynamicComponentId, createDynamicBarcode, createDynamicImage, createDynamicText, setComponentProperty as setTemplateComponentProperty, } from './event-template';
2
+ import { createEventComponentHelpers } from './event-component-handles';
3
+ const reportComponentPropertyKeys = new Set([
4
+ 'id',
5
+ 'name',
6
+ 'type',
7
+ 'x',
8
+ 'y',
9
+ 'width',
10
+ 'height',
11
+ 'zOrder',
12
+ 'backgroundColor',
13
+ 'border',
14
+ 'padding',
15
+ 'style',
16
+ 'conditionalFormat',
17
+ 'visible',
18
+ 'printableExpression',
19
+ 'enabledExpression',
20
+ 'conditions',
21
+ 'events',
22
+ 'anchor',
23
+ ]);
24
+ export function createEventContext(options) {
25
+ const report = options.report ?? options.template;
26
+ const execution = options.execution ?? { canceled: false, hidden: false, hasValue: false };
27
+ const requireReport = () => {
28
+ if (!report) {
29
+ throw new Error('A report template is required to access components.');
30
+ }
31
+ return report;
32
+ };
33
+ const getComponent = (name) => (findComponentInComponents(options.band?.components ?? [], name)
34
+ ?? (report ? findComponentInTemplateByName(report, name) : undefined));
35
+ const componentHelpers = createEventComponentHelpers({ getComponentByName: getComponent });
36
+ const componentAccessor = createComponentAccessor(componentHelpers.component, options.component);
37
+ const ctx = {
38
+ mode: options.mode ?? 'preview',
39
+ report,
40
+ page: options.page,
41
+ band: options.band,
42
+ component: componentAccessor,
43
+ currentComponent: options.component,
44
+ row: options.row,
45
+ rowIndex: options.rowIndex ?? -1,
46
+ dataSourceId: options.dataSourceId,
47
+ data: options.data ?? {},
48
+ parameters: options.parameters ?? {},
49
+ variables: options.variables ?? {},
50
+ state: options.state ?? {},
51
+ target: options.target,
52
+ log: options.log,
53
+ runtime: options.runtime,
54
+ execution,
55
+ get value() {
56
+ return execution.value;
57
+ },
58
+ set value(value) {
59
+ execution.value = value;
60
+ execution.hasValue = true;
61
+ },
62
+ cancel() {
63
+ execution.canceled = true;
64
+ },
65
+ hide() {
66
+ execution.hidden = true;
67
+ },
68
+ setValue(value) {
69
+ execution.value = value;
70
+ execution.hasValue = true;
71
+ },
72
+ getComponent,
73
+ setComponentProperty(name, path, value) {
74
+ const found = getComponent(name);
75
+ if (!found) {
76
+ throw new Error(`Component "${name}" was not found.`);
77
+ }
78
+ setTemplateComponentProperty(found, path, value);
79
+ },
80
+ bindText(name, expression) {
81
+ const found = getComponent(name);
82
+ if (!found) {
83
+ throw new Error(`Component "${name}" was not found.`);
84
+ }
85
+ if (found.type !== 'text') {
86
+ throw new Error(`Component "${name}" is not a text component.`);
87
+ }
88
+ found.text = expression;
89
+ },
90
+ text: componentHelpers.text,
91
+ image: componentHelpers.image,
92
+ table: componentHelpers.table,
93
+ barcode: componentHelpers.barcode,
94
+ qrcode: componentHelpers.qrcode,
95
+ checkbox: componentHelpers.checkbox,
96
+ richtext: componentHelpers.richtext,
97
+ chart: componentHelpers.chart,
98
+ line: componentHelpers.line,
99
+ shape: componentHelpers.shape,
100
+ pageNumber: componentHelpers.pageNumber,
101
+ dateTime: componentHelpers.dateTime,
102
+ panel: componentHelpers.panel,
103
+ createText(options) {
104
+ const component = createDynamicText(options, createDynamicComponentId(requireReport(), 'dynamic-text', {
105
+ extraComponents: ctx.band?.components,
106
+ runtime: ctx.runtime,
107
+ }));
108
+ appendComponentToBand(ctx.band, component);
109
+ return component;
110
+ },
111
+ createImage(options) {
112
+ const component = createDynamicImage(options, createDynamicComponentId(requireReport(), 'dynamic-image', {
113
+ extraComponents: ctx.band?.components,
114
+ runtime: ctx.runtime,
115
+ }));
116
+ appendComponentToBand(ctx.band, component);
117
+ return component;
118
+ },
119
+ createBarcode(options) {
120
+ const component = createDynamicBarcode(options, createDynamicComponentId(requireReport(), 'dynamic-barcode', {
121
+ extraComponents: ctx.band?.components,
122
+ runtime: ctx.runtime,
123
+ }));
124
+ appendComponentToBand(ctx.band, component);
125
+ return component;
126
+ },
127
+ };
128
+ return ctx;
129
+ }
130
+ function findComponentInTemplateByName(template, name) {
131
+ for (const page of template.pages) {
132
+ for (const band of page.bands) {
133
+ const found = findComponentInComponents(band.components, name);
134
+ if (found) {
135
+ return found;
136
+ }
137
+ }
138
+ }
139
+ return undefined;
140
+ }
141
+ function findComponentInComponents(components, name) {
142
+ for (const component of components) {
143
+ if (component.name === name) {
144
+ return component;
145
+ }
146
+ if (isPanelComponent(component)) {
147
+ const found = findComponentInComponents(component.components, name);
148
+ if (found) {
149
+ return found;
150
+ }
151
+ }
152
+ }
153
+ return undefined;
154
+ }
155
+ function isPanelComponent(component) {
156
+ return component.type === 'panel';
157
+ }
158
+ function createComponentAccessor(factory, currentComponent) {
159
+ if (!currentComponent) {
160
+ return factory;
161
+ }
162
+ return new Proxy(factory, {
163
+ get(target, property, receiver) {
164
+ if (reportComponentPropertyKeys.has(property)) {
165
+ return currentComponent[property];
166
+ }
167
+ if (property in currentComponent) {
168
+ return currentComponent[property];
169
+ }
170
+ return Reflect.get(target, property, receiver);
171
+ },
172
+ set(_target, property, value) {
173
+ currentComponent[property] = value;
174
+ return true;
175
+ },
176
+ has(target, property) {
177
+ if (reportComponentPropertyKeys.has(property)) {
178
+ return property in currentComponent;
179
+ }
180
+ return property in currentComponent || property in target;
181
+ },
182
+ });
183
+ }
184
+ //# sourceMappingURL=event-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-context.js","sourceRoot":"","sources":["../../src/event-engine/event-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { EventOwnerType } from './types';
2
+ export type EventEditorTargetType = EventOwnerType;
3
+ export type EventEditorContextType = 'EventContext' | 'ReportEventContext' | 'PageEventContext' | 'BandEventContext' | 'ComponentEventContext' | 'ComponentGetValueEventContext';
4
+ export type EventEditorHelperGroup = 'log' | 'flow' | 'value' | 'mutation' | 'dynamic';
5
+ export interface EventEditorHelperDescriptor {
6
+ id: string;
7
+ snippet: string;
8
+ descriptionKey: string;
9
+ group: EventEditorHelperGroup;
10
+ }
11
+ export declare const EVENT_SCRIPT_DTS = "\ntype EventMode = 'preview' | 'print' | 'pdf';\ntype EventOwnerType = 'report' | 'page' | 'band' | 'component';\ntype EventLogLevel = 'info' | 'warning' | 'error';\n\ninterface EventTargetState {\n ownerType: EventOwnerType;\n ownerId: string;\n eventName: string;\n}\n\ninterface EventLogEntry extends EventTargetState {\n level: EventLogLevel;\n message: string;\n timestamp: string;\n line?: number;\n column?: number;\n stackExcerpt?: string;\n}\n\ninterface EventLogCollector {\n readonly entries: EventLogEntry[];\n info(message: string, target?: Partial<EventTargetState>): void;\n warning(message: string, target?: Partial<EventTargetState>): void;\n error(message: string, target?: Partial<EventTargetState>): void;\n}\n\ntype ComponentType =\n | 'text'\n | 'image'\n | 'chart'\n | 'table'\n | 'barcode'\n | 'qrcode'\n | 'checkbox'\n | 'richtext'\n | 'subreport'\n | 'panel'\n | 'line'\n | 'shape'\n | 'pagenumber'\n | 'datetime';\n\ninterface ReportComponent {\n id: string;\n name?: string;\n type: ComponentType;\n x: number;\n y: number;\n width: number;\n height: number;\n visible?: unknown;\n events?: Record<string, unknown>;\n}\n\ninterface TextComponent extends ReportComponent {\n type: 'text';\n text: string;\n font?: Record<string, unknown>;\n textAlign?: string;\n verticalAlign?: string;\n}\n\ninterface ImageComponent extends ReportComponent {\n type: 'image';\n src: string;\n fitMode?: string;\n}\n\ninterface ChartComponent extends ReportComponent {\n type: 'chart';\n chartType?: string;\n variant?: string;\n binding?: Record<string, unknown>;\n}\n\ninterface TableCell {\n text?: string;\n rowSpan?: number;\n colSpan?: number;\n width?: number;\n [key: string]: unknown;\n}\n\ninterface TableRow {\n id?: string;\n height?: number;\n cells: TableCell[];\n [key: string]: unknown;\n}\n\ninterface TableComponent extends ReportComponent {\n type: 'table';\n rows?: TableRow[];\n rowCount?: number;\n columnCount?: number;\n}\n\ninterface BarcodeComponent extends ReportComponent {\n type: 'barcode';\n value: string;\n format?: string;\n showText?: boolean;\n}\n\ninterface QRCodeComponent extends ReportComponent {\n type: 'qrcode';\n value: string;\n format?: string;\n}\n\ninterface CheckboxComponent extends ReportComponent {\n type: 'checkbox';\n checked: string | boolean;\n label?: string;\n}\n\ninterface RichtextComponent extends ReportComponent {\n type: 'richtext';\n html: string;\n}\n\ninterface PanelComponent extends ReportComponent {\n type: 'panel';\n components: ReportComponent[];\n}\n\ninterface LineComponent extends ReportComponent {\n type: 'line';\n startX: number;\n startY: number;\n endX: number;\n endY: number;\n}\n\ninterface ShapeComponent extends ReportComponent {\n type: 'shape';\n shapeType?: string;\n}\n\ninterface PageNumberComponent extends ReportComponent {\n type: 'pagenumber';\n format?: string;\n}\n\ninterface DateTimeComponent extends ReportComponent {\n type: 'datetime';\n format?: string;\n}\n\ntype EventComponentBounds = Partial<Pick<ReportComponent, 'x' | 'y' | 'width' | 'height'>>;\n\ninterface EventComponentHandle<TComponent extends ReportComponent = ReportComponent> {\n readonly component: TComponent;\n readonly id: string;\n readonly name: string | undefined;\n readonly type: TComponent['type'];\n setProperty(path: string, value: unknown): this;\n getProperty(path: string): unknown;\n setBounds(bounds: EventComponentBounds): this;\n show(): this;\n hide(): this;\n}\n\ninterface EventTextHandle extends EventComponentHandle<TextComponent> {\n setText(text: string): this;\n bindText(expression: string): this;\n}\n\ninterface EventImageHandle extends EventComponentHandle<ImageComponent> {\n setSource(src: string): this;\n}\n\ninterface EventBarcodeHandle extends EventComponentHandle<BarcodeComponent> {\n setValue(value: string): this;\n setFormat(format: string): this;\n}\n\ninterface EventQRCodeHandle extends EventComponentHandle<QRCodeComponent> {\n setValue(value: string): this;\n}\n\ninterface EventCheckboxHandle extends EventComponentHandle<CheckboxComponent> {\n setChecked(checked: string | boolean): this;\n setLabel(label: string): this;\n}\n\ninterface EventRichtextHandle extends EventComponentHandle<RichtextComponent> {\n setHtml(html: string): this;\n}\n\ninterface EventTableCellMatch {\n row: number;\n column: number;\n cell: TableCell;\n}\n\ninterface EventTableHandle extends EventComponentHandle<TableComponent> {\n readonly rowCount: number;\n readonly columnCount: number;\n findCellText(text: string): EventTableCellMatch | undefined;\n ensureColumnCount(columnCount: number): this;\n ensureRowCount(rowCount: number): this;\n insertColumnsAfter(afterColumn: number, count?: number): this;\n insertRowsAfter(afterRow: number, count?: number): this;\n setCellText(row: number, column: number, text: string): this;\n setCell(row: number, column: number, cell: Partial<TableCell>): this;\n mergeCells(row: number, column: number, rowSpan: number, colSpan: number): this;\n setColumnWidth(column: number, width: number | undefined): this;\n distributeColumns(startColumn?: number, count?: number): this;\n}\n\ntype EventTableComponentHandle = EventTableHandle;\ntype EventBaseComponentFactory = (name: string) => EventComponentHandle;\ntype EventTextComponentFactory = (name: string) => EventTextHandle;\ntype EventImageComponentFactory = (name: string) => EventImageHandle;\ntype EventTableComponentFactory = (name: string) => EventTableHandle;\ntype EventBarcodeComponentFactory = (name: string) => EventBarcodeHandle;\ntype EventQRCodeComponentFactory = (name: string) => EventQRCodeHandle;\ntype EventCheckboxComponentFactory = (name: string) => EventCheckboxHandle;\ntype EventRichtextComponentFactory = (name: string) => EventRichtextHandle;\ntype EventTypedComponentFactory = (name: string) => EventComponentHandle;\ntype EventComponentAccessor = EventBaseComponentFactory & Partial<ReportComponent>;\n\ninterface DynamicTextOptions {\n name?: string;\n x: number;\n y: number;\n width: number;\n height: number;\n text: string;\n font?: Record<string, unknown>;\n}\n\ninterface DynamicImageOptions {\n name?: string;\n x: number;\n y: number;\n width: number;\n height: number;\n src: string;\n fitMode?: string;\n}\n\ninterface DynamicBarcodeOptions {\n name?: string;\n x: number;\n y: number;\n width: number;\n height: number;\n value: string;\n format?: string;\n showText?: boolean;\n}\n\ninterface EventContext {\n mode: EventMode;\n report?: unknown;\n page?: unknown;\n band?: unknown;\n component?: EventComponentAccessor;\n currentComponent?: ReportComponent;\n row?: Record<string, unknown>;\n rowIndex?: number;\n dataSourceId?: string;\n data: Record<string, unknown>;\n parameters?: Record<string, unknown>;\n variables?: Record<string, unknown>;\n state: Record<string, unknown>;\n target: EventTargetState;\n log: EventLogCollector;\n value?: unknown;\n cancel?: () => void;\n hide?: () => void;\n setValue?: (value: unknown) => void;\n getComponent?: (name: string) => ReportComponent | undefined;\n setComponentProperty?: (name: string, path: string, value: unknown) => void;\n bindText?: (name: string, expression: string) => void;\n text?: EventTextComponentFactory;\n image?: EventImageComponentFactory;\n table?: EventTableComponentFactory;\n barcode?: EventBarcodeComponentFactory;\n qrcode?: EventQRCodeComponentFactory;\n checkbox?: EventCheckboxComponentFactory;\n richtext?: EventRichtextComponentFactory;\n chart?: EventTypedComponentFactory;\n line?: EventTypedComponentFactory;\n shape?: EventTypedComponentFactory;\n pageNumber?: EventTypedComponentFactory;\n dateTime?: EventTypedComponentFactory;\n panel?: EventTypedComponentFactory;\n createText?: (options: DynamicTextOptions) => TextComponent;\n createImage?: (options: DynamicImageOptions) => ImageComponent;\n createBarcode?: (options: DynamicBarcodeOptions) => BarcodeComponent;\n}\n\ninterface ReportEventContext extends EventContext {\n report: unknown;\n target: EventTargetState & { ownerType: 'report' };\n}\n\ninterface PageEventContext extends EventContext {\n page: unknown;\n target: EventTargetState & { ownerType: 'page' };\n}\n\ninterface BandEventContext extends EventContext {\n band: unknown;\n row?: Record<string, unknown>;\n rowIndex: number;\n target: EventTargetState & { ownerType: 'band' };\n}\n\ninterface ComponentEventContext extends EventContext {\n component: EventComponentAccessor;\n currentComponent: ReportComponent;\n target: EventTargetState & { ownerType: 'component' };\n}\n\ninterface ComponentGetValueEventContext extends ComponentEventContext {\n setValue(value: unknown): void;\n}\n\ndeclare const ctx: EventContext;\n";
12
+ export declare const eventEditorContextTypeByEvent: {
13
+ readonly report: {
14
+ readonly beforePreview: "ReportEventContext";
15
+ readonly beforePrint: "ReportEventContext";
16
+ readonly beforeRender: "ReportEventContext";
17
+ readonly afterRender: "ReportEventContext";
18
+ readonly beforeData: "ReportEventContext";
19
+ readonly afterData: "ReportEventContext";
20
+ };
21
+ readonly page: {
22
+ readonly beforePrint: "PageEventContext";
23
+ readonly afterPrint: "PageEventContext";
24
+ };
25
+ readonly band: {
26
+ readonly beforePrint: "BandEventContext";
27
+ readonly afterPrint: "BandEventContext";
28
+ readonly beforeRow: "BandEventContext";
29
+ readonly afterRow: "BandEventContext";
30
+ };
31
+ readonly component: {
32
+ readonly getValue: "ComponentGetValueEventContext";
33
+ readonly beforePrint: "ComponentEventContext";
34
+ readonly afterPrint: "ComponentEventContext";
35
+ };
36
+ };
37
+ export declare const eventEditorHelpers: readonly EventEditorHelperDescriptor[];
38
+ export declare function getEventEditorContextType(targetType: EventEditorTargetType, eventName: string): EventEditorContextType;
39
+ //# sourceMappingURL=event-editor-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-editor-contract.d.ts","sourceRoot":"","sources":["../../src/event-engine/event-editor-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqC,cAAc,EAAkC,MAAM,SAAS,CAAC;AAEjH,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,uBAAuB,GACvB,+BAA+B,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvF,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,2qRAoU5B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;CA6BzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,2BAA2B,EAyEpE,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,MAAM,GAChB,sBAAsB,CAoBxB"}