@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,194 @@
1
+ import { DEFAULT_REPORT_FONTS } from '../fonts';
2
+ import { isRepeatOnEveryPageBandType } from './types';
3
+ let idCounter = 0;
4
+ function uid() {
5
+ return `id_${++idCounter}`;
6
+ }
7
+ const DEFAULT_BAND_HEIGHTS = {
8
+ reportTitle: 40,
9
+ reportSummary: 30,
10
+ pageHeader: 20,
11
+ pageFooter: 20,
12
+ groupHeader: 25,
13
+ groupFooter: 25,
14
+ data: 20,
15
+ };
16
+ const DEFAULT_FONT = {
17
+ family: 'Arial',
18
+ size: 10,
19
+ bold: false,
20
+ italic: false,
21
+ underline: false,
22
+ strikethrough: false,
23
+ color: '#000000',
24
+ };
25
+ const DEFAULT_BORDER = {
26
+ style: 'none',
27
+ width: 0,
28
+ color: '#000000',
29
+ sides: {
30
+ top: false,
31
+ right: false,
32
+ bottom: false,
33
+ left: false,
34
+ },
35
+ };
36
+ const DEFAULT_PADDING = {
37
+ top: 0,
38
+ right: 0,
39
+ bottom: 0,
40
+ left: 0,
41
+ };
42
+ const DEFAULT_PAGE_WATERMARK = {
43
+ enabled: false,
44
+ text: '',
45
+ fontSize: 48,
46
+ color: '#8c8c8c',
47
+ opacity: 0.18,
48
+ angle: -35,
49
+ horizontalAlign: 'center',
50
+ verticalAlign: 'middle',
51
+ showBehind: true,
52
+ };
53
+ const DEFAULT_PAGE_BORDER = {
54
+ enabled: false,
55
+ style: 'solid',
56
+ width: 0.2,
57
+ color: '#000000',
58
+ sides: { top: true, right: true, bottom: true, left: true },
59
+ offset: 0,
60
+ };
61
+ export function createDefaultPageWatermark() {
62
+ return { ...DEFAULT_PAGE_WATERMARK };
63
+ }
64
+ export function createDefaultPageBorder() {
65
+ return { ...DEFAULT_PAGE_BORDER, sides: { ...DEFAULT_PAGE_BORDER.sides } };
66
+ }
67
+ function createDefaultTextStyles() {
68
+ return [
69
+ {
70
+ id: 'text-normal',
71
+ name: 'Normal',
72
+ category: 'text',
73
+ font: { ...DEFAULT_FONT },
74
+ border: { ...DEFAULT_BORDER, sides: { ...DEFAULT_BORDER.sides } },
75
+ backgroundColor: 'transparent',
76
+ textAlign: 'left',
77
+ verticalAlign: 'top',
78
+ padding: { ...DEFAULT_PADDING },
79
+ canGrow: false,
80
+ canShrink: false,
81
+ isDefault: true,
82
+ },
83
+ {
84
+ id: 'text-title',
85
+ name: 'Title',
86
+ category: 'text',
87
+ font: { ...DEFAULT_FONT, size: 18, bold: true },
88
+ border: { ...DEFAULT_BORDER, sides: { ...DEFAULT_BORDER.sides } },
89
+ backgroundColor: 'transparent',
90
+ textAlign: 'left',
91
+ verticalAlign: 'middle',
92
+ padding: { ...DEFAULT_PADDING },
93
+ canGrow: false,
94
+ canShrink: false,
95
+ },
96
+ {
97
+ id: 'text-header',
98
+ name: 'Header',
99
+ category: 'text',
100
+ font: { ...DEFAULT_FONT, bold: true },
101
+ border: { ...DEFAULT_BORDER, style: 'solid', sides: { ...DEFAULT_BORDER.sides, bottom: true }, width: 0.2 },
102
+ backgroundColor: '#f5f5f5',
103
+ textAlign: 'left',
104
+ verticalAlign: 'middle',
105
+ padding: { top: 1, right: 1, bottom: 1, left: 1 },
106
+ canGrow: false,
107
+ canShrink: false,
108
+ },
109
+ {
110
+ id: 'text-data',
111
+ name: 'Data',
112
+ category: 'text',
113
+ font: { ...DEFAULT_FONT },
114
+ border: { ...DEFAULT_BORDER, sides: { ...DEFAULT_BORDER.sides } },
115
+ backgroundColor: 'transparent',
116
+ textAlign: 'left',
117
+ verticalAlign: 'top',
118
+ padding: { ...DEFAULT_PADDING },
119
+ canGrow: true,
120
+ canShrink: false,
121
+ },
122
+ {
123
+ id: 'text-footer',
124
+ name: 'Footer',
125
+ category: 'text',
126
+ font: { ...DEFAULT_FONT, size: 9, italic: true, color: '#444444' },
127
+ border: { ...DEFAULT_BORDER, style: 'solid', sides: { ...DEFAULT_BORDER.sides, top: true }, width: 0.2 },
128
+ backgroundColor: 'transparent',
129
+ textAlign: 'left',
130
+ verticalAlign: 'middle',
131
+ padding: { top: 1, right: 0, bottom: 0, left: 0 },
132
+ canGrow: false,
133
+ canShrink: false,
134
+ },
135
+ {
136
+ id: 'text-group',
137
+ name: 'Group',
138
+ category: 'text',
139
+ font: { ...DEFAULT_FONT, bold: true, color: '#222222' },
140
+ border: { ...DEFAULT_BORDER, sides: { ...DEFAULT_BORDER.sides } },
141
+ backgroundColor: '#eeeeee',
142
+ textAlign: 'left',
143
+ verticalAlign: 'middle',
144
+ padding: { top: 1, right: 1, bottom: 1, left: 1 },
145
+ canGrow: false,
146
+ canShrink: false,
147
+ },
148
+ ];
149
+ }
150
+ function createBandBehavior(type) {
151
+ return {
152
+ enabled: true,
153
+ printOn: 'allPages',
154
+ printIfEmpty: true,
155
+ printOnAllPages: isRepeatOnEveryPageBandType(type),
156
+ keepTogether: false,
157
+ canBreak: type === 'data',
158
+ printAtBottom: type === 'pageFooter',
159
+ autoGrow: true,
160
+ autoShrink: false,
161
+ };
162
+ }
163
+ export function createDefaultTemplate(name = '未命名报表') {
164
+ const pageId = uid();
165
+ const bands = [
166
+ { id: uid(), type: 'reportTitle', height: DEFAULT_BAND_HEIGHTS.reportTitle, components: [], behavior: createBandBehavior('reportTitle') },
167
+ { id: uid(), type: 'pageHeader', height: DEFAULT_BAND_HEIGHTS.pageHeader, components: [], behavior: createBandBehavior('pageHeader') },
168
+ { id: uid(), type: 'data', height: DEFAULT_BAND_HEIGHTS.data, components: [], behavior: createBandBehavior('data'), dataBand: {} },
169
+ { id: uid(), type: 'pageFooter', height: DEFAULT_BAND_HEIGHTS.pageFooter, components: [], behavior: createBandBehavior('pageFooter') },
170
+ ];
171
+ const page = {
172
+ id: pageId,
173
+ width: 210,
174
+ height: 297,
175
+ backgroundColor: '#ffffff',
176
+ watermark: createDefaultPageWatermark(),
177
+ pageBorder: createDefaultPageBorder(),
178
+ margins: { top: 20, right: 20, bottom: 20, left: 20 },
179
+ orientation: 'portrait',
180
+ bands,
181
+ };
182
+ return {
183
+ id: uid(),
184
+ name,
185
+ version: '2.0',
186
+ pages: [page],
187
+ dataSources: [],
188
+ styles: createDefaultTextStyles(),
189
+ conditionalFormats: [],
190
+ parameters: [],
191
+ fonts: DEFAULT_REPORT_FONTS,
192
+ };
193
+ }
194
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template-model/template.ts"],"names":[],"mappings":"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"}