@zohodesk/library-platform 1.1.2 → 1.1.3-exp.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/es/bc/column-chooser/Constants.js +4 -0
  2. package/es/bc/column-chooser/EventHandlers.js +2 -0
  3. package/es/bc/column-chooser/Events.js +59 -0
  4. package/es/bc/column-chooser/Properties.js +18 -0
  5. package/es/bc/keyboard-controls/Constants.js +5 -0
  6. package/es/bc/keyboard-controls/Events.js +51 -0
  7. package/es/bc/keyboard-controls/Properties.js +11 -0
  8. package/es/bc/keyboard-controls/types/KeyboardControlBehaviourState.js +1 -0
  9. package/es/bc/sdk/EventHandlers.js +1 -0
  10. package/es/bc/sdk/Properties.js +10 -0
  11. package/es/bc/sdk/ResourceNamesEnum.js +6 -0
  12. package/es/bc/zlist/Properties.js +15 -0
  13. package/es/cc/action-location/Constants.js +5 -3
  14. package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
  15. package/es/cc/component/LifeCycleEventsEnum.js +9 -0
  16. package/es/cc/fields/field/Properties.js +10 -1
  17. package/es/cc/fields/index.js +1 -1
  18. package/es/cc/table-column-chooser/Constants.js +6 -0
  19. package/es/cc/table-column-chooser/Events.js +69 -0
  20. package/es/cc/table-column-chooser/Properties.js +122 -0
  21. package/es/cc/table-column-chooser/index.js +3 -0
  22. package/es/cc/table-connected/Properties.js +16 -0
  23. package/es/cc/table-connected/constants/Events.js +4 -1
  24. package/es/cc/table-list/Properties.js +27 -1
  25. package/es/cc/table-list/data-types/KeyboardControlsConfig.js +1 -0
  26. package/es/cc/table-list/row/Properties.js +18 -0
  27. package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +36 -0
  28. package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserUpdateController.js +25 -0
  29. package/es/desk-frameworks/table-connected/frameworks/EventHandlersFactory.js +18 -7
  30. package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +15 -130
  31. package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +13 -2
  32. package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +9 -6
  33. package/es/desk-frameworks/table-connected/frameworks/resources/ISmartTableResource.js +1 -0
  34. package/es/desk-frameworks/table-connected/frameworks/resources/SmartTableResource.js +233 -0
  35. package/es/index.js +3 -1
  36. package/es/library/behaviours/keyboard-controls/adapters/controllers/AbstractController.js +9 -0
  37. package/es/library/behaviours/keyboard-controls/adapters/controllers/DestructController.js +20 -0
  38. package/es/library/behaviours/keyboard-controls/adapters/controllers/DownArrowPressController.js +20 -0
  39. package/es/library/behaviours/keyboard-controls/adapters/controllers/EnterPressController.js +24 -0
  40. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusNextController.js +20 -0
  41. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusPreviousController.js +20 -0
  42. package/es/library/behaviours/keyboard-controls/adapters/controllers/InitializeController.js +20 -0
  43. package/es/library/behaviours/keyboard-controls/adapters/controllers/SpacePressController.js +24 -0
  44. package/es/library/behaviours/keyboard-controls/adapters/controllers/UpArrowPressController.js +20 -0
  45. package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +81 -0
  46. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +47 -0
  47. package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +40 -0
  48. package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +39 -0
  49. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCase.js +0 -0
  50. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCaseDependencies.js +1 -0
  51. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IKeyboardHandler.js +1 -0
  52. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IRepository.js +1 -0
  53. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IService.js +1 -0
  54. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DestructInputModel.js +1 -0
  55. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DownArrowPressInputModel.js +1 -0
  56. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/EnterPressInputModel.js +1 -0
  57. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusNextInputModel.js +1 -0
  58. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusPreviousInputModel.js +1 -0
  59. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/InitializeInputModel.js +1 -0
  60. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/RowActionInputModel.js +1 -0
  61. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SelectionInputModel.js +1 -0
  62. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SpacePressInputModel.js +1 -0
  63. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/UpArrowPressInputModel.js +1 -0
  64. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/IPresenter.js +1 -0
  65. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/OutputModel.js +1 -0
  66. package/es/library/behaviours/keyboard-controls/applications/usecases/AbstractUseCase.js +19 -0
  67. package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +20 -0
  68. package/es/library/behaviours/keyboard-controls/applications/usecases/DownArrowPress.js +16 -0
  69. package/es/library/behaviours/keyboard-controls/applications/usecases/EnterPress.js +19 -0
  70. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusNextUsecase.js +16 -0
  71. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusPreviousUsecase.js +16 -0
  72. package/es/library/behaviours/keyboard-controls/applications/usecases/InitializeUsecase.js +20 -0
  73. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +19 -0
  74. package/es/library/behaviours/keyboard-controls/applications/usecases/UpArrowPress.js +16 -0
  75. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +87 -0
  76. package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js +1 -0
  77. package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js +1 -0
  78. package/es/library/behaviours/keyboard-controls/frameworks/EventHandlerFactory.js +48 -0
  79. package/es/library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory.js +23 -0
  80. package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
  81. package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
  82. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +3 -0
  83. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
  84. package/es/library/custom-component/domain/entities/Component.js +4 -0
  85. package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
  86. package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +8 -0
  87. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -0
  88. package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
  89. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +36 -0
  90. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +31 -0
  91. package/es/library/dot/components/table-list/adapters/controllers/index.js +3 -1
  92. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +5 -3
  93. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +4 -1
  94. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +10 -3
  95. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +3 -0
  96. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -10
  97. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +7 -3
  98. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -2
  99. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +28 -0
  100. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +5 -0
  101. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +7 -2
  102. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +1 -0
  103. package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser.js +11 -0
  104. package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooserView.js +79 -0
  105. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +8 -4
  106. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +6 -8
  107. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +4 -3
  108. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -6
  109. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +1 -1
  110. package/es/platform/column-chooser/adapters/controllers/AbstractController.js +10 -0
  111. package/es/platform/column-chooser/adapters/controllers/ColumnChooserCloseController.js +21 -0
  112. package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +26 -0
  113. package/es/platform/column-chooser/adapters/controllers/ColumnChooserReorderController.js +26 -0
  114. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSaveController.js +21 -0
  115. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSearchController.js +24 -0
  116. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSelectController.js +26 -0
  117. package/es/platform/column-chooser/adapters/gateways/Repository.js +38 -0
  118. package/es/platform/column-chooser/adapters/gateways/Service.js +34 -0
  119. package/es/platform/column-chooser/adapters/gateways/State.js +1 -0
  120. package/es/platform/column-chooser/adapters/presenters/Presenter.js +25 -0
  121. package/es/platform/column-chooser/applications/interfaces/UsecaseDependencies.js +1 -0
  122. package/es/platform/column-chooser/applications/interfaces/gateways/IRepository.js +1 -0
  123. package/es/platform/column-chooser/applications/interfaces/gateways/IService.js +1 -0
  124. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserCloseInput.js +1 -0
  125. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserOpenInput.js +1 -0
  126. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserReorderInput.js +1 -0
  127. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSaveInput.js +1 -0
  128. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSearchInput.js +1 -0
  129. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSelectInput.js +1 -0
  130. package/es/platform/column-chooser/applications/interfaces/output/BehaviourState.js +1 -0
  131. package/es/platform/column-chooser/applications/interfaces/output/IPresenter.js +1 -0
  132. package/es/platform/column-chooser/applications/usecases/AbstractUseCase.js +18 -0
  133. package/es/platform/column-chooser/applications/usecases/ColumnChooserCloseUseCase.js +34 -0
  134. package/es/platform/column-chooser/applications/usecases/ColumnChooserOpenUseCase.js +20 -0
  135. package/es/platform/column-chooser/applications/usecases/ColumnChooserReorderUseCase.js +20 -0
  136. package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +31 -0
  137. package/es/platform/column-chooser/applications/usecases/ColumnChooserSearchUseCase.js +19 -0
  138. package/es/platform/column-chooser/applications/usecases/ColumnChooserSelectUseCase.js +26 -0
  139. package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +95 -0
  140. package/es/platform/column-chooser/domain/entities/ReorderEntityImp.js +35 -0
  141. package/es/platform/column-chooser/domain/entities/SearchEntityImp.js +28 -0
  142. package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +58 -0
  143. package/es/platform/column-chooser/domain/entities/interfaces/ColumnChooser.js +1 -0
  144. package/es/platform/column-chooser/domain/entities/interfaces/ReorderEntity.js +1 -0
  145. package/es/platform/column-chooser/domain/entities/interfaces/SearchEntity.js +1 -0
  146. package/es/platform/column-chooser/domain/entities/interfaces/SelectEntity.js +1 -0
  147. package/es/platform/column-chooser/frameworks/ColumnChooserBehaviourFactory.js +19 -0
  148. package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +30 -0
  149. package/es/platform/data-source/http-template/updateSelectedFields.js +28 -0
  150. package/es/platform/data-source/index.js +2 -0
  151. package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
  152. package/es/platform/sdk/adapters/gateways/Service.js +27 -0
  153. package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
  154. package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
  155. package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
  156. package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
  157. package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
  158. package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  159. package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  160. package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
  161. package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
  162. package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
  163. package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
  164. package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
  165. package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
  166. package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
  167. package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
  168. package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
  169. package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
  170. package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
  171. package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
  172. package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
  173. package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
  174. package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
  175. package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
  176. package/es/platform/sdk/frameworks/AbstractResource.js +16 -0
  177. package/es/platform/sdk/frameworks/Sdk.js +11 -0
  178. package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
  179. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
  180. package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
  181. package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
  182. package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
  183. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
  184. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
  185. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
  186. package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
  187. package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
  188. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
  189. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
  190. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
  191. package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  192. package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  193. package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
  194. package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
  195. package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
  196. package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
  197. package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
  198. package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
  199. package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
  200. package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
  201. package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
  202. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +3 -1
  203. package/es/platform/zfield/domain/entities/interfaces/FieldApiName.js +1 -0
  204. package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +6 -1
  205. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +2 -2
  206. package/es/platform/zlist/adapters/gateways/Repository.js +4 -2
  207. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +94 -0
  208. package/es/platform/zlist/adapters/presenters/TableTranslator.js +35 -19
  209. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +63 -4
  210. package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -2
  211. package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
  212. package/es/platform/zlist/adapters/presenters/translators/Row.js +1 -1
  213. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +6 -6
  214. package/es/platform/zlist/adapters/presenters/translators/interfaces/State.js +2 -1
  215. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +78 -6
  216. package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
  217. package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
  218. package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
  219. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
  220. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
  221. package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +4 -1
  222. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
  223. package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -1
  224. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
  225. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
  226. package/es/platform/zlist/domain/entities/List.js +26 -2
  227. package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -3
  228. package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
  229. package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
  230. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
  231. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
  232. package/es/platform/zrecord/domain/entities/Records.js +9 -4
  233. package/es/platform/zrecord/domain/entities/RecordsManager.js +8 -0
  234. package/package.json +10 -8
  235. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +0 -26
@@ -0,0 +1,23 @@
1
+ import EventHandlerFactory from "./EventHandlerFactory";
2
+ import events from "../../../../bc/keyboard-controls/Events";
3
+ import properties from "../../../../bc/keyboard-controls/Properties";
4
+
5
+ class KeyboardControlBehaviourFactory {
6
+ static create() {
7
+ return {
8
+ name: 'keyboardControls',
9
+ setInitialState: () => {
10
+ return {
11
+ focussedIndex: 0,
12
+ totalLists: 0
13
+ };
14
+ },
15
+ eventHandlers: EventHandlerFactory.create(),
16
+ events,
17
+ properties
18
+ };
19
+ }
20
+
21
+ }
22
+
23
+ export default KeyboardControlBehaviourFactory;
@@ -10,6 +10,7 @@ import UpdateController from "../adapters/controllers/UpdateController";
10
10
  import DestructController from "../adapters/controllers/DestructController";
11
11
  import SelectController from "../adapters/controllers/SelectController";
12
12
  import DeselectController from "../adapters/controllers/DeselectController";
13
+ import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
13
14
 
14
15
  class ActionHandlerFactory {
15
16
  static create() {
@@ -28,9 +29,9 @@ class ActionHandlerFactory {
28
29
 
29
30
  static createHandlers(service) {
30
31
  return {
31
- ['MOUNT']: new InitializeController(service).handle,
32
- ['UPDATE_PROPERTIES']: new UpdateController(service).handle,
33
- ['UNMOUNT']: new DestructController(service).handle,
32
+ [LifeCycleEvents.MOUNT]: new InitializeController(service).handle,
33
+ [LifeCycleEvents.UPDATE_PROPERTIES]: new UpdateController(service).handle,
34
+ [LifeCycleEvents.UN_MOUNT]: new DestructController(service).handle,
34
35
  [LIST_SELECTION_SELECT_ITEM]: new SelectController(service).handle,
35
36
  [LIST_SELECTION_DESELECT_ITEM]: new DeselectController(service).handle,
36
37
  [LIST_SELECTION_TOGGLE_ITEMS]: new SelectionController(service).handle,
@@ -1,31 +1,18 @@
1
+ import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
1
2
  import Behaviour from "../../domain/entities/Behaviour";
2
3
  import EventHandlersFactory from "./EventHandlersFactory";
3
4
  import PropertiesFactory from "./PropertiesFactory";
4
- /* eslint-disable max-lines-per-function, @zohodesk/architecturerules/no-returnStatement-rule */
5
5
 
6
6
  class BehavioursFactory {
7
7
  static create(input) {
8
- /* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
9
- let behaviours = input.behaviours || [];
8
+ const behaviours = input.behaviours ? input.behaviours : [];
10
9
  return behaviours.map(behaviour => {
11
10
  // DEPRECATED: Remove while refactoring actionHandlers
12
11
  if (behaviour.actionHandlers) {
13
12
  behaviour.eventHandlers = behaviour.actionHandlers;
14
13
  }
15
14
 
16
- const {
17
- eventHandlers
18
- } = behaviour;
19
- let newEventHandlers = Object.keys(eventHandlers).reduce((res, next) => {
20
- let key = next;
21
-
22
- if (['MOUNT', 'UN_MOUNT', 'UPDATE_PROPERTIES'].includes(next)) {
23
- key = input.name + '#' + next;
24
- }
25
-
26
- res[key] = eventHandlers[next];
27
- return res;
28
- }, {});
15
+ const newEventHandlers = BehavioursFactory.createNamedEventHandlers(behaviour.eventHandlers, input);
29
16
  return new Behaviour({
30
17
  name: behaviour.name,
31
18
  eventHandlers: EventHandlersFactory(newEventHandlers),
@@ -38,6 +25,21 @@ class BehavioursFactory {
38
25
  });
39
26
  }
40
27
 
28
+ static createNamedEventHandlers(eventHandlers, input) {
29
+ return Object.keys(eventHandlers).reduce((res, key) => {
30
+ // if (['MOUNT', 'UN_MOUNT', 'UPDATE_PROPERTIES'].includes(eventName)) {
31
+ // if ('MOUNT', LifeCycleEvents.UN_MOUNT, LifeCycleEvents.UPDATE_PROPERTIES, LifeCycleEvents.STATE_UPDATED].includes(eventName)) {
32
+ let eventName = key;
33
+
34
+ if (LifeCycleEvents[key]) {
35
+ eventName = `${input.name}#${key}`;
36
+ }
37
+
38
+ res[eventName] = eventHandlers[key];
39
+ return res;
40
+ }, {});
41
+ }
42
+
41
43
  }
42
44
 
43
45
  export default BehavioursFactory;
@@ -21,6 +21,9 @@ class UpdatePropertyUseCase extends AbstractUseCase {
21
21
  previousProperties: properties
22
22
  });
23
23
  eventManager.dispatch(updatePropertyAction);
24
+ eventManager.dispatch(component.getStateUpdatedAction({
25
+ state
26
+ }));
24
27
  }
25
28
  }
26
29
 
@@ -4,7 +4,8 @@ class UpdateStateUseCase extends AbstractUseCase {
4
4
  execute(newState) {
5
5
  let {
6
6
  repository,
7
- presenter
7
+ presenter,
8
+ eventManager
8
9
  } = this.dependencies;
9
10
  let component = repository.getComponent(); // let preState=component.getState();
10
11
  // console.log(`preState ${component.getName()}`,preState)
@@ -13,6 +14,9 @@ class UpdateStateUseCase extends AbstractUseCase {
13
14
  let state = component.getState(); // console.log(`newState ${component.getName()}`,state)
14
15
 
15
16
  presenter.render(state);
17
+ eventManager.dispatch(component.getStateUpdatedAction({
18
+ state
19
+ }));
16
20
  }
17
21
 
18
22
  }
@@ -64,6 +64,10 @@ export default class Component {
64
64
  return this._lifeCycleAction.getUpdatePropertiesAction(payload);
65
65
  }
66
66
 
67
+ getStateUpdatedAction(payload) {
68
+ return this._lifeCycleAction.getStateUpdatedAction(payload);
69
+ }
70
+
67
71
  getState() {
68
72
  let state = this._tranformer(this.mergeStateAndProps());
69
73
 
@@ -1,23 +1,27 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
+ import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
3
4
  export default class LifeCycleAction {
4
5
  constructor(name) {
5
6
  _defineProperty(this, "mount", void 0);
6
7
 
7
8
  _defineProperty(this, "unmount", void 0);
8
9
 
10
+ _defineProperty(this, "name", void 0);
11
+
9
12
  _defineProperty(this, "contructUpdatePropertiesAction", void 0);
10
13
 
14
+ this.name = name;
11
15
  this.mount = {
12
- type: `${name}#MOUNT`
16
+ type: `${name}#${LifeCycleEvents.MOUNT}`
13
17
  };
14
18
  this.unmount = {
15
- type: `${name}#UN_MOUNT`
19
+ type: `${name}#${LifeCycleEvents.UN_MOUNT}`
16
20
  };
17
21
 
18
22
  this.contructUpdatePropertiesAction = payload => {
19
23
  return {
20
- type: `${name}#UPDATE_PROPERTIES`,
24
+ type: `${name}#${LifeCycleEvents.UPDATE_PROPERTIES}`,
21
25
  payload
22
26
  };
23
27
  };
@@ -31,6 +35,13 @@ export default class LifeCycleAction {
31
35
  return this.unmount;
32
36
  }
33
37
 
38
+ getStateUpdatedAction(payload) {
39
+ return {
40
+ type: `${this.name}#${LifeCycleEvents.STATE_UPDATED}`,
41
+ payload
42
+ };
43
+ }
44
+
34
45
  getUpdatePropertiesAction(payload) {
35
46
  return this.contructUpdatePropertiesAction(payload);
36
47
  }
@@ -14,6 +14,14 @@ class ComponentRegistry {
14
14
  }
15
15
 
16
16
  register(name, component) {
17
+ if (this.components.has(name)) {
18
+ console.warn(`Component with name "${name}" is already registered. Overwriting the existing component.`);
19
+ }
20
+
21
+ if (this.components.has(name) && this.get(name) !== component) {
22
+ console.warn(`Component with name "${name}" is already registered with a different instance. Overwriting the existing component.`);
23
+ }
24
+
17
25
  this.components.set(name, component);
18
26
  }
19
27
 
@@ -1,9 +1,13 @@
1
1
  import ActionIcon from "../../../../legacy-to-new-arch/action-icon/frameworks/ui/ActionIcon";
2
2
  import TableColumnSort from "../../../../legacy-to-new-arch/table-column-sort/frameworks/ui/TableColumnSort";
3
+ import TableColumnChooser from "../../../../legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser";
4
+ import Checkbox from "../../../../legacy-to-new-arch/checkbox/frameworks/ui/Checkbox";
3
5
  import TableColumnFilter from "../../../../legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilter";
4
6
  const ActionComponentMapping = {
5
7
  ['ActionIcon']: ActionIcon,
6
8
  ['TableColumnSort']: TableColumnSort,
9
+ ['TableColumnChooser']: TableColumnChooser,
10
+ ['TableSelectAll']: Checkbox,
7
11
  ['TableColumnFilter']: TableColumnFilter
8
12
  };
9
13
  export default ActionComponentMapping;
@@ -24,7 +24,7 @@ export default class EventHandlersFactory {
24
24
  return {
25
25
  [ActionLocationConstants.MOUNT]: initializeController.handle,
26
26
  [ActionLocationConstants.UPDATE_PROPERTIES]: propertiesChangeController.handle,
27
- [ActionLocationConstants.UNMOUNT]: unmountController.handle
27
+ [ActionLocationConstants.UN_MOUNT]: unmountController.handle
28
28
  };
29
29
  }
30
30
 
@@ -0,0 +1,36 @@
1
+ import SmartTableConstants from "../../../../../../cc/table-connected/constants/Events";
2
+ import AbstractController from "./AbstractController";
3
+
4
+ class KeyboardRowClickController extends AbstractController {
5
+ handle(event) {
6
+ const {
7
+ state,
8
+ dispatch,
9
+ action
10
+ } = event;
11
+ const {
12
+ event: keyboardEvent
13
+ } = action.payload;
14
+ const {
15
+ focussedRow,
16
+ data
17
+ } = state.properties || {};
18
+ const record = data === null || data === void 0 ? void 0 : data.rows[focussedRow];
19
+
20
+ if (!record) {
21
+ return;
22
+ }
23
+
24
+ let id = record.id;
25
+ dispatch({
26
+ type: SmartTableConstants.SMART_TABLE_ROW_ACTION_TRIGGERED,
27
+ payload: {
28
+ id,
29
+ event: keyboardEvent
30
+ }
31
+ });
32
+ }
33
+
34
+ }
35
+
36
+ export default KeyboardRowClickController;
@@ -0,0 +1,31 @@
1
+ import { LIST_SELECTION_TOGGLE_ITEMS } from "../../../../../../bc/list-selection/Constants";
2
+ import AbstractController from "./AbstractController";
3
+
4
+ class KeyboardRowSelectController extends AbstractController {
5
+ handle(event) {
6
+ const {
7
+ state,
8
+ dispatch
9
+ } = event;
10
+ const {
11
+ focussedRow,
12
+ data
13
+ } = state.properties || {};
14
+ const record = data === null || data === void 0 ? void 0 : data.rows[focussedRow];
15
+
16
+ if (!record) {
17
+ return;
18
+ }
19
+
20
+ let id = record.id;
21
+ dispatch({
22
+ type: LIST_SELECTION_TOGGLE_ITEMS,
23
+ payload: {
24
+ selected: [id]
25
+ }
26
+ });
27
+ }
28
+
29
+ }
30
+
31
+ export default KeyboardRowSelectController;
@@ -4,4 +4,6 @@ export { default as ScrollController } from "./ScrollController";
4
4
  export { default as SortByController } from "./SortByController";
5
5
  export { default as SortedController } from "./SortedController";
6
6
  export { default as FieldChangeController } from "./FieldChangeController";
7
- export { default as FieldClickController } from "./FieldClickController";
7
+ export { default as FieldClickController } from "./FieldClickController";
8
+ export { default as KeyboardRowSelectController } from "./KeyboardRowSelectController";
9
+ export { default as KeyboardRowClickController } from "./KeyboardRowClickController";
@@ -4,10 +4,11 @@ class TableTranslator {
4
4
  data,
5
5
  selectionConfig,
6
6
  selection,
7
- sortBy
7
+ sortBy,
8
+ focussedRow
8
9
  } = state.properties;
9
10
  const headers = TableTranslator.translateHeaders(data.headers, sortBy);
10
- const rows = TableTranslator.translateRows(data.rows, selection, selectionConfig);
11
+ const rows = TableTranslator.translateRows(data.rows, selection, selectionConfig, focussedRow);
11
12
  state = { ...state,
12
13
  properties: { ...state.properties,
13
14
  data: { ...data,
@@ -28,13 +29,14 @@ class TableTranslator {
28
29
  });
29
30
  }
30
31
 
31
- static translateRows(rows, selection, selectionConfig) {
32
+ static translateRows(rows, selection, selectionConfig, focussedRow) {
32
33
  const {
33
34
  selected,
34
35
  hasAllSelected
35
36
  } = selection;
36
37
  return rows.map((row, index) => {
37
38
  return { ...row,
39
+ isFocussed: focussedRow === index,
38
40
  isSelected: selected.includes(row.id),
39
41
  isSelectable: selected.includes(row.id) || !hasAllSelected,
40
42
  selectionTooltip: this.getSelectionTooltip(row.id, index, selected, hasAllSelected, selectionConfig)
@@ -1,11 +1,14 @@
1
1
  import { TableListConstants } from "../../../../../../cc/table-list";
2
- import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController, SortByController } from "../../adapters/controllers";
2
+ import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController, SortByController, KeyboardRowSelectController, KeyboardRowClickController } from "../../adapters/controllers";
3
3
  import TableRowConstants from "../../../../../../cc/table-list/row/Constants";
4
4
  import RowClickController from "../../adapters/controllers/RowClickController";
5
+ import { SMART_TABLE_ACTION_TRIGGERED, SMART_TABLE_SELECTION_TOGGLED } from "../../../../../../cc/table-connected/constants/Events";
5
6
 
6
7
  class EventHandlersFactory {
7
8
  static create() {
8
9
  return {
10
+ [SMART_TABLE_SELECTION_TOGGLED]: new KeyboardRowSelectController().handle,
11
+ [SMART_TABLE_ACTION_TRIGGERED]: new KeyboardRowClickController().handle,
9
12
  [TableRowConstants.TABLE_ROW_CLICKED]: new RowClickController().handle,
10
13
  [TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION]: new SelectItemController().handle,
11
14
  [TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION]: new SelectAllController().handle,
@@ -27,6 +27,7 @@ function TableListView(_ref2, _ref) {
27
27
  isFlexibleColumns,
28
28
  rowCursor,
29
29
  rowActionsConfig,
30
+ keyboardControlsConfig,
30
31
  selection,
31
32
  emptyStateUiType,
32
33
  isError
@@ -43,6 +44,7 @@ function TableListView(_ref2, _ref) {
43
44
 
44
45
  const isDataEmpty = !hasRows && !isLoading && !isError; // TODO: derive from state.properties
45
46
 
47
+ const isKeyboardControlsEnabled = keyboardControlsConfig.isEnabled;
46
48
  return /*#__PURE__*/React.createElement("div", {
47
49
  className: style.wrapper,
48
50
  ref: _ref
@@ -55,6 +57,7 @@ function TableListView(_ref2, _ref) {
55
57
  resizerState,
56
58
  selectionConfig,
57
59
  selection,
60
+ isKeyboardControlsEnabled,
58
61
  isFlexibleColumns,
59
62
  hasRowActions,
60
63
  rowActionsColumnWidth,
@@ -64,6 +67,7 @@ function TableListView(_ref2, _ref) {
64
67
  rows,
65
68
  isFlexibleColumns,
66
69
  selectionConfig,
70
+ isKeyboardControlsEnabled,
67
71
  rowCursor,
68
72
  hasRowActions,
69
73
  rowActionsColumnWidth,
@@ -85,6 +89,7 @@ function renderHeader(_ref3) {
85
89
  resizerState,
86
90
  selectionConfig,
87
91
  selection,
92
+ isKeyboardControlsEnabled,
88
93
  isFlexibleColumns,
89
94
  hasRowActions,
90
95
  rowActionsColumnWidth,
@@ -92,15 +97,15 @@ function renderHeader(_ref3) {
92
97
  } = _ref3;
93
98
  return /*#__PURE__*/React.createElement(Header, {
94
99
  isSelectionEnabled: selectionConfig.isEnabled,
95
- isSelectAllEnabled: selectionConfig.isSelectAllEnabled,
96
- hasAllSelected: selection.hasAllSelected,
97
100
  isResizerEnabled: resizerState.isEnabled,
101
+ isKeyboardControlsEnabled: isKeyboardControlsEnabled,
98
102
  currentlyResizingColumn: resizerState.currentlyResizingColumn,
99
103
  isCurrentlyResizing: resizerState.isCurrentlyResizing,
100
104
  resizerExtraWidth: resizerState.extraWidth,
101
105
  isFlexibleColumns: isFlexibleColumns,
102
106
  hasRowActions: hasRowActions,
103
107
  rowActionsColumnWidth: rowActionsColumnWidth,
108
+ actions: selection.actions,
104
109
  headers: headers,
105
110
  dispatch: dispatch
106
111
  });
@@ -112,6 +117,7 @@ function renderBody(_ref4) {
112
117
  rows,
113
118
  isFlexibleColumns,
114
119
  selectionConfig,
120
+ isKeyboardControlsEnabled,
115
121
  rowCursor,
116
122
  hasRowActions,
117
123
  rowActionsColumnWidth,
@@ -127,7 +133,8 @@ function renderBody(_ref4) {
127
133
  isSelectionEnabled: selectionConfig.isEnabled,
128
134
  rowCursor: rowCursor,
129
135
  hasRowActions: hasRowActions,
130
- rowActionsColumnWidth: rowActionsColumnWidth
136
+ rowActionsColumnWidth: rowActionsColumnWidth,
137
+ isKeyboardControlsEnabled: isKeyboardControlsEnabled
131
138
  }));
132
139
  }
133
140
 
@@ -28,6 +28,9 @@
28
28
  .errorContent {
29
29
  padding: var(--zd_size60) 0
30
30
  }
31
+ .headerWithActions, .fieldWithActions {
32
+ gap: var(--zd_size6)
33
+ }
31
34
  .actions {
32
35
  gap: var(--zd_size8)
33
36
  }
@@ -8,7 +8,7 @@ const TableHeaderRow = _ref => {
8
8
  return /*#__PURE__*/React.createElement(React.Fragment, null, children);
9
9
  };
10
10
 
11
- import SelectAll from "./header/SelectAll";
11
+ import MassAction from "./header/MassAction";
12
12
  import Headers from "./header/Headers";
13
13
  import ActionColumn from "./header/ActionColumn";
14
14
  import ResizerExtraSpace from "./header/ResizerExtraSpace";
@@ -16,8 +16,8 @@ import ResizerExtraSpace from "./header/ResizerExtraSpace";
16
16
  function Header(_ref2) {
17
17
  let {
18
18
  isSelectionEnabled,
19
- isSelectAllEnabled,
20
- hasAllSelected,
19
+ actions,
20
+ isKeyboardControlsEnabled,
21
21
  isResizerEnabled,
22
22
  currentlyResizingColumn,
23
23
  isCurrentlyResizing,
@@ -35,16 +35,15 @@ function Header(_ref2) {
35
35
 
36
36
  return /*#__PURE__*/React.createElement(TableHeader, {
37
37
  $flag_isColumnsFlexible: isFlexibleColumns,
38
- $flag_padding: !isSelectionEnabled
39
- }, /*#__PURE__*/React.createElement(TableHeaderRow, null, renderSelectAll(isSelectionEnabled, isSelectAllEnabled, hasAllSelected, dispatch), renderHeaders(headers, currentlyResizingColumn, isResizerEnabled, isFlexibleColumns, dispatch), renderActionColumn(hasRowActions, rowActionsColumnWidth), renderResizerExtraSpace(isCurrentlyResizing, resizerExtraWidth)));
38
+ $flag_padding: !isSelectionEnabled,
39
+ $flag_hasHighlighter: isKeyboardControlsEnabled
40
+ }, /*#__PURE__*/React.createElement(TableHeaderRow, null, rendermassAction(isSelectionEnabled, actions), renderHeaders(headers, currentlyResizingColumn, isResizerEnabled, isFlexibleColumns, dispatch), renderActionColumn(hasRowActions, rowActionsColumnWidth), renderResizerExtraSpace(isCurrentlyResizing, resizerExtraWidth)));
40
41
  }
41
42
 
42
- function renderSelectAll(isSelectionEnabled, isSelectAllEnabled, hasAllSelected, dispatch) {
43
- return /*#__PURE__*/React.createElement(SelectAll, {
43
+ function rendermassAction(isSelectionEnabled, actions) {
44
+ return /*#__PURE__*/React.createElement(MassAction, {
44
45
  isSelectionEnabled: isSelectionEnabled,
45
- isSelectAllEnabled: isSelectAllEnabled,
46
- hasAllSelected: hasAllSelected,
47
- dispatch: dispatch
46
+ actions: actions
48
47
  });
49
48
  }
50
49
 
@@ -9,20 +9,22 @@ function Rows(_ref) {
9
9
  isSelectionEnabled,
10
10
  rowCursor,
11
11
  hasRowActions,
12
- rowActionsColumnWidth
12
+ rowActionsColumnWidth,
13
+ isKeyboardControlsEnabled
13
14
  } = _ref;
14
15
  return rows.map((row, index) => /*#__PURE__*/React.createElement(Row, {
15
16
  key: index,
16
- ...getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, rowCursor, hasRowActions, rowActionsColumnWidth)
17
+ ...getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, rowCursor, hasRowActions, rowActionsColumnWidth, isKeyboardControlsEnabled)
17
18
  }));
18
19
  }
19
20
 
20
- function getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, rowCursor, hasRowActions, rowActionsColumnWidth) {
21
+ function getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, rowCursor, hasRowActions, rowActionsColumnWidth, isKeyboardControlsEnabled) {
21
22
  const {
22
23
  id,
23
24
  columns,
24
25
  isSelected,
25
26
  isSelectable,
27
+ isFocussed,
26
28
  selectionTooltip,
27
29
  rowActionLocation
28
30
  } = row;
@@ -33,11 +35,13 @@ function getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, rowCur
33
35
  rowActionLocation,
34
36
  isSelected,
35
37
  isSelectable,
38
+ isFocussed,
36
39
  selectionTooltip,
37
40
  isFlexibleColumns,
38
41
  isSelectionEnabled,
39
42
  cursor: rowCursor,
40
43
  hasActions: hasRowActions,
44
+ isKeyboardControlsEnabled,
41
45
  rowActionsColumnWidth
42
46
  };
43
47
  }
@@ -4,7 +4,9 @@ import TableHeading from '@zohodesk-private/desk-components/es/table/TableHeadin
4
4
  import { AlignmentOfFlex } from "../../../../../../../../cc/table-list/data-types/Header";
5
5
  import ActionEventMediator from "../../../../../../../../platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator";
6
6
  import { ActionViewGap } from "../../../../../../../../platform/client-actions/components/interfaces/ActionViewModel";
7
- import ColumnResizer from "./ColumnResizer";
7
+ import ColumnResizer from "./ColumnResizer"; // @ts-ignore
8
+
9
+ import style from "./../../css/TableList.module.css";
8
10
 
9
11
  function HeaderData(_ref) {
10
12
  let {
@@ -39,7 +41,10 @@ function HeaderData(_ref) {
39
41
  $ui_displayMode: 'flex',
40
42
  $ui_alignItems: 'center',
41
43
  $ui_justifyContent: AlignmentOfFlex[alignment]
42
- } : null
44
+ } : null,
45
+ customStyle: hasActions ? {
46
+ tableHead: style.headerWithActions
47
+ } : undefined
43
48
  }, /*#__PURE__*/React.createElement(TableHeading, {
44
49
  $i18n_text: text
45
50
  }), hasActions ? /*#__PURE__*/React.createElement(ActionEventMediator, {
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import TableHeadFirstNode from '@zohodesk-private/desk-components/es/table/TableHeadFirstNode/TableHeadFirstNode';
3
+ import TableHeading from '@zohodesk-private/desk-components/es/table/TableHeading/TableHeading';
4
+ import ActionEventMediator from "../../../../../../../../platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator";
5
+
6
+ function MassAction(_ref) {
7
+ let {
8
+ isSelectionEnabled,
9
+ actions
10
+ } = _ref;
11
+
12
+ if (!isSelectionEnabled) {
13
+ return null;
14
+ }
15
+
16
+ if (!actions || actions.length === 0) {
17
+ return /*#__PURE__*/React.createElement(TableHeadFirstNode, null, /*#__PURE__*/React.createElement(TableHeading, {
18
+ $i18n_text: "M/A",
19
+ $i18n_tooltip: "Mass Action"
20
+ }));
21
+ }
22
+
23
+ return /*#__PURE__*/React.createElement(TableHeadFirstNode, null, /*#__PURE__*/React.createElement(ActionEventMediator, {
24
+ actions: actions
25
+ }));
26
+ }
27
+
28
+ export default MassAction;
@@ -22,6 +22,8 @@ function RowView(_ref, ref) {
22
22
  isSelectionEnabled,
23
23
  isSelected,
24
24
  isSelectable,
25
+ isKeyboardControlsEnabled,
26
+ isFocussed,
25
27
  selectionTooltip
26
28
  } = state.properties;
27
29
  const {
@@ -42,6 +44,9 @@ function RowView(_ref, ref) {
42
44
  ref: ref,
43
45
  testId: id,
44
46
  $flag_padding: !isSelectionEnabled,
47
+ $flag_active: isSelected,
48
+ $flag_hasHighlighter: isKeyboardControlsEnabled,
49
+ $flag_isHighlighted: isFocussed,
45
50
  $event_onClick: () => dispatch({
46
51
  type: TableRowConstants.TABLE_ROW_CLICKED,
47
52
  payload: {
@@ -3,7 +3,9 @@ import TableData from '@zohodesk-private/desk-components/es/table/TableData/Tabl
3
3
  import ActionEventMediator from "../../../../../../../../platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator";
4
4
  import { ActionViewGap } from "../../../../../../../../platform/client-actions/components/interfaces/ActionViewModel";
5
5
  import { AlignmentOfFlex } from "../../../../../../../../cc/table-list/data-types/Header";
6
- import FieldComponent from "../field/FieldComponent";
6
+ import FieldComponent from "../field/FieldComponent"; // @ts-ignore
7
+
8
+ import style from "./../../css/TableList.module.css";
7
9
  export default function RowData(_ref) {
8
10
  let {
9
11
  field,
@@ -25,7 +27,10 @@ export default function RowData(_ref) {
25
27
  $ui_displayMode: 'flex',
26
28
  $ui_alignItems: 'center',
27
29
  $ui_justifyContent: AlignmentOfFlex[alignment]
28
- } : null
30
+ } : null,
31
+ customStyle: hasActions ? {
32
+ tableData: style.fieldWithActions
33
+ } : undefined
29
34
  }, /*#__PURE__*/React.createElement(FieldComponent, {
30
35
  type: type,
31
36
  fieldProps: props
@@ -20,6 +20,7 @@ function RowSelection(_ref) {
20
20
  $data_id: id,
21
21
  $i18n_tooltip: tooltip,
22
22
  $flag_checked: selected,
23
+ $flag_disabled: !selectable,
23
24
  $event_onChange: (_, event) => dispatch({
24
25
  type: TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION,
25
26
  payload: {
@@ -0,0 +1,11 @@
1
+ import { createCustomComponent } from "../../../../../custom-component";
2
+ import { TableColumnChooserProperties } from "../../../../../../cc/table-column-chooser";
3
+ import TableColumnChooserView from "./TableColumnChooserView";
4
+ const TableColumnChooser = createCustomComponent({
5
+ name: 'TableColumnChooser',
6
+ View: TableColumnChooserView,
7
+ properties: TableColumnChooserProperties,
8
+ events: [],
9
+ eventHandlers: {}
10
+ });
11
+ export default TableColumnChooser;