@genesislcap/pbc-reporting-ui 1.0.376 → 1.0.377

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 (30) hide show
  1. package/dist/dts/components/list/columns.d.ts +153 -2
  2. package/dist/dts/components/list/columns.d.ts.map +1 -1
  3. package/dist/dts/components/list/list.d.ts.map +1 -1
  4. package/dist/dts/components/list/list.template.d.ts +1 -1
  5. package/dist/dts/components/list/list.template.d.ts.map +1 -1
  6. package/dist/dts/components/rapid-components.d.ts.map +1 -1
  7. package/dist/dts/components/renderers/custom-header-component.d.ts +17 -0
  8. package/dist/dts/components/renderers/custom-header-component.d.ts.map +1 -0
  9. package/dist/dts/components/renderers/row-select.renderer.d.ts +50 -0
  10. package/dist/dts/components/renderers/row-select.renderer.d.ts.map +1 -0
  11. package/dist/dts/components/select-fields/columns.d.ts +19 -2
  12. package/dist/dts/components/select-fields/columns.d.ts.map +1 -1
  13. package/dist/dts/components/select-filters/columns.d.ts +17 -6
  14. package/dist/dts/components/select-filters/columns.d.ts.map +1 -1
  15. package/dist/dts/components/zero-components.d.ts.map +1 -1
  16. package/dist/dts/config/templates.d.ts +1 -0
  17. package/dist/dts/config/templates.d.ts.map +1 -1
  18. package/dist/dts/tags/tags.d.ts +4 -0
  19. package/dist/dts/tags/tags.d.ts.map +1 -1
  20. package/dist/esm/components/list/columns.js +127 -130
  21. package/dist/esm/components/list/list.template.js +27 -11
  22. package/dist/esm/components/rapid-components.js +4 -3
  23. package/dist/esm/components/renderers/custom-header-component.js +71 -0
  24. package/dist/esm/components/renderers/row-select.renderer.js +138 -0
  25. package/dist/esm/components/select-fields/columns.js +20 -6
  26. package/dist/esm/components/select-filters/columns.js +15 -4
  27. package/dist/esm/components/zero-components.js +4 -4
  28. package/dist/esm/config/templates.js +1 -0
  29. package/dist/esm/tags/tags.js +4 -0
  30. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- import type { ColDef } from '@ag-grid-community/core';
2
1
  export declare enum REPORT_FIELDS {
3
2
  REPORT_ID = "REPORT_ID",
4
3
  REPORT_NAME = "REPORT_NAME",
@@ -9,6 +8,158 @@ export declare enum REPORT_FIELDS {
9
8
  REPORT_CREATED_ON = "REPORT_CREATED_ON",
10
9
  OPTIONS = "OPTIONS"
11
10
  }
12
- export declare function REPORT_COLUMN_DEFS(context: any): ColDef<any>[];
11
+ export declare const REPORT_COLUMN_DEFS: (context: any) => ({
12
+ checkboxSelection: boolean;
13
+ filter: boolean;
14
+ headerCheckboxSelection: boolean;
15
+ sortable: boolean;
16
+ cellRenderer: string;
17
+ width: number;
18
+ cellStyle: {
19
+ display: string;
20
+ justifyContent?: undefined;
21
+ alignItems?: undefined;
22
+ textAlign?: undefined;
23
+ color?: undefined;
24
+ };
25
+ field?: undefined;
26
+ hide?: undefined;
27
+ headerName?: undefined;
28
+ cellRendererSelector?: undefined;
29
+ filterParams?: undefined;
30
+ valueFormatter?: undefined;
31
+ colId?: undefined;
32
+ resizable?: undefined;
33
+ } | {
34
+ field: REPORT_FIELDS;
35
+ hide: boolean;
36
+ checkboxSelection?: undefined;
37
+ filter?: undefined;
38
+ headerCheckboxSelection?: undefined;
39
+ sortable?: undefined;
40
+ cellRenderer?: undefined;
41
+ width?: undefined;
42
+ cellStyle?: undefined;
43
+ headerName?: undefined;
44
+ cellRendererSelector?: undefined;
45
+ filterParams?: undefined;
46
+ valueFormatter?: undefined;
47
+ colId?: undefined;
48
+ resizable?: undefined;
49
+ } | {
50
+ field: REPORT_FIELDS;
51
+ headerName: string;
52
+ cellStyle: {
53
+ display: string;
54
+ justifyContent: string;
55
+ alignItems: string;
56
+ textAlign: string;
57
+ color: string;
58
+ };
59
+ cellRendererSelector: (params: any) => {
60
+ component: string;
61
+ params: {
62
+ actionClick: () => any;
63
+ actionName: any;
64
+ appearance: string;
65
+ };
66
+ };
67
+ checkboxSelection?: undefined;
68
+ filter?: undefined;
69
+ headerCheckboxSelection?: undefined;
70
+ sortable?: undefined;
71
+ cellRenderer?: undefined;
72
+ width?: undefined;
73
+ hide?: undefined;
74
+ filterParams?: undefined;
75
+ valueFormatter?: undefined;
76
+ colId?: undefined;
77
+ resizable?: undefined;
78
+ } | {
79
+ field: REPORT_FIELDS;
80
+ headerName: string;
81
+ width: number;
82
+ checkboxSelection?: undefined;
83
+ filter?: undefined;
84
+ headerCheckboxSelection?: undefined;
85
+ sortable?: undefined;
86
+ cellRenderer?: undefined;
87
+ cellStyle?: undefined;
88
+ hide?: undefined;
89
+ cellRendererSelector?: undefined;
90
+ filterParams?: undefined;
91
+ valueFormatter?: undefined;
92
+ colId?: undefined;
93
+ resizable?: undefined;
94
+ } | {
95
+ field: REPORT_FIELDS;
96
+ headerName: string;
97
+ checkboxSelection?: undefined;
98
+ filter?: undefined;
99
+ headerCheckboxSelection?: undefined;
100
+ sortable?: undefined;
101
+ cellRenderer?: undefined;
102
+ width?: undefined;
103
+ cellStyle?: undefined;
104
+ hide?: undefined;
105
+ cellRendererSelector?: undefined;
106
+ filterParams?: undefined;
107
+ valueFormatter?: undefined;
108
+ colId?: undefined;
109
+ resizable?: undefined;
110
+ } | {
111
+ field: REPORT_FIELDS;
112
+ headerName: string;
113
+ filter: string;
114
+ filterParams: {
115
+ comparator: (filterLocalDateAtMidnight: Date, cellValue: number) => 1 | -1 | 0;
116
+ buttons: string[];
117
+ closeOnApply: boolean;
118
+ closeOnClear: boolean;
119
+ suppressAndOrCondition: boolean;
120
+ browserDatePicker: boolean;
121
+ filterOptions: string[];
122
+ };
123
+ valueFormatter: (rowData: any) => string;
124
+ checkboxSelection?: undefined;
125
+ headerCheckboxSelection?: undefined;
126
+ sortable?: undefined;
127
+ cellRenderer?: undefined;
128
+ width?: undefined;
129
+ cellStyle?: undefined;
130
+ hide?: undefined;
131
+ cellRendererSelector?: undefined;
132
+ colId?: undefined;
133
+ resizable?: undefined;
134
+ } | {
135
+ width: number;
136
+ colId: string;
137
+ headerName: string;
138
+ filter: boolean;
139
+ resizable: boolean;
140
+ sortable: boolean;
141
+ cellStyle: {
142
+ display: string;
143
+ justifyContent: string;
144
+ alignItems: string;
145
+ textAlign?: undefined;
146
+ color?: undefined;
147
+ };
148
+ cellRendererSelector: (params: any) => {
149
+ component: string;
150
+ params: {
151
+ actionClick: () => any;
152
+ contentTemplate: import("@microsoft/fast-element").ViewTemplate<any, any>;
153
+ appearance: any;
154
+ };
155
+ };
156
+ checkboxSelection?: undefined;
157
+ headerCheckboxSelection?: undefined;
158
+ cellRenderer?: undefined;
159
+ field?: undefined;
160
+ hide?: undefined;
161
+ filterParams?: undefined;
162
+ valueFormatter?: undefined;
163
+ })[];
13
164
  export declare function SELECTED_COLUMN_DEFS(context: any): void;
14
165
  //# sourceMappingURL=columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/list/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,OAAO,YAAY;CACpB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,iBA4I9C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,QAAI"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/list/columns.ts"],"names":[],"mappings":"AAIA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,OAAO,YAAY;CACpB;AAED,eAAO,MAAO,kBAAkB,YAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAyCA,IAAI,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgGpE,CAAC;AAEJ,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,QAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/components/list/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAqB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAiB,cAAc,EAAc,MAAM,uBAAuB,CAAC;AAKlF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,qBAKa,IAAK,SAAQ,cAAc;IAC7B,OAAO,EAAG,OAAO,CAAC;IACf,iBAAiB,KAAM;IACvB,YAAY,QAAM;IACb,MAAM,EAAG,eAAe,CAAC;IAEnC,IAAI,EAAE,OAAO,CAAC;IAErB,aAAa;;OAEV;IAEG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzC,WAAW,IAAI,IAAI;IAKnB,SAAS,SAAU,GAAG,KAAG,IAAI,CAElC;IAEK,UAAU,SAAU,GAAG,KAAG,IAAI,CAEnC;IAEK,YAAY,SAAU,GAAG,KAAG,IAAI,CAErC;CACH"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/components/list/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,OAAO,EAA+C,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAiB,cAAc,EAAc,MAAM,uBAAuB,CAAC;AAKlF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,qBAKa,IAAK,SAAQ,cAAc;IAC7B,OAAO,EAAG,OAAO,CAAC;IACf,iBAAiB,KAAM;IACvB,YAAY,QAAM;IACb,MAAM,EAAG,eAAe,CAAC;IAEnC,IAAI,EAAE,OAAO,CAAC;IAErB,aAAa;;OAEV;IAEG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzC,WAAW,IAAI,IAAI;IAKnB,SAAS,SAAU,GAAG,KAAG,IAAI,CAElC;IAEK,UAAU,SAAU,GAAG,KAAG,IAAI,CAEnC;IAEK,YAAY,SAAU,GAAG,KAAG,IAAI,CAErC;CACH"}
@@ -1,3 +1,3 @@
1
- import type { List } from './list';
1
+ import type { List } from "./list";
2
2
  export declare const ListTemplate: import("@microsoft/fast-element").ViewTemplate<List, any>;
3
3
  //# sourceMappingURL=list.template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.template.d.ts","sourceRoot":"","sources":["../../../../src/components/list/list.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,eAAO,MAAM,YAAY,2DAoBxB,CAAC"}
1
+ {"version":3,"file":"list.template.d.ts","sourceRoot":"","sources":["../../../../src/components/list/list.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,eAAO,MAAM,YAAY,2DAgCxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rapid-components.d.ts","sourceRoot":"","sources":["../../../src/components/rapid-components.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,eAAO,MAAM,6BAA6B,qBAgCzC,CAAC"}
1
+ {"version":3,"file":"rapid-components.d.ts","sourceRoot":"","sources":["../../../src/components/rapid-components.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,eAAO,MAAM,6BAA6B,qBAkCzC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { IHeaderComp, IHeaderParams } from '@ag-grid-community/core';
2
+ export declare class CustomHeaderCheckboxComponent implements IHeaderComp {
3
+ private eCheckbox;
4
+ private params;
5
+ private indeterminateIndicator;
6
+ constructor();
7
+ refresh(params: IHeaderParams): boolean;
8
+ init(params: IHeaderParams): void;
9
+ private onKeyDown;
10
+ private onCheckboxClick;
11
+ private updateCheckboxState;
12
+ private setCheckboxState;
13
+ private updateIndeterminateIndicator;
14
+ getGui(): HTMLElement;
15
+ destroy(): void;
16
+ }
17
+ //# sourceMappingURL=custom-header-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-header-component.d.ts","sourceRoot":"","sources":["../../../../src/components/renderers/custom-header-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGrE,qBAAa,6BAA8B,YAAW,WAAW;IAC/D,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,sBAAsB,CAA4B;;IAM1D,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAgBjC,OAAO,CAAC,SAAS,CAMf;IAEF,OAAO,CAAC,eAAe,CAIrB;IAEF,OAAO,CAAC,mBAAmB,CAgBzB;IAEF,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,4BAA4B;IAUpC,MAAM,IAAI,WAAW;IAIrB,OAAO,IAAI,IAAI;CAKhB"}
@@ -0,0 +1,50 @@
1
+ import { ICellRendererComp, ICellRendererParams } from '@ag-grid-community/core';
2
+ import { BooleanRendererParams } from '@genesislcap/foundation-zero-grid-pro';
3
+ import { FoundationElement } from '@genesislcap/web-core';
4
+ /**
5
+ * The AG Row Select Renderer element.
6
+ * @public
7
+ * @tagname %%prefix%%-row-select-renderer
8
+ */
9
+ export declare class RowSelectRenderer extends FoundationElement implements ICellRendererComp {
10
+ params: ICellRendererParams & BooleanRendererParams;
11
+ checked: boolean;
12
+ isDisabled(data: any): boolean;
13
+ init(params: ICellRendererParams): void;
14
+ onSelectionChanged(): void;
15
+ changeHandler(e: any): void;
16
+ getGui(): HTMLElement;
17
+ destroy(): void;
18
+ refresh(params: ICellRendererParams): boolean;
19
+ getValue(): boolean;
20
+ isCancelBeforeStart(): boolean;
21
+ }
22
+ /**
23
+ * The AG Boolean Renderer Styles.
24
+ * @public
25
+ */
26
+ export declare const agRowSelectRendererStyles: import("@microsoft/fast-element").ElementStyles;
27
+ /**
28
+ * Get a Design System prefixed Checkbox template.
29
+ * @param designSystem - The design system prefix to use. Defaults to 'foundation'.
30
+ * @returns A Checkbox component template prefixed with the correct design system.
31
+ * @public
32
+ */
33
+ export declare const getAgRowSelectRendererTemplate: (designSystem?: string) => import("@microsoft/fast-element").ViewTemplate<RowSelectRenderer, any>;
34
+ /**
35
+ * A function that returns a Foundation Row Select Renderer registration for configuring the component with a DesignSystem.
36
+ *
37
+ * @public
38
+ * @remarks
39
+ * HTML Element: \<foundation-row-select-renderer\>
40
+ */
41
+ export declare const foundationAgRowSelectRenderer: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{
42
+ baseName: string;
43
+ styles: import("@microsoft/fast-element").ElementStyles;
44
+ template: import("@microsoft/fast-element").ViewTemplate<RowSelectRenderer, any>;
45
+ }>) => import("@microsoft/fast-foundation").FoundationElementRegistry<{
46
+ baseName: string;
47
+ styles: import("@microsoft/fast-element").ElementStyles;
48
+ template: import("@microsoft/fast-element").ViewTemplate<RowSelectRenderer, any>;
49
+ }, typeof RowSelectRenderer>;
50
+ //# sourceMappingURL=row-select.renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-select.renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/renderers/row-select.renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EAEtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAyB,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,iBAAiB;IAG5E,MAAM,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IAG3D,OAAO,EAAE,OAAO,CAAC;IAEV,UAAU,CAAC,IAAI,KAAA,GAAG,OAAO;IAWzB,IAAI,CAAC,MAAM,EAAE,mBAAmB;IAYhC,kBAAkB;IAMlB,aAAa,CAAC,CAAC,KAAA;IAKf,MAAM,IAAI,WAAW;IAIrB,OAAO;IASP,OAAO,CAAC,MAAM,EAAE,mBAAmB;IAK1C,QAAQ;IAIR,mBAAmB;CAGpB;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,iDAsCrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,mGAY1C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;4BAIxC,CAAC"}
@@ -1,21 +1,28 @@
1
1
  import type { GridOptions } from '@ag-grid-community/core';
2
+ import { RowSelectRenderer } from '../renderers/row-select.renderer';
2
3
  /**
3
4
  * Field selection grid config
4
5
  */
5
6
  export declare const FIELD_SELECT_CONFIG: {
6
7
  colDefs: ({
8
+ cellRenderer: string;
7
9
  checkboxSelection: boolean;
8
10
  filter: boolean;
9
11
  headerCheckboxSelection: boolean;
12
+ suppressMenu: boolean;
13
+ suppressSorting: boolean;
10
14
  width: number;
11
15
  field?: undefined;
12
16
  headerName?: undefined;
13
17
  } | {
14
18
  field: string;
15
19
  headerName: string;
20
+ cellRenderer?: undefined;
16
21
  checkboxSelection?: undefined;
17
22
  filter?: undefined;
18
23
  headerCheckboxSelection?: undefined;
24
+ suppressMenu?: undefined;
25
+ suppressSorting?: undefined;
19
26
  width?: undefined;
20
27
  })[];
21
28
  gridOptions: GridOptions<any>;
@@ -25,23 +32,30 @@ export declare const FIELD_SELECT_CONFIG: {
25
32
  */
26
33
  export declare const SELECTED_FIELDS_CONFIG: {
27
34
  colDefs: ({
35
+ cellRenderer: string;
28
36
  checkboxSelection: boolean;
29
37
  filter: boolean;
30
38
  headerCheckboxSelection: boolean;
31
- sortable: boolean;
39
+ suppressMenu: boolean;
40
+ suppressSorting: boolean;
32
41
  width: number;
33
42
  field?: undefined;
34
43
  headerName?: undefined;
35
44
  } | {
36
45
  field: string;
37
46
  headerName: string;
47
+ cellRenderer?: undefined;
38
48
  checkboxSelection?: undefined;
39
49
  filter?: undefined;
40
50
  headerCheckboxSelection?: undefined;
41
- sortable?: undefined;
51
+ suppressMenu?: undefined;
52
+ suppressSorting?: undefined;
42
53
  width?: undefined;
43
54
  })[];
44
55
  gridOptions: {
56
+ components: {
57
+ 'row-select': typeof RowSelectRenderer;
58
+ };
45
59
  defaultColDef: {
46
60
  filter: boolean;
47
61
  floatingFilter: boolean;
@@ -49,6 +63,9 @@ export declare const SELECTED_FIELDS_CONFIG: {
49
63
  suppressMenu: boolean;
50
64
  resizable: boolean;
51
65
  };
66
+ context: {
67
+ ariaLabelField: string;
68
+ };
52
69
  animateRows: boolean;
53
70
  debug: boolean;
54
71
  rowDragManaged: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/select-fields/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAyB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlC,CAAC"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/select-fields/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;CAmC/B,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClC,CAAC"}
@@ -1,8 +1,10 @@
1
+ import { RowSelectRenderer } from '../renderers/row-select.renderer';
1
2
  /**
2
3
  * Field selection grid config
3
4
  */
4
5
  export declare const AVAILABLE_FIELDS_CONFIG: {
5
6
  colDefs: ({
7
+ cellRenderer: string;
6
8
  checkboxSelection: boolean;
7
9
  filter: boolean;
8
10
  headerCheckboxSelection: boolean;
@@ -13,6 +15,7 @@ export declare const AVAILABLE_FIELDS_CONFIG: {
13
15
  } | {
14
16
  field: string;
15
17
  headerName: string;
18
+ cellRenderer?: undefined;
16
19
  checkboxSelection?: undefined;
17
20
  filter?: undefined;
18
21
  headerCheckboxSelection?: undefined;
@@ -20,6 +23,9 @@ export declare const AVAILABLE_FIELDS_CONFIG: {
20
23
  width?: undefined;
21
24
  })[];
22
25
  gridOptions: {
26
+ components: {
27
+ 'row-select': typeof RowSelectRenderer;
28
+ };
23
29
  defaultColDef: {
24
30
  filter: boolean;
25
31
  floatingFilter: boolean;
@@ -27,10 +33,10 @@ export declare const AVAILABLE_FIELDS_CONFIG: {
27
33
  suppressMenu: boolean;
28
34
  resizable: boolean;
29
35
  };
36
+ context: {
37
+ ariaLabelField: string;
38
+ };
30
39
  debug: boolean;
31
- /**
32
- * Field selection grid config
33
- */
34
40
  rowHeight: number;
35
41
  rowStyle: {
36
42
  backgroundColor: string;
@@ -46,6 +52,7 @@ export declare const AVAILABLE_FIELDS_CONFIG: {
46
52
  */
47
53
  export declare const SELECTED_FILTERS_CONFIG: {
48
54
  colDefs: ({
55
+ cellRenderer: string;
49
56
  checkboxSelection: boolean;
50
57
  headerCheckboxSelection: boolean;
51
58
  width: number;
@@ -54,11 +61,15 @@ export declare const SELECTED_FILTERS_CONFIG: {
54
61
  } | {
55
62
  field: string;
56
63
  headerName: string;
64
+ cellRenderer?: undefined;
57
65
  checkboxSelection?: undefined;
58
66
  headerCheckboxSelection?: undefined;
59
67
  width?: undefined;
60
68
  })[];
61
69
  gridOptions: {
70
+ components: {
71
+ 'row-select': typeof RowSelectRenderer;
72
+ };
62
73
  defaultColDef: {
63
74
  filter: boolean;
64
75
  resizable: boolean;
@@ -69,12 +80,12 @@ export declare const SELECTED_FILTERS_CONFIG: {
69
80
  alignItems: string;
70
81
  };
71
82
  };
83
+ context: {
84
+ ariaLabelField: string;
85
+ };
72
86
  suppressContextMenu: boolean;
73
87
  suppressRowTransform: boolean;
74
88
  debug: boolean;
75
- /**
76
- * Field selection grid config
77
- */
78
89
  rowHeight: number;
79
90
  rowStyle: {
80
91
  backgroundColor: string;
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/select-filters/columns.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;QAHpC;;WAEG;;;;;;;;;;CA0BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAjCpC;;WAEG;;;;;;;;;;CAwDF,CAAC"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/components/select-filters/columns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zero-components.d.ts","sourceRoot":"","sources":["../../../src/components/zero-components.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBAuBxC,CAAC"}
1
+ {"version":3,"file":"zero-components.d.ts","sourceRoot":"","sources":["../../../src/components/zero-components.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBA8BxC,CAAC"}
@@ -18,6 +18,7 @@ export type TemplateComponents = {
18
18
  toast: TemplateElementDependency;
19
19
  designSystemProvider: TemplateElementDependency;
20
20
  grid: TemplateElementDependency;
21
+ checkbox: TemplateElementDependency;
21
22
  };
22
23
  /**
23
24
  * TemplateOptions.
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,yBAAyB,CAAC;IAChC,GAAG,EAAE,yBAAyB,CAAC;IAC/B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,EAAE,yBAAyB,CAAC;IACrC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,yBAAyB,CAAC;IACjC,KAAK,EAAE,yBAAyB,CAAC;IACjC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,IAAI,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAcpC,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,yBAAyB,CAAC;IAChC,GAAG,EAAE,yBAAyB,CAAC;IAC/B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,EAAE,yBAAyB,CAAC;IACrC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,UAAU,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,yBAAyB,CAAC;IACjC,KAAK,EAAE,yBAAyB,CAAC;IACjC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAepC,CAAC"}
@@ -61,4 +61,8 @@ export declare const designSystemProviderTag: string;
61
61
  * @internal
62
62
  */
63
63
  export declare const gridTag: string;
64
+ /**
65
+ * @internal
66
+ */
67
+ export declare const checkboxTag: string;
64
68
  //# sourceMappingURL=tags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/tags/tags.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAQ,eAAe,+CACqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,QAAiC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,MAAM,QAA8B,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,WAAW,QAAmC,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,YAAY,QAAoC,CAAC;AAC9D;;GAEG;AACH,eAAO,MAAM,WAAW,QAAmC,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,aAAa,QAAqC,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAgC,CAAC;AACtD;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAgC,CAAC;AACtD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA+C,CAAC;AACpF;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/tags/tags.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAQ,eAAe,+CACqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,QAAiC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,MAAM,QAA8B,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,WAAW,QAAmC,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,YAAY,QAAoC,CAAC;AAC9D;;GAEG;AACH,eAAO,MAAM,WAAW,QAAmC,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,aAAa,QAAqC,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAgC,CAAC;AACtD;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAgC,CAAC;AACtD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA+C,CAAC;AACpF;;GAEG;AACH,eAAO,MAAM,OAAO,QAA+B,CAAC;AACpD;;GAEG;AACH,eAAO,MAAM,WAAW,QAAmC,CAAC"}
@@ -11,142 +11,139 @@ export var REPORT_FIELDS;
11
11
  REPORT_FIELDS["REPORT_CREATED_ON"] = "REPORT_CREATED_ON";
12
12
  REPORT_FIELDS["OPTIONS"] = "OPTIONS";
13
13
  })(REPORT_FIELDS || (REPORT_FIELDS = {}));
14
- export function REPORT_COLUMN_DEFS(context) {
15
- let retval = [];
16
- retval = [
17
- {
18
- checkboxSelection: true,
19
- filter: false,
20
- headerCheckboxSelection: true,
21
- sortable: false,
22
- width: 60,
23
- cellStyle: { display: 'flex' },
14
+ export const REPORT_COLUMN_DEFS = (context) => [
15
+ {
16
+ checkboxSelection: false,
17
+ filter: false,
18
+ headerCheckboxSelection: true,
19
+ sortable: false,
20
+ cellRenderer: 'row-select',
21
+ width: 60,
22
+ cellStyle: { display: 'flex' },
23
+ },
24
+ { field: REPORT_FIELDS.REPORT_ID, hide: true },
25
+ { field: REPORT_FIELDS.REPORT_COLUMNS, hide: true },
26
+ {
27
+ field: REPORT_FIELDS.REPORT_NAME,
28
+ headerName: 'Report Name',
29
+ cellStyle: {
30
+ display: 'flex',
31
+ justifyContent: 'flex-start',
32
+ alignItems: 'center',
33
+ textAlign: 'left',
34
+ color: 'var(--accent-fill-rest)',
24
35
  },
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: () => { var _a; return context.runReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
42
- actionName: params === null || params === void 0 ? void 0 : params.value,
43
- appearance: 'lightweight',
44
- },
45
- };
36
+ cellRendererSelector: (params) => {
37
+ return {
38
+ component: 'action',
39
+ params: {
40
+ actionClick: () => { var _a; return context.runReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
41
+ actionName: params === null || params === void 0 ? void 0 : params.value,
42
+ appearance: 'lightweight',
43
+ },
44
+ };
45
+ },
46
+ },
47
+ { field: REPORT_FIELDS.REPORT_DESCRIPTION, headerName: 'Description', width: 400 },
48
+ { field: REPORT_FIELDS.REPORT_DATASOURCE, headerName: 'Datasource' },
49
+ { field: REPORT_FIELDS.CREATED_BY, headerName: 'Author' },
50
+ {
51
+ field: REPORT_FIELDS.REPORT_CREATED_ON,
52
+ headerName: 'Created date',
53
+ filter: 'agDateColumnFilter',
54
+ filterParams: {
55
+ comparator: (filterLocalDateAtMidnight, cellValue) => {
56
+ if (!cellValue)
57
+ return -1;
58
+ const cellValueTime = new Date(cellValue).setHours(0, 0, 0, 0);
59
+ const filterValueTime = filterLocalDateAtMidnight.getTime();
60
+ if (cellValueTime === filterValueTime) {
61
+ return 0;
62
+ }
63
+ if (cellValueTime < filterValueTime) {
64
+ return -1;
65
+ }
66
+ if (cellValueTime > filterValueTime) {
67
+ return 1;
68
+ }
46
69
  },
70
+ buttons: ['reset', 'apply'],
71
+ closeOnApply: true,
72
+ closeOnClear: true,
73
+ suppressAndOrCondition: true,
74
+ browserDatePicker: true,
75
+ filterOptions: ['equals', 'lessThan', 'greaterThan'],
76
+ },
77
+ valueFormatter: (rowData) => formatDateTimestamp(rowData.data.REPORT_CREATED_ON),
78
+ },
79
+ {
80
+ width: 100,
81
+ colId: 'runReportAction',
82
+ headerName: 'Run',
83
+ filter: false,
84
+ resizable: false,
85
+ sortable: false,
86
+ cellStyle: {
87
+ display: 'flex',
88
+ justifyContent: 'flex-start',
89
+ alignItems: 'center',
47
90
  },
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, cellValue) => {
57
- if (!cellValue)
58
- return -1;
59
- const cellValueTime = new Date(cellValue).setHours(0, 0, 0, 0);
60
- const filterValueTime = filterLocalDateAtMidnight.getTime();
61
- if (cellValueTime === filterValueTime) {
62
- return 0;
63
- }
64
- if (cellValueTime < filterValueTime) {
65
- return -1;
66
- }
67
- if (cellValueTime > filterValueTime) {
68
- return 1;
69
- }
91
+ cellRendererSelector: (params) => {
92
+ return {
93
+ component: 'action',
94
+ params: {
95
+ actionClick: () => { var _a; return context.runReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
96
+ contentTemplate: html `<label style="pointer-events: none" aria-label="Run report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Run</label>`,
97
+ appearance: context.config.buttonAppearance,
70
98
  },
71
- buttons: ['reset', 'apply'],
72
- closeOnApply: true,
73
- closeOnClear: true,
74
- suppressAndOrCondition: true,
75
- browserDatePicker: true,
76
- filterOptions: ['equals', 'lessThan', 'greaterThan'],
77
- },
78
- valueFormatter: (rowData) => formatDateTimestamp(rowData.data.REPORT_CREATED_ON),
99
+ };
79
100
  },
80
- {
81
- width: 100,
82
- colId: 'runReportAction',
83
- headerName: 'Run',
84
- filter: false,
85
- resizable: false,
86
- sortable: false,
87
- cellStyle: {
88
- display: 'flex',
89
- justifyContent: 'flex-start',
90
- alignItems: 'center',
91
- },
92
- cellRendererSelector: (params) => {
93
- return {
94
- component: 'action',
95
- params: {
96
- actionClick: () => { var _a; return context.runReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
97
- contentTemplate: html `<label style="pointer-events: none" aria-label="Run report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Run</label>`,
98
- appearance: context.config.buttonAppearance,
99
- },
100
- };
101
- },
101
+ },
102
+ {
103
+ width: 100,
104
+ colId: 'editReportAction',
105
+ headerName: 'Edit',
106
+ filter: false,
107
+ resizable: false,
108
+ sortable: false,
109
+ cellStyle: {
110
+ display: 'flex',
111
+ justifyContent: 'flex-start',
112
+ alignItems: 'center',
102
113
  },
103
- {
104
- width: 100,
105
- colId: 'editReportAction',
106
- headerName: 'Edit',
107
- filter: false,
108
- resizable: false,
109
- sortable: false,
110
- cellStyle: {
111
- display: 'flex',
112
- justifyContent: 'flex-start',
113
- alignItems: 'center',
114
- },
115
- cellRendererSelector: (params) => {
116
- return {
117
- component: 'action',
118
- params: {
119
- actionClick: () => { var _a; return context.editReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
120
- contentTemplate: html `<label style="pointer-events: none" aria-label="Edit report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Edit</label>`,
121
- appearance: context.config.buttonAppearance,
122
- },
123
- };
124
- },
114
+ cellRendererSelector: (params) => {
115
+ return {
116
+ component: 'action',
117
+ params: {
118
+ actionClick: () => { var _a; return context.editReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
119
+ contentTemplate: html `<label style="pointer-events: none" aria-label="Edit report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Edit</label>`,
120
+ appearance: context.config.buttonAppearance,
121
+ },
122
+ };
125
123
  },
126
- {
127
- width: 110,
128
- colId: 'deleteReportAction',
129
- headerName: 'Delete',
130
- filter: false,
131
- resizable: false,
132
- sortable: false,
133
- cellStyle: {
134
- display: 'flex',
135
- justifyContent: 'flex-start',
136
- alignItems: 'center',
137
- },
138
- cellRendererSelector: (params) => {
139
- return {
140
- component: 'action',
141
- params: {
142
- actionClick: () => { var _a; return context.deleteReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
143
- contentTemplate: html `<label style="pointer-events: none" aria-label="Delete report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Delete</label>`,
144
- appearance: context.config.buttonAppearance,
145
- },
146
- };
147
- },
124
+ },
125
+ {
126
+ width: 110,
127
+ colId: 'deleteReportAction',
128
+ headerName: 'Delete',
129
+ filter: false,
130
+ resizable: false,
131
+ sortable: false,
132
+ cellStyle: {
133
+ display: 'flex',
134
+ justifyContent: 'flex-start',
135
+ alignItems: 'center',
136
+ },
137
+ cellRendererSelector: (params) => {
138
+ return {
139
+ component: 'action',
140
+ params: {
141
+ actionClick: () => { var _a; return context.deleteReport((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data); },
142
+ contentTemplate: html `<label style="pointer-events: none" aria-label="Delete report named: ${params.data[REPORT_FIELDS.REPORT_NAME]}">Delete</label>`,
143
+ appearance: context.config.buttonAppearance,
144
+ },
145
+ };
148
146
  },
149
- ];
150
- return retval;
151
- }
147
+ },
148
+ ];
152
149
  export function SELECTED_COLUMN_DEFS(context) { }
@@ -1,22 +1,38 @@
1
- import { html, repeat, ref } from '@genesislcap/web-core';
2
- import { REPORT_COLUMN_DEFS } from './columns';
3
- import { gridTag } from '../../tags';
1
+ import { html, ref } from "@genesislcap/web-core";
2
+ import { REPORT_COLUMN_DEFS } from "./columns";
3
+ import { gridTag } from "../../tags";
4
+ import { RowSelectRenderer } from "../renderers/row-select.renderer";
4
5
  // TODO: provide gridoptions in class
5
6
  export const ListTemplate = html `
6
7
  <${gridTag}
7
- ${ref('grid')}
8
+ ${ref("grid")}
8
9
  data-test-id="report-grid"
9
10
  only-template-col-defs
10
11
  rowSelection="multiple"
11
12
  suppressRowClickSelection
12
13
  suppressRowTransform
13
14
  >
14
- <grid-pro-genesis-datasource resource-name="ALL_SAVED_REPORTS"></grid-pro-genesis-datasource>
15
- ${repeat((x) => REPORT_COLUMN_DEFS(x), html `
16
- <grid-pro-column
17
- data-test-id="report-grid-column"
18
- :definition="${(x) => x}"
19
- ></grid-pro-column>
20
- `)}
15
+ <grid-pro-genesis-datasource
16
+ resource-name="ALL_SAVED_REPORTS"
17
+ :deferredGridOptions=${(x) => ({
18
+ components: {
19
+ "row-select": RowSelectRenderer,
20
+ },
21
+ defaultColDef: {
22
+ filter: false,
23
+ floatingFilter: false,
24
+ sortable: false,
25
+ sort: "asc",
26
+ suppressMenu: false,
27
+ resizable: false,
28
+ },
29
+ rowSelection: "multiple",
30
+ suppressRowClickSelection: true,
31
+ columnDefs: REPORT_COLUMN_DEFS(x),
32
+ context: {
33
+ ariaLabelField: 'REPORT_NAME'
34
+ }
35
+ })}
36
+ ></grid-pro-genesis-datasource>
21
37
  </${gridTag}>
22
38
  `;
@@ -1,5 +1,6 @@
1
- import { baseComponents, provideDesignSystem, rapidIcon, rapidButton, rapidCard, rapidTabs, rapidTab, rapidTabPanel, rapidTextField, rapidTextArea, rapidRadioGroup, rapidRadio, rapidToast, rapidActionsMenu, rapidMenu, rapidMenuItem, rapidDialog, rapidSelect, rapidListboxOption, } from '@genesislcap/rapid-design-system';
1
+ import { baseComponents, provideDesignSystem, rapidActionsMenu, rapidButton, rapidCard, rapidCheckbox, rapidDialog, rapidIcon, rapidListboxOption, rapidMenu, rapidMenuItem, rapidRadio, rapidRadioGroup, rapidSelect, rapidTab, rapidTabPanel, rapidTabs, rapidTextField, rapidTextArea, rapidToast, } from '@genesislcap/rapid-design-system';
2
2
  import { rapidGridComponents } from '@genesislcap/rapid-grid-pro';
3
+ import { foundationAgRowSelectRenderer } from './renderers/row-select.renderer';
3
4
  /**
4
5
  * @public
5
6
  */
@@ -12,9 +13,9 @@ export const registerCommonRapidComponents = async () => {
12
13
  /**
13
14
  * Common across most routes, so batch register these lightweight components upfront.
14
15
  */
15
- rapidIcon(), rapidButton(), rapidCard(), rapidDialog(), rapidSelect(), rapidTabs(), rapidListboxOption(), rapidTab(), rapidTabPanel(), rapidTextField(), rapidTextArea(), rapidRadioGroup(), rapidRadio(), rapidToast(), rapidActionsMenu(), rapidMenu(), rapidMenuItem(),
16
+ rapidActionsMenu(), rapidButton(), rapidCard(), rapidCheckbox(), rapidDialog(), rapidIcon(), rapidListboxOption(), rapidMenu(), rapidMenuItem(), rapidRadio(), rapidRadioGroup(), rapidSelect(), rapidTab(), rapidTabPanel(), rapidTabs(), rapidTextField(), rapidTextArea(), rapidToast(),
16
17
  /**
17
18
  * A re-export of designSystemProvider is missing from the top level index file in rapid
18
19
  */
19
- baseComponents.designSystemProvider(), rapidGridComponents);
20
+ baseComponents.designSystemProvider(), rapidGridComponents, foundationAgRowSelectRenderer());
20
21
  };
@@ -0,0 +1,71 @@
1
+ import { checkboxTag } from '../../tags'; // Ensure this is your custom checkbox tag or use a regular HTML input tag
2
+ export class CustomHeaderCheckboxComponent {
3
+ constructor() {
4
+ this.indeterminateIndicator = null;
5
+ this.onKeyDown = (event) => {
6
+ // Spacebar triggers checkbox toggle
7
+ if (event.key === ' ' || event.key === 'Spacebar') {
8
+ event.preventDefault();
9
+ this.onCheckboxClick();
10
+ }
11
+ };
12
+ this.onCheckboxClick = () => {
13
+ const isChecked = this.eCheckbox.classList.contains('checked');
14
+ this.params.api.forEachNode((node) => node.setSelected(!isChecked));
15
+ this.updateCheckboxState();
16
+ };
17
+ this.updateCheckboxState = () => {
18
+ const selectedNodes = this.params.api.getSelectedNodes();
19
+ const displayedRowCount = this.params.api.getDisplayedRowCount();
20
+ // Remove all state classes first
21
+ this.eCheckbox.classList.remove('checked', 'unchecked', 'indeterminate');
22
+ this.eCheckbox.removeAttribute('aria-checked');
23
+ if (selectedNodes.length === displayedRowCount && displayedRowCount > 0) {
24
+ this.setCheckboxState('checked', true);
25
+ }
26
+ else if (selectedNodes.length === 0) {
27
+ this.setCheckboxState('unchecked', false);
28
+ }
29
+ else {
30
+ this.setCheckboxState('indeterminate', false);
31
+ this.updateIndeterminateIndicator();
32
+ }
33
+ };
34
+ this.eCheckbox = document.createElement(checkboxTag); // Create custom checkbox
35
+ }
36
+ refresh(params) {
37
+ return true;
38
+ }
39
+ init(params) {
40
+ var _a;
41
+ this.params = params;
42
+ this.eCheckbox.setAttribute('aria-label', 'Select all rows');
43
+ this.eCheckbox.setAttribute('role', 'checkbox');
44
+ this.eCheckbox.setAttribute('tabindex', '0');
45
+ this.indeterminateIndicator = ((_a = this.eCheckbox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part="indeterminate-indicator"]')) || null;
46
+ this.eCheckbox.addEventListener('click', this.onCheckboxClick);
47
+ this.eCheckbox.addEventListener('keydown', this.onKeyDown);
48
+ this.params.api.addEventListener('selectionChanged', this.updateCheckboxState);
49
+ this.updateCheckboxState(); // Initial state update
50
+ }
51
+ setCheckboxState(state, isChecked) {
52
+ this.eCheckbox.classList.add(state);
53
+ this.eCheckbox.setAttribute('aria-checked', state === 'checked' ? 'true' : state === 'unchecked' ? 'false' : 'mixed');
54
+ }
55
+ updateIndeterminateIndicator() {
56
+ var _a;
57
+ if (!this.indeterminateIndicator) {
58
+ this.indeterminateIndicator = (_a = this.eCheckbox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part="indeterminate-indicator"]');
59
+ }
60
+ this.indeterminateIndicator.style.backgroundColor =
61
+ "var(--accent-fill-rest)";
62
+ }
63
+ getGui() {
64
+ return this.eCheckbox; // Return the custom checkbox element
65
+ }
66
+ destroy() {
67
+ this.params.api.removeEventListener('selectionChanged', this.updateCheckboxState);
68
+ this.eCheckbox.removeEventListener('click', this.onCheckboxClick);
69
+ this.eCheckbox.removeEventListener('keydown', this.onKeyDown);
70
+ }
71
+ }
@@ -0,0 +1,138 @@
1
+ import { __decorate } from "tslib";
2
+ import { EDITED_COLUMN_FIELD, } from '@genesislcap/foundation-zero-grid-pro';
3
+ import { css, html, observable, FoundationElement } from '@genesislcap/web-core';
4
+ /**
5
+ * The AG Row Select Renderer element.
6
+ * @public
7
+ * @tagname %%prefix%%-row-select-renderer
8
+ */
9
+ export class RowSelectRenderer extends FoundationElement {
10
+ isDisabled(data) {
11
+ var _a;
12
+ if (typeof ((_a = this.params) === null || _a === void 0 ? void 0 : _a.isDisabled) === 'function') {
13
+ try {
14
+ return this.params.isDisabled(data);
15
+ }
16
+ catch (error) {
17
+ // logger.error('Error executing grid action cell renderer isDisabled callback:', error);
18
+ }
19
+ }
20
+ return false;
21
+ }
22
+ init(params) {
23
+ if (!params)
24
+ return;
25
+ this.params = params;
26
+ this.checked = !!params.value;
27
+ const { ariaLabelField } = params.context;
28
+ this.ariaLabel = `Select row for ${params.data[ariaLabelField]}. Press Space to toggle selection.`;
29
+ this.params.api.addEventListener('selectionChanged', this.onSelectionChanged.bind(this));
30
+ }
31
+ onSelectionChanged() {
32
+ if (this.params && this.params.node) {
33
+ this.checked = this.params.node.isSelected();
34
+ }
35
+ }
36
+ changeHandler(e) {
37
+ this.checked = e.target.checked;
38
+ this.params.node.setSelected(this.checked);
39
+ }
40
+ getGui() {
41
+ return this;
42
+ }
43
+ destroy() {
44
+ if (this.params && this.params.api) {
45
+ this.params.api.removeEventListener('selectionChanged', this.onSelectionChanged.bind(this));
46
+ }
47
+ }
48
+ refresh(params) {
49
+ this.checked = params.value;
50
+ return true;
51
+ }
52
+ getValue() {
53
+ return this.checked;
54
+ }
55
+ isCancelBeforeStart() {
56
+ return !!this.params.data[EDITED_COLUMN_FIELD];
57
+ }
58
+ }
59
+ __decorate([
60
+ observable
61
+ ], RowSelectRenderer.prototype, "params", void 0);
62
+ __decorate([
63
+ observable
64
+ ], RowSelectRenderer.prototype, "checked", void 0);
65
+ /**
66
+ * The AG Boolean Renderer Styles.
67
+ * @public
68
+ */
69
+ export const agRowSelectRendererStyles = css `
70
+ :host {
71
+ align-items: center;
72
+ display: flex;
73
+ height: 100%;
74
+ }
75
+
76
+ .custom-checkbox {
77
+ width: calc((var(--base-height-multiplier) - 1) * 2px);
78
+ height: calc((var(--base-height-multiplier) - 1) * 2px);
79
+ background: var(--ag-background-color);
80
+ }
81
+
82
+ .custom-checkbox:focus {
83
+ outline: none;
84
+ box-shadow: var(--ag-input-focus-box-shadow);
85
+ border-radius: 2px;
86
+ }
87
+
88
+ .custom-checkbox::part(control) {
89
+ width: calc((var(--base-height-multiplier) - 1) * 2px);
90
+ height: calc((var(--base-height-multiplier) - 1) * 2px);
91
+ background: var(--ag-background-color);
92
+ border-radius: 2px;
93
+ border: calc(var(--stroke-width) * 2px) solid var(--ag-checkbox-unchecked-color);
94
+ }
95
+
96
+ .custom-checkbox[aria-checked="true"],
97
+ .custom-checkbox[aria-checked="true"]::part(control) {
98
+ background: var(--ag-checkbox-checked-color);
99
+ border: none;
100
+ }
101
+
102
+ .custom-checkbox[aria-checked="true"]::part(checked-indicator) {
103
+ fill: var(--foreground-on-accent-rest);
104
+ box-shadow: none;
105
+ border-radius: 0;
106
+ }
107
+ `;
108
+ /**
109
+ * Get a Design System prefixed Checkbox template.
110
+ * @param designSystem - The design system prefix to use. Defaults to 'foundation'.
111
+ * @returns A Checkbox component template prefixed with the correct design system.
112
+ * @public
113
+ */
114
+ export const getAgRowSelectRendererTemplate = (designSystem = 'rapid') => {
115
+ const checkboxComponent = `${designSystem}-checkbox`;
116
+ return html `
117
+ <${checkboxComponent}
118
+ role="checkbox"
119
+ class="custom-checkbox"
120
+ @change=${(x, c) => x.changeHandler(c.event)}
121
+ :checked=${(x) => x.checked}
122
+ :disabled=${(x) => x.isDisabled(x.params.data)}
123
+ aria-label=${(x) => x.ariaLabel}
124
+ ></${checkboxComponent}>
125
+ `;
126
+ };
127
+ /**
128
+ * A function that returns a Foundation Row Select Renderer registration for configuring the component with a DesignSystem.
129
+ *
130
+ * @public
131
+ * @remarks
132
+ * HTML Element: \<foundation-row-select-renderer\>
133
+ */
134
+ export const foundationAgRowSelectRenderer = RowSelectRenderer.compose({
135
+ baseName: 'grid-pro-row-select-renderer',
136
+ styles: agRowSelectRendererStyles,
137
+ template: getAgRowSelectRendererTemplate(),
138
+ });
@@ -1,13 +1,17 @@
1
1
  import { defaultRowConfig } from '../../constants/grid-config';
2
+ import { RowSelectRenderer } from '../renderers/row-select.renderer';
2
3
  /**
3
4
  * Field selection grid config
4
5
  */
5
6
  export const FIELD_SELECT_CONFIG = {
6
7
  colDefs: [
7
8
  {
8
- checkboxSelection: true,
9
+ cellRenderer: 'row-select',
10
+ checkboxSelection: false,
9
11
  filter: false,
10
12
  headerCheckboxSelection: true,
13
+ suppressMenu: true,
14
+ suppressSorting: true,
11
15
  width: 60,
12
16
  },
13
17
  {
@@ -15,14 +19,18 @@ export const FIELD_SELECT_CONFIG = {
15
19
  headerName: 'Field Name',
16
20
  },
17
21
  ],
18
- gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { defaultColDef: {
22
+ gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { components: {
23
+ 'row-select': RowSelectRenderer,
24
+ }, defaultColDef: {
19
25
  filter: false,
20
26
  floatingFilter: false,
21
27
  sortable: false,
22
28
  sort: 'asc',
23
29
  suppressMenu: false,
24
30
  resizable: false,
25
- }, debug: true }),
31
+ }, context: {
32
+ ariaLabelField: 'name'
33
+ }, rowSelection: 'multiple', suppressRowClickSelection: true }),
26
34
  };
27
35
  /**
28
36
  * Selected fields config
@@ -30,10 +38,12 @@ export const FIELD_SELECT_CONFIG = {
30
38
  export const SELECTED_FIELDS_CONFIG = {
31
39
  colDefs: [
32
40
  {
33
- checkboxSelection: true,
41
+ cellRenderer: 'row-select',
42
+ checkboxSelection: false,
34
43
  filter: false,
35
44
  headerCheckboxSelection: true,
36
- sortable: false,
45
+ suppressMenu: true,
46
+ suppressSorting: true,
37
47
  width: 60,
38
48
  },
39
49
  {
@@ -41,11 +51,15 @@ export const SELECTED_FIELDS_CONFIG = {
41
51
  headerName: 'Column name',
42
52
  },
43
53
  ],
44
- gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { defaultColDef: {
54
+ gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { components: {
55
+ 'row-select': RowSelectRenderer,
56
+ }, defaultColDef: {
45
57
  filter: false,
46
58
  floatingFilter: false,
47
59
  sortable: false,
48
60
  suppressMenu: false,
49
61
  resizable: false,
62
+ }, context: {
63
+ ariaLabelField: 'name'
50
64
  }, animateRows: true, debug: true, rowDragManaged: true }),
51
65
  };
@@ -1,11 +1,13 @@
1
1
  import { defaultCellConfig, defaultRowConfig } from '../../constants/grid-config';
2
+ import { RowSelectRenderer } from '../renderers/row-select.renderer';
2
3
  /**
3
4
  * Field selection grid config
4
5
  */
5
6
  export const AVAILABLE_FIELDS_CONFIG = {
6
7
  colDefs: [
7
8
  {
8
- checkboxSelection: true,
9
+ cellRenderer: 'row-select',
10
+ checkboxSelection: false,
9
11
  filter: false,
10
12
  headerCheckboxSelection: true,
11
13
  sortable: false,
@@ -16,12 +18,16 @@ export const AVAILABLE_FIELDS_CONFIG = {
16
18
  headerName: 'Field Name',
17
19
  },
18
20
  ],
19
- gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { defaultColDef: {
21
+ gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { components: {
22
+ 'row-select': RowSelectRenderer,
23
+ }, defaultColDef: {
20
24
  filter: false,
21
25
  floatingFilter: false,
22
26
  sortable: false,
23
27
  suppressMenu: false,
24
28
  resizable: false,
29
+ }, context: {
30
+ ariaLabelField: 'displayName'
25
31
  }, debug: true }),
26
32
  };
27
33
  /**
@@ -30,7 +36,8 @@ export const AVAILABLE_FIELDS_CONFIG = {
30
36
  export const SELECTED_FILTERS_CONFIG = {
31
37
  colDefs: [
32
38
  {
33
- checkboxSelection: true,
39
+ cellRenderer: 'row-select',
40
+ checkboxSelection: false,
34
41
  headerCheckboxSelection: true,
35
42
  width: 60,
36
43
  },
@@ -39,5 +46,9 @@ export const SELECTED_FILTERS_CONFIG = {
39
46
  headerName: 'Field Name',
40
47
  },
41
48
  ],
42
- gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { defaultColDef: Object.assign(Object.assign({}, defaultCellConfig), { filter: false, resizable: false, sortable: false, suppressMenu: true }), suppressContextMenu: true, suppressRowTransform: true, debug: true }),
49
+ gridOptions: Object.assign(Object.assign({}, defaultRowConfig), { components: {
50
+ 'row-select': RowSelectRenderer,
51
+ }, defaultColDef: Object.assign(Object.assign({}, defaultCellConfig), { filter: false, resizable: false, sortable: false, suppressMenu: true }), context: {
52
+ ariaLabelField: 'displayName'
53
+ }, suppressContextMenu: true, suppressRowTransform: true, debug: true }),
43
54
  };
@@ -1,5 +1,6 @@
1
- import { provideDesignSystem, zeroIcon, zeroButton, zeroCard, zeroTabs, zeroTab, zeroTabPanel, zeroTextField, zeroTextArea, zeroRadioGroup, zeroRadio, zeroToast, zeroDesignSystemProvider, } from '@genesislcap/foundation-zero';
1
+ import { provideDesignSystem, zeroActionsMenu, zeroButton, zeroCard, zeroCheckbox, zeroDesignSystemProvider, zeroDialog, zeroIcon, zeroListboxOption, zeroMenu, zeroMenuItem, zeroRadio, zeroRadioGroup, zeroSelect, zeroTab, zeroTabPanel, zeroTabs, zeroTextField, zeroTextArea, zeroToast, } from '@genesislcap/foundation-zero';
2
2
  import { zeroGridComponents } from '@genesislcap/foundation-zero-grid-pro';
3
+ import { foundationAgRowSelectRenderer } from './renderers/row-select.renderer';
3
4
  /**
4
5
  * @public
5
6
  */
@@ -7,10 +8,9 @@ export const registerCommonZeroComponents = async () => {
7
8
  /**
8
9
  * Register the components the app is using with the system.
9
10
  */
10
- provideDesignSystem()
11
- .register(
11
+ provideDesignSystem().register(
12
12
  /**
13
13
  * Common across most routes, so batch register these lightweight components upfront.
14
14
  */
15
- zeroIcon(), zeroButton(), zeroCard(), zeroTabs(), zeroTab(), zeroTabPanel(), zeroTextField(), zeroTextArea(), zeroRadioGroup(), zeroRadio(), zeroToast(), zeroDesignSystemProvider(), zeroGridComponents);
15
+ zeroActionsMenu(), zeroButton(), zeroCard(), zeroCheckbox(), zeroDesignSystemProvider(), zeroDialog(), zeroIcon(), zeroListboxOption(), zeroMenu(), zeroMenuItem(), zeroRadio(), zeroRadioGroup(), zeroSelect(), zeroTab(), zeroTabPanel(), zeroTabs(), zeroTextField(), zeroTextArea(), zeroToast(), zeroGridComponents, foundationAgRowSelectRenderer());
16
16
  };
@@ -18,4 +18,5 @@ export const defaultTemplateOptions = {
18
18
  toast: 'rapid-toast',
19
19
  designSystemProvider: 'rapid-design-system-provider',
20
20
  grid: 'rapid-grid-pro',
21
+ checkbox: 'rapid-checkbox',
21
22
  };
@@ -65,3 +65,7 @@ export const designSystemProviderTag = tagFor(templateOptions.designSystemProvid
65
65
  * @internal
66
66
  */
67
67
  export const gridTag = tagFor(templateOptions.grid);
68
+ /**
69
+ * @internal
70
+ */
71
+ export const checkboxTag = tagFor(templateOptions.checkbox);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/pbc-reporting-ui",
3
3
  "description": "Genesis PBC Reporting UI",
4
- "version": "1.0.376",
4
+ "version": "1.0.377",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/dts/index.d.ts",