@genesislcap/pbc-reporting-ui 15.19.0 → 15.19.1

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 (247) hide show
  1. package/dist/custom-elements.json +4247 -5382
  2. package/dist/dts/react.d.ts +44 -44
  3. package/dist/react.cjs +65 -65
  4. package/dist/react.mjs +57 -57
  5. package/package.json +22 -23
  6. package/.env +0 -3
  7. package/api-extractor.json +0 -4
  8. package/dist/dts/new/main/edit-config/col-filters/col-filters-grid.helpers.test.d.ts +0 -2
  9. package/dist/dts/new/main/edit-config/col-filters/col-filters-grid.helpers.test.d.ts.map +0 -1
  10. package/dist/dts/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.d.ts +0 -2
  11. package/dist/dts/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.d.ts.map +0 -1
  12. package/dist/dts/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.d.ts +0 -2
  13. package/dist/dts/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.d.ts.map +0 -1
  14. package/dist/dts/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.d.ts +0 -2
  15. package/dist/dts/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.d.ts.map +0 -1
  16. package/dist/dts/new/main/edit-config/row-filters/row-filters.helpers.test.d.ts +0 -2
  17. package/dist/dts/new/main/edit-config/row-filters/row-filters.helpers.test.d.ts.map +0 -1
  18. package/dist/dts/new/main/edit-config/shared/datasource-data-base-component.test.d.ts +0 -5
  19. package/dist/dts/new/main/edit-config/shared/datasource-data-base-component.test.d.ts.map +0 -1
  20. package/dist/dts/new/utils/alias-generator.test.d.ts +0 -2
  21. package/dist/dts/new/utils/alias-generator.test.d.ts.map +0 -1
  22. package/dist/dts/new/utils/endpoint.test.d.ts +0 -2
  23. package/dist/dts/new/utils/endpoint.test.d.ts.map +0 -1
  24. package/dist/dts/new/utils/transformers.test.d.ts +0 -2
  25. package/dist/dts/new/utils/transformers.test.d.ts.map +0 -1
  26. package/dist/dts/new/utils/validators.test.d.ts +0 -2
  27. package/dist/dts/new/utils/validators.test.d.ts.map +0 -1
  28. package/dist/dts/old/main/main.test.d.ts +0 -2
  29. package/dist/dts/old/main/main.test.d.ts.map +0 -1
  30. package/dist/dts/old/utils/filterObjectArray.test.d.ts +0 -2
  31. package/dist/dts/old/utils/filterObjectArray.test.d.ts.map +0 -1
  32. package/dist/esm/new/main/edit-config/col-filters/col-filters-grid.helpers.test.js +0 -200
  33. package/dist/esm/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.js +0 -152
  34. package/dist/esm/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.js +0 -629
  35. package/dist/esm/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.js +0 -268
  36. package/dist/esm/new/main/edit-config/row-filters/row-filters.helpers.test.js +0 -1
  37. package/dist/esm/new/main/edit-config/shared/datasource-data-base-component.test.js +0 -426
  38. package/dist/esm/new/utils/alias-generator.test.js +0 -36
  39. package/dist/esm/new/utils/endpoint.test.js +0 -162
  40. package/dist/esm/new/utils/transformers.test.js +0 -469
  41. package/dist/esm/new/utils/validators.test.js +0 -139
  42. package/dist/esm/old/main/main.test.js +0 -5
  43. package/dist/esm/old/utils/filterObjectArray.test.js +0 -46
  44. package/dist/tsconfig.tsbuildinfo +0 -1
  45. package/src/globals.d.ts +0 -7
  46. package/src/index.federated.ts +0 -1
  47. package/src/index.ts +0 -8
  48. package/src/new/components/clone-report-config-modal/clone-report-config-modal.styles.ts +0 -47
  49. package/src/new/components/clone-report-config-modal/clone-report-config-modal.template.ts +0 -55
  50. package/src/new/components/clone-report-config-modal/clone-report-config-modal.ts +0 -173
  51. package/src/new/components/components.ts +0 -118
  52. package/src/new/components/renderers/data-transform-renderer.ts +0 -111
  53. package/src/new/components/reporting-configurations/reporting-configurations.styles.ts +0 -42
  54. package/src/new/components/reporting-configurations/reporting-configurations.template.ts +0 -59
  55. package/src/new/components/reporting-configurations/reporting-configurations.ts +0 -366
  56. package/src/new/components/shared/file-template-picker.template.ts +0 -45
  57. package/src/new/lib/redux-store/README.md +0 -55
  58. package/src/new/lib/redux-store/index.ts +0 -2
  59. package/src/new/lib/redux-store/state-utils.ts +0 -1
  60. package/src/new/lib/redux-store/store.ts +0 -135
  61. package/src/new/main/edit-config/base-config/base-config.styles.ts +0 -26
  62. package/src/new/main/edit-config/base-config/base-config.template.ts +0 -71
  63. package/src/new/main/edit-config/base-config/base-config.ts +0 -116
  64. package/src/new/main/edit-config/col-filters/col-filters-grid.helpers.test.ts +0 -232
  65. package/src/new/main/edit-config/col-filters/col-filters-grid.helpers.ts +0 -35
  66. package/src/new/main/edit-config/col-filters/col-filters-grid.styles.ts +0 -22
  67. package/src/new/main/edit-config/col-filters/col-filters-grid.ts +0 -150
  68. package/src/new/main/edit-config/col-filters/col-filters-grid.types.ts +0 -7
  69. package/src/new/main/edit-config/col-filters/col-filters-tutorial.ts +0 -25
  70. package/src/new/main/edit-config/col-filters/col-fitlers-grid.template.ts +0 -15
  71. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.ts +0 -187
  72. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.ts +0 -89
  73. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.styles.ts +0 -22
  74. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.template.ts +0 -14
  75. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.ts +0 -119
  76. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.types.ts +0 -10
  77. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-tutorial.ts +0 -33
  78. package/src/new/main/edit-config/config-journey-orchestrator.styles.ts +0 -120
  79. package/src/new/main/edit-config/config-journey-orchestrator.template.ts +0 -149
  80. package/src/new/main/edit-config/config-journey-orchestrator.ts +0 -92
  81. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms-tutorial.ts +0 -127
  82. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.ts +0 -799
  83. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.ts +0 -371
  84. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.styles.ts +0 -22
  85. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.template.ts +0 -21
  86. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.ts +0 -162
  87. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.types.ts +0 -211
  88. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.styles.ts +0 -79
  89. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.template.ts +0 -217
  90. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.ts +0 -280
  91. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/index.ts +0 -1
  92. package/src/new/main/edit-config/data-transforms-derived-fields/format-warning.ts +0 -43
  93. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/index.ts +0 -1
  94. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.styles.ts +0 -68
  95. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.template.ts +0 -93
  96. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.ts +0 -152
  97. package/src/new/main/edit-config/datasource-config/datasource-config-container.styles.ts +0 -22
  98. package/src/new/main/edit-config/datasource-config/datasource-config-item.styles.ts +0 -76
  99. package/src/new/main/edit-config/datasource-config/datasource-config-item.template.ts +0 -141
  100. package/src/new/main/edit-config/datasource-config/datasource-config-item.ts +0 -212
  101. package/src/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.ts +0 -341
  102. package/src/new/main/edit-config/datasource-config/datasources-config-container.helpers.ts +0 -99
  103. package/src/new/main/edit-config/datasource-config/datasources-config-container.template.ts +0 -68
  104. package/src/new/main/edit-config/datasource-config/datasources-config-container.ts +0 -55
  105. package/src/new/main/edit-config/datasource-config/types.ts +0 -6
  106. package/src/new/main/edit-config/outputs-config/outputs-config.style.ts +0 -11
  107. package/src/new/main/edit-config/outputs-config/outputs-config.template.ts +0 -66
  108. package/src/new/main/edit-config/outputs-config/outputs-config.ts +0 -66
  109. package/src/new/main/edit-config/row-filters/row-filters-tutorial.styles.ts +0 -16
  110. package/src/new/main/edit-config/row-filters/row-filters-tutorial.template.ts +0 -229
  111. package/src/new/main/edit-config/row-filters/row-filters-tutorial.ts +0 -15
  112. package/src/new/main/edit-config/row-filters/row-filters.helpers.test.ts +0 -2
  113. package/src/new/main/edit-config/row-filters/row-filters.helpers.ts +0 -53
  114. package/src/new/main/edit-config/row-filters/row-filters.styles.ts +0 -23
  115. package/src/new/main/edit-config/row-filters/row-filters.template.ts +0 -15
  116. package/src/new/main/edit-config/row-filters/row-filters.ts +0 -58
  117. package/src/new/main/edit-config/row-filters/row-filters.types.ts +0 -14
  118. package/src/new/main/edit-config/scheduling/scheduling.styles.ts +0 -59
  119. package/src/new/main/edit-config/scheduling/scheduling.template.ts +0 -80
  120. package/src/new/main/edit-config/scheduling/scheduling.ts +0 -101
  121. package/src/new/main/edit-config/shared/datasource-data-base-component.helpers.ts.ts +0 -250
  122. package/src/new/main/edit-config/shared/datasource-data-base-component.test.ts +0 -568
  123. package/src/new/main/edit-config/shared/datasource-data-base-component.ts +0 -65
  124. package/src/new/main/edit-config/shared/datasource-data-base-component.types.ts +0 -55
  125. package/src/new/main/edit-config/shared/index.ts +0 -3
  126. package/src/new/main/edit-config/tabbed-datasource-container/index.ts +0 -2
  127. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.styles.ts +0 -12
  128. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.template.ts +0 -29
  129. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.ts +0 -69
  130. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.types.ts +0 -7
  131. package/src/new/main/generated-reports/generated-reports.styles.ts +0 -15
  132. package/src/new/main/generated-reports/generated-reports.template.ts +0 -29
  133. package/src/new/main/generated-reports/generated-reports.ts +0 -270
  134. package/src/new/main/index.ts +0 -3
  135. package/src/new/main/main.styles.ts +0 -31
  136. package/src/new/main/main.template.ts +0 -92
  137. package/src/new/main/main.ts +0 -117
  138. package/src/new/main/report-destinations/report-destinations.template.ts +0 -39
  139. package/src/new/main/report-destinations/report-destinations.ts +0 -63
  140. package/src/new/store/index.ts +0 -3
  141. package/src/new/store/slices/base-config.ts +0 -50
  142. package/src/new/store/slices/datasources-config.ts +0 -297
  143. package/src/new/store/slices/index.ts +0 -3
  144. package/src/new/store/slices/types.ts +0 -90
  145. package/src/new/store/store.ts +0 -36
  146. package/src/new/store/types.ts +0 -10
  147. package/src/new/styles/constraints.styles.ts +0 -32
  148. package/src/new/styles/forms.styles.ts +0 -38
  149. package/src/new/styles/index.ts +0 -3
  150. package/src/new/styles/misc.styles.ts +0 -25
  151. package/src/new/types/display.ts +0 -4
  152. package/src/new/types/index.ts +0 -4
  153. package/src/new/types/misc.ts +0 -73
  154. package/src/new/types/redux.ts +0 -73
  155. package/src/new/types/rights.ts +0 -28
  156. package/src/new/utils/alias-generator.test.ts +0 -44
  157. package/src/new/utils/alias-generator.ts +0 -18
  158. package/src/new/utils/date-filter-params.ts +0 -28
  159. package/src/new/utils/endpoint.test.ts +0 -193
  160. package/src/new/utils/endpoint.ts +0 -62
  161. package/src/new/utils/event-map.ts +0 -11
  162. package/src/new/utils/format-utils.ts +0 -22
  163. package/src/new/utils/formatters.ts +0 -36
  164. package/src/new/utils/index.ts +0 -10
  165. package/src/new/utils/notifications.ts +0 -9
  166. package/src/new/utils/renderer.ts +0 -38
  167. package/src/new/utils/rights.ts +0 -66
  168. package/src/new/utils/sorter.ts +0 -19
  169. package/src/new/utils/tooltip.ts +0 -94
  170. package/src/new/utils/transformers.test.ts +0 -549
  171. package/src/new/utils/transformers.ts +0 -174
  172. package/src/new/utils/validators.test.ts +0 -165
  173. package/src/new/utils/validators.ts +0 -81
  174. package/src/old/assets/images/index.ts +0 -69
  175. package/src/old/components/create-edit/create-edit.styles.ts +0 -16
  176. package/src/old/components/create-edit/create-edit.template.ts +0 -15
  177. package/src/old/components/create-edit/create-edit.ts +0 -70
  178. package/src/old/components/create-edit/index.ts +0 -3
  179. package/src/old/components/list/columns.ts +0 -175
  180. package/src/old/components/list/index.ts +0 -3
  181. package/src/old/components/list/list.styles.ts +0 -9
  182. package/src/old/components/list/list.template.ts +0 -40
  183. package/src/old/components/list/list.ts +0 -109
  184. package/src/old/components/preview/columns.ts +0 -58
  185. package/src/old/components/preview/index.ts +0 -3
  186. package/src/old/components/preview/preview.styles.ts +0 -22
  187. package/src/old/components/preview/preview.template.ts +0 -33
  188. package/src/old/components/preview/preview.ts +0 -143
  189. package/src/old/components/rapid-components.ts +0 -64
  190. package/src/old/components/renderers/custom-header-component.ts +0 -92
  191. package/src/old/components/renderers/filter-value-renderer.ts +0 -237
  192. package/src/old/components/renderers/row-select.renderer.ts +0 -148
  193. package/src/old/components/select-fields/columns.ts +0 -83
  194. package/src/old/components/select-fields/data.ts +0 -218
  195. package/src/old/components/select-fields/index.ts +0 -3
  196. package/src/old/components/select-fields/select-fields.styles.ts +0 -22
  197. package/src/old/components/select-fields/select-fields.template.ts +0 -58
  198. package/src/old/components/select-fields/select-fields.ts +0 -218
  199. package/src/old/components/select-filters/columns.ts +0 -78
  200. package/src/old/components/select-filters/index.ts +0 -3
  201. package/src/old/components/select-filters/select-filters.styles.ts +0 -21
  202. package/src/old/components/select-filters/select-filters.template.ts +0 -58
  203. package/src/old/components/select-filters/select-filters.ts +0 -255
  204. package/src/old/components/wizard/debug.ts +0 -35
  205. package/src/old/components/wizard/index.ts +0 -2
  206. package/src/old/components/wizard/steps/filters.ts +0 -13
  207. package/src/old/components/wizard/steps/index.ts +0 -4
  208. package/src/old/components/wizard/steps/name.ts +0 -72
  209. package/src/old/components/wizard/steps/run.ts +0 -14
  210. package/src/old/components/wizard/steps/select.ts +0 -14
  211. package/src/old/components/wizard/wizard.styles.ts +0 -198
  212. package/src/old/components/wizard/wizard.template.ts +0 -147
  213. package/src/old/components/wizard/wizard.ts +0 -398
  214. package/src/old/components/wizard/wizard.types.ts +0 -43
  215. package/src/old/components/zero-components.ts +0 -61
  216. package/src/old/config/config.ts +0 -59
  217. package/src/old/config/configure.ts +0 -66
  218. package/src/old/config/index.ts +0 -2
  219. package/src/old/config/templates.ts +0 -59
  220. package/src/old/constants/grid-config.ts +0 -19
  221. package/src/old/layouts/default.ts +0 -30
  222. package/src/old/layouts/index.ts +0 -2
  223. package/src/old/layouts/two-pane-horizontal.ts +0 -81
  224. package/src/old/main/index.ts +0 -3
  225. package/src/old/main/main.styles.ts +0 -69
  226. package/src/old/main/main.template.ts +0 -127
  227. package/src/old/main/main.test.ts +0 -7
  228. package/src/old/main/main.ts +0 -250
  229. package/src/old/main/types.ts +0 -29
  230. package/src/old/styles/colors.ts +0 -16
  231. package/src/old/styles/helpers.ts +0 -181
  232. package/src/old/styles/index.ts +0 -4
  233. package/src/old/styles/normalize.ts +0 -14
  234. package/src/old/styles/styles.ts +0 -24
  235. package/src/old/tags/index.ts +0 -1
  236. package/src/old/tags/tags.ts +0 -79
  237. package/src/old/tsconfig.json +0 -10
  238. package/src/old/utils/filterObjectArray.test.ts +0 -110
  239. package/src/old/utils/filterObjectArray.ts +0 -23
  240. package/src/old/utils/getFiltersByType.ts +0 -92
  241. package/src/old/utils/getSelectedFields.ts +0 -16
  242. package/src/old/utils/index.ts +0 -4
  243. package/src/old/utils/logger.ts +0 -3
  244. package/src/sandbox.ts +0 -51
  245. package/src/tsconfig.base.json +0 -24
  246. package/src/typings.d.ts +0 -1
  247. package/tsconfig.json +0 -9
@@ -1,175 +0,0 @@
1
- import { formatDateTimestamp } from '@genesislcap/foundation-utils';
2
- import { html } from '@genesislcap/web-core';
3
-
4
- export enum REPORT_FIELDS {
5
- REPORT_ID = 'REPORT_ID',
6
- REPORT_NAME = 'REPORT_NAME',
7
- REPORT_DESCRIPTION = 'REPORT_DESCRIPTION',
8
- REPORT_DATASOURCE = 'REPORT_DATASOURCE',
9
- REPORT_COLUMNS = 'REPORT_COLUMNS',
10
- CREATED_BY = 'CREATED_BY',
11
- REPORT_CREATED_ON = 'REPORT_CREATED_ON',
12
- OPTIONS = 'OPTIONS',
13
- }
14
-
15
- export const REPORT_COLUMN_DEFS = (context: any) => [
16
- {
17
- checkboxSelection: false,
18
- filter: false,
19
- headerCheckboxSelection: true,
20
- sortable: false,
21
- cellRenderer: 'row-select',
22
- width: 60,
23
- cellStyle: { display: 'flex' },
24
- },
25
- { field: REPORT_FIELDS.REPORT_ID, hide: true },
26
- { field: REPORT_FIELDS.REPORT_COLUMNS, hide: true },
27
- {
28
- field: REPORT_FIELDS.REPORT_NAME,
29
- headerName: 'Report Name',
30
- cellStyle: {
31
- display: 'flex',
32
- justifyContent: 'flex-start',
33
- alignItems: 'center',
34
- textAlign: 'left',
35
- color: 'var(--accent-fill-rest)',
36
- },
37
- cellRendererSelector: (params) => {
38
- return {
39
- component: 'action',
40
- params: {
41
- actionClick: () => context.runReport(params?.node?.data),
42
- actionName: params?.value,
43
- appearance: 'lightweight',
44
- },
45
- };
46
- },
47
- },
48
- { field: REPORT_FIELDS.REPORT_DESCRIPTION, headerName: 'Description', width: 400 },
49
- { field: REPORT_FIELDS.REPORT_DATASOURCE, headerName: 'Datasource' },
50
- { field: REPORT_FIELDS.CREATED_BY, headerName: 'Author' },
51
- {
52
- field: REPORT_FIELDS.REPORT_CREATED_ON,
53
- headerName: 'Created date',
54
- filter: 'agDateColumnFilter',
55
- filterParams: {
56
- comparator: (filterLocalDateAtMidnight: Date, cellValue: number) => {
57
- if (!cellValue) return -1;
58
-
59
- const cellValueTime = new Date(cellValue).setHours(0, 0, 0, 0);
60
- const filterValueTime = filterLocalDateAtMidnight.getTime();
61
-
62
- if (cellValueTime === filterValueTime) {
63
- return 0;
64
- }
65
-
66
- if (cellValueTime < filterValueTime) {
67
- return -1;
68
- }
69
-
70
- if (cellValueTime > filterValueTime) {
71
- return 1;
72
- }
73
- },
74
- buttons: ['reset', 'apply'],
75
- closeOnApply: true,
76
- closeOnClear: true,
77
- suppressAndOrCondition: true,
78
- browserDatePicker: true,
79
- filterOptions: ['equals', 'lessThan', 'greaterThan'],
80
- },
81
- valueFormatter: (rowData) => formatDateTimestamp(rowData.data.REPORT_CREATED_ON),
82
- },
83
- {
84
- width: 100,
85
- colId: 'runReportAction',
86
- headerName: 'Run',
87
- filter: false,
88
- resizable: false,
89
- sortable: false,
90
- cellStyle: {
91
- display: 'flex',
92
- justifyContent: 'flex-start',
93
- alignItems: 'center',
94
- },
95
- cellRendererSelector: (params) => {
96
- return {
97
- component: 'action',
98
- params: {
99
- actionClick: () => context.runReport(params?.node?.data),
100
- contentTemplate: html`
101
- <label
102
- style="pointer-events: none"
103
- aria-label="Run report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}"
104
- >
105
- Run
106
- </label>
107
- `,
108
- appearance: context.config.buttonAppearance,
109
- },
110
- };
111
- },
112
- },
113
- {
114
- width: 100,
115
- colId: 'editReportAction',
116
- headerName: 'Edit',
117
- filter: false,
118
- resizable: false,
119
- sortable: false,
120
- cellStyle: {
121
- display: 'flex',
122
- justifyContent: 'flex-start',
123
- alignItems: 'center',
124
- },
125
- cellRendererSelector: (params) => {
126
- return {
127
- component: 'action',
128
- params: {
129
- actionClick: () => context.editReport(params?.node?.data),
130
- contentTemplate: html`
131
- <label
132
- style="pointer-events: none"
133
- aria-label="Edit report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}"
134
- >
135
- Edit
136
- </label>
137
- `,
138
- appearance: context.config.buttonAppearance,
139
- },
140
- };
141
- },
142
- },
143
- {
144
- width: 110,
145
- colId: 'deleteReportAction',
146
- headerName: 'Delete',
147
- filter: false,
148
- resizable: false,
149
- sortable: false,
150
- cellStyle: {
151
- display: 'flex',
152
- justifyContent: 'flex-start',
153
- alignItems: 'center',
154
- },
155
- cellRendererSelector: (params) => {
156
- return {
157
- component: 'action',
158
- params: {
159
- actionClick: () => context.deleteReport(params?.node?.data),
160
- contentTemplate: html`
161
- <label
162
- style="pointer-events: none"
163
- aria-label="Delete report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}"
164
- >
165
- Delete
166
- </label>
167
- `,
168
- appearance: context.config.buttonAppearance,
169
- },
170
- };
171
- },
172
- },
173
- ];
174
-
175
- export function SELECTED_COLUMN_DEFS(context: any) {}
@@ -1,3 +0,0 @@
1
- export * from './list';
2
- export * from './list.styles';
3
- export * from './list.template';
@@ -1,9 +0,0 @@
1
- import { css } from '@genesislcap/web-core';
2
-
3
- export const ListStyles = css`
4
- :host {
5
- display: block;
6
- width: 100%;
7
- height: 100%;
8
- }
9
- `;
@@ -1,40 +0,0 @@
1
- import { html, ref } from '@genesislcap/web-core';
2
- import { gridTag } from '../../tags';
3
- import { RowSelectRenderer } from '../renderers/row-select.renderer';
4
- import { REPORT_COLUMN_DEFS } from './columns';
5
- import type { List } from './list';
6
-
7
- // TODO: provide gridoptions in class
8
- export const ListTemplate = html<List>`
9
- <${gridTag}
10
- ${ref('grid')}
11
- data-test-id="report-grid"
12
- only-template-col-defs
13
- rowSelection="multiple"
14
- suppressRowClickSelection
15
- suppressRowTransform
16
- >
17
- <grid-pro-genesis-datasource
18
- resource-name="ALL_SAVED_REPORTS"
19
- :deferredGridOptions=${(x) => ({
20
- components: {
21
- 'row-select': RowSelectRenderer,
22
- },
23
- defaultColDef: {
24
- filter: false,
25
- floatingFilter: false,
26
- sortable: false,
27
- sort: 'asc',
28
- suppressMenu: false,
29
- resizable: false,
30
- },
31
- rowSelection: 'multiple',
32
- suppressRowClickSelection: true,
33
- columnDefs: REPORT_COLUMN_DEFS(x),
34
- context: {
35
- ariaLabelField: 'REPORT_NAME',
36
- },
37
- })}
38
- ></grid-pro-genesis-datasource>
39
- </${gridTag}>
40
- `;
@@ -1,109 +0,0 @@
1
- import { Connect } from '@genesislcap/foundation-comms';
2
- import { GridPro } from '@genesislcap/grid-pro';
3
- import { customElement, GenesisElement, observable } from '@genesislcap/web-core';
4
- import { ReportingConfig } from '../../config/config';
5
- import { ReportingEventListeners } from '../../main/types';
6
- import { ListStyles as styles } from './list.styles';
7
- import { ListTemplate as template } from './list.template';
8
-
9
- const name = 'reporting-list';
10
-
11
- /**
12
- * Detail payload for the `rowSelectionEvent` event. `selectedRows` is a getter
13
- * returning the rows selected at call time.
14
- * @public
15
- */
16
- export interface RowSelectionEventDetail {
17
- selectedRows: () => unknown[];
18
- }
19
-
20
- /**
21
- * Saved reports grid (legacy).
22
- * @public
23
- *
24
- * @fires rowSelectionEvent - Fired when grid row selection changes. detail: `RowSelectionEventDetail`
25
- * @fires notify - Fired when a user notification should be shown. detail: `ReportNotification`
26
- * @fires runReport
27
- * @fires editReport
28
- */
29
- @customElement({
30
- name,
31
- template,
32
- styles,
33
- })
34
- export class List extends GenesisElement {
35
- @Connect connect!: Connect;
36
- @observable userInteractedRow = {};
37
- @observable selectedRows = [];
38
- @ReportingConfig config!: ReportingConfig;
39
-
40
- public grid: GridPro;
41
-
42
- slectionEvent = new CustomEvent('rowSelectionEvent', {
43
- detail: { selectedRows: () => this.selectedRows },
44
- });
45
-
46
- async connectedCallback(): Promise<void> {
47
- super.connectedCallback();
48
-
49
- this.grid.addEventListener('onGridReady', () => {
50
- window.addEventListener('resize', () => {
51
- setTimeout(() => {
52
- this.grid?.gridApi?.sizeColumnsToFit();
53
- });
54
- });
55
- this.grid.gridApi.addEventListener('firstDataRendered', () => {
56
- this.grid?.gridApi?.sizeColumnsToFit();
57
- });
58
-
59
- this.grid.gridApi.addEventListener('selectionChanged', () => {
60
- this.selectedRows = this.grid.gridApi.getSelectedRows();
61
- this.dispatchEvent(this.slectionEvent);
62
- });
63
- });
64
- }
65
-
66
- public async delete(rowData: any): Promise<void> {
67
- let notification = null;
68
- const { REPORT_ID } = rowData;
69
-
70
- const result = await this.connect.commitEvent('EVENT_SAVED_REPORTS_DELETE', {
71
- DETAILS: { REPORT_ID },
72
- IGNORE_WARNINGS: true,
73
- VALIDATE: false,
74
- });
75
-
76
- result.MESSAGE_TYPE === 'EVENT_ACK'
77
- ? (notification = {
78
- message: `'${rowData.REPORT_NAME}' was deleted`,
79
- title: 'Success:',
80
- type: 'success',
81
- autoClose: true,
82
- })
83
- : (notification = {
84
- message: `'${rowData.REPORT_NAME}' was not deleted due to the following error "${result.ERROR[0].TEXT}"`,
85
- title: 'Error:',
86
- type: 'warning',
87
- autoClose: true,
88
- });
89
-
90
- this.$emit(ReportingEventListeners.notify, notification);
91
- }
92
-
93
- public batchDelete(): void {
94
- // service does not accept arrays so have to loop
95
- this.selectedRows.forEach((rowData) => this.delete(rowData));
96
- }
97
-
98
- public runReport = (data: any): void => {
99
- this.$emit(ReportingEventListeners.runReport, data);
100
- };
101
-
102
- public editReport = (data: any): void => {
103
- this.$emit(ReportingEventListeners.editReport, data);
104
- };
105
-
106
- public deleteReport = (data: any): void => {
107
- this.delete(data);
108
- };
109
- }
@@ -1,58 +0,0 @@
1
- import { formatDateTimestamp, formatDateTimeTimestamp } from '@genesislcap/foundation-utils';
2
- import { defaultCellConfig } from '../../constants/grid-config';
3
- import { getFilterTypeByFieldType } from '../../utils/getFiltersByType';
4
-
5
- const getAgGridFilter = (fieldType: string): string | boolean => {
6
- const filterType = getFilterTypeByFieldType(fieldType);
7
- switch (filterType) {
8
- case 'number':
9
- return 'agNumberColumnFilter';
10
- case 'date':
11
- case 'datetime':
12
- // Use number filter for epoch timestamps with custom comparator
13
- return 'agNumberColumnFilter';
14
- case 'text':
15
- default:
16
- return 'agTextColumnFilter';
17
- }
18
- };
19
-
20
- export const getColumns = (columns) =>
21
- columns.map(({ name, displayName, type }) => {
22
- const isDateType = type === 'DATE' || type === 'DATETIME';
23
-
24
- return {
25
- field: name,
26
- headerName: displayName,
27
- filter: getAgGridFilter(type),
28
- valueFormatter:
29
- type === 'DATE'
30
- ? (rowData) => formatDateTimestamp(rowData.data[name])
31
- : type === 'DATETIME'
32
- ? (rowData) => formatDateTimeTimestamp(rowData.data[name])
33
- : '',
34
- // Add date-specific comparator for sorting
35
- // Data is in epoch format, so we can compare directly as numbers
36
- ...(isDateType
37
- ? {
38
- comparator: (valueA, valueB) => valueA - valueB,
39
- }
40
- : {}),
41
- };
42
- });
43
-
44
- export const getGridOptions = () => {
45
- return {
46
- defaultColDef: {
47
- ...defaultCellConfig,
48
- filter: true,
49
- floatingFilter: false,
50
- sortable: false,
51
- suppressMenu: false,
52
- resizable: false,
53
- autoSizeStrategy: {
54
- type: 'fitGridWidth',
55
- },
56
- },
57
- };
58
- };
@@ -1,3 +0,0 @@
1
- export * from './preview';
2
- export * from './preview.styles';
3
- export * from './preview.template';
@@ -1,22 +0,0 @@
1
- import { css } from '@genesislcap/web-core';
2
- import { helperStyles } from '../../styles';
3
-
4
- export const PreviewStyles = css`
5
- ${helperStyles}
6
- .preview {
7
- display: flex;
8
- width: 100%;
9
- height: 100%;
10
- }
11
-
12
- .header {
13
- display: flex;
14
- align-items: center;
15
- justify-content: space-between;
16
- }
17
-
18
- .controls {
19
- align-items: center;
20
- display: flex;
21
- }
22
- `;
@@ -1,33 +0,0 @@
1
- import { html, ref } from '@genesislcap/web-core';
2
- import { buttonTag, cardTag, gridTag, iconTag } from '../../tags';
3
- import type { Preview } from './preview';
4
-
5
- export const PreviewReportTemplate = html<Preview>`
6
- <div class="preview" data-test-id="preview">
7
- <${cardTag} class="card">
8
- <div class="header">
9
- <div>
10
- <h3 class="card-title">${(x) => x.report['REPORT_NAME']}</h3>
11
- <p>${(x) => x.report['REPORT_DESCRIPTION']}</p>
12
- </div>
13
- <div class="controls">
14
- <${buttonTag}
15
- appearance="${(x) => x.config.buttonAppearance}"
16
- @click=${(x) => x.exportToCsv()}
17
- data-test-id="export-csv-button"
18
- >
19
- Export to csv
20
- <${iconTag} class="ml-5px" name="arrow-down"></${iconTag}>
21
- </${buttonTag}>
22
- </div>
23
- </div>
24
- <div class="w-full h-90pc">
25
- <${gridTag}
26
- ${ref('grid')}
27
- floatingFilter="false"
28
- rowSelection="multiple"
29
- ></${gridTag}>
30
- </div>
31
- </${cardTag}>
32
- </div>
33
- `;
@@ -1,143 +0,0 @@
1
- import { Datasource, FilteredDataServerResult } from '@genesislcap/foundation-comms';
2
- import { formatDateTimestamp, formatDateTimeTimestamp } from '@genesislcap/foundation-utils';
3
- import type { GridPro } from '@genesislcap/grid-pro';
4
- import { customElement, GenesisElement, observable, attr, DOM } from '@genesislcap/web-core';
5
- import { ReportingConfig } from '../../config/config';
6
- import { getFilterTypeByFieldType } from '../../utils/getFiltersByType';
7
- import { getColumns, getGridOptions } from './columns';
8
- import { PreviewStyles as styles } from './preview.styles';
9
- import { PreviewReportTemplate as template } from './preview.template';
10
-
11
- const name = 'reporting-preview';
12
-
13
- @customElement({
14
- name,
15
- template,
16
- styles,
17
- })
18
- export class Preview extends GenesisElement {
19
- public grid!: GridPro;
20
- @Datasource datasource!: Datasource;
21
- @attr report: any = {};
22
- @observable data: FilteredDataServerResult;
23
- @observable datasourceSettings;
24
- @ReportingConfig config!: ReportingConfig;
25
-
26
- /**
27
- * When report variable changes handle
28
- */
29
- reportChanged(old, newValue) {
30
- // Skip if empty report object
31
- if (
32
- old &&
33
- Object.keys(old).length != 0 &&
34
- Object.keys(newValue).length > 0 &&
35
- (newValue['REPORT_DATASOURCE'] || newValue['REPORT_DATA_SOURCE'])
36
- ) {
37
- if (this.data && this.grid.gridApi) {
38
- this.grid.gridApi.setColumnDefs([]);
39
- this.grid.gridApi.setRowData([]);
40
- this.grid.gridApi.showLoadingOverlay();
41
-
42
- DOM.queueUpdate(() => {
43
- this.fetchAndLoadToGrid();
44
- });
45
-
46
- return;
47
- }
48
-
49
- this.fetchAndLoadToGrid();
50
- }
51
- }
52
-
53
- /**
54
- * On component load
55
- */
56
- connectedCallback() {
57
- super.connectedCallback();
58
- this.fetchAndLoadToGrid();
59
- this.grid.addEventListener('onGridReady', () => {
60
- const model = {};
61
- this.report['REPORT_COLUMNS']
62
- .filter((f) => f.filter)
63
- .forEach((f) => {
64
- const filterType = getFilterTypeByFieldType(f.type);
65
- let filterValue = f.filter.value;
66
-
67
- // Convert date/datetime values to epoch timestamps for AG Grid number filter
68
- // Since grid data is in epoch format, we use number filter with epoch values
69
- if ((filterType === 'date' || filterType === 'datetime') && filterValue) {
70
- if (typeof filterValue === 'string') {
71
- // Handle ISO strings and other date formats - convert to epoch
72
- const date = new Date(filterValue);
73
- filterValue = !isNaN(date.getTime()) ? date.getTime() : filterValue;
74
- } else if (filterValue instanceof Date) {
75
- // Convert Date objects to epoch timestamps
76
- filterValue = filterValue.getTime();
77
- }
78
- // If already a number (epoch), leave as is
79
- }
80
-
81
- model[f.name] = {
82
- filterType: 'number', // Use number filter for epoch timestamps
83
- type: f.filter.conditional,
84
- filter: filterValue,
85
- };
86
- });
87
- this.grid.gridApi.setFilterModel(model);
88
- window.addEventListener('resize', () => {
89
- setTimeout(() => {
90
- this.grid?.columnApi?.autoSizeAllColumns();
91
- });
92
- });
93
- });
94
- }
95
-
96
- /**
97
- * Fetch data from server and load to grid
98
- */
99
- public fetchAndLoadToGrid = async () => {
100
- // Get the data from the selected dataserver
101
- // NOTE: Backend field REPORT_DATASOURCE and REPORT_DATA_SOURCE are not consistent in Events and Dataserver
102
- const resourceName = this.report['REPORT_DATASOURCE'] || this.report['REPORT_DATA_SOURCE'];
103
-
104
- await this.datasource.init({ resourceName, ...this.datasourceSettings }, true);
105
-
106
- this.data = (await this.datasource.snapshotFiltered()) as FilteredDataServerResult;
107
-
108
- // Map data from dataserver to the grid
109
- this.grid['gridOptions'] = {
110
- ...getGridOptions(),
111
- columnDefs: getColumns(this.report['REPORT_COLUMNS']),
112
- rowData: this.data as any[],
113
- };
114
- };
115
-
116
- /**
117
- * Export to csv handle
118
- */
119
- public exportToCsv = () => {
120
- const params: any = {
121
- fileName: 'export.csv',
122
- };
123
- params.processCellCallback = (cellParams) => this.formatDateType(cellParams);
124
-
125
- this.grid.gridApi.exportDataAsCsv({
126
- ...params,
127
- });
128
- };
129
-
130
- public formatDateType = (cellParams) => {
131
- let dateFormatter;
132
- this.report['REPORT_COLUMNS'].forEach((column) => {
133
- if (column.name == cellParams.column.colId) {
134
- column.type === 'DATE'
135
- ? (dateFormatter = formatDateTimestamp(cellParams.value))
136
- : column.type === 'DATETIME'
137
- ? (dateFormatter = formatDateTimeTimestamp(cellParams.value))
138
- : (dateFormatter = cellParams.value);
139
- }
140
- });
141
- return dateFormatter;
142
- };
143
- }
@@ -1,64 +0,0 @@
1
- import {
2
- baseComponents,
3
- provideDesignSystem,
4
- rapidActionsMenu,
5
- rapidButton,
6
- rapidCard,
7
- rapidCheckbox,
8
- rapidDialog,
9
- rapidIcon,
10
- rapidListboxOption,
11
- rapidMenu,
12
- rapidMenuItem,
13
- rapidRadio,
14
- rapidRadioGroup,
15
- rapidSelect,
16
- rapidTab,
17
- rapidTabPanel,
18
- rapidTabs,
19
- rapidTextField,
20
- rapidTextArea,
21
- rapidToast,
22
- } from '@genesislcap/rapid-design-system';
23
- import { rapidGridComponents } from '@genesislcap/rapid-grid-pro';
24
- import { foundationAgFilterValueRenderer } from './renderers/filter-value-renderer';
25
- import { foundationAgRowSelectRenderer } from './renderers/row-select.renderer';
26
-
27
- /**
28
- * @public
29
- */
30
- export const registerCommonRapidComponents = async () => {
31
- /**
32
- * Register the components the app is using with the system.
33
- */
34
- provideDesignSystem().register(
35
- /**
36
- * Common across most routes, so batch register these lightweight components upfront.
37
- */
38
- rapidActionsMenu(),
39
- rapidButton(),
40
- rapidCard(),
41
- rapidCheckbox(),
42
- rapidDialog(),
43
- rapidIcon(),
44
- rapidListboxOption(),
45
- rapidMenu(),
46
- rapidMenuItem(),
47
- rapidRadio(),
48
- rapidRadioGroup(),
49
- rapidSelect(),
50
- rapidTab(),
51
- rapidTabPanel(),
52
- rapidTabs(),
53
- rapidTextField(),
54
- rapidTextArea(),
55
- rapidToast(),
56
- /**
57
- * A re-export of designSystemProvider is missing from the top level index file in rapid
58
- */
59
- baseComponents.designSystemProvider(),
60
- rapidGridComponents,
61
- foundationAgRowSelectRenderer(),
62
- foundationAgFilterValueRenderer(),
63
- );
64
- };