@pega/lists-core 9.0.0-build.2.8 → 9.0.0-build.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) 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 +7 -16
  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/columnReOrder.d.ts.map +1 -1
  57. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +2 -3
  58. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -1
  59. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts +2 -4
  60. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.d.ts.map +1 -1
  61. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js +47 -29
  62. package/lib/src/core/features/uIFeatures/beforeRender/columnSizing/resize.js.map +1 -1
  63. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +1 -1
  64. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -1
  65. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +6 -1
  66. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -1
  67. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -1
  68. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +28 -30
  69. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -1
  70. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts +2 -0
  71. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.d.ts.map +1 -1
  72. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js +32 -5
  73. package/lib/src/core/features/uIFeatures/beforeRender/prepareColumns.js.map +1 -1
  74. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -1
  75. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +11 -3
  76. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -1
  77. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.d.ts.map +1 -1
  78. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js +4 -0
  79. package/lib/src/core/features/uIFeatures/beforeRender/rowHeight.js.map +1 -1
  80. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
  81. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
  82. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
  83. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -1
  84. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +50 -13
  85. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -1
  86. package/lib/src/core/features/uIFeatures/index.d.ts +0 -3
  87. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  88. package/lib/src/core/features/uIFeatures/index.js +0 -4
  89. package/lib/src/core/features/uIFeatures/index.js.map +1 -1
  90. package/lib/src/core/generators/ColumnGenerator.d.ts +8 -16
  91. package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -1
  92. package/lib/src/core/generators/ColumnGenerator.js +21 -81
  93. package/lib/src/core/generators/ColumnGenerator.js.map +1 -1
  94. package/lib/src/core/generators/ColumnGenerator.types.d.ts +9 -12
  95. package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -1
  96. package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -1
  97. package/lib/src/core/generators/GroupGenerator.d.ts +8 -1
  98. package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -1
  99. package/lib/src/core/generators/GroupGenerator.js +24 -1
  100. package/lib/src/core/generators/GroupGenerator.js.map +1 -1
  101. package/lib/src/core/generators/RowGenerator.d.ts +1 -1
  102. package/lib/src/core/generators/RowGenerator.d.ts.map +1 -1
  103. package/lib/src/core/generators/RowGenerator.js +1 -1
  104. package/lib/src/core/generators/RowGenerator.js.map +1 -1
  105. package/lib/src/core/generators/RowGenerator.types.d.ts +2 -1
  106. package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -1
  107. package/lib/src/core/generators/RowGenerator.types.js.map +1 -1
  108. package/lib/src/core/generators/ViewGenerator.d.ts +6 -1
  109. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
  110. package/lib/src/core/generators/ViewGenerator.js +33 -8
  111. package/lib/src/core/generators/ViewGenerator.js.map +1 -1
  112. package/lib/src/core/generators/ViewGenerator.types.d.ts +3 -1
  113. package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -1
  114. package/lib/src/core/generators/ViewGenerator.types.js.map +1 -1
  115. package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -1
  116. package/lib/src/core/generators/viewUtilityMethods.js +6 -3
  117. package/lib/src/core/generators/viewUtilityMethods.js.map +1 -1
  118. package/lib/src/core/reducers/error.d.ts +0 -2
  119. package/lib/src/core/reducers/error.d.ts.map +1 -1
  120. package/lib/src/core/reducers/index.d.ts +0 -2
  121. package/lib/src/core/reducers/index.d.ts.map +1 -1
  122. package/lib/src/core/reducers/index.js +0 -2
  123. package/lib/src/core/reducers/index.js.map +1 -1
  124. package/lib/src/core/reducers/personalizationReducer.d.ts +1 -1
  125. package/lib/src/core/reducers/renderFormatter.d.ts.map +1 -1
  126. package/lib/src/core/reducers/renderFormatter.js +10 -0
  127. package/lib/src/core/reducers/renderFormatter.js.map +1 -1
  128. package/lib/src/core/test/junitMocks.d.ts +12 -0
  129. package/lib/src/core/test/junitMocks.d.ts.map +1 -1
  130. package/lib/src/core/test/junitMocks.js +15 -40
  131. package/lib/src/core/test/junitMocks.js.map +1 -1
  132. package/lib/src/core/utils/condition-utils.js +1 -1
  133. package/lib/src/core/utils/condition-utils.js.map +1 -1
  134. package/lib/src/core/utils/util.d.ts +3 -7
  135. package/lib/src/core/utils/util.d.ts.map +1 -1
  136. package/lib/src/core/utils/util.js +36 -15
  137. package/lib/src/core/utils/util.js.map +1 -1
  138. package/lib/types/ApiContext.types.d.ts +79 -6
  139. package/lib/types/ApiContext.types.d.ts.map +1 -1
  140. package/lib/types/ApiContext.types.js.map +1 -1
  141. package/lib/types/Meta.types.d.ts +101 -12
  142. package/lib/types/Meta.types.d.ts.map +1 -1
  143. package/lib/types/Meta.types.js +5 -1
  144. package/lib/types/Meta.types.js.map +1 -1
  145. package/lib/types/State.types.d.ts +23 -24
  146. package/lib/types/State.types.d.ts.map +1 -1
  147. package/lib/types/State.types.js.map +1 -1
  148. package/lib/types.d.ts +9 -2
  149. package/lib/types.d.ts.map +1 -1
  150. package/lib/types.js.map +1 -1
  151. package/package.json +6 -7
  152. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts +0 -12
  153. package/lib/src/core/features/uIFeatures/beforeRender/edit.d.ts.map +0 -1
  154. package/lib/src/core/features/uIFeatures/beforeRender/edit.js +0 -94
  155. package/lib/src/core/features/uIFeatures/beforeRender/edit.js.map +0 -1
  156. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts +0 -7
  157. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.d.ts.map +0 -1
  158. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js +0 -24
  159. package/lib/src/core/features/uIFeatures/beforeRender/resizeGroupedDragDropColumn.js.map +0 -1
  160. package/lib/src/core/reducers/edit.d.ts +0 -5
  161. package/lib/src/core/reducers/edit.d.ts.map +0 -1
  162. package/lib/src/core/reducers/edit.js +0 -65
  163. package/lib/src/core/reducers/edit.js.map +0 -1
package/lib/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { getMockColumn } from './src/core/test/junitMocks';
8
8
  export { getGroupKey, getGroupFromKey } from './src/core/utils/util';
9
9
  export { default as BaseA11y } from './src/core/a11y/BaseA11y';
10
10
  export type { RsCoreTypes } from './types';
11
- export { ROW_DENSITY } from './types/Meta.types';
12
- export { REPEATING_STRUCTURE_TEMPLATES } from './types/Meta.types';
11
+ export { ROW_DENSITY, FieldType } from './types/Meta.types';
12
+ export { REPEATING_STRUCTURE_TEMPLATES, cellUpdateTrigger } from './types/Meta.types';
13
13
  export { sanitizeConditionalStyleFormats } from './src/core/features/uIFeatures/beforeRender/stateSanitization';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,eAAO,MACL,iBAAiB,qBACjB,wBAAwB,4BACxB,eAAe,oBACf,mBAAmB,uBACnB,wBAAwB,4BACxB,qBAAqB,wBACrB,oBAAoB,sBACP,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE/D,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,eAAO,MACL,iBAAiB,qBACjB,wBAAwB,4BACxB,eAAe,oBACf,mBAAmB,uBACnB,wBAAwB,4BACxB,qBAAqB,wBACrB,oBAAoB,sBACP,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE/D,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC"}
package/lib/index.js CHANGED
@@ -9,7 +9,7 @@ export const { UPDATE_DEBUG_INFO, TOGGLE_DISABLE_SELECTION, TOGGLE_REQUIRED, NOT
9
9
  export { getMockColumn } from './src/core/test/junitMocks';
10
10
  export { getGroupKey, getGroupFromKey } from './src/core/utils/util';
11
11
  export { default as BaseA11y } from './src/core/a11y/BaseA11y';
12
- export { ROW_DENSITY } from './types/Meta.types';
13
- export { REPEATING_STRUCTURE_TEMPLATES } from './types/Meta.types';
12
+ export { ROW_DENSITY, FieldType } from './types/Meta.types';
13
+ export { REPEATING_STRUCTURE_TEMPLATES, cellUpdateTrigger } from './types/Meta.types';
14
14
  export { sanitizeConditionalStyleFormats } from './src/core/features/uIFeatures/beforeRender/stateSanitization';
15
15
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,+BAA+B;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,MAAM,CAAC,MAAM,EACX,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACrB,GAAG,WAAW,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC","sourcesContent":["import ActionTypes from './src/core/actions/actionConstants';\n\nexport { default as initializeRsCore } from './src/core/index';\n\n// FIXME: revisit below exports\nexport { convertMetaIntoState } from './src/core/features/uIFeatures/beforeRender/stateHydration';\n\nexport { filterParams, typeMap, comparatorMap } from './src/core/config/filterConfig';\n\nexport {\n getVisibileFields,\n dateFunctionLabels,\n getScrollbarWidth,\n getScrollerElem,\n getRowContextData,\n getFilterInitializers,\n getFilterConditions,\n isFilterApplied,\n addFilter,\n getFilters,\n removeEmptyValues,\n isEmpty,\n normalizeMeta\n} from './src/core/utils/util';\n\nexport {\n ACTION_FIELD_TYPE,\n expandCollapseAllMeta,\n rowErrorColumnMeta,\n rowDragDropColumnMeta\n} from './src/core/constants';\nexport const {\n UPDATE_DEBUG_INFO,\n TOGGLE_DISABLE_SELECTION,\n TOGGLE_REQUIRED,\n NOTIFY_DATA_REFRESH,\n USER_CONFIRMATION_ACTION,\n SET_IN_EXTERNAL_STATE,\n UPDATE_SELECTED_ROWS\n} = ActionTypes;\n\nexport { getMockColumn } from './src/core/test/junitMocks';\nexport { getGroupKey, getGroupFromKey } from './src/core/utils/util';\n\nexport { default as BaseA11y } from './src/core/a11y/BaseA11y';\n\nexport type { RsCoreTypes } from './types';\n\nexport { ROW_DENSITY } from './types/Meta.types';\n\nexport { REPEATING_STRUCTURE_TEMPLATES } from './types/Meta.types';\n\nexport { sanitizeConditionalStyleFormats } from './src/core/features/uIFeatures/beforeRender/stateSanitization';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,+BAA+B;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,MAAM,CAAC,MAAM,EACX,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACrB,GAAG,WAAW,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC","sourcesContent":["import ActionTypes from './src/core/actions/actionConstants';\n\nexport { default as initializeRsCore } from './src/core/index';\n\n// FIXME: revisit below exports\nexport { convertMetaIntoState } from './src/core/features/uIFeatures/beforeRender/stateHydration';\n\nexport { filterParams, typeMap, comparatorMap } from './src/core/config/filterConfig';\n\nexport {\n getVisibileFields,\n dateFunctionLabels,\n getScrollbarWidth,\n getScrollerElem,\n getRowContextData,\n getFilterInitializers,\n getFilterConditions,\n isFilterApplied,\n addFilter,\n getFilters,\n removeEmptyValues,\n isEmpty,\n normalizeMeta\n} from './src/core/utils/util';\n\nexport {\n ACTION_FIELD_TYPE,\n expandCollapseAllMeta,\n rowErrorColumnMeta,\n rowDragDropColumnMeta\n} from './src/core/constants';\nexport const {\n UPDATE_DEBUG_INFO,\n TOGGLE_DISABLE_SELECTION,\n TOGGLE_REQUIRED,\n NOTIFY_DATA_REFRESH,\n USER_CONFIRMATION_ACTION,\n SET_IN_EXTERNAL_STATE,\n UPDATE_SELECTED_ROWS\n} = ActionTypes;\n\nexport { getMockColumn } from './src/core/test/junitMocks';\nexport { getGroupKey, getGroupFromKey } from './src/core/utils/util';\n\nexport { default as BaseA11y } from './src/core/a11y/BaseA11y';\n\nexport type { RsCoreTypes } from './types';\n\nexport { ROW_DENSITY, FieldType } from './types/Meta.types';\n\nexport { REPEATING_STRUCTURE_TEMPLATES, cellUpdateTrigger } from './types/Meta.types';\n\nexport { sanitizeConditionalStyleFormats } from './src/core/features/uIFeatures/beforeRender/stateSanitization';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StateResolver.d.ts","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAc,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAgB9F,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGpF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAU,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChC,kCAAkC;AAClC,MAAM,CAAC,OAAO,OAAO,aAAa;;IAwChC,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBAED,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU;IAoCxB;;;;;OAKG;IACH,QAAQ,GAAI,QAAQ,UAAU,KAAG,IAAI,CA+CnC;IAEF;;OAEG;IACH,QAAQ,cAEN;IAEF;;OAEG;IACH,gBAAgB,cAEd;IAEF;;;;;OAKG;IACH,cAAc,GACZ,aAAa,CAAC,YAAY,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAI3E;CAwHH;AAED,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,UAAU,IAcrD,OAAO,KAAK,EAAE,kBAAkB,UAAU,gCAuBzD"}
1
+ {"version":3,"file":"StateResolver.d.ts","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAc,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAgB9F,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGpF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAU,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChC,kCAAkC;AAClC,MAAM,CAAC,OAAO,OAAO,aAAa;;IAwChC,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBAED,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU;IAoCxB;;;;;OAKG;IACH,QAAQ,GAAI,QAAQ,UAAU,KAAG,IAAI,CA+CnC;IAEF;;OAEG;IACH,QAAQ,cAEN;IAEF;;OAEG;IACH,gBAAgB,cAEd;IAEF;;;;;OAKG;IACH,cAAc,GACZ,aAAa,CAAC,YAAY,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAI3E;CA6HH;AAED,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,UAAU,IAcrD,OAAO,KAAK,EAAE,kBAAkB,UAAU,gCAwBzD"}
@@ -144,7 +144,10 @@ export default class StateResolver {
144
144
  #runQueuedActions = async () => {
145
145
  const queuedAction = this.#queuedActions[0];
146
146
  if (queuedAction) {
147
- if (isStaleAction(queuedAction, this.#latestActions)) {
147
+ const skipStaleActionExecution = 'takeLatestAction' in queuedAction &&
148
+ queuedAction.takeLatestAction &&
149
+ isStaleAction(queuedAction, this.#latestActions);
150
+ if (skipStaleActionExecution) {
148
151
  this.#queuedActions.shift();
149
152
  await this.#runQueuedActions();
150
153
  return;
@@ -274,7 +277,8 @@ export function initializeFetchDataHandler(rsCoreInternal) {
274
277
  state.refresh,
275
278
  state.groups,
276
279
  state.hierarchicalGroup,
277
- state.groupFilters
280
+ state.groupFilters,
281
+ state.hiddenColumns
278
282
  ]);
279
283
  return response;
280
284
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StateResolver.js","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport type { State } from '../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, ApiOptions, FetchDataResponse } from '../../types/ApiContext.types';\n\nimport { AFTER_FETCH, BEFORE_FETCH } from './pubSub/events';\nimport {\n clearProcessedActionsFromLatestActions,\n isSignificantPaginationOverlap,\n isEmpty,\n isFilterCriteriaChanged,\n isSameActionPresent as isSameActionPresentInQueue,\n isStaleAction,\n pickProperties,\n withMemoization\n} from './utils/util';\nimport { personalizationProps } from './reducers/personalizationReducer';\nimport ActionTypes from './actions/actionConstants';\nimport type { ActionType } from './actions/actionConstants';\nimport type RsInternal from './RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { MiddleWareFeatureProps, UIFeatures, Feature } from './features/featureFactory';\nimport type { ActionAsFunction, BaseAction, Action } from './actions/actions.types';\nimport type RsProps from './RsProps';\n\nexport type ReducerFunction = (state: State, action: Action, rsInternal: RsInternal) => State;\nexport type FetchDataHandler = (\n state: State,\n fetchDataOptions: ApiOptions\n) => Promise<FetchDataResponse>;\n/** It manages state of RsCore. */\nexport default class StateResolver {\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n\n /** Reducer function to reduce RS Core actions to its respective state. */\n #reducers: ReducerFunction;\n\n /** A reference to beforeRender UI features */\n #middlewares?: (featureProps: MiddleWareFeatureProps) => Promise<void | null>;\n\n /** Handler to fetch and manage data using {@link ApiContext.fetchData fetchData} api. */\n #fetchDataHandler: FetchDataHandler;\n\n /** previously dispatched stable state excluding instant state */\n #state: State;\n\n /** Intermittent state generated based upon the processed actions from the queue */\n #currentState: State;\n\n /** State generated via actions with instantRender. */\n #instantState: State;\n\n /** Queue holding actions that are dispatched. */\n #queuedActions: Action[];\n\n /** Holds the action that is executed. */\n #previousExecutedActionQueue: Action[];\n\n /** It contains registered api's provided by consumer of RsCore */\n #externalStoreRef: NonNullable<RsProps['externalStore']>;\n\n /** Keep track of latest action of a type of that action is marked to ignore stale actions */\n #latestActions = new Map<ActionType, Action>();\n\n /** Indicates if an external dispatch to RS core consumer should ber skipped. */\n #skipExternalDispatch = false;\n\n /** Abort controller to abort the fetchData requests in transit */\n #abortController?: AbortController;\n\n /** Indicates if fetchData is in progress. */\n fetchDataInProgress?: boolean;\n\n /**\n * Create an instance of {@link StateResolver} class.\n * @param reducers Reducer function to reduce state for a given action\n * @param fetchDataHandler Fetch Data handler function to fetch the data of RSCore when required.\n * @param rsInternal Reference to {@link RsInternal} object.\n */\n constructor(\n reducers: ReducerFunction,\n fetchDataHandler: FetchDataHandler,\n rsInternal: RsInternal\n ) {\n this.#reducers = reducers;\n this.#fetchDataHandler = fetchDataHandler;\n this.#rsInternal = rsInternal;\n\n this.#externalStoreRef = rsInternal.getRsProps().externalStore!;\n\n this.#state = {};\n this.#currentState = {};\n this.#instantState = {};\n this.#queuedActions = [];\n this.#previousExecutedActionQueue = [];\n }\n\n /**\n * Executes {@link ApiContext.stateUpdateCallback stateUpdateCallback} and {@link ApiContext.setComponentState setComponentState} api with latest state.\n */\n #executePostStateUpdateCallbacks = () => {\n const visibleColumnsArr = this.#rsInternal.getView().getVisibleColumns();\n const visibleColumns = visibleColumnsArr.map(col => col.field.id);\n const { apiContext } = this.#rsInternal.getRsProps();\n if (apiContext?.stateUpdateCallback) {\n apiContext.stateUpdateCallback({\n ...pickProperties(this.getState(), personalizationProps),\n visibleColumns\n });\n }\n if (apiContext?.setComponentState && this.getState().personalization?.active) {\n apiContext.setComponentState({\n ...pickProperties(this.getState(), personalizationProps),\n activePersonalization: this.getState().personalization?.active\n });\n }\n };\n\n /**\n * Dispatches given {@link action} to update the RsCore {@link State state} based on the provided action type. Multiple actions are queued in the action queue.\n * It will further triggers various {@link UIFeatures features} and fetches data using {@link FetchDataHandler} according to the state changes.\n *\n * @param action - The action to be dispatched.\n */\n dispatch = (action: BaseAction): void => {\n if ('takeLatestAction' in action && action.takeLatestAction) {\n if (isSameActionPresentInQueue(action, this.#latestActions)) return;\n this.#latestActions.set(action.type, action);\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#abortController?.abort();\n }\n }\n if (typeof action === 'function')\n return (action as ActionAsFunction)(\n this.dispatch,\n this.getState,\n this.#rsInternal.getView().meta\n );\n if (!this.#queuedActions.length && !this.fetchDataInProgress) {\n // Don't do deep copy as we don't do deep comparison for arrays and objects in memoization in feature files\n this.#currentState = { ...this.#state };\n }\n\n if ('instantRender' in action && action.instantRender) {\n if (this.#rsInternal.getRsProps().mode === 'debug') {\n console.warn(\n 'Doing instant render. This might introduce performance issues. Check if this is really needed.'\n );\n }\n this.#instantState = this.#reducers(this.#instantState, action, this.#rsInternal);\n this.#rsInternal.getView().setProp({\n state: { ...this.getState(), ...this.#instantState },\n isInstantRender: true\n });\n this.#externalStoreRef.dispatch({\n ...this.#instantState\n });\n this.#executePostStateUpdateCallbacks();\n\n return;\n }\n if ('skipActionQueue' in action && action.skipActionQueue) {\n this.#currentState = this.#reducers(this.#currentState, action, this.#rsInternal);\n return;\n }\n\n this.#queuedActions.push(action);\n // We run next batch only after completing first batch, Fetch call should get completed.\n if (this.#queuedActions.length === 1 && !this.#previousExecutedActionQueue.length) {\n this.#runQueuedActions();\n }\n };\n\n /**\n * Returns the current state that is built using the {@link dispatch dispatched} action.\n */\n getState = () => {\n return Object.keys(this.#currentState).length > 0 ? this.#currentState : this.#state;\n };\n\n /**\n * Returns a snapshot of the previous stable state before the action queue starts executing via {@link dispatch}.\n */\n getOriginalState = () => {\n return this.#state;\n };\n\n /**\n * Sets a function to execute a set of {@link Feature features} before triggering a render.\n * The provided function will be called with the {@link MiddleWareFeatureProps featureProps}\n * @param middlewares - A function that executes a set of {@link Feature features} before rendering.\n * @returns\n */\n setMiddlewares = (\n middlewares: (featureProps: MiddleWareFeatureProps) => Promise<void | null>\n ) => {\n if (this.#middlewares) return;\n this.#middlewares = middlewares;\n };\n\n /** This will reduce the RsCore {@link State state} for a {@link StateResolver.dispatch dispatched} action .\n * Additionally it will also run middlewares, fetches latest data using {@link FetchDataHandler} and executes post state update callback with latest reduced state.\n */\n #runQueuedActions = async () => {\n const queuedAction = this.#queuedActions[0];\n if (queuedAction) {\n if (isStaleAction(queuedAction, this.#latestActions)) {\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n return;\n }\n\n this.#previousExecutedActionQueue.push(queuedAction);\n this.#currentState = this.#reducers(this.#currentState, queuedAction, this.#rsInternal);\n await this.#middlewares!({\n rsInternal: this.#rsInternal,\n getState: this.getState,\n getOriginalState: this.getOriginalState,\n dispatch: this.dispatch,\n queuedActions: [queuedAction]\n });\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n } else if (this.#rsInternal.getRsStore().isMounted) {\n this.fetchDataInProgress = true;\n\n await this.#fetchData({\n ...this.#currentState,\n ...this.#instantState\n });\n\n // if the processed action and latest action has same payload, delete the latestAction as all the actions have been processed.\n clearProcessedActionsFromLatestActions(\n this.#latestActions,\n this.#previousExecutedActionQueue\n );\n\n // if data has been ignored, don't dispatch to view layer as the there is no change in rows\n if (!this.#skipExternalDispatch) {\n await this.#externalStoreRef.dispatch({\n ...this.#currentState\n });\n }\n this.#skipExternalDispatch = false;\n this.fetchDataInProgress = false;\n this.#previousExecutedActionQueue = [];\n\n // this happens in cases of dispatches like query info. In that case, the props have been set on view directly and the dispatch has already happened\n // This will prevent unnecessary renders in case of server side table\n\n // Avoid skipping FORCE_UPDATE action in case feature has triggered it and is relying on forceUpdatedFeatures slice of state.\n // forceUpdateFeatures slice is generally used by features when they are not able to perform their task if the rendering cycle is not complete.\n // For eg.renderHeader and autosize feature set forceRenderOnNextRun and forceCalculateAutoWidth in this slice so that they will get executed after the existing rendering cycle is complete and the rows are rendered on DOM.\n // If we skip these types of FORCE_UPDATE action then the corresponding features execution will also be skipped.\n if (\n this.#queuedActions.length === 1 &&\n this.#queuedActions[0]?.type === ActionTypes.FORCE_UPDATE &&\n !Object.keys(this.#queuedActions[0].payload.forceUpdateFeatures).length\n ) {\n this.#queuedActions.shift();\n }\n if (this.#queuedActions.length) {\n this.#runQueuedActions();\n } else {\n this.#state = { ...this.#currentState };\n this.#currentState = {};\n this.#executePostStateUpdateCallbacks();\n }\n }\n };\n\n /**\n * Calls the {@link FetchDataHandler fetchDataHandler} and updates the latest data in the {@link View}\n * @param latestState - Current state.\n */\n #fetchData = async (latestState: State) => {\n this.#abortController = new AbortController();\n const signal = this.#abortController.signal;\n this.#rsInternal.getPubSubUtils().publish(BEFORE_FETCH);\n\n const derivedState = {\n ...latestState,\n groupFilters: this.#rsInternal.getRsStore().groupFilters\n };\n // TODO: No need to fetch data if all the groups are collapsed.\n const res = await this.#fetchDataHandler(derivedState, {\n signal,\n ...(this.#rsInternal.getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsInternal.getRsStore().refreshToken\n })\n });\n if (res) {\n const { totalRecordCount, filteredRecordCount, data = [] } = res;\n\n if (!isEmpty(totalRecordCount) || !isEmpty(filteredRecordCount)) {\n this.#rsInternal.getView().setProp({\n resultsCount: totalRecordCount || filteredRecordCount,\n countGeneratedInternally: false,\n showCount: true\n });\n }\n\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#skipExternalDispatch = true;\n } else {\n this.#rsInternal.getView().setProp({\n data,\n isCountUpdateRequired:\n isFilterCriteriaChanged(this.#rsInternal.getRsStore().meta, this.#state, latestState) ||\n latestState.refresh !== this.#state.refresh\n });\n }\n }\n\n this.#rsInternal.getPubSubUtils().publish(AFTER_FETCH);\n this.#rsInternal.getView().setProp({ state: latestState, isInstantRender: false });\n };\n}\n\n/** Initializes handler for {@link ApiContext.fetchData fetchData} api. */\nexport function initializeFetchDataHandler(rsCoreInternal: RsInternal) {\n let response = {} as FetchDataResponse;\n const fetchWrapper = withMemoization(async ([state, fetchDataOptions]: [State, ApiOptions]) => {\n try {\n response = await rsCoreInternal\n .getRsProps()\n .apiContext.fetchData(state, rsCoreInternal.getRsStore().meta, fetchDataOptions);\n } catch (err: any) {\n if (!['AbortError', 'CanceledError'].includes(err.name)) {\n console.error('API call failed', err);\n }\n }\n });\n\n return async (state: State, fetchDataOptions: ApiOptions) => {\n /**\n * Returning default data from getView() in case the actual apiContext.getData() doesn't get called.\n *\n * BUG-811621: in case of bulk actions and inline edit, the updated rows come from separate apiContext APIs\n * and the memo of below function won't break, so, it will give stale data. Using getView().data as the default fallback for such cases.\n */\n response.data = rsCoreInternal.getView().data!;\n await fetchWrapper(\n [state, fetchDataOptions],\n [\n state.filterExpression,\n state.search,\n state.paginationOptions,\n state.sortingOrder,\n state.refresh,\n state.groups,\n state.hierarchicalGroup,\n state.groupFilters\n ]\n );\n return response;\n };\n}\n"]}
1
+ {"version":3,"file":"StateResolver.js","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport type { State } from '../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, ApiOptions, FetchDataResponse } from '../../types/ApiContext.types';\n\nimport { AFTER_FETCH, BEFORE_FETCH } from './pubSub/events';\nimport {\n clearProcessedActionsFromLatestActions,\n isSignificantPaginationOverlap,\n isEmpty,\n isFilterCriteriaChanged,\n isSameActionPresent as isSameActionPresentInQueue,\n isStaleAction,\n pickProperties,\n withMemoization\n} from './utils/util';\nimport { personalizationProps } from './reducers/personalizationReducer';\nimport ActionTypes from './actions/actionConstants';\nimport type { ActionType } from './actions/actionConstants';\nimport type RsInternal from './RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { MiddleWareFeatureProps, UIFeatures, Feature } from './features/featureFactory';\nimport type { ActionAsFunction, BaseAction, Action } from './actions/actions.types';\nimport type RsProps from './RsProps';\n\nexport type ReducerFunction = (state: State, action: Action, rsInternal: RsInternal) => State;\nexport type FetchDataHandler = (\n state: State,\n fetchDataOptions: ApiOptions\n) => Promise<FetchDataResponse>;\n/** It manages state of RsCore. */\nexport default class StateResolver {\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n\n /** Reducer function to reduce RS Core actions to its respective state. */\n #reducers: ReducerFunction;\n\n /** A reference to beforeRender UI features */\n #middlewares?: (featureProps: MiddleWareFeatureProps) => Promise<void | null>;\n\n /** Handler to fetch and manage data using {@link ApiContext.fetchData fetchData} api. */\n #fetchDataHandler: FetchDataHandler;\n\n /** previously dispatched stable state excluding instant state */\n #state: State;\n\n /** Intermittent state generated based upon the processed actions from the queue */\n #currentState: State;\n\n /** State generated via actions with instantRender. */\n #instantState: State;\n\n /** Queue holding actions that are dispatched. */\n #queuedActions: Action[];\n\n /** Holds the action that is executed. */\n #previousExecutedActionQueue: Action[];\n\n /** It contains registered api's provided by consumer of RsCore */\n #externalStoreRef: NonNullable<RsProps['externalStore']>;\n\n /** Keep track of latest action of a type of that action is marked to ignore stale actions */\n #latestActions = new Map<ActionType, Action>();\n\n /** Indicates if an external dispatch to RS core consumer should ber skipped. */\n #skipExternalDispatch = false;\n\n /** Abort controller to abort the fetchData requests in transit */\n #abortController?: AbortController;\n\n /** Indicates if fetchData is in progress. */\n fetchDataInProgress?: boolean;\n\n /**\n * Create an instance of {@link StateResolver} class.\n * @param reducers Reducer function to reduce state for a given action\n * @param fetchDataHandler Fetch Data handler function to fetch the data of RSCore when required.\n * @param rsInternal Reference to {@link RsInternal} object.\n */\n constructor(\n reducers: ReducerFunction,\n fetchDataHandler: FetchDataHandler,\n rsInternal: RsInternal\n ) {\n this.#reducers = reducers;\n this.#fetchDataHandler = fetchDataHandler;\n this.#rsInternal = rsInternal;\n\n this.#externalStoreRef = rsInternal.getRsProps().externalStore!;\n\n this.#state = {};\n this.#currentState = {};\n this.#instantState = {};\n this.#queuedActions = [];\n this.#previousExecutedActionQueue = [];\n }\n\n /**\n * Executes {@link ApiContext.stateUpdateCallback stateUpdateCallback} and {@link ApiContext.setComponentState setComponentState} api with latest state.\n */\n #executePostStateUpdateCallbacks = () => {\n const visibleColumnsArr = this.#rsInternal.getView().getVisibleColumns();\n const visibleColumns = visibleColumnsArr.map(col => col.field.id);\n const { apiContext } = this.#rsInternal.getRsProps();\n if (apiContext?.stateUpdateCallback) {\n apiContext.stateUpdateCallback({\n ...pickProperties(this.getState(), personalizationProps),\n visibleColumns\n });\n }\n if (apiContext?.setComponentState && this.getState().personalization?.active) {\n apiContext.setComponentState({\n ...pickProperties(this.getState(), personalizationProps),\n activePersonalization: this.getState().personalization?.active\n });\n }\n };\n\n /**\n * Dispatches given {@link action} to update the RsCore {@link State state} based on the provided action type. Multiple actions are queued in the action queue.\n * It will further triggers various {@link UIFeatures features} and fetches data using {@link FetchDataHandler} according to the state changes.\n *\n * @param action - The action to be dispatched.\n */\n dispatch = (action: BaseAction): void => {\n if ('takeLatestAction' in action && action.takeLatestAction) {\n if (isSameActionPresentInQueue(action, this.#latestActions)) return;\n this.#latestActions.set(action.type, action);\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#abortController?.abort();\n }\n }\n if (typeof action === 'function')\n return (action as ActionAsFunction)(\n this.dispatch,\n this.getState,\n this.#rsInternal.getView().meta\n );\n if (!this.#queuedActions.length && !this.fetchDataInProgress) {\n // Don't do deep copy as we don't do deep comparison for arrays and objects in memoization in feature files\n this.#currentState = { ...this.#state };\n }\n\n if ('instantRender' in action && action.instantRender) {\n if (this.#rsInternal.getRsProps().mode === 'debug') {\n console.warn(\n 'Doing instant render. This might introduce performance issues. Check if this is really needed.'\n );\n }\n this.#instantState = this.#reducers(this.#instantState, action, this.#rsInternal);\n this.#rsInternal.getView().setProp({\n state: { ...this.getState(), ...this.#instantState },\n isInstantRender: true\n });\n this.#externalStoreRef.dispatch({\n ...this.#instantState\n });\n this.#executePostStateUpdateCallbacks();\n\n return;\n }\n if ('skipActionQueue' in action && action.skipActionQueue) {\n this.#currentState = this.#reducers(this.#currentState, action, this.#rsInternal);\n return;\n }\n\n this.#queuedActions.push(action);\n // We run next batch only after completing first batch, Fetch call should get completed.\n if (this.#queuedActions.length === 1 && !this.#previousExecutedActionQueue.length) {\n this.#runQueuedActions();\n }\n };\n\n /**\n * Returns the current state that is built using the {@link dispatch dispatched} action.\n */\n getState = () => {\n return Object.keys(this.#currentState).length > 0 ? this.#currentState : this.#state;\n };\n\n /**\n * Returns a snapshot of the previous stable state before the action queue starts executing via {@link dispatch}.\n */\n getOriginalState = () => {\n return this.#state;\n };\n\n /**\n * Sets a function to execute a set of {@link Feature features} before triggering a render.\n * The provided function will be called with the {@link MiddleWareFeatureProps featureProps}\n * @param middlewares - A function that executes a set of {@link Feature features} before rendering.\n * @returns\n */\n setMiddlewares = (\n middlewares: (featureProps: MiddleWareFeatureProps) => Promise<void | null>\n ) => {\n if (this.#middlewares) return;\n this.#middlewares = middlewares;\n };\n\n /** This will reduce the RsCore {@link State state} for a {@link StateResolver.dispatch dispatched} action .\n * Additionally it will also run middlewares, fetches latest data using {@link FetchDataHandler} and executes post state update callback with latest reduced state.\n */\n #runQueuedActions = async () => {\n const queuedAction = this.#queuedActions[0];\n if (queuedAction) {\n const skipStaleActionExecution =\n 'takeLatestAction' in queuedAction &&\n queuedAction.takeLatestAction &&\n isStaleAction(queuedAction, this.#latestActions);\n\n if (skipStaleActionExecution) {\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n return;\n }\n\n this.#previousExecutedActionQueue.push(queuedAction);\n this.#currentState = this.#reducers(this.#currentState, queuedAction, this.#rsInternal);\n await this.#middlewares!({\n rsInternal: this.#rsInternal,\n getState: this.getState,\n getOriginalState: this.getOriginalState,\n dispatch: this.dispatch,\n queuedActions: [queuedAction]\n });\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n } else if (this.#rsInternal.getRsStore().isMounted) {\n this.fetchDataInProgress = true;\n\n await this.#fetchData({\n ...this.#currentState,\n ...this.#instantState\n });\n\n // if the processed action and latest action has same payload, delete the latestAction as all the actions have been processed.\n clearProcessedActionsFromLatestActions(\n this.#latestActions,\n this.#previousExecutedActionQueue\n );\n\n // if data has been ignored, don't dispatch to view layer as the there is no change in rows\n if (!this.#skipExternalDispatch) {\n await this.#externalStoreRef.dispatch({\n ...this.#currentState\n });\n }\n this.#skipExternalDispatch = false;\n this.fetchDataInProgress = false;\n this.#previousExecutedActionQueue = [];\n\n // this happens in cases of dispatches like query info. In that case, the props have been set on view directly and the dispatch has already happened\n // This will prevent unnecessary renders in case of server side table\n\n // Avoid skipping FORCE_UPDATE action in case feature has triggered it and is relying on forceUpdatedFeatures slice of state.\n // forceUpdateFeatures slice is generally used by features when they are not able to perform their task if the rendering cycle is not complete.\n // For eg.renderHeader and autosize feature set forceRenderOnNextRun and forceCalculateAutoWidth in this slice so that they will get executed after the existing rendering cycle is complete and the rows are rendered on DOM.\n // If we skip these types of FORCE_UPDATE action then the corresponding features execution will also be skipped.\n if (\n this.#queuedActions.length === 1 &&\n this.#queuedActions[0]?.type === ActionTypes.FORCE_UPDATE &&\n !Object.keys(this.#queuedActions[0].payload.forceUpdateFeatures).length\n ) {\n this.#queuedActions.shift();\n }\n if (this.#queuedActions.length) {\n this.#runQueuedActions();\n } else {\n this.#state = { ...this.#currentState };\n this.#currentState = {};\n this.#executePostStateUpdateCallbacks();\n }\n }\n };\n\n /**\n * Calls the {@link FetchDataHandler fetchDataHandler} and updates the latest data in the {@link View}\n * @param latestState - Current state.\n */\n #fetchData = async (latestState: State) => {\n this.#abortController = new AbortController();\n const signal = this.#abortController.signal;\n this.#rsInternal.getPubSubUtils().publish(BEFORE_FETCH);\n\n const derivedState = {\n ...latestState,\n groupFilters: this.#rsInternal.getRsStore().groupFilters\n };\n // TODO: No need to fetch data if all the groups are collapsed.\n const res = await this.#fetchDataHandler(derivedState, {\n signal,\n ...(this.#rsInternal.getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsInternal.getRsStore().refreshToken\n })\n });\n if (res) {\n const { totalRecordCount, filteredRecordCount, data = [] } = res;\n\n if (!isEmpty(totalRecordCount) || !isEmpty(filteredRecordCount)) {\n this.#rsInternal.getView().setProp({\n resultsCount: totalRecordCount || filteredRecordCount,\n countGeneratedInternally: false,\n showCount: true\n });\n }\n\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#skipExternalDispatch = true;\n } else {\n this.#rsInternal.getView().setProp({\n data,\n isCountUpdateRequired:\n isFilterCriteriaChanged(this.#rsInternal.getRsStore().meta, this.#state, latestState) ||\n latestState.refresh !== this.#state.refresh\n });\n }\n }\n\n this.#rsInternal.getPubSubUtils().publish(AFTER_FETCH);\n this.#rsInternal.getView().setProp({ state: latestState, isInstantRender: false });\n };\n}\n\n/** Initializes handler for {@link ApiContext.fetchData fetchData} api. */\nexport function initializeFetchDataHandler(rsCoreInternal: RsInternal) {\n let response = {} as FetchDataResponse;\n const fetchWrapper = withMemoization(async ([state, fetchDataOptions]: [State, ApiOptions]) => {\n try {\n response = await rsCoreInternal\n .getRsProps()\n .apiContext.fetchData(state, rsCoreInternal.getRsStore().meta, fetchDataOptions);\n } catch (err: any) {\n if (!['AbortError', 'CanceledError'].includes(err.name)) {\n console.error('API call failed', err);\n }\n }\n });\n\n return async (state: State, fetchDataOptions: ApiOptions) => {\n /**\n * Returning default data from getView() in case the actual apiContext.getData() doesn't get called.\n *\n * BUG-811621: in case of bulk actions and inline edit, the updated rows come from separate apiContext APIs\n * and the memo of below function won't break, so, it will give stale data. Using getView().data as the default fallback for such cases.\n */\n response.data = rsCoreInternal.getView().data!;\n await fetchWrapper(\n [state, fetchDataOptions],\n [\n state.filterExpression,\n state.search,\n state.paginationOptions,\n state.sortingOrder,\n state.refresh,\n state.groups,\n state.hierarchicalGroup,\n state.groupFilters,\n state.hiddenColumns\n ]\n );\n return response;\n };\n}\n"]}
@@ -5,6 +5,7 @@ export type Selectors = {
5
5
  parentElementSelector?: string;
6
6
  aboveLoader?: string;
7
7
  belowLoader?: string;
8
+ addActionSelector?: string;
8
9
  };
9
10
  declare class BaseA11y {
10
11
  #private;
@@ -14,6 +15,14 @@ declare class BaseA11y {
14
15
  focusableSelectors: string[];
15
16
  actionableSelectors?: string[];
16
17
  ariaLabel?: string;
18
+ focusState: {
19
+ focusSnapshot: {
20
+ rowIndex: number | undefined;
21
+ colIndex: number | undefined;
22
+ rowKey: string | undefined;
23
+ };
24
+ hadFocus: boolean;
25
+ };
17
26
  /**
18
27
  *
19
28
  * @param selectors
@@ -162,6 +171,8 @@ declare class BaseA11y {
162
171
  * @returns void
163
172
  */
164
173
  boundaryElementsFocusHandler(event: FocusEvent): void;
174
+ onFocusHandler(): void;
175
+ onBlurHandler(event: FocusEvent): void;
165
176
  }
166
177
  export default BaseA11y;
167
178
  //# sourceMappingURL=BaseA11y.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseA11y.d.ts","sourceRoot":"","sources":["../../../../src/core/a11y/BaseA11y.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAqDF,cAAM,QAAQ;;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBAED,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,MAAM,EAAE,EAE5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAK,EACvC,SAAS,EAAE,WAAW,EACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAC9B,SAAS,CAAC,EAAE,MAAM;IAUpB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW;IAInC;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,aAAa;IAgC/B;;;;;OAKG;IACH,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAepE;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,EAAE;IAIpE;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa;IAQrC;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW;IAW7D;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAwBhF;;OAEG;IACH,6BAA6B,IAAI,WAAW,GAAG,IAAI;IAkBnD;;;;;;;OAOG;IACH,sBAAsB;IAOtB;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;;;;;IASnF;;;;OAIG;IAEH,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAiLtE;;OAEG;IACH,4BAA4B,CAAC,KAAK,EAAE,aAAa;IA6BjD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa;IAsBhC;;;;;;;;;;OAUG;IACH,cAAc,CAAC,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAwChD,iBAAiB;IAWjB;;;;;;;;;;OAUG;IACH,4BAA4B,CAAC,KAAK,EAAE,UAAU;CAkB/C;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"BaseA11y.d.ts","sourceRoot":"","sources":["../../../../src/core/a11y/BaseA11y.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAqDF,cAAM,QAAQ;;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE;QACV,aAAa,EAAE;YACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;YAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;YAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;SAC5B,CAAC;QACF,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBAED,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,MAAM,EAAE,EAE5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAK,EACvC,SAAS,EAAE,WAAW,EACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAC9B,SAAS,CAAC,EAAE,MAAM;IAcpB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW;IAInC;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,aAAa;IAgC/B;;;;;OAKG;IACH,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAepE;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,EAAE;IAIpE;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa;IAQrC;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW;IAW7D;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAwBhF;;OAEG;IACH,6BAA6B,IAAI,WAAW,GAAG,IAAI;IAkBnD;;;;;;;OAOG;IACH,sBAAsB;IAOtB;;;;OAIG;IACH,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;;;;;IASnF;;;;OAIG;IAEH,gCAAgC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAiLtE;;OAEG;IACH,4BAA4B,CAAC,KAAK,EAAE,aAAa;IA6BjD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa;IAsBhC;;;;;;;;;;OAUG;IACH,cAAc,CAAC,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAwChD,iBAAiB;IAWjB;;;;;;;;;;OAUG;IACH,4BAA4B,CAAC,KAAK,EAAE,UAAU;IAmB9C,cAAc;IAId,aAAa,CAAC,KAAK,EAAE,UAAU;CAWhC;AAED,eAAe,QAAQ,CAAC"}
@@ -51,6 +51,7 @@ class BaseA11y {
51
51
  focusableSelectors;
52
52
  actionableSelectors;
53
53
  ariaLabel;
54
+ focusState;
54
55
  /**
55
56
  *
56
57
  * @param selectors
@@ -89,6 +90,10 @@ class BaseA11y {
89
90
  this.focusableSelectors = focusableSelectors;
90
91
  this.actionableSelectors = actionableSelectors;
91
92
  this.ariaLabel = ariaLabel;
93
+ this.focusState = {
94
+ focusSnapshot: { rowIndex: undefined, colIndex: undefined, rowKey: undefined },
95
+ hadFocus: false
96
+ };
92
97
  }
93
98
  /**
94
99
  * Sets the container element
@@ -555,6 +560,18 @@ class BaseA11y {
555
560
  }
556
561
  }
557
562
  }
563
+ onFocusHandler() {
564
+ this.focusState.hadFocus = true;
565
+ }
566
+ onBlurHandler(event) {
567
+ const currentTarget = event.currentTarget;
568
+ const relatedTarget = event.relatedTarget;
569
+ // If relatedTarget is within the currentTarget i.e. RS container, skip the blur event capture as focus is still within the container.
570
+ if (relatedTarget === null ||
571
+ !(currentTarget && currentTarget.contains(relatedTarget))) {
572
+ this.focusState.hadFocus = false;
573
+ }
574
+ }
558
575
  }
559
576
  export default BaseA11y;
560
577
  //# sourceMappingURL=BaseA11y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseA11y.js","sourceRoot":"","sources":["../../../../src/core/a11y/BaseA11y.ts"],"names":[],"mappings":"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","sourcesContent":["export type Selectors = {\n topFocusRef?: string;\n bottomFocusRef?: string;\n focusElementSelector: string;\n parentElementSelector?: string;\n aboveLoader?: string;\n belowLoader?: string;\n};\n\nconst keys: Record<string, number> = {\n TAB: 9,\n ENTER: 13,\n SPACE: 32,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n HOME: 36\n} as const;\n\nconst TAB_INDEX = 'tabindex';\nconst DATA_COLUMNINDEX = 'data-columnIndex';\n\n/**\n * Sets focus on the provided HTML element.\n * It sets the `tabindex` attribute to \"0\" to ensure the element can receive keyboard focus.\n *\n * @param element - The HTML element to be focused. If `undefined`, the function does not performing any action.\n */\nfunction gainFocus(element: HTMLElement | undefined): void {\n if (!element) return;\n element.setAttribute(TAB_INDEX, '0');\n element.focus();\n}\n\n/**\n * Recursively finds the first parent element that has scrollable content.\n *\n * This function checks whether the given HTML element or any of its parent\n * elements has a scrollable content area.\n *\n * @param node - The starting HTML element to check for scrollable content.\n * If null, the function will return null.\n *\n * @returns - The first parent element with scrollable content, or null if no such element is found.\n */\nfunction getScrollParent(node: HTMLElement | null): HTMLElement | null {\n // eslint-disable-next-line eqeqeq\n if (node == null) {\n return null;\n }\n\n if (node.scrollHeight > node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode as HTMLElement);\n}\n\nclass BaseA11y {\n selectors: Selectors;\n keys: Record<string, number>;\n container: HTMLElement;\n focusableSelectors: string[];\n actionableSelectors?: string[];\n ariaLabel?: string;\n /**\n *\n * @param selectors\n * @param focusableSelectors Selectors which doesn't require arrow keys/typing interaction from user\n * @param customKeys\n * @param container\n * @param actionableSelectors Selectors which require arrow keys/typing interaction from user\n * @param ariaLabel\n *\n * selectors = {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.cell',\n parentElementSelector: '.row'\n };\n customKeys = {\n TAB: 9,\n ENTER: 13,\n SPACE: 32,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n };\n focusableSelectors = ['button', 'a[href]'];\n actionableSelectors = ['select', 'textarea']\n ariaLabel = 'Interactive content'\n */\n constructor(\n selectors: Selectors,\n focusableSelectors: string[],\n // eslint-disable-next-line @typescript-eslint/default-param-last\n customKeys: Record<string, number> = {},\n container: HTMLElement,\n actionableSelectors?: string[],\n ariaLabel?: string\n ) {\n this.selectors = { ...selectors };\n this.keys = { ...keys, ...customKeys };\n this.container = container;\n this.focusableSelectors = focusableSelectors;\n this.actionableSelectors = actionableSelectors;\n this.ariaLabel = ariaLabel;\n }\n\n /**\n * Sets the container element\n */\n setContainer(container: HTMLElement) {\n this.container = container;\n }\n\n /**\n * Handles tab key navigation within a focusable region. It focuses on the top or bottom\n * focusable element based on the `Shift` key press in combination with the `Tab` key.\n *\n * - If `Shift + Tab` is pressed, it focuses the `topFocusableElement`.\n * - If only `Tab` is pressed, it focuses the `bottomFocusableElement`.\n *\n * @param {KeyboardEvent} event - The keyboard event object containing details of the pressed key.\n */\n tabHandler(event: KeyboardEvent) {\n const topFocusableElement = this.selectors.topFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.topFocusRef)\n : null;\n const bottomFocusableElement = this.selectors.bottomFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.bottomFocusRef)\n : null;\n if (event.shiftKey && topFocusableElement) {\n const shiftTabKeyEvent = new KeyboardEvent('keypress', {\n bubbles: true,\n cancelable: true,\n key: 'Tab',\n shiftKey: true,\n keyCode: 9\n });\n\n (topFocusableElement as HTMLElement).focus();\n topFocusableElement.dispatchEvent(shiftTabKeyEvent);\n } else if (bottomFocusableElement) {\n const keyboardEvent = new KeyboardEvent('keypress', {\n bubbles: true,\n cancelable: true,\n key: 'Tab',\n shiftKey: false,\n keyCode: 9\n });\n\n (bottomFocusableElement as HTMLElement).focus();\n bottomFocusableElement.dispatchEvent(keyboardEvent);\n }\n }\n\n /**\n * Retrieves all focusable elements within a given element based on the `focusableSelectors` array.\n *\n * @param {Element} column - The element from which to get focusable elements.\n * @returns {NodeListOf<HTMLElement>} - A NodeList of all focusable HTML elements found inside element.\n */\n getFocusableElementsInCell(column: Element): NodeListOf<HTMLElement> {\n return column.querySelectorAll(this.focusableSelectors.join(','));\n }\n\n /**\n * Determines whether a given DOM element is a grid cell.\n * @param column - The DOM element to check.\n * @returns Returns `true` if the element contains the specified CSS class, indicating it's a grid cell, otherwise `false`.\n *\n * @private\n */\n #isGridCell(column: Element): boolean {\n return column.classList.contains(this.selectors.focusElementSelector.substring(1));\n }\n\n /**\n * @param row\n * @returns\n */\n getSortedColumns(row: HTMLElement | null): (Element | HTMLElement)[] {\n return [...(row?.querySelectorAll(this.selectors.focusElementSelector) ?? [])];\n }\n\n /**\n * @param event\n */\n stopEventHandler(event: KeyboardEvent) {\n return (\n (event.target as HTMLElement).getAttribute('aria-expanded') === 'true' ||\n (event.target as HTMLElement).closest('.popper') ||\n !Object.values(this.keys).includes(event.keyCode)\n );\n }\n\n /**\n * Sets focus on the loader element and stores the column index of the current focused element.\n *\n * @param loader - The loader element that will receive focus.\n * @param currentCol - The currently focused column element whose index will be stored.\n *\n * @returns void\n */\n setFocusOnLoader(loader: HTMLElement, currentCol: HTMLElement) {\n // Store the current focussed cell - useful when coming back\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(currentCol)\n };\n loader.setAttribute(DATA_COLUMNINDEX, restoreFocusRef.columnIndex.toString());\n loader.focus();\n }\n\n /**\n * Handles the `Tab` key navigation within a container element .\n * Ensures that when the user tabs out of the repeating structures, focus can be restored to the\n * previously active cell (from which the user tabbed out). If `shiftKey` is pressed (indicating reverse tabbing), the focus will move to the\n * top boundary element, otherwise, it moves to the bottom boundary element.\n *\n * @param event - The keyboard event triggered by the `Tab` key.\n * @param currentCol - The current column (cell) element from which the user is tabbing out.\n * @param shiftKey - A boolean indicating if the `Shift` key is pressed (for reverse tabbing).\n *\n * @returns void\n */\n containerTabHandler(event: KeyboardEvent, currentCol: Element, shiftKey: boolean) {\n // focus should be restored to the cell\n // from which user has tabbed out from the table\n let hiddenBoundaryElement = this.selectors.bottomFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.bottomFocusRef)\n : null;\n if (shiftKey) {\n hiddenBoundaryElement = this.selectors.topFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.topFocusRef)\n : null;\n }\n\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(currentCol)\n };\n if (hiddenBoundaryElement) {\n hiddenBoundaryElement.setAttribute(DATA_COLUMNINDEX, restoreFocusRef.columnIndex.toString());\n }\n\n this.tabHandler(event);\n }\n\n /**\n * Returns the first focusable element in the `container`.\n */\n getFocusableElementOnCtrlHome(): HTMLElement | null {\n return this.container.querySelector(this.selectors.focusElementSelector);\n }\n\n /**\n * Scrolls the nearest scrollable parent of a focusable element to the top.\n *\n * @private\n */\n #scrollToTop() {\n const scrollableParent = getScrollParent(\n this.container.querySelector(this.selectors.focusElementSelector)\n );\n if (scrollableParent) {\n scrollableParent.scrollTop = 0;\n }\n }\n\n /**\n * Handles the `Ctrl + Home` keypress event.\n *\n * It focuses the first focusable element in the container of the repeating structures,\n * and ensures that the view scrolls to the top after focusing.\n *\n * @returns void\n */\n handleCtrlHomeKeypress() {\n const cellToFocus = this.getFocusableElementOnCtrlHome();\n this.#focusFirstElementInCell(cellToFocus);\n\n this.#scrollToTop();\n }\n\n /**\n * @param nextItem\n * @param currentCol\n * @param keyCode\n */\n handleAnnouncementForErrors(nextItem: Element, currentCol: Element, keyCode: number) {\n return {\n ...this,\n nextItem,\n currentCol,\n keyCode\n };\n }\n\n /**\n * @param nextCol - The next item to focus on.\n * @param currentCol- The current element that has focus.\n * override this method for specific RS template\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n toggleStyleFormatAriaDescription(nextCol: Element, currentCol: Element) {}\n /**\n * Handles keyboard navigation. This method processes keyboard events like arrow keys, tab, home. It updates the `tabindex` of elements and supports accessibility\n * announcements for error handling.\n *\n * @param event - The keyboard event triggered by the user.\n * @param currentCol - The current element that has focus.\n *\n * @returns void\n *\n * @private\n */\n #containerEventHandlers(event: KeyboardEvent, currentCol: Element) {\n const { keyCode, shiftKey, ctrlKey } = event;\n if (this.stopEventHandler(event)) {\n return;\n }\n let nextItem: Element | undefined | null;\n\n if (this.selectors.parentElementSelector) {\n ({ nextItem } = this.#processWithParentSelector(\n currentCol as HTMLElement,\n keyCode,\n ctrlKey,\n nextItem\n ));\n } else {\n switch (keyCode) {\n case this.keys.UP:\n case this.keys.LEFT:\n nextItem = currentCol.previousElementSibling;\n break;\n case this.keys.RIGHT:\n case this.keys.DOWN:\n nextItem = currentCol.nextElementSibling;\n break;\n case this.keys.HOME:\n if (ctrlKey) {\n nextItem = this.container.querySelector(this.selectors.focusElementSelector);\n }\n break;\n default:\n }\n }\n\n if (keyCode === this.keys.TAB) {\n this.containerTabHandler(event, currentCol, shiftKey);\n }\n if (nextItem && currentCol) {\n event.preventDefault();\n const focusableElements = this.getFocusableElementsInCell(nextItem);\n // we will be supporting focus directly on the inner focusable elements so\n // tags like a, buttons should be skipped for focus on pressing tab\n if (!!this.actionableSelectors && !!this.ariaLabel) {\n const nextActionableElements = nextItem.querySelectorAll(\n this.actionableSelectors.join(',')\n );\n const nextFocusableElements = nextItem.querySelectorAll(this.focusableSelectors.join(','));\n const currentActionableElements = currentCol.querySelectorAll(\n this.actionableSelectors.join(',')\n );\n const currentFocusableElements = nextItem.querySelectorAll(\n this.focusableSelectors.join(',')\n );\n if (nextActionableElements.length || nextFocusableElements.length > 1) {\n nextItem.setAttribute('aria-label', this.ariaLabel);\n }\n if (currentActionableElements.length || currentFocusableElements.length > 1) {\n currentCol.removeAttribute('aria-label');\n }\n }\n currentCol.setAttribute('tabindex', '-1');\n if (focusableElements.length === 1 && this.#isGridCell(nextItem)) {\n this.handleAnnouncementForErrors(focusableElements[0], currentCol, keyCode);\n gainFocus(focusableElements[0]);\n } else {\n this.handleAnnouncementForErrors(nextItem, currentCol, keyCode);\n\n gainFocus(nextItem as HTMLElement);\n }\n\n this.toggleStyleFormatAriaDescription(nextItem, currentCol);\n }\n }\n\n /**\n * This method processes keyboard navigation events and moves focus between elements inside containers,\n * based on the arrow keys (up, down, left, right) and the Home key.\n *\n * @param currentCol - The current focused column element.\n * @param keyCode - The keycode of the pressed key (e.g., arrow keys, home key).\n * @param ctrlKey - Indicates if the `Ctrl` key was held down during the key press.\n * @param nextItem - The next item to focus on, updated by this function.\n *\n * @returns - Returns an object containing the index of the current element within its parent, the index of its parent element, and the next item to focus on.\n */\n #processWithParentSelector(\n currentCol: HTMLElement,\n keyCode: number,\n ctrlKey: boolean,\n nextItem: Element | undefined | null\n ) {\n const parentElements = this.container.querySelectorAll(this.selectors.parentElementSelector!);\n const indexOfCurrentEleInParent = [\n ...(currentCol\n .closest(this.selectors.parentElementSelector!)\n ?.querySelectorAll(this.selectors.focusElementSelector) ?? [])\n ].indexOf(currentCol);\n const currentEleParentIndex = [...parentElements].indexOf(\n currentCol.closest(this.selectors.parentElementSelector!)!\n );\n const sortedColumns = this.getSortedColumns(\n currentCol.closest(this.selectors.parentElementSelector!)\n );\n switch (keyCode) {\n case this.keys.HOME:\n if (ctrlKey) {\n this.handleCtrlHomeKeypress();\n }\n break;\n case this.keys.UP: {\n // Above Loader handler\n const aboveLoader = this.selectors.aboveLoader\n ? (this.container.querySelector(this.selectors.aboveLoader) as HTMLElement | null)\n : null;\n if (aboveLoader && currentEleParentIndex - 1 === 0) {\n this.setFocusOnLoader(aboveLoader, currentCol);\n } else if (currentEleParentIndex - 1 >= 0) {\n nextItem = parentElements[currentEleParentIndex - 1].querySelectorAll(\n this.selectors.focusElementSelector\n )[indexOfCurrentEleInParent];\n }\n break;\n }\n case this.keys.DOWN: {\n // Below Loader handler\n const belowLoader = this.selectors.belowLoader\n ? (this.container.querySelector(this.selectors.belowLoader) as HTMLElement | null)\n : null;\n if (belowLoader && parentElements.length === currentEleParentIndex + 1) {\n this.setFocusOnLoader(belowLoader, currentCol);\n } else if (parentElements.length > currentEleParentIndex + 1) {\n nextItem = parentElements[currentEleParentIndex + 1].querySelectorAll(\n this.selectors.focusElementSelector\n )[indexOfCurrentEleInParent];\n }\n break;\n }\n case this.keys.LEFT:\n nextItem = sortedColumns[sortedColumns.indexOf(currentCol) - 1];\n break;\n case this.keys.RIGHT:\n nextItem = sortedColumns[sortedColumns.indexOf(currentCol) + 1];\n break;\n default:\n }\n return { indexOfCurrentEleInParent, currentEleParentIndex, nextItem };\n }\n\n /**\n * Determines if the current element contains any `focusable` element.\n */\n #isFocusableElement(element: HTMLElement) {\n const colItem = element.closest(this.selectors.focusElementSelector);\n if (!colItem) return false;\n return [...colItem.querySelectorAll(this.focusableSelectors.join(','))].includes(element);\n }\n\n /**\n * Determines if the current element contains any `Actionable` elements like TextInput, TextArea\n */\n #isActionableElement(element: HTMLElement) {\n const colItem = element.closest(this.selectors.focusElementSelector);\n if (!colItem || !this.actionableSelectors) return false;\n return [...colItem.querySelectorAll(this.actionableSelectors.join(','))].includes(element);\n }\n\n /**\n * @param {KeyboardEvent} event\n */\n dynamicLoadersKeyDownHandler(event: KeyboardEvent) {\n const { keyCode } = event;\n event.stopPropagation();\n event.preventDefault();\n\n if (\n this.container &&\n (((event.target as HTMLElement).classList.contains(\n this.selectors.aboveLoader!.substring(1)\n ) &&\n keyCode === this.keys.DOWN) ||\n ((event.target as HTMLElement).classList.contains(\n this.selectors.belowLoader!.substring(1)\n ) &&\n keyCode === this.keys.UP))\n ) {\n let restoreFocusRef;\n\n if ((event.target as HTMLElement).hasAttribute(DATA_COLUMNINDEX)) {\n restoreFocusRef = {\n columnIndex: parseInt((event.target as HTMLElement).getAttribute(DATA_COLUMNINDEX)!, 10)\n };\n this.setFocusToCell(restoreFocusRef);\n return true;\n }\n }\n return false;\n }\n\n /**\n * Handles the keyboard navigation of a repeating structures.\n *\n * @public\n */\n a11yHandler(event: KeyboardEvent) {\n const rootNode = this.container.getRootNode();\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) return;\n const currentCol = rootNode.activeElement?.closest(this.selectors.focusElementSelector);\n const belowLoader = this.selectors.belowLoader\n ? this.container.querySelector(this.selectors.belowLoader)\n : null;\n const aboveLoader = this.selectors.aboveLoader\n ? this.container.querySelector(this.selectors.aboveLoader)\n : null;\n\n if (\n currentCol === rootNode.activeElement ||\n this.#isFocusableElement(rootNode.activeElement as HTMLElement) ||\n this.#isActionableElement(rootNode.activeElement as HTMLElement)\n ) {\n this.#containerEventHandlers(event, currentCol as HTMLElement);\n } else if (belowLoader === event.target || aboveLoader === event.target) {\n this.dynamicLoadersKeyDownHandler(event);\n }\n }\n\n /**\n * Sets the focus to a specific cell in the grid based on the given position. If there is exactly one focusable element in a cell,\n * focus is set on it. Otherwise, the entire cell receives focus.\n *\n * If the specified cell cannot be found, focus is set on the first focusable element.\n *\n * @param position - The position of the cell to focus.\n * @param position.columnIndex - The index of the column for which the focus should be set.\n *\n * @returns void\n */\n setFocusToCell(position: { columnIndex: number }) {\n const { columnIndex } = position;\n const cellToFocus = this.container.querySelectorAll(this.selectors.focusElementSelector)[\n columnIndex\n ];\n if (cellToFocus) {\n const focusableElements = this.getFocusableElementsInCell(cellToFocus);\n // we will be supporting focus directly on the inner focusable elements so\n // tags like a, buttons should be skipped for focus on pressing tab\n if (\n focusableElements.length === 1 &&\n this.#isGridCell(cellToFocus)\n // Enable this in EPIC-80524\n // || isSelectAllCheckbox(focusableElements[0])\n ) {\n gainFocus(focusableElements[0]);\n } else {\n gainFocus(cellToFocus as HTMLElement);\n }\n } else {\n this.focusFirstElement();\n }\n }\n\n /**\n * @param {HTMLElement | null} firstCell\n */\n #focusFirstElementInCell(firstCell: Element | null) {\n if (!firstCell) return;\n const focusableElements = this.getFocusableElementsInCell(firstCell);\n // if there is only one focusable element in cell, e.g. a[href], radio etc, focus on that\n if (focusableElements.length === 1 && this.#isGridCell(firstCell)) {\n gainFocus(focusableElements[0]);\n } else {\n // if there are multiple focusable elements in cell or the cell is not a grid cell, focus on whole cell\n\n gainFocus(firstCell as HTMLElement);\n }\n }\n\n focusFirstElement() {\n const row = this.selectors.parentElementSelector\n ? this.container.querySelector(this.selectors.parentElementSelector)\n : null;\n if (row) {\n const firstCell = row.querySelector(this.selectors.focusElementSelector);\n\n this.#focusFirstElementInCell(firstCell);\n }\n }\n\n /**\n * Handles focus events on boundary elements within the container.\n * This method stops the propagation of the focus event and checks whether the focus has moved\n * outside of the specified container. If so, it determines whether to restore focus to a specific\n * cell or to the first focusable element within the container.\n *\n * @param event - The focus event object, which includes the element that lost focus\n * (via the `relatedTarget` property).\n *\n * @returns void\n */\n boundaryElementsFocusHandler(event: FocusEvent) {\n const { relatedTarget } = event;\n event.stopPropagation();\n if (this.container && !this.container.contains(relatedTarget as HTMLElement)) {\n let restoreFocusRef;\n\n if ((event.target as HTMLElement).hasAttribute(DATA_COLUMNINDEX)) {\n restoreFocusRef = {\n columnIndex: parseInt((event.target as HTMLElement).getAttribute(DATA_COLUMNINDEX)!, 10)\n };\n }\n if (restoreFocusRef) {\n this.setFocusToCell(restoreFocusRef);\n } else {\n this.focusFirstElement();\n }\n }\n }\n}\n\nexport default BaseA11y;\n"]}
1
+ {"version":3,"file":"BaseA11y.js","sourceRoot":"","sources":["../../../../src/core/a11y/BaseA11y.ts"],"names":[],"mappings":"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","sourcesContent":["export type Selectors = {\n topFocusRef?: string;\n bottomFocusRef?: string;\n focusElementSelector: string;\n parentElementSelector?: string;\n aboveLoader?: string;\n belowLoader?: string;\n addActionSelector?: string;\n};\n\nconst keys: Record<string, number> = {\n TAB: 9,\n ENTER: 13,\n SPACE: 32,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n HOME: 36\n} as const;\n\nconst TAB_INDEX = 'tabindex';\nconst DATA_COLUMNINDEX = 'data-columnIndex';\n\n/**\n * Sets focus on the provided HTML element.\n * It sets the `tabindex` attribute to \"0\" to ensure the element can receive keyboard focus.\n *\n * @param element - The HTML element to be focused. If `undefined`, the function does not performing any action.\n */\nfunction gainFocus(element: HTMLElement | undefined): void {\n if (!element) return;\n element.setAttribute(TAB_INDEX, '0');\n element.focus();\n}\n\n/**\n * Recursively finds the first parent element that has scrollable content.\n *\n * This function checks whether the given HTML element or any of its parent\n * elements has a scrollable content area.\n *\n * @param node - The starting HTML element to check for scrollable content.\n * If null, the function will return null.\n *\n * @returns - The first parent element with scrollable content, or null if no such element is found.\n */\nfunction getScrollParent(node: HTMLElement | null): HTMLElement | null {\n // eslint-disable-next-line eqeqeq\n if (node == null) {\n return null;\n }\n\n if (node.scrollHeight > node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode as HTMLElement);\n}\n\nclass BaseA11y {\n selectors: Selectors;\n keys: Record<string, number>;\n container: HTMLElement;\n focusableSelectors: string[];\n actionableSelectors?: string[];\n ariaLabel?: string;\n focusState: {\n focusSnapshot: {\n rowIndex: number | undefined;\n colIndex: number | undefined;\n rowKey: string | undefined;\n };\n hadFocus: boolean;\n };\n\n /**\n *\n * @param selectors\n * @param focusableSelectors Selectors which doesn't require arrow keys/typing interaction from user\n * @param customKeys\n * @param container\n * @param actionableSelectors Selectors which require arrow keys/typing interaction from user\n * @param ariaLabel\n *\n * selectors = {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.cell',\n parentElementSelector: '.row'\n };\n customKeys = {\n TAB: 9,\n ENTER: 13,\n SPACE: 32,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n };\n focusableSelectors = ['button', 'a[href]'];\n actionableSelectors = ['select', 'textarea']\n ariaLabel = 'Interactive content'\n */\n constructor(\n selectors: Selectors,\n focusableSelectors: string[],\n // eslint-disable-next-line @typescript-eslint/default-param-last\n customKeys: Record<string, number> = {},\n container: HTMLElement,\n actionableSelectors?: string[],\n ariaLabel?: string\n ) {\n this.selectors = { ...selectors };\n this.keys = { ...keys, ...customKeys };\n this.container = container;\n this.focusableSelectors = focusableSelectors;\n this.actionableSelectors = actionableSelectors;\n this.ariaLabel = ariaLabel;\n this.focusState = {\n focusSnapshot: { rowIndex: undefined, colIndex: undefined, rowKey: undefined },\n hadFocus: false\n };\n }\n\n /**\n * Sets the container element\n */\n setContainer(container: HTMLElement) {\n this.container = container;\n }\n\n /**\n * Handles tab key navigation within a focusable region. It focuses on the top or bottom\n * focusable element based on the `Shift` key press in combination with the `Tab` key.\n *\n * - If `Shift + Tab` is pressed, it focuses the `topFocusableElement`.\n * - If only `Tab` is pressed, it focuses the `bottomFocusableElement`.\n *\n * @param {KeyboardEvent} event - The keyboard event object containing details of the pressed key.\n */\n tabHandler(event: KeyboardEvent) {\n const topFocusableElement = this.selectors.topFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.topFocusRef)\n : null;\n const bottomFocusableElement = this.selectors.bottomFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.bottomFocusRef)\n : null;\n if (event.shiftKey && topFocusableElement) {\n const shiftTabKeyEvent = new KeyboardEvent('keypress', {\n bubbles: true,\n cancelable: true,\n key: 'Tab',\n shiftKey: true,\n keyCode: 9\n });\n\n (topFocusableElement as HTMLElement).focus();\n topFocusableElement.dispatchEvent(shiftTabKeyEvent);\n } else if (bottomFocusableElement) {\n const keyboardEvent = new KeyboardEvent('keypress', {\n bubbles: true,\n cancelable: true,\n key: 'Tab',\n shiftKey: false,\n keyCode: 9\n });\n\n (bottomFocusableElement as HTMLElement).focus();\n bottomFocusableElement.dispatchEvent(keyboardEvent);\n }\n }\n\n /**\n * Retrieves all focusable elements within a given element based on the `focusableSelectors` array.\n *\n * @param {Element} column - The element from which to get focusable elements.\n * @returns {NodeListOf<HTMLElement>} - A NodeList of all focusable HTML elements found inside element.\n */\n getFocusableElementsInCell(column: Element): NodeListOf<HTMLElement> {\n return column.querySelectorAll(this.focusableSelectors.join(','));\n }\n\n /**\n * Determines whether a given DOM element is a grid cell.\n * @param column - The DOM element to check.\n * @returns Returns `true` if the element contains the specified CSS class, indicating it's a grid cell, otherwise `false`.\n *\n * @private\n */\n #isGridCell(column: Element): boolean {\n return column.classList.contains(this.selectors.focusElementSelector.substring(1));\n }\n\n /**\n * @param row\n * @returns\n */\n getSortedColumns(row: HTMLElement | null): (Element | HTMLElement)[] {\n return [...(row?.querySelectorAll(this.selectors.focusElementSelector) ?? [])];\n }\n\n /**\n * @param event\n */\n stopEventHandler(event: KeyboardEvent) {\n return (\n (event.target as HTMLElement).getAttribute('aria-expanded') === 'true' ||\n (event.target as HTMLElement).closest('.popper') ||\n !Object.values(this.keys).includes(event.keyCode)\n );\n }\n\n /**\n * Sets focus on the loader element and stores the column index of the current focused element.\n *\n * @param loader - The loader element that will receive focus.\n * @param currentCol - The currently focused column element whose index will be stored.\n *\n * @returns void\n */\n setFocusOnLoader(loader: HTMLElement, currentCol: HTMLElement) {\n // Store the current focussed cell - useful when coming back\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(currentCol)\n };\n loader.setAttribute(DATA_COLUMNINDEX, restoreFocusRef.columnIndex.toString());\n loader.focus();\n }\n\n /**\n * Handles the `Tab` key navigation within a container element .\n * Ensures that when the user tabs out of the repeating structures, focus can be restored to the\n * previously active cell (from which the user tabbed out). If `shiftKey` is pressed (indicating reverse tabbing), the focus will move to the\n * top boundary element, otherwise, it moves to the bottom boundary element.\n *\n * @param event - The keyboard event triggered by the `Tab` key.\n * @param currentCol - The current column (cell) element from which the user is tabbing out.\n * @param shiftKey - A boolean indicating if the `Shift` key is pressed (for reverse tabbing).\n *\n * @returns void\n */\n containerTabHandler(event: KeyboardEvent, currentCol: Element, shiftKey: boolean) {\n // focus should be restored to the cell\n // from which user has tabbed out from the table\n let hiddenBoundaryElement = this.selectors.bottomFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.bottomFocusRef)\n : null;\n if (shiftKey) {\n hiddenBoundaryElement = this.selectors.topFocusRef\n ? this.container.parentElement?.querySelector(this.selectors.topFocusRef)\n : null;\n }\n\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(currentCol)\n };\n if (hiddenBoundaryElement) {\n hiddenBoundaryElement.setAttribute(DATA_COLUMNINDEX, restoreFocusRef.columnIndex.toString());\n }\n\n this.tabHandler(event);\n }\n\n /**\n * Returns the first focusable element in the `container`.\n */\n getFocusableElementOnCtrlHome(): HTMLElement | null {\n return this.container.querySelector(this.selectors.focusElementSelector);\n }\n\n /**\n * Scrolls the nearest scrollable parent of a focusable element to the top.\n *\n * @private\n */\n #scrollToTop() {\n const scrollableParent = getScrollParent(\n this.container.querySelector(this.selectors.focusElementSelector)\n );\n if (scrollableParent) {\n scrollableParent.scrollTop = 0;\n }\n }\n\n /**\n * Handles the `Ctrl + Home` keypress event.\n *\n * It focuses the first focusable element in the container of the repeating structures,\n * and ensures that the view scrolls to the top after focusing.\n *\n * @returns void\n */\n handleCtrlHomeKeypress() {\n const cellToFocus = this.getFocusableElementOnCtrlHome();\n this.#focusFirstElementInCell(cellToFocus);\n\n this.#scrollToTop();\n }\n\n /**\n * @param nextItem\n * @param currentCol\n * @param keyCode\n */\n handleAnnouncementForErrors(nextItem: Element, currentCol: Element, keyCode: number) {\n return {\n ...this,\n nextItem,\n currentCol,\n keyCode\n };\n }\n\n /**\n * @param nextCol - The next item to focus on.\n * @param currentCol- The current element that has focus.\n * override this method for specific RS template\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n toggleStyleFormatAriaDescription(nextCol: Element, currentCol: Element) {}\n /**\n * Handles keyboard navigation. This method processes keyboard events like arrow keys, tab, home. It updates the `tabindex` of elements and supports accessibility\n * announcements for error handling.\n *\n * @param event - The keyboard event triggered by the user.\n * @param currentCol - The current element that has focus.\n *\n * @returns void\n *\n * @private\n */\n #containerEventHandlers(event: KeyboardEvent, currentCol: Element) {\n const { keyCode, shiftKey, ctrlKey } = event;\n if (this.stopEventHandler(event)) {\n return;\n }\n let nextItem: Element | undefined | null;\n\n if (this.selectors.parentElementSelector) {\n ({ nextItem } = this.#processWithParentSelector(\n currentCol as HTMLElement,\n keyCode,\n ctrlKey,\n nextItem\n ));\n } else {\n switch (keyCode) {\n case this.keys.UP:\n case this.keys.LEFT:\n nextItem = currentCol.previousElementSibling;\n break;\n case this.keys.RIGHT:\n case this.keys.DOWN:\n nextItem = currentCol.nextElementSibling;\n break;\n case this.keys.HOME:\n if (ctrlKey) {\n nextItem = this.container.querySelector(this.selectors.focusElementSelector);\n }\n break;\n default:\n }\n }\n\n if (keyCode === this.keys.TAB) {\n this.containerTabHandler(event, currentCol, shiftKey);\n }\n if (nextItem && currentCol) {\n event.preventDefault();\n const focusableElements = this.getFocusableElementsInCell(nextItem);\n // we will be supporting focus directly on the inner focusable elements so\n // tags like a, buttons should be skipped for focus on pressing tab\n if (!!this.actionableSelectors && !!this.ariaLabel) {\n const nextActionableElements = nextItem.querySelectorAll(\n this.actionableSelectors.join(',')\n );\n const nextFocusableElements = nextItem.querySelectorAll(this.focusableSelectors.join(','));\n const currentActionableElements = currentCol.querySelectorAll(\n this.actionableSelectors.join(',')\n );\n const currentFocusableElements = nextItem.querySelectorAll(\n this.focusableSelectors.join(',')\n );\n if (nextActionableElements.length || nextFocusableElements.length > 1) {\n nextItem.setAttribute('aria-label', this.ariaLabel);\n }\n if (currentActionableElements.length || currentFocusableElements.length > 1) {\n currentCol.removeAttribute('aria-label');\n }\n }\n currentCol.setAttribute('tabindex', '-1');\n if (focusableElements.length === 1 && this.#isGridCell(nextItem)) {\n this.handleAnnouncementForErrors(focusableElements[0], currentCol, keyCode);\n gainFocus(focusableElements[0]);\n } else {\n this.handleAnnouncementForErrors(nextItem, currentCol, keyCode);\n\n gainFocus(nextItem as HTMLElement);\n }\n\n this.toggleStyleFormatAriaDescription(nextItem, currentCol);\n }\n }\n\n /**\n * This method processes keyboard navigation events and moves focus between elements inside containers,\n * based on the arrow keys (up, down, left, right) and the Home key.\n *\n * @param currentCol - The current focused column element.\n * @param keyCode - The keycode of the pressed key (e.g., arrow keys, home key).\n * @param ctrlKey - Indicates if the `Ctrl` key was held down during the key press.\n * @param nextItem - The next item to focus on, updated by this function.\n *\n * @returns - Returns an object containing the index of the current element within its parent, the index of its parent element, and the next item to focus on.\n */\n #processWithParentSelector(\n currentCol: HTMLElement,\n keyCode: number,\n ctrlKey: boolean,\n nextItem: Element | undefined | null\n ) {\n const parentElements = this.container.querySelectorAll(this.selectors.parentElementSelector!);\n const indexOfCurrentEleInParent = [\n ...(currentCol\n .closest(this.selectors.parentElementSelector!)\n ?.querySelectorAll(this.selectors.focusElementSelector) ?? [])\n ].indexOf(currentCol);\n const currentEleParentIndex = [...parentElements].indexOf(\n currentCol.closest(this.selectors.parentElementSelector!)!\n );\n const sortedColumns = this.getSortedColumns(\n currentCol.closest(this.selectors.parentElementSelector!)\n );\n switch (keyCode) {\n case this.keys.HOME:\n if (ctrlKey) {\n this.handleCtrlHomeKeypress();\n }\n break;\n case this.keys.UP: {\n // Above Loader handler\n const aboveLoader = this.selectors.aboveLoader\n ? (this.container.querySelector(this.selectors.aboveLoader) as HTMLElement | null)\n : null;\n if (aboveLoader && currentEleParentIndex - 1 === 0) {\n this.setFocusOnLoader(aboveLoader, currentCol);\n } else if (currentEleParentIndex - 1 >= 0) {\n nextItem = parentElements[currentEleParentIndex - 1].querySelectorAll(\n this.selectors.focusElementSelector\n )[indexOfCurrentEleInParent];\n }\n break;\n }\n case this.keys.DOWN: {\n // Below Loader handler\n const belowLoader = this.selectors.belowLoader\n ? (this.container.querySelector(this.selectors.belowLoader) as HTMLElement | null)\n : null;\n if (belowLoader && parentElements.length === currentEleParentIndex + 1) {\n this.setFocusOnLoader(belowLoader, currentCol);\n } else if (parentElements.length > currentEleParentIndex + 1) {\n nextItem = parentElements[currentEleParentIndex + 1].querySelectorAll(\n this.selectors.focusElementSelector\n )[indexOfCurrentEleInParent];\n }\n break;\n }\n case this.keys.LEFT:\n nextItem = sortedColumns[sortedColumns.indexOf(currentCol) - 1];\n break;\n case this.keys.RIGHT:\n nextItem = sortedColumns[sortedColumns.indexOf(currentCol) + 1];\n break;\n default:\n }\n return { indexOfCurrentEleInParent, currentEleParentIndex, nextItem };\n }\n\n /**\n * Determines if the current element contains any `focusable` element.\n */\n #isFocusableElement(element: HTMLElement) {\n const colItem = element.closest(this.selectors.focusElementSelector);\n if (!colItem) return false;\n return [...colItem.querySelectorAll(this.focusableSelectors.join(','))].includes(element);\n }\n\n /**\n * Determines if the current element contains any `Actionable` elements like TextInput, TextArea\n */\n #isActionableElement(element: HTMLElement) {\n const colItem = element.closest(this.selectors.focusElementSelector);\n if (!colItem || !this.actionableSelectors) return false;\n return [...colItem.querySelectorAll(this.actionableSelectors.join(','))].includes(element);\n }\n\n /**\n * @param {KeyboardEvent} event\n */\n dynamicLoadersKeyDownHandler(event: KeyboardEvent) {\n const { keyCode } = event;\n event.stopPropagation();\n event.preventDefault();\n\n if (\n this.container &&\n (((event.target as HTMLElement).classList.contains(\n this.selectors.aboveLoader!.substring(1)\n ) &&\n keyCode === this.keys.DOWN) ||\n ((event.target as HTMLElement).classList.contains(\n this.selectors.belowLoader!.substring(1)\n ) &&\n keyCode === this.keys.UP))\n ) {\n let restoreFocusRef;\n\n if ((event.target as HTMLElement).hasAttribute(DATA_COLUMNINDEX)) {\n restoreFocusRef = {\n columnIndex: parseInt((event.target as HTMLElement).getAttribute(DATA_COLUMNINDEX)!, 10)\n };\n this.setFocusToCell(restoreFocusRef);\n return true;\n }\n }\n return false;\n }\n\n /**\n * Handles the keyboard navigation of a repeating structures.\n *\n * @public\n */\n a11yHandler(event: KeyboardEvent) {\n const rootNode = this.container.getRootNode();\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) return;\n const currentCol = rootNode.activeElement?.closest(this.selectors.focusElementSelector);\n const belowLoader = this.selectors.belowLoader\n ? this.container.querySelector(this.selectors.belowLoader)\n : null;\n const aboveLoader = this.selectors.aboveLoader\n ? this.container.querySelector(this.selectors.aboveLoader)\n : null;\n\n if (\n currentCol === rootNode.activeElement ||\n this.#isFocusableElement(rootNode.activeElement as HTMLElement) ||\n this.#isActionableElement(rootNode.activeElement as HTMLElement)\n ) {\n this.#containerEventHandlers(event, currentCol as HTMLElement);\n } else if (belowLoader === event.target || aboveLoader === event.target) {\n this.dynamicLoadersKeyDownHandler(event);\n }\n }\n\n /**\n * Sets the focus to a specific cell in the grid based on the given position. If there is exactly one focusable element in a cell,\n * focus is set on it. Otherwise, the entire cell receives focus.\n *\n * If the specified cell cannot be found, focus is set on the first focusable element.\n *\n * @param position - The position of the cell to focus.\n * @param position.columnIndex - The index of the column for which the focus should be set.\n *\n * @returns void\n */\n setFocusToCell(position: { columnIndex: number }) {\n const { columnIndex } = position;\n const cellToFocus = this.container.querySelectorAll(this.selectors.focusElementSelector)[\n columnIndex\n ];\n if (cellToFocus) {\n const focusableElements = this.getFocusableElementsInCell(cellToFocus);\n // we will be supporting focus directly on the inner focusable elements so\n // tags like a, buttons should be skipped for focus on pressing tab\n if (\n focusableElements.length === 1 &&\n this.#isGridCell(cellToFocus)\n // Enable this in EPIC-80524\n // || isSelectAllCheckbox(focusableElements[0])\n ) {\n gainFocus(focusableElements[0]);\n } else {\n gainFocus(cellToFocus as HTMLElement);\n }\n } else {\n this.focusFirstElement();\n }\n }\n\n /**\n * @param {HTMLElement | null} firstCell\n */\n #focusFirstElementInCell(firstCell: Element | null) {\n if (!firstCell) return;\n const focusableElements = this.getFocusableElementsInCell(firstCell);\n // if there is only one focusable element in cell, e.g. a[href], radio etc, focus on that\n if (focusableElements.length === 1 && this.#isGridCell(firstCell)) {\n gainFocus(focusableElements[0]);\n } else {\n // if there are multiple focusable elements in cell or the cell is not a grid cell, focus on whole cell\n\n gainFocus(firstCell as HTMLElement);\n }\n }\n\n focusFirstElement() {\n const row = this.selectors.parentElementSelector\n ? this.container.querySelector(this.selectors.parentElementSelector)\n : null;\n if (row) {\n const firstCell = row.querySelector(this.selectors.focusElementSelector);\n\n this.#focusFirstElementInCell(firstCell);\n }\n }\n\n /**\n * Handles focus events on boundary elements within the container.\n * This method stops the propagation of the focus event and checks whether the focus has moved\n * outside of the specified container. If so, it determines whether to restore focus to a specific\n * cell or to the first focusable element within the container.\n *\n * @param event - The focus event object, which includes the element that lost focus\n * (via the `relatedTarget` property).\n *\n * @returns void\n */\n boundaryElementsFocusHandler(event: FocusEvent) {\n const { relatedTarget } = event;\n event.stopPropagation();\n if (this.container && !this.container.contains(relatedTarget as HTMLElement)) {\n let restoreFocusRef;\n\n if ((event.target as HTMLElement).hasAttribute(DATA_COLUMNINDEX)) {\n restoreFocusRef = {\n columnIndex: parseInt((event.target as HTMLElement).getAttribute(DATA_COLUMNINDEX)!, 10)\n };\n }\n if (restoreFocusRef) {\n this.setFocusToCell(restoreFocusRef);\n } else {\n this.focusFirstElement();\n }\n }\n }\n\n onFocusHandler() {\n this.focusState.hadFocus = true;\n }\n\n onBlurHandler(event: FocusEvent) {\n const currentTarget = event.currentTarget;\n const relatedTarget = event.relatedTarget;\n // If relatedTarget is within the currentTarget i.e. RS container, skip the blur event capture as focus is still within the container.\n if (\n relatedTarget === null ||\n !(currentTarget && (currentTarget as HTMLElement).contains(relatedTarget as HTMLElement))\n ) {\n this.focusState.hadFocus = false;\n }\n }\n}\n\nexport default BaseA11y;\n"]}
@@ -45,11 +45,9 @@ declare const ActionTypes: {
45
45
  readonly UPDATE_AGGREGATIONS: "updateAggregations";
46
46
  readonly UPDATE_TABLE_HEIGHT: "updateTableHeight";
47
47
  readonly CHANGE_RENDERER_FORMATTER: "changeRenderFormatter";
48
+ readonly REMOVE_RENDERER_FORMATTER: "removeRenderFormatter";
48
49
  readonly CHANGE_LABEL: "changeLabel";
49
50
  readonly REPLACE_LABELS: "replaceLabels";
50
- readonly UPDATE_CHANGE_SET: "updateChangeSet";
51
- readonly SUBMIT_CHANGE_SET: "submitChangeSet";
52
- readonly CLEAR_CHANGE_SET: "clearChangeSet";
53
51
  readonly SHOW_HEADER_ICONS: "showHeaderIcons";
54
52
  readonly CHANGE_CELL_MODE: "changeCellMode";
55
53
  readonly FORCE_UPDATE: "forceUpdate";
@@ -1 +1 @@
1
- {"version":3,"file":"actionConstants.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actionConstants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EP,CAAC;AAEX,eAAe,WAAW,CAAC;AAC3B,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"actionConstants.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actionConstants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EP,CAAC;AAEX,eAAe,WAAW,CAAC;AAC3B,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -48,11 +48,9 @@ const ActionTypes = {
48
48
  UPDATE_AGGREGATIONS: 'updateAggregations',
49
49
  UPDATE_TABLE_HEIGHT: 'updateTableHeight',
50
50
  CHANGE_RENDERER_FORMATTER: 'changeRenderFormatter',
51
+ REMOVE_RENDERER_FORMATTER: 'removeRenderFormatter',
51
52
  CHANGE_LABEL: 'changeLabel',
52
53
  REPLACE_LABELS: 'replaceLabels',
53
- UPDATE_CHANGE_SET: 'updateChangeSet',
54
- SUBMIT_CHANGE_SET: 'submitChangeSet',
55
- CLEAR_CHANGE_SET: 'clearChangeSet',
56
54
  SHOW_HEADER_ICONS: 'showHeaderIcons',
57
55
  CHANGE_CELL_MODE: 'changeCellMode',
58
56
  FORCE_UPDATE: 'forceUpdate',
@@ -1 +1 @@
1
- {"version":3,"file":"actionConstants.js","sourceRoot":"","sources":["../../../../src/core/actions/actionConstants.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,gBAAgB,EAAE,kBAAkB;IACpC,mBAAmB,EAAE,qBAAqB;IAC1C,mCAAmC;IAEnC,qCAAqC;IACrC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,gCAAgC,EAAE,kCAAkC;IACpE,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,6BAA6B;IAC1D,+BAA+B,EAAE,iCAAiC;IAClE,sBAAsB,EAAE,wBAAwB;IAChD,mCAAmC;IAEnC,gBAAgB,EAAE,iBAAiB;IACnC,sBAAsB,EAAE,sBAAsB;IAC9C,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,kBAAkB;IACvC,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,iBAAiB;IACpC,aAAa,EAAE,cAAc;IAC7B,aAAa,EAAE,cAAc;IAC7B,oBAAoB,EAAE,oBAAoB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,oBAAoB;IAC1C,sBAAsB,EAAE,sBAAsB;IAC9C,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,aAAa;IAC3B,oBAAoB,EAAE,oBAAoB;IAC1C,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,gBAAgB;IAClC,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,gBAAgB;IAClC,oBAAoB,EAAE,oBAAoB;IAC1C,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,mBAAmB;IACvC,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,mBAAmB;IACxC,yBAAyB,EAAE,uBAAuB;IAClD,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,eAAe;IAC/B,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,gBAAgB;IAClC,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,cAAc;IAC7B,0BAA0B,EAAE,yBAAyB;IACrD,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,yBAAyB;IAEpD,iHAAiH;IACjH,wBAAwB,EAAE,wBAAwB;IAClD,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,gBAAgB;IACjC,mBAAmB,EAAE,mBAAmB;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,iCAAiC,EAAE,gCAAgC;IACnE,qBAAqB,EAAE,oBAAoB;IAC3C,oBAAoB,EAAE,oBAAoB;IAC1C,cAAc,EAAE,cAAc;IAC9B,6BAA6B,EAAE,sCAAsC;IACrE,yBAAyB,EAAE,yBAAyB;IACpD,6BAA6B,EAAE,4BAA4B;CACnD,CAAC;AAEX,eAAe,WAAW,CAAC","sourcesContent":["const ActionTypes = {\n NOTIFICATION_ADD: 'NOTIFICATION_ADD',\n NOTIFICATION_REMOVE: 'NOTIFICATION_REMOVE',\n /* Personalization Actions - End */\n\n /* Personalization Actions - Start */\n PERSONALIZATION_GET: 'PERSONALIZATION_GET',\n PERSONALIZATION_EDIT: 'PERSONALIZATION_EDIT',\n PERSONALIZATION_UPDATE: 'PERSONALIZATION_UPDATE',\n PERSONALIZATION_UPDATE_ID: 'PERSONALIZATION_UPDATE_ID',\n PERSONALIZATION_UPDATE_PRESET_ID: 'PERSONALIZATION_UPDATE_PRESET_ID',\n PERSONALIZATION_DELETE: 'PERSONALIZATION_DELETE',\n PERSONALIZATION_SET_ACTIVE: 'PERSONALIZATION_SET_ACTIVE',\n PERSONALIZATION_SET_DEFAULT: 'PERSONALIZATION_SET_DEFAULT',\n PERSONALIZATION_SET_APP_DEFAULT: 'PERSONALIZATION_SET_APP_DEFAULT',\n PERSONALIZATION_CREATE: 'PERSONALIZATION_CREATE',\n /* Personalization Actions - End */\n\n COLUMN_FILTERING: 'columnFiltering',\n COLUMN_CLEAR_FILTERING: 'columnClearFiltering',\n TOGGLE_PIN: 'togglePin',\n TOGGLE_PIN_AT_INDEX: 'togglePinAtIndex',\n COLUMN_SORT: 'columnSort',\n UPDATE_SORT: 'updateSort',\n BOOTSTRAP: 'bootstrap',\n PAGINATE: 'paginate',\n ROW_HEIGHT_CHANGE: 'rowHeightChange',\n COLUMN_RESIZE: 'columnResize',\n COLUMN_TOGGLE: 'columnToggle',\n HIDDEN_COLUMN_UPDATE: 'hiddenColumnUpdate',\n COLUMN_DRAG_DROP: 'COLUMN_DRAG_DROP',\n COLUMN_DISPLAY_CHANGE: 'COLUMN_DISPLAY_CHANGE’',\n TOGGLE_GROUPING: 'toggleGrouping',\n UPDATE_GROUPING_SORT: 'updateGroupingSort',\n TOGGLE_EXPAND_COLLAPSE: 'toggleExpandCollapse',\n ADD_GROUPS: 'addGroups',\n SEARCH: 'search',\n COLUMN_MERGE: 'columnMerge',\n CUSTOM_COLUMN_DELETE: 'customColumnDelete',\n HYDRATE_STATE: 'HYDRATE_STATE',\n SANITIZE_STATE: 'sanitizeState',\n MOVE_RECORD_KEYS: 'moverecordkeys',\n UPDATE_COLUMN_ORDER: 'updateColumnOrder',\n NEW_COLUMN_ORDER: 'newColumnOrder',\n UPDATE_ROW_SELECTION: 'updateRowSelection',\n UPDATE_ROW_SELECTION_STATUS: 'UPDATE_ROW_SELECTION_STATUS',\n UPDATE_ROW_SELECTION_ITEMS: 'UPDATE_ROW_SELECTION_ITEMS',\n CLEAR_ROW_SELECTION: 'CLEAR_ROW_SELECTION',\n UPDATE_AGGREGATION: 'updateAggregation',\n UPDATE_AGGREGATIONS: 'updateAggregations',\n UPDATE_TABLE_HEIGHT: 'updateTableHeight',\n CHANGE_RENDERER_FORMATTER: 'changeRenderFormatter',\n CHANGE_LABEL: 'changeLabel',\n REPLACE_LABELS: 'replaceLabels',\n UPDATE_CHANGE_SET: 'updateChangeSet',\n SUBMIT_CHANGE_SET: 'submitChangeSet',\n CLEAR_CHANGE_SET: 'clearChangeSet',\n SHOW_HEADER_ICONS: 'showHeaderIcons',\n CHANGE_CELL_MODE: 'changeCellMode',\n FORCE_UPDATE: 'forceUpdate',\n FORCE_REFRESH: 'forceRefresh',\n TOGGLE_EXPAND_COLLAPSE_ALL: 'toggleExpandCollapseAll',\n UPDATE_STATE_VERSION: 'updateStateVersion',\n TOGGLE_SELECTALL_CHECKBOX: 'toggleSelectAllCheckbox',\n\n // Dispatch Action constants that is used by consumer in order to send particular actions to Repeating structures\n TOGGLE_DISABLE_SELECTION: 'toggleDisableSelection',\n UPDATE_DEBUG_INFO: 'updateDebugInfo',\n TOGGLE_REQUIRED: 'toggleRequired',\n NOTIFY_DATA_REFRESH: 'notifyDataRefresh',\n USER_CONFIRMATION_ACTION: 'userConfirmationAction',\n COMPLETE_USER_CONFIRMATION_ACTION: 'completeUserConfirmationAction',\n SET_IN_EXTERNAL_STATE: 'setInExternalState',\n UPDATE_SELECTED_ROWS: 'updateSelectedRows',\n SET_DATA_ERROR: 'setDataError',\n SET_DOM_CONTAINER_BREAKPOINTS: 'setDomContainerResponsiveBreakpoints',\n UPDATE_COLUMNS_VISIBILITY: 'updateColumnsVisibility',\n SET_CONDITIONAL_STYLE_FORMATS: 'setConditionalStyleFormats'\n} as const;\n\nexport default ActionTypes;\nexport type ActionType = (typeof ActionTypes)[keyof typeof ActionTypes];\n"]}
1
+ {"version":3,"file":"actionConstants.js","sourceRoot":"","sources":["../../../../src/core/actions/actionConstants.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,gBAAgB,EAAE,kBAAkB;IACpC,mBAAmB,EAAE,qBAAqB;IAC1C,mCAAmC;IAEnC,qCAAqC;IACrC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,gCAAgC,EAAE,kCAAkC;IACpE,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,6BAA6B;IAC1D,+BAA+B,EAAE,iCAAiC;IAClE,sBAAsB,EAAE,wBAAwB;IAChD,mCAAmC;IAEnC,gBAAgB,EAAE,iBAAiB;IACnC,sBAAsB,EAAE,sBAAsB;IAC9C,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,kBAAkB;IACvC,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,iBAAiB;IACpC,aAAa,EAAE,cAAc;IAC7B,aAAa,EAAE,cAAc;IAC7B,oBAAoB,EAAE,oBAAoB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,oBAAoB;IAC1C,sBAAsB,EAAE,sBAAsB;IAC9C,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,aAAa;IAC3B,oBAAoB,EAAE,oBAAoB;IAC1C,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,gBAAgB;IAClC,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,gBAAgB;IAClC,oBAAoB,EAAE,oBAAoB;IAC1C,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,mBAAmB;IACvC,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,mBAAmB;IACxC,yBAAyB,EAAE,uBAAuB;IAClD,yBAAyB,EAAE,uBAAuB;IAClD,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,eAAe;IAC/B,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,gBAAgB;IAClC,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,cAAc;IAC7B,0BAA0B,EAAE,yBAAyB;IACrD,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,yBAAyB;IAEpD,iHAAiH;IACjH,wBAAwB,EAAE,wBAAwB;IAClD,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,gBAAgB;IACjC,mBAAmB,EAAE,mBAAmB;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,iCAAiC,EAAE,gCAAgC;IACnE,qBAAqB,EAAE,oBAAoB;IAC3C,oBAAoB,EAAE,oBAAoB;IAC1C,cAAc,EAAE,cAAc;IAC9B,6BAA6B,EAAE,sCAAsC;IACrE,yBAAyB,EAAE,yBAAyB;IACpD,6BAA6B,EAAE,4BAA4B;CACnD,CAAC;AAEX,eAAe,WAAW,CAAC","sourcesContent":["const ActionTypes = {\n NOTIFICATION_ADD: 'NOTIFICATION_ADD',\n NOTIFICATION_REMOVE: 'NOTIFICATION_REMOVE',\n /* Personalization Actions - End */\n\n /* Personalization Actions - Start */\n PERSONALIZATION_GET: 'PERSONALIZATION_GET',\n PERSONALIZATION_EDIT: 'PERSONALIZATION_EDIT',\n PERSONALIZATION_UPDATE: 'PERSONALIZATION_UPDATE',\n PERSONALIZATION_UPDATE_ID: 'PERSONALIZATION_UPDATE_ID',\n PERSONALIZATION_UPDATE_PRESET_ID: 'PERSONALIZATION_UPDATE_PRESET_ID',\n PERSONALIZATION_DELETE: 'PERSONALIZATION_DELETE',\n PERSONALIZATION_SET_ACTIVE: 'PERSONALIZATION_SET_ACTIVE',\n PERSONALIZATION_SET_DEFAULT: 'PERSONALIZATION_SET_DEFAULT',\n PERSONALIZATION_SET_APP_DEFAULT: 'PERSONALIZATION_SET_APP_DEFAULT',\n PERSONALIZATION_CREATE: 'PERSONALIZATION_CREATE',\n /* Personalization Actions - End */\n\n COLUMN_FILTERING: 'columnFiltering',\n COLUMN_CLEAR_FILTERING: 'columnClearFiltering',\n TOGGLE_PIN: 'togglePin',\n TOGGLE_PIN_AT_INDEX: 'togglePinAtIndex',\n COLUMN_SORT: 'columnSort',\n UPDATE_SORT: 'updateSort',\n BOOTSTRAP: 'bootstrap',\n PAGINATE: 'paginate',\n ROW_HEIGHT_CHANGE: 'rowHeightChange',\n COLUMN_RESIZE: 'columnResize',\n COLUMN_TOGGLE: 'columnToggle',\n HIDDEN_COLUMN_UPDATE: 'hiddenColumnUpdate',\n COLUMN_DRAG_DROP: 'COLUMN_DRAG_DROP',\n COLUMN_DISPLAY_CHANGE: 'COLUMN_DISPLAY_CHANGE’',\n TOGGLE_GROUPING: 'toggleGrouping',\n UPDATE_GROUPING_SORT: 'updateGroupingSort',\n TOGGLE_EXPAND_COLLAPSE: 'toggleExpandCollapse',\n ADD_GROUPS: 'addGroups',\n SEARCH: 'search',\n COLUMN_MERGE: 'columnMerge',\n CUSTOM_COLUMN_DELETE: 'customColumnDelete',\n HYDRATE_STATE: 'HYDRATE_STATE',\n SANITIZE_STATE: 'sanitizeState',\n MOVE_RECORD_KEYS: 'moverecordkeys',\n UPDATE_COLUMN_ORDER: 'updateColumnOrder',\n NEW_COLUMN_ORDER: 'newColumnOrder',\n UPDATE_ROW_SELECTION: 'updateRowSelection',\n UPDATE_ROW_SELECTION_STATUS: 'UPDATE_ROW_SELECTION_STATUS',\n UPDATE_ROW_SELECTION_ITEMS: 'UPDATE_ROW_SELECTION_ITEMS',\n CLEAR_ROW_SELECTION: 'CLEAR_ROW_SELECTION',\n UPDATE_AGGREGATION: 'updateAggregation',\n UPDATE_AGGREGATIONS: 'updateAggregations',\n UPDATE_TABLE_HEIGHT: 'updateTableHeight',\n CHANGE_RENDERER_FORMATTER: 'changeRenderFormatter',\n REMOVE_RENDERER_FORMATTER: 'removeRenderFormatter',\n CHANGE_LABEL: 'changeLabel',\n REPLACE_LABELS: 'replaceLabels',\n SHOW_HEADER_ICONS: 'showHeaderIcons',\n CHANGE_CELL_MODE: 'changeCellMode',\n FORCE_UPDATE: 'forceUpdate',\n FORCE_REFRESH: 'forceRefresh',\n TOGGLE_EXPAND_COLLAPSE_ALL: 'toggleExpandCollapseAll',\n UPDATE_STATE_VERSION: 'updateStateVersion',\n TOGGLE_SELECTALL_CHECKBOX: 'toggleSelectAllCheckbox',\n\n // Dispatch Action constants that is used by consumer in order to send particular actions to Repeating structures\n TOGGLE_DISABLE_SELECTION: 'toggleDisableSelection',\n UPDATE_DEBUG_INFO: 'updateDebugInfo',\n TOGGLE_REQUIRED: 'toggleRequired',\n NOTIFY_DATA_REFRESH: 'notifyDataRefresh',\n USER_CONFIRMATION_ACTION: 'userConfirmationAction',\n COMPLETE_USER_CONFIRMATION_ACTION: 'completeUserConfirmationAction',\n SET_IN_EXTERNAL_STATE: 'setInExternalState',\n UPDATE_SELECTED_ROWS: 'updateSelectedRows',\n SET_DATA_ERROR: 'setDataError',\n SET_DOM_CONTAINER_BREAKPOINTS: 'setDomContainerResponsiveBreakpoints',\n UPDATE_COLUMNS_VISIBILITY: 'updateColumnsVisibility',\n SET_CONDITIONAL_STYLE_FORMATS: 'setConditionalStyleFormats'\n} as const;\n\nexport default ActionTypes;\nexport type ActionType = (typeof ActionTypes)[keyof typeof ActionTypes];\n"]}
@@ -1,8 +1,8 @@
1
1
  import { type ConditionalStyleFormat, type FieldDef, type HierarchicalInfo, type ROW_DENSITY } from '../../../types/Meta.types';
2
- import type { EditInfo, Errors, Group, Notification, State } from '../../../types/State.types';
2
+ import type { Errors, Group, Notification, State } from '../../../types/State.types';
3
3
  import type Column from '../generators/ColumnGenerator';
4
4
  import type View from '../generators/ViewGenerator';
5
- import type { ActionMeta, ApplyAliasesActionPayload, ChangeLabelActionPayload, ColumnDragDropAction, ColumnFilteringActionPayload, ColumnResizePayload, ColumnSortPayload, DeleteCustomColumnPayload, ExpandCollapsePayload, MergeColumnsPayload, MoveRecordKeysUpdatePayload, PaginateAction, PaginationPayload, RowSelectionItemsUpdatePayload, RowSelectionUpdatePayload, SanitizableProperties, SearchGlobalActionAsFunction, SubmitChangeSetPayload, UpdateAggregationPayload, UpdateRenderFormatterPayload, UpdateRowSelectionStatusPayload } from './actions.types';
5
+ import type { ActionMeta, ApplyAliasesActionPayload, ChangeLabelActionPayload, ColumnDragDropAction, ColumnFilteringActionPayload, ColumnResizePayload, ColumnSortPayload, DeleteCustomColumnPayload, ExpandCollapsePayload, MergeColumnsPayload, MoveRecordKeysUpdatePayload, PaginateAction, PaginationPayload, RemoveRenderFormatterPayload, RowSelectionItemsUpdatePayload, RowSelectionUpdatePayload, SanitizableProperties, SearchGlobalActionAsFunction, UpdateAggregationPayload, UpdateRenderFormatterPayload, UpdateRowSelectionStatusPayload } from './actions.types';
6
6
  export declare function actionNotificationAdd(notifications: Notification | Notification[]): {
7
7
  type: "NOTIFICATION_ADD";
8
8
  payload: {
@@ -283,6 +283,10 @@ export declare function actionUpdateRenderFormatter(payload: UpdateRenderFormatt
283
283
  type: "changeRenderFormatter";
284
284
  payload: UpdateRenderFormatterPayload;
285
285
  };
286
+ export declare function actionRemoveRenderFormatter(payload: RemoveRenderFormatterPayload): {
287
+ type: "removeRenderFormatter";
288
+ payload: RemoveRenderFormatterPayload;
289
+ };
286
290
  export declare function actionUpdateDisplayMode(payload: HierarchicalInfo): {
287
291
  type: "COLUMN_DISPLAY_CHANGE’";
288
292
  payload: HierarchicalInfo;
@@ -295,22 +299,6 @@ export declare function actionReplaceLabels(payload: ApplyAliasesActionPayload):
295
299
  type: "replaceLabels";
296
300
  payload: ApplyAliasesActionPayload;
297
301
  };
298
- export declare function actionEditCell(payload: EditInfo): {
299
- type: "changeCellMode";
300
- payload: EditInfo;
301
- };
302
- export declare function actionUpdateChangeSet(payload: SubmitChangeSetPayload): {
303
- type: "updateChangeSet";
304
- payload: SubmitChangeSetPayload;
305
- };
306
- export declare function actionSubmitChangeSet(payload: SubmitChangeSetPayload): {
307
- type: "submitChangeSet";
308
- payload: SubmitChangeSetPayload;
309
- };
310
- export declare function actionClearChangeSet(payload: SubmitChangeSetPayload): {
311
- type: "clearChangeSet";
312
- payload: SubmitChangeSetPayload;
313
- };
314
302
  export declare function actionShowHeaderIcons(showHeaderIcons: boolean): {
315
303
  type: "showHeaderIcons";
316
304
  payload: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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"}