@pega/lists-core 9.0.0-build.2.9 → 9.0.0-build.20.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 (169) hide show
  1. package/lib/index.d.ts +2 -2
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +2 -2
  4. package/lib/index.js.map +1 -1
  5. package/lib/src/core/StateResolver.d.ts.map +1 -1
  6. package/lib/src/core/StateResolver.js +6 -2
  7. package/lib/src/core/StateResolver.js.map +1 -1
  8. package/lib/src/core/a11y/BaseA11y.d.ts +11 -0
  9. package/lib/src/core/a11y/BaseA11y.d.ts.map +1 -1
  10. package/lib/src/core/a11y/BaseA11y.js +17 -0
  11. package/lib/src/core/a11y/BaseA11y.js.map +1 -1
  12. package/lib/src/core/actions/actionConstants.d.ts +1 -3
  13. package/lib/src/core/actions/actionConstants.d.ts.map +1 -1
  14. package/lib/src/core/actions/actionConstants.js +1 -3
  15. package/lib/src/core/actions/actionConstants.js.map +1 -1
  16. package/lib/src/core/actions/actions.d.ts +6 -18
  17. package/lib/src/core/actions/actions.d.ts.map +1 -1
  18. package/lib/src/core/actions/actions.js +7 -25
  19. package/lib/src/core/actions/actions.js.map +1 -1
  20. package/lib/src/core/actions/actions.types.d.ts +8 -17
  21. package/lib/src/core/actions/actions.types.d.ts.map +1 -1
  22. package/lib/src/core/actions/actions.types.js.map +1 -1
  23. package/lib/src/core/config/config.d.ts.map +1 -1
  24. package/lib/src/core/config/config.js +2 -1
  25. package/lib/src/core/config/config.js.map +1 -1
  26. package/lib/src/core/constants.d.ts +11 -101
  27. package/lib/src/core/constants.d.ts.map +1 -1
  28. package/lib/src/core/constants.js +8 -8
  29. package/lib/src/core/constants.js.map +1 -1
  30. package/lib/src/core/defaultTranslations.d.ts +6 -1
  31. package/lib/src/core/defaultTranslations.d.ts.map +1 -1
  32. package/lib/src/core/defaultTranslations.js +6 -1
  33. package/lib/src/core/defaultTranslations.js.map +1 -1
  34. package/lib/src/core/features/featureFactory.d.ts +1 -1
  35. package/lib/src/core/features/featureFactory.d.ts.map +1 -1
  36. package/lib/src/core/features/featureFactory.js +0 -2
  37. package/lib/src/core/features/featureFactory.js.map +1 -1
  38. package/lib/src/core/features/uIFeatures/afterRender/animation.d.ts.map +1 -1
  39. package/lib/src/core/features/uIFeatures/afterRender/animation.js +6 -0
  40. package/lib/src/core/features/uIFeatures/afterRender/animation.js.map +1 -1
  41. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts +2 -16
  42. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.d.ts.map +1 -1
  43. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js +45 -81
  44. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/autoSize.js.map +1 -1
  45. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -1
  46. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +13 -1
  47. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -1
  48. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts +1 -0
  49. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.d.ts.map +1 -1
  50. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js +3 -1
  51. package/lib/src/core/features/uIFeatures/beforeRender/aggregation.js.map +1 -1
  52. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts +1 -0
  53. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.d.ts.map +1 -1
  54. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js +3 -1
  55. package/lib/src/core/features/uIFeatures/beforeRender/busyIndicator.js.map +1 -1
  56. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.d.ts.map +1 -1
  57. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js +5 -4
  58. package/lib/src/core/features/uIFeatures/beforeRender/columnFormatter.js.map +1 -1
  59. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -1
  60. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +2 -3
  61. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -1
  62. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts +2 -4
  63. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts.map +1 -1
  64. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js +47 -29
  65. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js.map +1 -1
  66. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +1 -1
  67. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -1
  68. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +6 -1
  69. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -1
  70. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -1
  71. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +28 -30
  72. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -1
  73. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts +2 -0
  74. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts.map +1 -1
  75. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js +32 -5
  76. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js.map +1 -1
  77. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -1
  78. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +11 -3
  79. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -1
  80. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -1
  81. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +4 -0
  82. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -1
  83. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
  84. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
  85. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
  86. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -1
  87. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +53 -14
  88. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -1
  89. package/lib/src/core/features/uIFeatures/index.d.ts +0 -3
  90. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  91. package/lib/src/core/features/uIFeatures/index.js +0 -4
  92. package/lib/src/core/features/uIFeatures/index.js.map +1 -1
  93. package/lib/src/core/generators/ColumnGenerator.d.ts +14 -19
  94. package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -1
  95. package/lib/src/core/generators/ColumnGenerator.js +28 -88
  96. package/lib/src/core/generators/ColumnGenerator.js.map +1 -1
  97. package/lib/src/core/generators/ColumnGenerator.types.d.ts +17 -14
  98. package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -1
  99. package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -1
  100. package/lib/src/core/generators/GroupGenerator.d.ts +8 -1
  101. package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -1
  102. package/lib/src/core/generators/GroupGenerator.js +24 -1
  103. package/lib/src/core/generators/GroupGenerator.js.map +1 -1
  104. package/lib/src/core/generators/RowGenerator.d.ts +1 -1
  105. package/lib/src/core/generators/RowGenerator.d.ts.map +1 -1
  106. package/lib/src/core/generators/RowGenerator.js +1 -1
  107. package/lib/src/core/generators/RowGenerator.js.map +1 -1
  108. package/lib/src/core/generators/RowGenerator.types.d.ts +2 -1
  109. package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -1
  110. package/lib/src/core/generators/RowGenerator.types.js.map +1 -1
  111. package/lib/src/core/generators/ViewGenerator.d.ts +6 -1
  112. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
  113. package/lib/src/core/generators/ViewGenerator.js +33 -8
  114. package/lib/src/core/generators/ViewGenerator.js.map +1 -1
  115. package/lib/src/core/generators/ViewGenerator.types.d.ts +3 -1
  116. package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -1
  117. package/lib/src/core/generators/ViewGenerator.types.js.map +1 -1
  118. package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -1
  119. package/lib/src/core/generators/viewUtilityMethods.js +6 -3
  120. package/lib/src/core/generators/viewUtilityMethods.js.map +1 -1
  121. package/lib/src/core/reducers/error.d.ts +4 -3
  122. package/lib/src/core/reducers/error.d.ts.map +1 -1
  123. package/lib/src/core/reducers/index.d.ts +4 -3
  124. package/lib/src/core/reducers/index.d.ts.map +1 -1
  125. package/lib/src/core/reducers/index.js +0 -2
  126. package/lib/src/core/reducers/index.js.map +1 -1
  127. package/lib/src/core/reducers/personalizationReducer.d.ts +1 -1
  128. package/lib/src/core/reducers/renderFormatter.d.ts.map +1 -1
  129. package/lib/src/core/reducers/renderFormatter.js +13 -3
  130. package/lib/src/core/reducers/renderFormatter.js.map +1 -1
  131. package/lib/src/core/test/junitMocks.d.ts +12 -0
  132. package/lib/src/core/test/junitMocks.d.ts.map +1 -1
  133. package/lib/src/core/test/junitMocks.js +15 -40
  134. package/lib/src/core/test/junitMocks.js.map +1 -1
  135. package/lib/src/core/utils/condition-utils.js +1 -1
  136. package/lib/src/core/utils/condition-utils.js.map +1 -1
  137. package/lib/src/core/utils/util.d.ts +3 -7
  138. package/lib/src/core/utils/util.d.ts.map +1 -1
  139. package/lib/src/core/utils/util.js +36 -15
  140. package/lib/src/core/utils/util.js.map +1 -1
  141. package/lib/types/ApiContext.types.d.ts +82 -6
  142. package/lib/types/ApiContext.types.d.ts.map +1 -1
  143. package/lib/types/ApiContext.types.js.map +1 -1
  144. package/lib/types/Meta.types.d.ts +101 -12
  145. package/lib/types/Meta.types.d.ts.map +1 -1
  146. package/lib/types/Meta.types.js +5 -1
  147. package/lib/types/Meta.types.js.map +1 -1
  148. package/lib/types/RsCoreBootArgs.types.d.ts +11 -0
  149. package/lib/types/RsCoreBootArgs.types.d.ts.map +1 -1
  150. package/lib/types/RsCoreBootArgs.types.js.map +1 -1
  151. package/lib/types/State.types.d.ts +27 -25
  152. package/lib/types/State.types.d.ts.map +1 -1
  153. package/lib/types/State.types.js.map +1 -1
  154. package/lib/types.d.ts +9 -2
  155. package/lib/types.d.ts.map +1 -1
  156. package/lib/types.js.map +1 -1
  157. package/package.json +6 -7
  158. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts +0 -12
  159. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts.map +0 -1
  160. package/lib/src/core/features/uIFeatures/beforeRender/edit.js +0 -94
  161. package/lib/src/core/features/uIFeatures/beforeRender/edit.js.map +0 -1
  162. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +0 -7
  163. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +0 -1
  164. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +0 -24
  165. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +0 -1
  166. package/lib/src/core/reducers/edit.d.ts +0 -5
  167. package/lib/src/core/reducers/edit.d.ts.map +0 -1
  168. package/lib/src/core/reducers/edit.js +0 -65
  169. package/lib/src/core/reducers/edit.js.map +0 -1
@@ -7,7 +7,7 @@ import type { RowContext, RowData } from './RowGenerator.types';
7
7
  import type { FormatterFunction, ViewContext } from './ViewGenerator.types';
8
8
  import type Row from './RowGenerator';
9
9
  export declare const DATA_KEY = "data-key";
10
- export type ColumnConfig = Partial<Pick<Column, 'style' | 'grouped' | 'frozen' | 'lastFrozen' | 'aggregated' | 'aggregateValue' | 'aggregationType' | 'currentWidth' | 'formatterAllowed' | 'formatterName' | 'formatter' | 'cellRenderer' | 'hidden' | 'label' | 'categorizedHeaderLabel' | 'filtered' | 'sorted' | 'sortSequence' | 'sortOrder' | 'isFirstVisualColumn' | 'isFirstDataColumn' | 'isLastColumn' | 'isCustomColumn' | 'editMode' | 'order' | 'classList' | 'showHeaderIcons' | 'isWidthChanged' | 'displayMode' | 'disableSelection' | 'alias' | 'refresh' | 'conditionalStyleFormats'>> & {
10
+ export type ColumnConfig = Partial<Pick<Column, 'style' | 'grouped' | 'frozen' | 'lastFrozen' | 'aggregated' | 'aggregateValue' | 'aggregationType' | 'currentWidth' | 'formatterAllowed' | 'formatterConfig' | 'formatter' | 'cellRenderer' | 'hidden' | 'label' | 'categorizedHeaderLabel' | 'filtered' | 'sorted' | 'sortSequence' | 'sortOrder' | 'isFirstVisualColumn' | 'isFirstDataColumn' | 'isLastColumn' | 'isCustomColumn' | 'order' | 'classList' | 'showHeaderIcons' | 'isWidthChanged' | 'displayMode' | 'disableSelection' | 'alias' | 'refresh' | 'conditionalStyleFormats'>> & {
11
11
  field: FieldDef;
12
12
  showTooltip?: boolean;
13
13
  };
@@ -41,7 +41,7 @@ export interface SortProperties {
41
41
  }
42
42
  export interface ColumnContext {
43
43
  /** @default 'column' */
44
- name: 'column';
44
+ name: 'column' | 'GroupAdditionalField';
45
45
  /** Returns {@link Column.field fieldDef} for this column. */
46
46
  getField: () => FieldDef;
47
47
  /** Returns the value of cell for this column based on {@link Column.executionContext} or overriddenExecutionContext. */
@@ -57,9 +57,14 @@ export interface ColumnContext {
57
57
  /** Returns the cell renderer name. */
58
58
  getCellRenderer: () => string | undefined;
59
59
  /** Returns the formatter name. */
60
- getFormatterName: () => string | undefined;
60
+ getFormatterValue: () => string | {
61
+ type: string;
62
+ config: unknown;
63
+ } | undefined;
61
64
  /** Returns the formatted value. */
62
65
  getFormattedValue: () => string | null;
66
+ /** Returns the header label */
67
+ getLabel: () => string | undefined;
63
68
  /** Returns the search text. */
64
69
  getSearchKeyword: () => string | undefined;
65
70
  searchKeyword: string | undefined;
@@ -115,24 +120,22 @@ export interface ColumnContext {
115
120
  /** Applies formatter to the current column.
116
121
  * Check {@link applyFormatter} for more details.
117
122
  */
118
- applyFormatter: (name: string) => void;
123
+ applyFormatter: (config: string | {
124
+ type: string;
125
+ config: unknown;
126
+ }) => void;
127
+ /** Removes formatter of the current column.
128
+ * Check {@link removeFormatter} for more details.
129
+ */
130
+ removeFormatter: () => void;
119
131
  /** Applies merge operation to 2 columns based on selected expression.
120
132
  * Check {@link applyMerge} for more details.
121
133
  */
122
134
  applyMerge: (mergeWith: 'left' | 'right', title: string, templateName: string, bHideColumns: boolean) => void;
123
135
  /** Deletes the {@link isCustomColumnustom column}. Check {@link deleteCustomColumn} for more details. */
124
136
  deleteCustomColumn: () => void;
125
- /** Sets the edit context for the column. Refer {@link setEditContext} for more details. */
126
- setEditContext: () => void;
127
137
  /** Returns the current renderer type. */
128
- getRendererType: () => 'cellRenderer' | 'cellEditRenderer' | 'customCellRenderer';
129
- /** Submits the edited cell value. */
130
- onSubmit: (editContext?: {
131
- oldValue: string | number | boolean | Date;
132
- newValue: string | number | boolean | Date;
133
- }) => void;
134
- /** Cancels the edit mode of the cell. */
135
- onCancel: () => void;
138
+ getRendererType: () => 'cellRenderer' | 'customCellRenderer';
136
139
  /** Select all rows of the repeating structures. */
137
140
  selectAllRows: (isSelected: boolean) => Promise<void>;
138
141
  /** Indicates if the selection is disabled for this column. Refer {@link disableSelection} for more details. */
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,MAAM,MAAM,YAAY,GAAG,OAAO,CAChC,IAAI,CACF,MAAM,EACJ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,WAAW,GACX,cAAc,GACd,QAAQ,GACR,OAAO,GACP,wBAAwB,GACxB,UAAU,GACV,QAAQ,GACR,cAAc,GACd,WAAW,GACX,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,UAAU,GACV,OAAO,GACP,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,OAAO,GACP,SAAS,GACT,yBAAyB,CAC5B,CACF,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;CACtC,CAAC;AAEF,KAAK,UAAU,GAAG,GAAG,MAAM,IAAI,CAAC;AAChC,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,sDAAsD;IACtD,IAAI,EAAE,UAAU,CAAC;IAEjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAEhB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;IAErB,yCAAyC;IACzC,SAAS,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,QAAQ,CAAC;IACzB,yHAAyH;IACzH,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,CAAC;IACnD,yHAAyH;IACzH,mBAAmB,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IAC7C,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,WAAW,CAAC;IACpC,8DAA8D;IAC9D,YAAY,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAClD,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,sCAAsC;IACtC,eAAe,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,oDAAoD;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,wJAAwJ;IACxJ,OAAO,EAAE,CACP,IAAI,EACA,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC,GAChE,aAAa,CAAC,MAAM,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,QAAQ,CAAC,EACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,MAAM,CAAC,KACzB,IAAI,CAAC;IACV,yDAAyD;IACzD,iBAAiB,EAAE,MAAM;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;KACpD,CAAC;IACF;;OAEG;IACH,aAAa,EAAE,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAC3D,4DAA4D;IAC5D,mBAAmB,EAAE,MAAM;QACzB,QAAQ,EAAE,OAAO,CAAC;QAClB,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAAC;KACzC,CAAC;IACF;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,+HAA+H;IAC/H,YAAY,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IACzE,+IAA+I;IAC/I,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC;;qDAEiD;IACjD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,qFAAqF;IACrF,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,KAClB,IAAI,CAAC;IACV,yGAAyG;IACzG,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,2FAA2F;IAC3F,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,yCAAyC;IACzC,eAAe,EAAE,MAAM,cAAc,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;IAClF,qCAAqC;IACrC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;QACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAC3C,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KAC5C,KAAK,IAAI,CAAC;IACX,yCAAyC;IACzC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,+GAA+G;IAC/G,mBAAmB,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC"}
1
+ {"version":3,"file":"ColumnGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC","sourcesContent":["import type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type { FieldDef, Meta } from '../../../types/Meta.types';\nimport type { AggregationType, CustomField, SortDirection } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type { RowContext, RowData } from './RowGenerator.types';\nimport type { FormatterFunction, ViewContext } from './ViewGenerator.types';\nimport type Row from './RowGenerator';\n\nexport const DATA_KEY = 'data-key';\nexport type ColumnConfig = Partial<\n Pick<\n Column,\n | 'style'\n | 'grouped'\n | 'frozen'\n | 'lastFrozen'\n | 'aggregated'\n | 'aggregateValue'\n | 'aggregationType'\n | 'currentWidth'\n | 'formatterAllowed'\n | 'formatterName'\n | 'formatter'\n | 'cellRenderer'\n | 'hidden'\n | 'label'\n | 'categorizedHeaderLabel'\n | 'filtered'\n | 'sorted'\n | 'sortSequence'\n | 'sortOrder'\n | 'isFirstVisualColumn'\n | 'isFirstDataColumn'\n | 'isLastColumn'\n | 'isCustomColumn'\n | 'editMode'\n | 'order'\n | 'classList'\n | 'showHeaderIcons'\n | 'isWidthChanged'\n | 'displayMode'\n | 'disableSelection'\n | 'alias'\n | 'refresh'\n | 'conditionalStyleFormats'\n >\n> & { field: FieldDef; showTooltip?: boolean };\n\nexport type ColumnResizerProps = {\n onMouseDown: (e: MouseEvent) => boolean | void;\n};\n\nexport type ColumnReorderProps = {\n onDragStart: (e: DragEvent) => boolean | undefined;\n onDrag: (e: DragEvent) => boolean;\n onDragEnd: (e: DragEvent) => boolean;\n};\n\ntype PixelValue = `${number}px`;\nexport interface ColumnStyle {\n /** Display attribute to be set on column */\n display: string;\n\n /** Left attribute denoting CSS attribute set in px */\n left: PixelValue;\n\n /** Visual order of column */\n order: number;\n\n /** Width attribute denoting CSS attribute set in px */\n width: PixelValue;\n}\n\n/** Sort properties exposed on a column */\nexport interface SortProperties {\n /** Indicates if a column is sorted. */\n sorted: boolean;\n\n /** Sequence of the sort with respect to other column sort sequences */\n sortSequence: number;\n\n /** Sort order on a column - ASC, DESC */\n sortOrder: (typeof SortDirection)[keyof typeof SortDirection];\n}\n\nexport interface ColumnContext {\n /** @default 'column' */\n name: 'column';\n /** Returns {@link Column.field fieldDef} for this column. */\n getField: () => FieldDef;\n /** Returns the value of cell for this column based on {@link Column.executionContext} or overriddenExecutionContext. */\n getValue: () => RowData[keyof RowData] | undefined;\n /** Returns the current execution context for this column. It can return {@link overriddenExecutionContext} if passed. */\n getExecutionContext: () => RowContext | null;\n /** Returns the {@link View} Context object. */\n getParentContext: () => ViewContext;\n /** Returns the current formatter function for this column. */\n getFormatter: () => FormatterFunction | undefined;\n /** Indicates if formatter is allowed. */\n formatterAllowed: () => boolean;\n /** Returns the cell renderer name. */\n getCellRenderer: () => string | undefined;\n /** Returns the formatter name. */\n getFormatterName: () => string | undefined;\n /** Returns the formatted value. */\n getFormattedValue: () => string | null;\n /** Returns the search text. */\n getSearchKeyword: () => string | undefined;\n searchKeyword: string | undefined;\n /** Indicates if tooltip should be shown. */\n showTooltip: () => boolean;\n /** Returns the value to be shown on the tooltip. */\n getToolTipValue: () => RowData[keyof RowData] | undefined;\n /** Updates property of the column with value. The updated value will be reflected on next re-render. Check {@link setPropMutatively} for more info. */\n setProp: (\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) => void;\n /** Returns the sort definition of the current column. */\n getSortProperties: () => {\n sorted: boolean;\n sortSequence: number | undefined;\n sortOrder: SortProperties['sortOrder'] | undefined;\n };\n /**\n * Returns the expression for the column if it is a {@link isCustomColumn custom} column.\n */\n getExpression: () => CustomField['expression'] | undefined;\n /** Returns the filter definition for the current column. */\n getFilterProperties: () => {\n filtered: boolean;\n filterExpression: Condition | undefined;\n };\n /** Returns the repeating structures {@link Meta meta}.\n * @deprecated Use {@link getRsMeta} instead.\n */\n getTableMeta: () => Meta;\n /** Returns the repeating structures {@link Meta meta}. */\n getRsMeta: () => Meta;\n /**\n * Applies grouping on this column.\n * It groups the rows based on column values.\n * This can be used to organize data into meaningful sections or categories.\n * Check {@link applyGrouping} for more details.\n */\n applyGrouping: () => void;\n /** Applies sorting to a column, ordering the data based on specified criteria. Check {@link applySorting} for more details. */\n applySorting: (flushState: boolean, sortOrderId: 'desc' | 'asc') => void;\n /** Toggles the visibility of the column. This can be used to show or hide the column. Check {@link applyToggleVisibility} for more details. */\n applyToggleVisibility: () => void;\n /** Applies a \"freeze\" effect to the column, locking it in place while the rest of the content\n * continues to scroll. This can be used to keep key columns visible in large datasets.\n * Check {@link applyFreeze} for more details. */\n applyFreeze: () => void;\n /** Applies aggregation to the column, summarizing the data based on a specified\n * {@link aggregationType}.\n * Check {@link applyAggregation} for more details.\n */\n applyAggregation: (type: AggregationType) => void;\n /** Applies custom label to the column. Check {@link applyLabel} for more details. */\n applyLabel: (label: string) => void;\n /** Applies formatter to the current column.\n * Check {@link applyFormatter} for more details.\n */\n applyFormatter: (name: string) => void;\n /** Applies merge operation to 2 columns based on selected expression.\n * Check {@link applyMerge} for more details.\n */\n applyMerge: (\n mergeWith: 'left' | 'right',\n title: string,\n templateName: string,\n bHideColumns: boolean\n ) => void;\n /** Deletes the {@link isCustomColumnustom column}. Check {@link deleteCustomColumn} for more details. */\n deleteCustomColumn: () => void;\n /** Sets the edit context for the column. Refer {@link setEditContext} for more details. */\n setEditContext: () => void;\n /** Returns the current renderer type. */\n getRendererType: () => 'cellRenderer' | 'cellEditRenderer' | 'customCellRenderer';\n /** Submits the edited cell value. */\n onSubmit: (editContext?: {\n oldValue: string | number | boolean | Date;\n newValue: string | number | boolean | Date;\n }) => void;\n /** Cancels the edit mode of the cell. */\n onCancel: () => void;\n /** Select all rows of the repeating structures. */\n selectAllRows: (isSelected: boolean) => Promise<void>;\n /** Indicates if the selection is disabled for this column. Refer {@link disableSelection} for more details. */\n getDisableSelection: () => boolean | undefined;\n}\n\nexport interface ColumnRenderingEngineProps {\n column: Column;\n row: Row | null;\n searchKeyword: string | undefined;\n}\n"]}
1
+ {"version":3,"file":"ColumnGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC","sourcesContent":["import type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type { FieldDef, Meta } from '../../../types/Meta.types';\nimport type { AggregationType, CustomField, SortDirection } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type { RowContext, RowData } from './RowGenerator.types';\nimport type { FormatterFunction, ViewContext } from './ViewGenerator.types';\nimport type Row from './RowGenerator';\n\nexport const DATA_KEY = 'data-key';\nexport type ColumnConfig = Partial<\n Pick<\n Column,\n | 'style'\n | 'grouped'\n | 'frozen'\n | 'lastFrozen'\n | 'aggregated'\n | 'aggregateValue'\n | 'aggregationType'\n | 'currentWidth'\n | 'formatterAllowed'\n | 'formatterConfig'\n | 'formatter'\n | 'cellRenderer'\n | 'hidden'\n | 'label'\n | 'categorizedHeaderLabel'\n | 'filtered'\n | 'sorted'\n | 'sortSequence'\n | 'sortOrder'\n | 'isFirstVisualColumn'\n | 'isFirstDataColumn'\n | 'isLastColumn'\n | 'isCustomColumn'\n | 'order'\n | 'classList'\n | 'showHeaderIcons'\n | 'isWidthChanged'\n | 'displayMode'\n | 'disableSelection'\n | 'alias'\n | 'refresh'\n | 'conditionalStyleFormats'\n >\n> & { field: FieldDef; showTooltip?: boolean };\n\nexport type ColumnResizerProps = {\n onMouseDown: (e: MouseEvent) => boolean | void;\n};\n\nexport type ColumnReorderProps = {\n onDragStart: (e: DragEvent) => boolean | undefined;\n onDrag: (e: DragEvent) => boolean;\n onDragEnd: (e: DragEvent) => boolean;\n};\n\ntype PixelValue = `${number}px`;\nexport interface ColumnStyle {\n /** Display attribute to be set on column */\n display: string;\n\n /** Left attribute denoting CSS attribute set in px */\n left: PixelValue;\n\n /** Visual order of column */\n order: number;\n\n /** Width attribute denoting CSS attribute set in px */\n width: PixelValue;\n}\n\n/** Sort properties exposed on a column */\nexport interface SortProperties {\n /** Indicates if a column is sorted. */\n sorted: boolean;\n\n /** Sequence of the sort with respect to other column sort sequences */\n sortSequence: number;\n\n /** Sort order on a column - ASC, DESC */\n sortOrder: (typeof SortDirection)[keyof typeof SortDirection];\n}\n\nexport interface ColumnContext {\n /** @default 'column' */\n name: 'column' | 'GroupAdditionalField';\n /** Returns {@link Column.field fieldDef} for this column. */\n getField: () => FieldDef;\n /** Returns the value of cell for this column based on {@link Column.executionContext} or overriddenExecutionContext. */\n getValue: () => RowData[keyof RowData] | undefined;\n /** Returns the current execution context for this column. It can return {@link overriddenExecutionContext} if passed. */\n getExecutionContext: () => RowContext | null;\n /** Returns the {@link View} Context object. */\n getParentContext: () => ViewContext;\n /** Returns the current formatter function for this column. */\n getFormatter: () => FormatterFunction | undefined;\n /** Indicates if formatter is allowed. */\n formatterAllowed: () => boolean;\n /** Returns the cell renderer name. */\n getCellRenderer: () => string | undefined;\n /** Returns the formatter name. */\n getFormatterValue: () => string | { type: string; config: unknown } | undefined;\n /** Returns the formatted value. */\n getFormattedValue: () => string | null;\n /** Returns the header label */\n getLabel: () => string | undefined;\n /** Returns the search text. */\n getSearchKeyword: () => string | undefined;\n searchKeyword: string | undefined;\n /** Indicates if tooltip should be shown. */\n showTooltip: () => boolean;\n /** Returns the value to be shown on the tooltip. */\n getToolTipValue: () => RowData[keyof RowData] | undefined;\n /** Updates property of the column with value. The updated value will be reflected on next re-render. Check {@link setPropMutatively} for more info. */\n setProp: (\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) => void;\n /** Returns the sort definition of the current column. */\n getSortProperties: () => {\n sorted: boolean;\n sortSequence: number | undefined;\n sortOrder: SortProperties['sortOrder'] | undefined;\n };\n /**\n * Returns the expression for the column if it is a {@link isCustomColumn custom} column.\n */\n getExpression: () => CustomField['expression'] | undefined;\n /** Returns the filter definition for the current column. */\n getFilterProperties: () => {\n filtered: boolean;\n filterExpression: Condition | undefined;\n };\n /** Returns the repeating structures {@link Meta meta}.\n * @deprecated Use {@link getRsMeta} instead.\n */\n getTableMeta: () => Meta;\n /** Returns the repeating structures {@link Meta meta}. */\n getRsMeta: () => Meta;\n /**\n * Applies grouping on this column.\n * It groups the rows based on column values.\n * This can be used to organize data into meaningful sections or categories.\n * Check {@link applyGrouping} for more details.\n */\n applyGrouping: () => void;\n /** Applies sorting to a column, ordering the data based on specified criteria. Check {@link applySorting} for more details. */\n applySorting: (flushState: boolean, sortOrderId: 'desc' | 'asc') => void;\n /** Toggles the visibility of the column. This can be used to show or hide the column. Check {@link applyToggleVisibility} for more details. */\n applyToggleVisibility: () => void;\n /** Applies a \"freeze\" effect to the column, locking it in place while the rest of the content\n * continues to scroll. This can be used to keep key columns visible in large datasets.\n * Check {@link applyFreeze} for more details. */\n applyFreeze: () => void;\n /** Applies aggregation to the column, summarizing the data based on a specified\n * {@link aggregationType}.\n * Check {@link applyAggregation} for more details.\n */\n applyAggregation: (type: AggregationType) => void;\n /** Applies custom label to the column. Check {@link applyLabel} for more details. */\n applyLabel: (label: string) => void;\n /** Applies formatter to the current column.\n * Check {@link applyFormatter} for more details.\n */\n applyFormatter: (config: string | { type: string; config: unknown }) => void;\n /** Removes formatter of the current column.\n * Check {@link removeFormatter} for more details.\n */\n removeFormatter: () => void;\n /** Applies merge operation to 2 columns based on selected expression.\n * Check {@link applyMerge} for more details.\n */\n applyMerge: (\n mergeWith: 'left' | 'right',\n title: string,\n templateName: string,\n bHideColumns: boolean\n ) => void;\n /** Deletes the {@link isCustomColumnustom column}. Check {@link deleteCustomColumn} for more details. */\n deleteCustomColumn: () => void;\n /** Returns the current renderer type. */\n getRendererType: () => 'cellRenderer' | 'customCellRenderer';\n /** Select all rows of the repeating structures. */\n selectAllRows: (isSelected: boolean) => Promise<void>;\n /** Indicates if the selection is disabled for this column. Refer {@link disableSelection} for more details. */\n getDisableSelection: () => boolean | undefined;\n}\n\nexport interface ColumnRenderingEngineProps {\n column: Column;\n row: Row | null;\n searchKeyword: string | undefined;\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { AggregationResp } from '../../../types/ApiContext.types';
1
+ import type { AdditionalFieldData, AggregationResp, GroupAdditionalFieldUniqueValues } from '../../../types/ApiContext.types';
2
+ import type { GroupAdditionalField } from '../../../types/State.types';
2
3
  import type RsInternal from '../RsInternal';
3
4
  import type { RowData } from './RowGenerator.types';
4
5
  export interface GroupOptions {
@@ -16,9 +17,12 @@ export interface GroupOptions {
16
17
  isHierarchical?: boolean;
17
18
  info?: RowData;
18
19
  data?: RowData;
20
+ additionalFieldsData?: AdditionalFieldData[];
19
21
  }
20
22
  export default class GroupGenerator {
21
23
  #private;
24
+ /** Unique identifier for the group header. */
25
+ uniqueId: string;
22
26
  /** Indicates if the group header is visible. */
23
27
  isVisible: boolean;
24
28
  /** Indicates if the current group header is a leaf node. */
@@ -47,6 +51,8 @@ export default class GroupGenerator {
47
51
  info: RowData;
48
52
  /** Row data for the current group header. */
49
53
  data: RowData;
54
+ /** Additional field data for group */
55
+ additionalFieldsData: AdditionalFieldData[];
50
56
  /** Start index of the data of the current group header */
51
57
  startIndex?: number;
52
58
  /** End index of the data of the current group header */
@@ -55,5 +61,6 @@ export default class GroupGenerator {
55
61
  index: number;
56
62
  constructor(groupOptions: GroupOptions, rsInternal: RsInternal);
57
63
  getRows(): import("./RowGenerator").default[] | undefined;
64
+ getAdditionalFieldData(additionalField: GroupAdditionalField): Promise<GroupAdditionalFieldUniqueValues | undefined>;
58
65
  }
59
66
  //# sourceMappingURL=GroupGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,IAAI,EAAS,OAAO,CAAC;IACrB,8CAA8C;IAC9C,IAAI,EAAS,OAAO,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,EAAG,MAAM,CAAC;gBAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAmC9D,OAAO;CAOR"}
1
+ {"version":3,"file":"GroupGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC9C;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IACjC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,IAAI,EAAS,OAAO,CAAC;IACrB,8CAA8C;IAC9C,IAAI,EAAS,OAAO,CAAC;IACrB,sCAAsC;IACtC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,EAAG,MAAM,CAAC;gBAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAuC9D,OAAO;IAQD,sBAAsB,CAC1B,eAAe,EAAE,oBAAoB,GACpC,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC;CAuBzD"}
@@ -1,4 +1,8 @@
1
+ import { createUID } from '@pega/cosmos-react-core';
2
+ import { deepCopy, getGroupKey } from '../utils/util';
1
3
  export default class GroupGenerator {
4
+ /** Unique identifier for the group header. */
5
+ uniqueId;
2
6
  /** Indicates if the group header is visible. */
3
7
  isVisible;
4
8
  /** Indicates if the current group header is a leaf node. */
@@ -27,6 +31,8 @@ export default class GroupGenerator {
27
31
  info = {};
28
32
  /** Row data for the current group header. */
29
33
  data = {};
34
+ /** Additional field data for group */
35
+ additionalFieldsData;
30
36
  /** Start index of the data of the current group header */
31
37
  startIndex;
32
38
  /** End index of the data of the current group header */
@@ -35,7 +41,8 @@ export default class GroupGenerator {
35
41
  index;
36
42
  #rsInternal;
37
43
  constructor(groupOptions, rsInternal) {
38
- const { isVisible, isLeafNode, isExpanded, name, groupBy, level, label, hierarchy, count, aggregation, showHierarchicalFooter, isHierarchical, info, data } = groupOptions;
44
+ const { isVisible, isLeafNode, isExpanded, name, groupBy, level, label, hierarchy, count, aggregation, showHierarchicalFooter, isHierarchical, info, data, additionalFieldsData } = groupOptions;
45
+ this.uniqueId = createUID();
39
46
  this.isVisible = isVisible;
40
47
  this.isLeafNode = isLeafNode;
41
48
  this.isExpanded = isExpanded;
@@ -50,8 +57,10 @@ export default class GroupGenerator {
50
57
  this.isHierarchical = isHierarchical;
51
58
  this.info = info || {};
52
59
  this.data = data || {};
60
+ this.additionalFieldsData = additionalFieldsData || [];
53
61
  this.#rsInternal = rsInternal;
54
62
  this.getRows = this.getRows.bind(this);
63
+ this.getAdditionalFieldData = this.getAdditionalFieldData.bind(this);
55
64
  }
56
65
  getRows() {
57
66
  const view = this.#rsInternal.getView();
@@ -60,5 +69,19 @@ export default class GroupGenerator {
60
69
  return view.rows.slice(this.startIndex, this.endIndex);
61
70
  }
62
71
  }
72
+ async getAdditionalFieldData(additionalField) {
73
+ const groupValues = this.hierarchy;
74
+ const groups = this.#rsInternal.getView().state.groups ?? [];
75
+ const groupFilters = groupValues.reduce((groupFilterAcc, groupValue, index) => {
76
+ const groupKey = getGroupKey(groups[index]);
77
+ groupFilterAcc[groupKey] = groupValue;
78
+ return groupFilterAcc;
79
+ }, {});
80
+ if (Object.keys(groupFilters).length && additionalField) {
81
+ return this.#rsInternal
82
+ .getRsProps()
83
+ .apiContext.fetchGroupAdditionalFieldUniqueValues?.(additionalField, groupFilters, deepCopy(this.#rsInternal.getView().state), this.#rsInternal.getView().meta);
84
+ }
85
+ }
63
86
  }
64
87
  //# sourceMappingURL=GroupGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,gDAAgD;IAChD,SAAS,CAAU;IACnB,4DAA4D;IAC5D,UAAU,CAAU;IACpB,0DAA0D;IAC1D,UAAU,CAAU;IACpB,gCAAgC;IAChC,IAAI,CAA0C;IAC9C,4EAA4E;IAC5E,OAAO,CAAS;IAChB,oEAAoE;IACpE,KAAK,CAAS;IACd,6EAA6E;IAC7E,KAAK,CAAS;IACd,wCAAwC;IACxC,SAAS,CAAuC;IAChD,+CAA+C;IAC/C,KAAK,CAAS;IACd,iEAAiE;IACjE,WAAW,CAAmB;IAC9B,wDAAwD;IACxD,sBAAsB,CAAW;IACjC,6DAA6D;IAC7D,cAAc,CAAW;IACzB,2DAA2D;IAC3D,IAAI,GAAG,EAAa,CAAC;IACrB,8CAA8C;IAC9C,IAAI,GAAG,EAAa,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAU;IACpB,wDAAwD;IACxD,QAAQ,CAAU;IAClB,gDAAgD;IAChD,KAAK,CAAU;IACf,WAAW,CAAa;IAExB,YAAY,YAA0B,EAAE,UAAsB;QAC5D,MAAM,EACJ,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,IAAI,EACJ,IAAI,EACL,GAAG,YAAY,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACxC,8EAA8E;QAC9E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAW,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF","sourcesContent":["import type { AggregationResp } from '../../../types/ApiContext.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type RsInternal from '../RsInternal';\n\nimport type { RowData } from './RowGenerator.types';\n\nexport interface GroupOptions {\n isVisible: boolean;\n isLeafNode: boolean;\n isExpanded: boolean;\n name: string | number | boolean | Date | null;\n groupBy: string;\n level: number;\n label: string;\n hierarchy: (string | number | boolean | Date)[];\n count: number;\n aggregation?: AggregationResp;\n showHierarchicalFooter?: boolean;\n isHierarchical?: boolean;\n info?: RowData;\n data?: RowData;\n}\n\nexport default class GroupGenerator {\n /** Indicates if the group header is visible. */\n isVisible: boolean;\n /** Indicates if the current group header is a leaf node. */\n isLeafNode: boolean;\n /** Indicates if the current group header is expanded. */\n isExpanded: boolean;\n /** Name of the group header. */\n name: string | number | boolean | Date | null;\n /** {@link FieldDef.name Name} of the field on which grouping is applied. */\n groupBy: string;\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** {@link FieldDef.label Label} of the field on which grouping is applied */\n label: string;\n /** Path of the grouped column value. */\n hierarchy: (string | number | boolean | Date)[];\n /** Total count of the current group header. */\n count: number;\n /** Aggregation values if aggregation is applied with grouping */\n aggregation?: AggregationResp;\n /** Indicates if hierarchical footer should be shown. */\n showHierarchicalFooter?: boolean;\n /** Indicates if the current group header is hierarchical. */\n isHierarchical?: boolean;\n /** Row data for the current hierarchical group header. */\n info = {} as RowData;\n /** Row data for the current group header. */\n data = {} as RowData;\n /** Start index of the data of the current group header */\n startIndex?: number;\n /** End index of the data of the current group header */\n endIndex?: number;\n /** Holds the level of visible group headers. */\n index!: number;\n #rsInternal: RsInternal;\n\n constructor(groupOptions: GroupOptions, rsInternal: RsInternal) {\n const {\n isVisible,\n isLeafNode,\n isExpanded,\n name,\n groupBy,\n level,\n label,\n hierarchy,\n count,\n aggregation,\n showHierarchicalFooter,\n isHierarchical,\n info,\n data\n } = groupOptions;\n this.isVisible = isVisible;\n this.isLeafNode = isLeafNode;\n this.isExpanded = isExpanded;\n this.name = name;\n this.groupBy = groupBy;\n this.level = level;\n this.label = label;\n this.hierarchy = hierarchy;\n this.count = count;\n this.aggregation = aggregation;\n this.showHierarchicalFooter = showHierarchicalFooter;\n this.isHierarchical = isHierarchical;\n this.info = info || {};\n this.data = data || {};\n this.#rsInternal = rsInternal;\n this.getRows = this.getRows.bind(this);\n }\n\n getRows() {\n const view = this.#rsInternal.getView();\n // we are supporting getData only on leaf node (considering view perspective).\n if (this.isLeafNode && this.startIndex! >= 0 && view.rows) {\n return view.rows.slice(this.startIndex, this.endIndex);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"GroupGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import { createUID } from '@pega/cosmos-react-core';\n\nimport type {\n AdditionalFieldData,\n AggregationResp,\n GroupAdditionalFieldUniqueValues\n} from '../../../types/ApiContext.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type { GroupAdditionalField, GroupFilter } from '../../../types/State.types';\nimport type RsInternal from '../RsInternal';\nimport { deepCopy, getGroupKey } from '../utils/util';\n\nimport type { RowData } from './RowGenerator.types';\n\nexport interface GroupOptions {\n isVisible: boolean;\n isLeafNode: boolean;\n isExpanded: boolean;\n name: string | number | boolean | Date | null;\n groupBy: string;\n level: number;\n label: string;\n hierarchy: (string | number | boolean | Date)[];\n count: number;\n aggregation?: AggregationResp;\n showHierarchicalFooter?: boolean;\n isHierarchical?: boolean;\n info?: RowData;\n data?: RowData;\n additionalFieldsData?: AdditionalFieldData[];\n}\n\nexport default class GroupGenerator {\n /** Unique identifier for the group header. */\n uniqueId: string;\n /** Indicates if the group header is visible. */\n isVisible: boolean;\n /** Indicates if the current group header is a leaf node. */\n isLeafNode: boolean;\n /** Indicates if the current group header is expanded. */\n isExpanded: boolean;\n /** Name of the group header. */\n name: string | number | boolean | Date | null;\n /** {@link FieldDef.name Name} of the field on which grouping is applied. */\n groupBy: string;\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** {@link FieldDef.label Label} of the field on which grouping is applied */\n label: string;\n /** Path of the grouped column value. */\n hierarchy: (string | number | boolean | Date)[];\n /** Total count of the current group header. */\n count: number;\n /** Aggregation values if aggregation is applied with grouping */\n aggregation?: AggregationResp;\n /** Indicates if hierarchical footer should be shown. */\n showHierarchicalFooter?: boolean;\n /** Indicates if the current group header is hierarchical. */\n isHierarchical?: boolean;\n /** Row data for the current hierarchical group header. */\n info = {} as RowData;\n /** Row data for the current group header. */\n data = {} as RowData;\n /** Additional field data for group */\n additionalFieldsData: AdditionalFieldData[];\n /** Start index of the data of the current group header */\n startIndex?: number;\n /** End index of the data of the current group header */\n endIndex?: number;\n /** Holds the level of visible group headers. */\n index!: number;\n #rsInternal: RsInternal;\n\n constructor(groupOptions: GroupOptions, rsInternal: RsInternal) {\n const {\n isVisible,\n isLeafNode,\n isExpanded,\n name,\n groupBy,\n level,\n label,\n hierarchy,\n count,\n aggregation,\n showHierarchicalFooter,\n isHierarchical,\n info,\n data,\n additionalFieldsData\n } = groupOptions;\n this.uniqueId = createUID();\n this.isVisible = isVisible;\n this.isLeafNode = isLeafNode;\n this.isExpanded = isExpanded;\n this.name = name;\n this.groupBy = groupBy;\n this.level = level;\n this.label = label;\n this.hierarchy = hierarchy;\n this.count = count;\n this.aggregation = aggregation;\n this.showHierarchicalFooter = showHierarchicalFooter;\n this.isHierarchical = isHierarchical;\n this.info = info || {};\n this.data = data || {};\n this.additionalFieldsData = additionalFieldsData || [];\n this.#rsInternal = rsInternal;\n this.getRows = this.getRows.bind(this);\n this.getAdditionalFieldData = this.getAdditionalFieldData.bind(this);\n }\n\n getRows() {\n const view = this.#rsInternal.getView();\n // we are supporting getData only on leaf node (considering view perspective).\n if (this.isLeafNode && this.startIndex! >= 0 && view.rows) {\n return view.rows.slice(this.startIndex, this.endIndex);\n }\n }\n\n async getAdditionalFieldData(\n additionalField: GroupAdditionalField\n ): Promise<GroupAdditionalFieldUniqueValues | undefined> {\n const groupValues = this.hierarchy;\n const groups = this.#rsInternal.getView().state.groups ?? [];\n const groupFilters = groupValues.reduce<GroupFilter['filters']>(\n (groupFilterAcc, groupValue, index) => {\n const groupKey = getGroupKey(groups[index]);\n groupFilterAcc[groupKey] = groupValue;\n return groupFilterAcc;\n },\n {}\n );\n\n if (Object.keys(groupFilters).length && additionalField) {\n return this.#rsInternal\n .getRsProps()\n .apiContext.fetchGroupAdditionalFieldUniqueValues?.(\n additionalField,\n groupFilters,\n deepCopy(this.#rsInternal.getView().state),\n this.#rsInternal.getView().meta\n );\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { DataError } from 'packages/lists-rs-core/types/State.types';
1
+ import type { DataError } from 'pega-repeating-structures-core/lib/types/State.types';
2
2
  import type RsInternal from '../RsInternal';
3
3
  import type View from './ViewGenerator';
4
4
  import { dataKey, type DragProps, type DropProps, type RowContext, type RowData, type RowHeader, type RowOptions, type UIProps } from './RowGenerator.types';
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAK1E,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAK5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,OAAO,EACP,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,CAAC,OAAO,OAAO,GAAG;;IACtB,sHAAsH;IAC/G,GAAG,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,+CAA+C;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,sIAAsI;IACtI,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB;;;;;;;;;;;OAWG;gBAED,EAAE,GAAG,EAAE,IAAY,EAAE,QAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EACxF,UAAU,EAAE,UAAU;IAwBxB,0CAA0C;IAC1C,IAAI,MAAM,SAET;IAmBD;;;;OAIG;IACH,IAAI,QAAQ,WAEX;IAED,4BAA4B;IAC5B,IAAI,IAAI,YAEP;IAED;yFACqF;IACrF,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAItB;IAED,gDAAgD;IAChD,IAAI,SAAS,WAMZ;IAED,0FAA0F;IAC1F,IAAI,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,CA+BvC;IAED;;;;OAIG;IACH,OAAO,CACL,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,UAAU,EAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS;IAyBlE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8ChC;;;OAGG;IACH,SAAS,CAAC,QAAQ,UAAO,GAAG,IAAI;IAgBhC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAkBrB;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS;IAIrD;;;;;OAKG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAqBrC;;;;;OAKG;IACH,UAAU,IAAI,UAAU;CAuBzB"}
1
+ {"version":3,"file":"RowGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sDAAsD,CAAC;AAKtF,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAK5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,OAAO,EACP,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,CAAC,OAAO,OAAO,GAAG;;IACtB,sHAAsH;IAC/G,GAAG,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,+CAA+C;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,sIAAsI;IACtI,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB;;;;;;;;;;;OAWG;gBAED,EAAE,GAAG,EAAE,IAAY,EAAE,QAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EACxF,UAAU,EAAE,UAAU;IAwBxB,0CAA0C;IAC1C,IAAI,MAAM,SAET;IAmBD;;;;OAIG;IACH,IAAI,QAAQ,WAEX;IAED,4BAA4B;IAC5B,IAAI,IAAI,YAEP;IAED;yFACqF;IACrF,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAItB;IAED,gDAAgD;IAChD,IAAI,SAAS,WAMZ;IAED,0FAA0F;IAC1F,IAAI,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,CA+BvC;IAED;;;;OAIG;IACH,OAAO,CACL,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,UAAU,EAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS;IAyBlE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA+ChC;;;OAGG;IACH,SAAS,CAAC,QAAQ,UAAO,GAAG,IAAI;IAgBhC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAkBrB;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS;IAIrD;;;;;OAKG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAqBrC;;;;;OAKG;IACH,UAAU,IAAI,UAAU;CAuBzB"}
@@ -166,7 +166,7 @@ export default class Row {
166
166
  const { dispatch } = getRsStateResolver();
167
167
  const state = getRsStateResolver().getState();
168
168
  // TODO: Check if fetchRowData api is really needed? In case of grouped tables updating single row may cause issues. It is better to refresh whole view.
169
- const [rowData] = (await rsProps.apiContext.fetchRowData?.(deepCopy(state), getView().meta, getView().meta.itemKey, this[dataKey], {
169
+ const [rowData] = (await rsProps.apiContext.fetchRowData?.(deepCopy(state), getView().meta, getView().meta.itemKey, this[dataKey], this.data, {
170
170
  ...(getRsStore().refreshInProgress && {
171
171
  invalidateCache: true,
172
172
  invalidateCacheToken: getRsStore().refreshToken
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataError } from 'packages/lists-rs-core/types/State.types';\n\nimport { STATE, SELECTION_MODES } from '../constants';\nimport { compareObjects, deepCopy, isRowReorderFieldEnabled } from '../utils/util';\nimport { actionForceUpdate, actionRowSelectionUpdate } from '../actions/actions';\nimport type RsInternal from '../RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Meta } from '../../../types/Meta.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from './ViewGenerator';\nimport {\n dataKey,\n type DragProps,\n type DropProps,\n type RowContext,\n type RowData,\n type RowHeader,\n type RowOptions,\n type UIProps\n} from './RowGenerator.types';\nimport type Column from './ColumnGenerator';\n/** A row model that represents row of a repeating structure component. */\nexport default class Row {\n /** A unique key to identify a row object. The value of this must be derived from one of the key of {@link rowData} */\n public key: string;\n /** Value for Html attribute 'role'.\n * @default 'row'\n */\n role: string;\n /** Value of Html attribute 'tabindex'.\n * @default 0\n */\n tabIndex: number;\n /** Properties related to dragging behavior. */\n public dragProps?: DragProps;\n /** Properties related to dropping behavior. */\n public dropProps?: DropProps;\n /** Represents the data of a row. */\n rowData: RowData;\n /** A unique key to identify a row object in case {@link key} is duplicate. This can be used in the dom to uniquely identify a row. */\n uniqueId?: string | null;\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n /**\n * Creates an instance of Row object for a repeating structure.\n * @param args Constructor arguments\n * @param args.key A unique key to identify a row object.\n * @param args.role Value for Html attribute 'role'. Default is 'row'\n * @param args.tabIndex Value of Html attribute 'tabindex'. Default is 0.\n * @param args.dragProps Properties related to dragging behavior.\n * @param args.dropProps Properties related to dropping behavior.\n * @param args.rowData Represents the data of a row.\n * @param args.uniqueId A unique key to identify a row object in case {@link key} is duplicate.\n * @param rsInternal A reference to {@link RsInternal} object.\n */\n constructor(\n { key, role = 'row', tabIndex = 0, dragProps, dropProps, rowData, uniqueId }: RowOptions,\n rsInternal: RsInternal\n ) {\n this.key = key;\n this.role = role;\n this.tabIndex = tabIndex;\n this.dragProps = dragProps;\n this.dropProps = dropProps;\n this.rowData = rowData;\n this.uniqueId = uniqueId;\n this.#rsInternal = rsInternal;\n\n /** IMP: For generator methods use traditional function syntax\n * rather than arrow function for memory efficiency\n * and bind 'this' to the methods which requires 'this' context. */\n this.getUIProps = this.getUIProps.bind(this);\n this.getContext = this.getContext.bind(this);\n this.updateRow = this.updateRow.bind(this);\n this.selectRow = this.selectRow.bind(this);\n\n this.setProp = this.setProp.bind(this);\n this.getRowError = this.getRowError.bind(this);\n this.getRowHeader = this.getRowHeader.bind(this);\n }\n\n /** A reference to {@link View} object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /**\n * This is majorly used by {@link setprop} function to create a new row object from existing row object.\n * @returns the row instance properties.\n */\n #get(): RowOptions & { className: string } {\n return {\n key: this.key,\n role: this.role,\n tabIndex: this.tabIndex,\n className: this.className,\n dragProps: this.dragProps,\n dropProps: this.dropProps,\n rowData: this.rowData,\n uniqueId: this.uniqueId\n };\n }\n\n /**\n * This property serves to uniquely identify a row's DOM element within a DOM hierarchy.\n * It plays a vital role in modern JavaScript frameworks such as React, where optimizing DOM manipulation requires unique keys.\n * The value is derived from either {@link key} or {@link uniqueId} if {@link key} is duplicate.\n */\n get reactKey() {\n return this.uniqueId || this.key;\n }\n\n /** The data for the row. */\n get data() {\n return this.rowData;\n }\n\n /** Value of HTMl attribute data-key. The value is derived from\n * either the value of {@link Meta.itemKey itemkey} in {@link data} or {@link key} */\n get [dataKey](): string {\n const keyData = this.data?.[this.parent.meta.itemKey];\n if (keyData) return keyData as string;\n return this.key;\n }\n\n /** A set of CSS class names for Row element. */\n get className() {\n const baseRowClass = this.getRowError()?.message ? 'row row-error' : 'row';\n if (this.parent.meta.selectionMode === SELECTION_MODES.multi_on_hover)\n return this.$selected ? `${baseRowClass} selected-row` : `${baseRowClass} row-on-hover`;\n\n return this.parent.onRowClickAction ? `${baseRowClass} click` : `${baseRowClass}`;\n }\n\n /** A transient value to signifies if a row is selected or not if selection mode is on. */\n get $selected(): RowContext['$selected'] {\n const temporaryChangeSetValue = this.parent.state.rowSelectionChangeSet?.[this.key]?.selected;\n const committedValue = this.parent.state.selectedRows?.includes(this.key);\n if (\n (temporaryChangeSetValue ?? committedValue) &&\n this.parent.meta.selectionMode === SELECTION_MODES.single &&\n this.uniqueId\n ) {\n /**\n * temporaryChangeSetValue ?? committedValue - Is current row selected\n * this.parent.meta.selectionMode === SELECTION_MODES.single - Is single select mode\n * this.uniqueId - unique id is present only in case of duplicate rows\n */\n if (this.parent.getSingleSelectionRowKey()) {\n // This block is to avoid duplicate radio button selection on user selection\n return this.parent.getSingleSelectionRowKey() === this.uniqueId;\n }\n for (let i = 0; i < this.parent.rows!.length; i += 1) {\n // This block is to avoid duplicate radio button selection onload / remount\n const row = this.parent.rows![i];\n const rowTemporaryChangeSetValue =\n this.parent.state.rowSelectionChangeSet?.[row.key]?.selected;\n const rowCommittedValue =\n this.parent.state.selectedRows && this.parent.state.selectedRows?.includes(row.key);\n if (rowTemporaryChangeSetValue ?? rowCommittedValue) {\n // 'row' - first selected row in this.parent.rows\n return this.uniqueId === row.uniqueId; // If 'row' is same as current object return true otherwise return false\n }\n }\n }\n return temporaryChangeSetValue ?? committedValue;\n }\n\n /**\n * This is used to create immutable objects of {@link Row} instance. Always call setProp if updating any properties of Row to make it immutable.\n * @param prop Either partial of row object or individual properties of row object.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link Row}\n */\n setProp(\n prop: Partial<RowOptions> | keyof RowOptions,\n value?: string | number | Date | boolean | DragProps | DropProps\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().rows!.findIndex(r => r === this);\n let pObject = prop;\n if (typeof prop !== 'object') {\n pObject = { [prop]: value };\n }\n\n // Change object if any value changes actually.\n // @ts-expect-error utils should be converted to TS in order to resolve this.\n if (!compareObjects(this, pObject, Object.keys(pObject))) {\n const newRow = new Row(\n {\n ...this.#get(),\n ...(pObject as RowOptions)\n },\n this.#rsInternal\n );\n const cloned = [...getView().rows!];\n cloned.splice(index, 1, newRow);\n getView().rows = cloned;\n }\n }\n\n /** This fetches the latest data of the row using\n * {@link rsProps.apiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n async updateRow(): Promise<void> {\n const { getView, getRsProps, getRsStateResolver, getRsStore } = this.#rsInternal;\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n const state = getRsStateResolver().getState();\n // TODO: Check if fetchRowData api is really needed? In case of grouped tables updating single row may cause issues. It is better to refresh whole view.\n const [rowData] =\n (await rsProps.apiContext.fetchRowData?.(\n deepCopy(state),\n getView().meta,\n getView().meta.itemKey,\n this[dataKey],\n {\n ...(getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: getRsStore().refreshToken\n })\n }\n )) || [];\n const dataIndex = getView().data!.findIndex(\n row => row[getView().meta.itemKey] === rowData[getView().meta.itemKey]\n );\n const rowIndex = getView().rows!.findIndex(row => row.key === rowData[getView().meta.itemKey]);\n if (dataIndex > -1) {\n getView().setProp({\n data: [\n ...getView().data!.slice(0, dataIndex),\n rowData,\n ...getView().data!.slice(dataIndex + 1)\n ],\n rows: [\n ...getView().rows!.slice(0, rowIndex),\n new Row(\n {\n key: rowData[getView().meta.itemKey] as string,\n rowData\n },\n this.#rsInternal\n ),\n ...getView().rows!.slice(rowIndex + 1)\n ]\n });\n dispatch(actionForceUpdate());\n }\n }\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow(selected = true): void {\n const { getRsStateResolver } = this.#rsInternal;\n const { dispatch } = getRsStateResolver();\n this.parent.setSingleSelectionRowKey(this.uniqueId ?? (this.key as string));\n\n dispatch(\n actionRowSelectionUpdate({\n key: this.key as string,\n selected,\n data: this.data,\n status: STATE.NOT_STARTED,\n mode: this.parent.meta.selectionMode\n })\n );\n }\n\n /**\n * Returns the ui props for the {@link Row} that can be used to build a row in DOM.\n *\n */\n getUIProps(): UIProps {\n const { getView } = this.#rsInternal;\n return {\n className: this.className,\n 'data-error-message': this.getRowError()?.message,\n [dataKey]: this[dataKey],\n role: this.role,\n 'aria-rowindex':\n // eslint-disable-next-line no-unsafe-optional-chaining\n this.parent.state.paginationOptions?.rootVirtualiser?.startIndex! +\n this.parent.rows!.findIndex(r => r === this)! +\n 1,\n onClick: getView().onRowClickAction?.bind(this, this.data),\n ...(!isRowReorderFieldEnabled(getView().meta) ? this.dragProps : {}),\n ...this.dropProps\n };\n }\n\n /**\n *\n * @returns the errors on the row.\n */\n getRowError(): DataError[string | number] | undefined {\n return this.parent.state.errors?.dataErrors?.[this.key as string | number];\n }\n\n /**\n * Returns the current row Header field and value.\n * This api is exposed to the consumers of Repeating structures to access the row header information of the current row.\n *\n * @public\n */\n getRowHeader(): RowHeader | undefined {\n let rowHeaderColumn: Column | undefined;\n const columns = this.parent.getContext().getColumns();\n for (const column of columns!) {\n if (column.field.isRowHeader) {\n rowHeaderColumn = column;\n break;\n }\n if (column.isFirstDataColumn) {\n rowHeaderColumn = column;\n }\n }\n if (!rowHeaderColumn) {\n return undefined;\n }\n return {\n field: rowHeaderColumn as Column,\n getValue: () => rowHeaderColumn!.getContext().getValue()\n };\n }\n\n /**\n * Returns the current row context.\n * This api can be exposed to the consumers of Repeating structures to access the basic info regarding Row.\n *\n * @public\n */\n getContext(): RowContext {\n const { getRsProps, getView } = this.#rsInternal;\n const rsProps = getRsProps();\n return {\n name: 'row',\n getValue: () => this.data,\n getParentContext: this.parent.getContext,\n getRowActionDetails: (rowContext: RowData) => {\n return (\n rsProps.apiContext.fetchRowActionDetails?.(\n rowContext[getView().meta.itemKey] as string,\n rowContext\n ) ?? Promise.resolve([])\n );\n },\n getDragProps: () => this.dragProps,\n selectRow: this.selectRow,\n refreshRow: this.updateRow,\n $selected: this.$selected,\n getRowError: this.getRowError,\n getRowHeader: this.getRowHeader\n };\n }\n}\n"]}
1
+ {"version":3,"file":"RowGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataError } from 'pega-repeating-structures-core/lib/types/State.types';\n\nimport { STATE, SELECTION_MODES } from '../constants';\nimport { compareObjects, deepCopy, isRowReorderFieldEnabled } from '../utils/util';\nimport { actionForceUpdate, actionRowSelectionUpdate } from '../actions/actions';\nimport type RsInternal from '../RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Meta } from '../../../types/Meta.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from './ViewGenerator';\nimport {\n dataKey,\n type DragProps,\n type DropProps,\n type RowContext,\n type RowData,\n type RowHeader,\n type RowOptions,\n type UIProps\n} from './RowGenerator.types';\nimport type Column from './ColumnGenerator';\n/** A row model that represents row of a repeating structure component. */\nexport default class Row {\n /** A unique key to identify a row object. The value of this must be derived from one of the key of {@link rowData} */\n public key: string;\n /** Value for Html attribute 'role'.\n * @default 'row'\n */\n role: string;\n /** Value of Html attribute 'tabindex'.\n * @default 0\n */\n tabIndex: number;\n /** Properties related to dragging behavior. */\n public dragProps?: DragProps;\n /** Properties related to dropping behavior. */\n public dropProps?: DropProps;\n /** Represents the data of a row. */\n rowData: RowData;\n /** A unique key to identify a row object in case {@link key} is duplicate. This can be used in the dom to uniquely identify a row. */\n uniqueId?: string | null;\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n /**\n * Creates an instance of Row object for a repeating structure.\n * @param args Constructor arguments\n * @param args.key A unique key to identify a row object.\n * @param args.role Value for Html attribute 'role'. Default is 'row'\n * @param args.tabIndex Value of Html attribute 'tabindex'. Default is 0.\n * @param args.dragProps Properties related to dragging behavior.\n * @param args.dropProps Properties related to dropping behavior.\n * @param args.rowData Represents the data of a row.\n * @param args.uniqueId A unique key to identify a row object in case {@link key} is duplicate.\n * @param rsInternal A reference to {@link RsInternal} object.\n */\n constructor(\n { key, role = 'row', tabIndex = 0, dragProps, dropProps, rowData, uniqueId }: RowOptions,\n rsInternal: RsInternal\n ) {\n this.key = key;\n this.role = role;\n this.tabIndex = tabIndex;\n this.dragProps = dragProps;\n this.dropProps = dropProps;\n this.rowData = rowData;\n this.uniqueId = uniqueId;\n this.#rsInternal = rsInternal;\n\n /** IMP: For generator methods use traditional function syntax\n * rather than arrow function for memory efficiency\n * and bind 'this' to the methods which requires 'this' context. */\n this.getUIProps = this.getUIProps.bind(this);\n this.getContext = this.getContext.bind(this);\n this.updateRow = this.updateRow.bind(this);\n this.selectRow = this.selectRow.bind(this);\n\n this.setProp = this.setProp.bind(this);\n this.getRowError = this.getRowError.bind(this);\n this.getRowHeader = this.getRowHeader.bind(this);\n }\n\n /** A reference to {@link View} object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /**\n * This is majorly used by {@link setprop} function to create a new row object from existing row object.\n * @returns the row instance properties.\n */\n #get(): RowOptions & { className: string } {\n return {\n key: this.key,\n role: this.role,\n tabIndex: this.tabIndex,\n className: this.className,\n dragProps: this.dragProps,\n dropProps: this.dropProps,\n rowData: this.rowData,\n uniqueId: this.uniqueId\n };\n }\n\n /**\n * This property serves to uniquely identify a row's DOM element within a DOM hierarchy.\n * It plays a vital role in modern JavaScript frameworks such as React, where optimizing DOM manipulation requires unique keys.\n * The value is derived from either {@link key} or {@link uniqueId} if {@link key} is duplicate.\n */\n get reactKey() {\n return this.uniqueId || this.key;\n }\n\n /** The data for the row. */\n get data() {\n return this.rowData;\n }\n\n /** Value of HTMl attribute data-key. The value is derived from\n * either the value of {@link Meta.itemKey itemkey} in {@link data} or {@link key} */\n get [dataKey](): string {\n const keyData = this.data?.[this.parent.meta.itemKey];\n if (keyData) return keyData as string;\n return this.key;\n }\n\n /** A set of CSS class names for Row element. */\n get className() {\n const baseRowClass = this.getRowError()?.message ? 'row row-error' : 'row';\n if (this.parent.meta.selectionMode === SELECTION_MODES.multi_on_hover)\n return this.$selected ? `${baseRowClass} selected-row` : `${baseRowClass} row-on-hover`;\n\n return this.parent.onRowClickAction ? `${baseRowClass} click` : `${baseRowClass}`;\n }\n\n /** A transient value to signifies if a row is selected or not if selection mode is on. */\n get $selected(): RowContext['$selected'] {\n const temporaryChangeSetValue = this.parent.state.rowSelectionChangeSet?.[this.key]?.selected;\n const committedValue = this.parent.state.selectedRows?.includes(this.key);\n if (\n (temporaryChangeSetValue ?? committedValue) &&\n this.parent.meta.selectionMode === SELECTION_MODES.single &&\n this.uniqueId\n ) {\n /**\n * temporaryChangeSetValue ?? committedValue - Is current row selected\n * this.parent.meta.selectionMode === SELECTION_MODES.single - Is single select mode\n * this.uniqueId - unique id is present only in case of duplicate rows\n */\n if (this.parent.getSingleSelectionRowKey()) {\n // This block is to avoid duplicate radio button selection on user selection\n return this.parent.getSingleSelectionRowKey() === this.uniqueId;\n }\n for (let i = 0; i < this.parent.rows!.length; i += 1) {\n // This block is to avoid duplicate radio button selection onload / remount\n const row = this.parent.rows![i];\n const rowTemporaryChangeSetValue =\n this.parent.state.rowSelectionChangeSet?.[row.key]?.selected;\n const rowCommittedValue =\n this.parent.state.selectedRows && this.parent.state.selectedRows?.includes(row.key);\n if (rowTemporaryChangeSetValue ?? rowCommittedValue) {\n // 'row' - first selected row in this.parent.rows\n return this.uniqueId === row.uniqueId; // If 'row' is same as current object return true otherwise return false\n }\n }\n }\n return temporaryChangeSetValue ?? committedValue;\n }\n\n /**\n * This is used to create immutable objects of {@link Row} instance. Always call setProp if updating any properties of Row to make it immutable.\n * @param prop Either partial of row object or individual properties of row object.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link Row}\n */\n setProp(\n prop: Partial<RowOptions> | keyof RowOptions,\n value?: string | number | Date | boolean | DragProps | DropProps\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().rows!.findIndex(r => r === this);\n let pObject = prop;\n if (typeof prop !== 'object') {\n pObject = { [prop]: value };\n }\n\n // Change object if any value changes actually.\n // @ts-expect-error utils should be converted to TS in order to resolve this.\n if (!compareObjects(this, pObject, Object.keys(pObject))) {\n const newRow = new Row(\n {\n ...this.#get(),\n ...(pObject as RowOptions)\n },\n this.#rsInternal\n );\n const cloned = [...getView().rows!];\n cloned.splice(index, 1, newRow);\n getView().rows = cloned;\n }\n }\n\n /** This fetches the latest data of the row using\n * {@link rsProps.apiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n async updateRow(): Promise<void> {\n const { getView, getRsProps, getRsStateResolver, getRsStore } = this.#rsInternal;\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n const state = getRsStateResolver().getState();\n // TODO: Check if fetchRowData api is really needed? In case of grouped tables updating single row may cause issues. It is better to refresh whole view.\n const [rowData] =\n (await rsProps.apiContext.fetchRowData?.(\n deepCopy(state),\n getView().meta,\n getView().meta.itemKey,\n this[dataKey],\n this.data,\n {\n ...(getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: getRsStore().refreshToken\n })\n }\n )) || [];\n const dataIndex = getView().data!.findIndex(\n row => row[getView().meta.itemKey] === rowData[getView().meta.itemKey]\n );\n const rowIndex = getView().rows!.findIndex(row => row.key === rowData[getView().meta.itemKey]);\n if (dataIndex > -1) {\n getView().setProp({\n data: [\n ...getView().data!.slice(0, dataIndex),\n rowData,\n ...getView().data!.slice(dataIndex + 1)\n ],\n rows: [\n ...getView().rows!.slice(0, rowIndex),\n new Row(\n {\n key: rowData[getView().meta.itemKey] as string,\n rowData\n },\n this.#rsInternal\n ),\n ...getView().rows!.slice(rowIndex + 1)\n ]\n });\n dispatch(actionForceUpdate());\n }\n }\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow(selected = true): void {\n const { getRsStateResolver } = this.#rsInternal;\n const { dispatch } = getRsStateResolver();\n this.parent.setSingleSelectionRowKey(this.uniqueId ?? (this.key as string));\n\n dispatch(\n actionRowSelectionUpdate({\n key: this.key as string,\n selected,\n data: this.data,\n status: STATE.NOT_STARTED,\n mode: this.parent.meta.selectionMode\n })\n );\n }\n\n /**\n * Returns the ui props for the {@link Row} that can be used to build a row in DOM.\n *\n */\n getUIProps(): UIProps {\n const { getView } = this.#rsInternal;\n return {\n className: this.className,\n 'data-error-message': this.getRowError()?.message,\n [dataKey]: this[dataKey],\n role: this.role,\n 'aria-rowindex':\n // eslint-disable-next-line no-unsafe-optional-chaining\n this.parent.state.paginationOptions?.rootVirtualiser?.startIndex! +\n this.parent.rows!.findIndex(r => r === this)! +\n 1,\n onClick: getView().onRowClickAction?.bind(this, this.data),\n ...(!isRowReorderFieldEnabled(getView().meta) ? this.dragProps : {}),\n ...this.dropProps\n };\n }\n\n /**\n *\n * @returns the errors on the row.\n */\n getRowError(): DataError[string | number] | undefined {\n return this.parent.state.errors?.dataErrors?.[this.key as string | number];\n }\n\n /**\n * Returns the current row Header field and value.\n * This api is exposed to the consumers of Repeating structures to access the row header information of the current row.\n *\n * @public\n */\n getRowHeader(): RowHeader | undefined {\n let rowHeaderColumn: Column | undefined;\n const columns = this.parent.getContext().getColumns();\n for (const column of columns!) {\n if (column.field.isRowHeader) {\n rowHeaderColumn = column;\n break;\n }\n if (column.isFirstDataColumn) {\n rowHeaderColumn = column;\n }\n }\n if (!rowHeaderColumn) {\n return undefined;\n }\n return {\n field: rowHeaderColumn as Column,\n getValue: () => rowHeaderColumn!.getContext().getValue()\n };\n }\n\n /**\n * Returns the current row context.\n * This api can be exposed to the consumers of Repeating structures to access the basic info regarding Row.\n *\n * @public\n */\n getContext(): RowContext {\n const { getRsProps, getView } = this.#rsInternal;\n const rsProps = getRsProps();\n return {\n name: 'row',\n getValue: () => this.data,\n getParentContext: this.parent.getContext,\n getRowActionDetails: (rowContext: RowData) => {\n return (\n rsProps.apiContext.fetchRowActionDetails?.(\n rowContext[getView().meta.itemKey] as string,\n rowContext\n ) ?? Promise.resolve([])\n );\n },\n getDragProps: () => this.dragProps,\n selectRow: this.selectRow,\n refreshRow: this.updateRow,\n $selected: this.$selected,\n getRowError: this.getRowError,\n getRowHeader: this.getRowHeader\n };\n }\n}\n"]}
@@ -3,9 +3,10 @@ import type { DataError } from '../../../types/State.types';
3
3
  import type Column from './ColumnGenerator';
4
4
  import type Row from './RowGenerator';
5
5
  import type { ViewContext } from './ViewGenerator.types';
6
+ export type ScalarRowData = string | number | boolean | Date;
6
7
  /** Interface for expressing data present in a row */
7
8
  export interface RowData {
8
- [key: string]: null | string | number | boolean | Date | RowData | RowData[];
9
+ [key: string]: null | ScalarRowData | RowData | RowData[];
9
10
  }
10
11
  /** UI Props set on a row */
11
12
  export interface UIProps {
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qDAAqD;AACrD,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;CAC9E;AAED,4BAA4B;AAC5B,MAAM,WAAW,OAAO;IACtB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IAEb,0EAA0E;IAC1E,eAAe,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAE9B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpC,2DAA2D;IAC3D,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACnC;AAED,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpC,6DAA6D;IAC7D,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,QAAQ,EAAE,MAAM,OAAO,CAAC;IAExB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,WAAW,CAAC;IAEpC,0FAA0F;IAC1F,mBAAmB,EAAE,CACnB,UAAU,EAAE,OAAO,KAChB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE/D,0CAA0C;IAC1C,YAAY,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC;IAE1C;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,MAAM,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,YAAY,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,eAAO,MAAM,OAAO,aAAa,CAAC"}
1
+ {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAsHA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | string | number | boolean | Date | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
1
+ {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAuHA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\nexport type ScalarRowData = string | number | boolean | Date;\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | ScalarRowData | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
@@ -1,4 +1,4 @@
1
- import type { OmitStrict } from '@pega/cosmos-react-core';
1
+ import { type OmitStrict } from '@pega/cosmos-react-core';
2
2
  import type { Meta } from '../../../types/Meta.types';
3
3
  import type RsInternal from '../RsInternal';
4
4
  import type RsProps from '../RsProps';
@@ -108,6 +108,11 @@ export default class View {
108
108
  * undefined: Use default behavior (skip first count announcement, announce on subsequent count updates).
109
109
  */
110
110
  announceCount?: boolean;
111
+ /** Indicates if global search is enabled.
112
+ * If a view does not contain any visible columns which are searchable, then this will be false.
113
+ * @default true
114
+ */
115
+ enableGlobalSearch: boolean;
111
116
  /**
112
117
  * Creates a view instance that represents the whole view of repeating structures.
113
118
  * It has properties like rows, columns, data to build a repeating structures view.
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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"}