@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,255 +0,0 @@
1
- import { Connect } from '@genesislcap/foundation-comms';
2
- import type { GridPro } from '@genesislcap/grid-pro';
3
- import { RapidAgSelectRenderer } from '@genesislcap/rapid-grid-pro';
4
- import { customElement, GenesisElement, observable } from '@genesislcap/web-core';
5
- import { ReportingConfig } from '../../config/config';
6
- import { filterObjectArray, getFiltersByFieldType } from '../../utils';
7
- import { FilterValueRenderer } from '../renderers/filter-value-renderer';
8
- import { AVAILABLE_FIELDS_CONFIG, SELECTED_FILTERS_CONFIG } from './columns';
9
- import { SelectFiltersStyles } from './select-filters.styles';
10
- import { SelectFiltersTemplate } from './select-filters.template';
11
-
12
- /**
13
- * Detail payload for the `setSelectedFilters` event.
14
- * @public
15
- */
16
- export interface SelectedFiltersEventDetail {
17
- filters: Array<Record<string, unknown>>;
18
- }
19
-
20
- /**
21
- * Reporting filter selection grids.
22
- * @public
23
- *
24
- * @fires setSelectedFilters - Fired when selected filters change. detail: `SelectedFiltersEventDetail`
25
- */
26
- @customElement({
27
- name: 'reporting-select-filters',
28
- template: SelectFiltersTemplate,
29
- styles: SelectFiltersStyles,
30
- })
31
- export class SelectFilters extends GenesisElement {
32
- public availableFieldsGrid!: GridPro;
33
- public selectedFiltersGrid!: GridPro;
34
-
35
- @Connect connect: Connect;
36
- @observable filtersToRemove = [];
37
- @observable selectedFields = [];
38
- @observable selectedFilters = [];
39
- @observable filterGridReady: boolean = false;
40
- @ReportingConfig config!: ReportingConfig;
41
-
42
- private suppressGridRefresh: boolean = false;
43
-
44
- connectedCallback(): void {
45
- super.connectedCallback();
46
- this.loadAvailableFieldsGrid();
47
- this.loadSelectedFiltersGrid();
48
- }
49
-
50
- // TODO: extract to util
51
- public makeSureFieldValueIsNotLost = (array) => {
52
- return array.map((field) => {
53
- const matchingField = this.selectedFilters?.find((f) => f?.name === field?.name);
54
- return {
55
- ...field,
56
- ...matchingField,
57
- };
58
- });
59
- };
60
-
61
- selectedFiltersChanged(): void {
62
- if (this.filterGridReady && !this.suppressGridRefresh) {
63
- this.selectedFiltersGrid.gridApi.setRowData(this.selectedFilters);
64
- this.selectedFiltersGrid.gridApi.refreshCells();
65
- }
66
- }
67
-
68
- /**
69
- * Update selected filters on parent component
70
- */
71
- public setSelectedFilters(filters: Array<Record<string, unknown>>): void {
72
- this.$emit('setSelectedFilters', { filters });
73
- }
74
-
75
- /**
76
- * Get a simplified / normalized version of the filters
77
- * e.g. ['REPORT_ID', 'REPORT_NAME']
78
- * @returns Array of string
79
- */
80
- public getNormalizedFilters(): Array<string> {
81
- return this.selectedFilters?.map(({ FIELD_NAME }) => FIELD_NAME);
82
- }
83
-
84
- /**
85
- * Loads availableFieldsGrid with data from the field selection step
86
- */
87
- public async loadAvailableFieldsGrid(): Promise<void> {
88
- this.availableFieldsGrid.gridOptions = {
89
- ...AVAILABLE_FIELDS_CONFIG.gridOptions,
90
- columnDefs: AVAILABLE_FIELDS_CONFIG.colDefs,
91
- rowData: [...this.selectedFields],
92
- onGridReady: () => {
93
- window.addEventListener('resize', () => {
94
- setTimeout(() => {
95
- this.availableFieldsGrid?.gridApi?.sizeColumnsToFit();
96
- });
97
- });
98
- },
99
- onFirstDataRendered: () => {
100
- this.availableFieldsGrid?.gridApi?.sizeColumnsToFit();
101
- this.selectDefaultFilters();
102
- },
103
- onSelectionChanged: () => {
104
- this.setSelectedFilters([
105
- ...this.makeSureFieldValueIsNotLost(this.availableFieldsGrid.gridApi.getSelectedRows()),
106
- ]);
107
- },
108
- };
109
- }
110
-
111
- /**
112
- * Loads the selectedFiltersGrid
113
- */
114
- public loadSelectedFiltersGrid(): void {
115
- this.selectedFiltersGrid.gridOptions = {
116
- ...SELECTED_FILTERS_CONFIG.gridOptions,
117
- columnDefs: [
118
- ...SELECTED_FILTERS_CONFIG.colDefs,
119
- {
120
- field: 'TYPE',
121
- headerName: 'Filter',
122
- maxWidth: 170,
123
- cellStyle: {
124
- overflow: 'visible',
125
- paddingLeft: 0,
126
- paddingRight: 0,
127
- },
128
- cellRenderer: RapidAgSelectRenderer,
129
- cellRendererParams: {
130
- accessor: 'filter.conditional',
131
- defaultValue: 'Select filter',
132
- onSelect: this.onFilterSelect,
133
- options: (data) => getFiltersByFieldType(data.type),
134
- },
135
- },
136
- {
137
- cellRenderer: FilterValueRenderer,
138
- cellRendererParams: {
139
- onChange: this.onFilterValueChange,
140
- accessor: 'filter.value',
141
- },
142
- field: 'filter.value',
143
- headerName: 'Value',
144
- cellStyle: {
145
- overflow: 'visible',
146
- padding: 0,
147
- },
148
- },
149
- ],
150
- rowData: [...this.filtersToRemove, ...this.selectedFilters],
151
- onGridReady: () => {
152
- this.filterGridReady = true;
153
- window.addEventListener('resize', () => {
154
- setTimeout(() => {
155
- this.selectedFiltersGrid?.gridApi?.sizeColumnsToFit();
156
- });
157
- });
158
- },
159
- onFirstDataRendered: () => {
160
- this.selectedFiltersGrid?.gridApi?.sizeColumnsToFit();
161
- },
162
- onSelectionChanged: () => {
163
- this.filtersToRemove = this.selectedFiltersGrid.gridApi.getSelectedRows();
164
- },
165
- };
166
- }
167
-
168
- public onFilterSelect = (value, params) => {
169
- // Suppress grid refresh during filter selection to prevent any UI disruption
170
- this.suppressGridRefresh = true;
171
-
172
- try {
173
- const data = params.node.data;
174
-
175
- // Update the node data directly
176
- if (data.filter) {
177
- data.filter.conditional = value;
178
- }
179
-
180
- // Update the selectedFilters array IN PLACE to avoid triggering observer
181
- const field = this.selectedFilters.find((f) => f.name === data.name);
182
- if (field && field.filter) {
183
- field.filter.conditional = value;
184
- }
185
-
186
- // Emit the change with the current array (not a new array)
187
- this.$emit('setSelectedFilters', { filters: this.selectedFilters });
188
- } finally {
189
- // Re-enable grid refresh
190
- this.suppressGridRefresh = false;
191
- }
192
- };
193
-
194
- public onFilterValueChange = (value, params) => {
195
- // Suppress grid refresh during value changes to prevent input focus loss
196
- this.suppressGridRefresh = true;
197
-
198
- try {
199
- // Update the node data directly without triggering a full grid refresh
200
- const rowNode = params.node;
201
- const data = rowNode.data;
202
-
203
- if (data.filter) {
204
- data.filter.value = value;
205
- }
206
-
207
- // Update the selectedFilters array IN PLACE to avoid triggering observer
208
- const field = this.selectedFilters.find((f) => f.name === data.name);
209
- if (field && field.filter) {
210
- field.filter.value = value;
211
- }
212
-
213
- // Emit the change with the current array (not a new array)
214
- this.$emit('setSelectedFilters', { filters: this.selectedFilters });
215
- } finally {
216
- // Re-enable grid refresh
217
- this.suppressGridRefresh = false;
218
- }
219
- };
220
-
221
- /**
222
- * Remove fields from selected filters grid and deselect them from the available fields grid
223
- */
224
- public removeSelectedFilters = (): void => {
225
- // filter fields from selected list
226
- const filters = filterObjectArray('name', this.selectedFilters, this.filtersToRemove);
227
- this.setSelectedFilters(filters);
228
-
229
- // reset removal array
230
- this.filtersToRemove = [];
231
-
232
- // deselect available fieldgrid
233
- this.availableFieldsGrid.gridApi.deselectAll();
234
-
235
- // reselect
236
- this.availableFieldsGrid.gridApi.forEachNode((node) => {
237
- filters.find((field) => field.name === node.data.name) && node.setSelected(true);
238
- });
239
- };
240
-
241
- /**
242
- * Select default filters
243
- */
244
- public selectDefaultFilters(): void {
245
- if (this.selectedFilters.length) {
246
- this.availableFieldsGrid.gridApi.forEachNode((node) => {
247
- this.selectedFilters.find((field) => field.name === node.data.name) &&
248
- node.setSelected(true);
249
- });
250
- this.setSelectedFilters([
251
- ...this.makeSureFieldValueIsNotLost(this.availableFieldsGrid.gridApi.getSelectedRows()),
252
- ]);
253
- }
254
- }
255
- }
@@ -1,35 +0,0 @@
1
- import { html } from '@genesislcap/web-core';
2
-
3
- export const Debug = html`
4
- <div class="flex flex-column gap-1 overflow-auto">
5
- <div>
6
- <h5>Report Name</h5>
7
- <div>${(x) => x.reportName}</div>
8
- </div>
9
-
10
- <div>
11
- <h5>Report Description</h5>
12
- <div>${(x) => x.reportDescription}</div>
13
- </div>
14
-
15
- <div>
16
- <h5>Selected Datasource</h5>
17
- <div>${(x) => x.selectedDatasource}</div>
18
- </div>
19
-
20
- <div>
21
- <h5>Selected Fields</h5>
22
- <div><pre>${(x) => JSON.stringify(x.selectedFields, undefined, 2)}</pre></div>
23
- </div>
24
-
25
- <div>
26
- <h5>Selected Filters</h5>
27
- <div><pre>${(x) => JSON.stringify(x.selectedFilters, undefined, 2)}</pre></div>
28
- </div>
29
-
30
- <div>
31
- <h5>Field Data</h5>
32
- <div><pre>${(x) => JSON.stringify(x.fieldData, undefined, 2)}</pre></div>
33
- </div>
34
- </div>
35
- `;
@@ -1,2 +0,0 @@
1
- export * from './wizard';
2
- export * from './wizard.styles';
@@ -1,13 +0,0 @@
1
- import { html } from '@genesislcap/web-core';
2
- import type { Wizard } from '../wizard';
3
-
4
- export const FiltersStep = html<Wizard>`
5
- <div class="step h-90pc">
6
- <reporting-select-filters
7
- @keydown="${(x, c) => x.wizardStepKeydownHandler(c.event as KeyboardEvent)}"
8
- :selectedFields=${(x) => x.selectedFields}
9
- :selectedFilters=${(x) => x.selectedFilters}
10
- data-test-id="select-filters-component"
11
- ></reporting-select-filters>
12
- </div>
13
- `;
@@ -1,4 +0,0 @@
1
- export * from './name';
2
- export * from './select';
3
- export * from './filters';
4
- export * from './run';
@@ -1,72 +0,0 @@
1
- import { sync } from '@genesislcap/foundation-utils';
2
- import { html, RadioGroup, repeat } from '@genesislcap/web-core';
3
- import { cardTag, radioGroupTag, radioTag, textAreaTag, textFieldTag } from '../../../tags';
4
- import type { Wizard } from '../wizard';
5
-
6
- const reportDescriptionTemplate = html<Wizard>`
7
- <section class="report-details" slot="left-section" data-test-id="report-details-section">
8
- <h3 class="mt-1 section-title dark-grey" data-test-id="report-name-title">Name Report</h3>
9
- <${cardTag} class="card">
10
- <h5 class="card-title">Report Set up</h5>
11
- <${textFieldTag}
12
- tabindex="0"
13
- :value=${sync((x) => x.reportName)}
14
- class="w-full"
15
- placeholder="Enter report name..."
16
- data-test-id="report-name-input"
17
- >
18
- Report Name
19
- </${textFieldTag}>
20
- <${textAreaTag}
21
- :value=${sync((x) => x.reportDescription)}
22
- class="w-full mt-2"
23
- placeholder="Enter report description..."
24
- data-test-id="report-description-input"
25
- >
26
- Report Description
27
- </${textAreaTag}>
28
- </${cardTag}>
29
- </section>
30
- `;
31
-
32
- const dataSourceTemplate = html<Wizard>`
33
- <section
34
- @keydown="${(x, c) => x.wizardStepKeydownHandler(c.event as KeyboardEvent)}"
35
- class="data-sources"
36
- slot="right-section"
37
- data-test-id="data-sources-section"
38
- >
39
- <h3 class="mt-1 section-title dark-grey" data-test-id="select-datasource-title">
40
- Select Datasource
41
- </h3>
42
- <${cardTag} class="card">
43
- <h5 class="card-title">Data Sources</h5>
44
- <div class="card-description">You have selected ${(x) => x.selectedDatasource}</div>
45
- <div class="divider"></div>
46
- <div class="radio-buttons" data-test-id="datasource-options">
47
- <${radioGroupTag} @change=${(x, c) => x.onDatasourceChange((c.event.target as RadioGroup).value)}>
48
- ${repeat(
49
- (x) => x.datasourceOptions,
50
- html`
51
- <${radioTag}
52
- :checked=${(x, c) => c.parent.selectedDatasource === x.name}
53
- :value=${(x) => x.name}
54
- class="radio-button${(x, c) =>
55
- c.parent.selectedDatasource === x.name ? ' active' : ''}"
56
- data-test-id=${(x) => `datasource-option-${x.name}`}
57
- >
58
- ${(x) => x.name}
59
- </${radioTag}>
60
- `,
61
- )}
62
- </${radioGroupTag}>
63
- </div>
64
- </${cardTag}>
65
- </section>
66
- `;
67
-
68
- export const NameStep = html<Wizard>`
69
- <layout-two-pane-horizontal hideDivider splitRatio="right-main">
70
- ${reportDescriptionTemplate} ${dataSourceTemplate}
71
- </layout-two-pane-horizontal>
72
- `;
@@ -1,14 +0,0 @@
1
- import { html } from '@genesislcap/web-core';
2
- import type { Wizard } from '../wizard';
3
-
4
- export const RunStep = html<Wizard>`
5
- <div class="step h-90pc mt-15px" data-test-id="run-report-step">
6
- <h3 class="mt-1 section-title dark-grey" data-test-id="run-report-step-title">Run Report</h3>
7
- <reporting-preview
8
- @keydown="${(x, c) => x.wizardStepKeydownHandler(c.event as KeyboardEvent)}"
9
- :report=${(x) => x.getData()}
10
- :datasourceSettings=${(x) => x.datasourceSettings}
11
- data-test-id="report-preview-component"
12
- />
13
- </div>
14
- `;
@@ -1,14 +0,0 @@
1
- import { html } from '@genesislcap/web-core';
2
- import type { Wizard } from '../wizard';
3
-
4
- export const SelectStep = html<Wizard>`
5
- <div class="step h-90pc" data-test-id="select-fields-step">
6
- <reporting-select-fields
7
- @keydown="${(x, c) => x.wizardStepKeydownHandler(c.event as KeyboardEvent)}"
8
- :selectedFields=${(x) => x.selectedFields}
9
- :fieldData=${(x) => x.fieldData}
10
- selectedDatasource=${(x) => x.selectedDatasource}
11
- data-test-id="select-fields-component"
12
- ></reporting-select-fields>
13
- </div>
14
- `;
@@ -1,198 +0,0 @@
1
- import { css } from '@genesislcap/web-core';
2
- import { helperStyles, normalizeStyles } from '../../styles';
3
- import { radioGroupTag, radioTag, textAreaTag } from '../../tags';
4
-
5
- export const WizardStyles = css`
6
- ${normalizeStyles}
7
- ${helperStyles}
8
- :host {
9
- width: 100%;
10
- }
11
-
12
- .grid-container {
13
- display: grid;
14
- gap: calc(var(--design-unit) * 4px);
15
- grid-template-columns: minmax(250px, 10%) 1fr;
16
- grid-auto-rows: 1fr;
17
- margin: calc(var(--design-unit) * 4px) 0;
18
- height: 95%;
19
- }
20
-
21
- .nav {
22
- max-width: 248px;
23
- background-color: var(--neutral-layer-2);
24
- overflow-y: auto;
25
- }
26
-
27
- .nav-item h5 {
28
- position: relative;
29
- padding: calc(var(--design-unit) * 2px) calc(var(--design-unit) * 4px);
30
- margin-left: calc(var(--design-unit) * -4px);
31
- margin-right: calc(var(--design-unit) * -4px);
32
- margin-bottom: 0;
33
- vertical-align: middle;
34
- color: var(--neutral-foreground-hint);
35
- }
36
-
37
- .nav-item.active h5,
38
- .nav-item h5:hover {
39
- color: var(--neutral-foreground-rest);
40
- background-color: var(--neutral-fill-stealth-rest);
41
- }
42
-
43
- .nav-item.active h5::after {
44
- content: ' ';
45
- width: 5px;
46
- height: 100%;
47
- position: absolute;
48
- top: 0;
49
- left: 0;
50
- bottom: 0;
51
-
52
- --primary-gradient-angle: -172.6004deg;
53
-
54
- background-image: linear-gradient(
55
- var(--primary-gradient-angle),
56
- var(--accent-fill-rest) 0%,
57
- rgb(101 77 249 / 97%) 100%
58
- );
59
- box-sizing: border-box;
60
- }
61
-
62
- .nav-item .step-number {
63
- display: inline-block;
64
- width: calc(var(--base-height-multiplier) * 2px);
65
- height: calc(var(--base-height-multiplier) * 2px);
66
- vertical-align: middle;
67
- text-align: center;
68
- font-family: var(--body-font);
69
- font-size: var(--type-ramp-minus-2-font-size);
70
- line-height: var(--type-ramp-minus-2-line-height);
71
- color: var(--neutral-fill-stealth-hover);
72
- border-radius: 50%;
73
- border: calc(var(--stroke-width) * 1px) solid var(--neutral-foreground-hint);
74
- }
75
-
76
- .nav-item.active .step-number,
77
- .nav-item h5:hover .step-number {
78
- color: var(--neutral-foreground-hint);
79
- border-color: var(--neutral-foreground-hint);
80
- }
81
-
82
- .nav-item .step-number.completed {
83
- border-color: var(--success-color);
84
- background-color: var(--success-color);
85
- }
86
-
87
- .body {
88
- background-color: var(--neutral-layer-4);
89
- padding-left: 0;
90
- padding-top: 0;
91
- box-shadow: none;
92
- }
93
-
94
- .description {
95
- color: var(--neutral-foreground-hint);
96
- font-size: var(--type-ramp-minus-2-font-size);
97
- font-weight: 700;
98
- line-height: normal;
99
- margin-left: calc((var(--design-unit) + 1) * 6px);
100
- }
101
-
102
- .divider {
103
- margin: calc(var(--design-unit) * 4px) 0;
104
- border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);
105
- }
106
-
107
- .nav-line.completed {
108
- margin: calc(var(--design-unit) * 1px) 0 calc(var(--design-unit) * 1px)
109
- calc(var(--design-unit) * 2px);
110
- border-left: calc(var(--stroke-width) * 2px) solid var(--success-color);
111
- }
112
-
113
- .context-container {
114
- gap: calc(var(--design-unit) * 3px);
115
- }
116
-
117
- .completed .context-container {
118
- padding: calc(var(--design-unit) * 2px) 0 calc(var(--design-unit) * 4px);
119
- }
120
-
121
- .context {
122
- color: var(--neutral-foreground-hint);
123
- font-size: calc(var(--type-ramp-minus-2-font-size) - 1px);
124
- font-weight: 700;
125
- line-height: calc(var(--type-ramp-minus-2-line-height) - calc(var(--design-unit) * 1px));
126
- max-height: 100px;
127
- margin: 0 0 0 calc(var(--design-unit) * 5px);
128
- overflow: auto;
129
- }
130
-
131
- .context b {
132
- color: var(--neutral-foreground-rest);
133
- }
134
-
135
- .label {
136
- font-size: var(--type-ramp-minus-1-font-size);
137
- color: var(--neutral-foreground-hint);
138
- margin-bottom: calc(var(--design-unit) * 1px);
139
- }
140
-
141
- ${radioGroupTag}::part(positioning-region) {
142
- display: flex;
143
- flex-direction: column;
144
- gap: calc(var(--design-unit) * 2px);
145
- width: 100%;
146
- }
147
-
148
- @media screen and (min-width: 1200px) {
149
- ${radioGroupTag}::part(positioning-region) {
150
- display: grid;
151
- grid-template-columns: repeat(2, minmax(0, 1fr));
152
- }
153
- }
154
-
155
- .radio-button {
156
- background-color: var(--neutral-layer-2);
157
- border-radius: calc((var(--control-corner-radius) - 2) * 1px);
158
- cursor: pointer;
159
- height: 42px;
160
- margin: 0;
161
- padding: 0 calc(var(--design-unit) * 2px);
162
- }
163
-
164
- .radio-button::part(label) {
165
- display: inline-block;
166
- overflow: hidden;
167
- text-overflow: ellipsis;
168
- white-space: nowrap;
169
- }
170
-
171
- .radio-button.active,
172
- .radio-button:hover {
173
- background-color: var(--neutral-layer-1);
174
- }
175
-
176
- ${radioTag}:hover::part(control) {
177
- border: calc(var(--stroke-width) * 1px) solid var(--neutral-foreground-rest);
178
- }
179
-
180
- .arrow {
181
- align-self: center;
182
- justify-self: center;
183
- }
184
-
185
- ${textAreaTag}::part(control) {
186
- min-height: 170px;
187
- }
188
-
189
- .report-details,
190
- .data-sources {
191
- height: 100%;
192
- }
193
-
194
- .radio-buttons {
195
- max-height: 560px;
196
- overflow: auto;
197
- }
198
- `;