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

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 (273) hide show
  1. package/README.md +3 -3
  2. package/es/bc/column-chooser/Constants.js +4 -0
  3. package/es/bc/column-chooser/EventHandlers.js +2 -0
  4. package/es/bc/column-chooser/Events.js +59 -0
  5. package/es/bc/column-chooser/Properties.js +18 -0
  6. package/es/bc/keyboard-controls/Constants.js +5 -0
  7. package/es/bc/keyboard-controls/Events.js +51 -0
  8. package/es/bc/keyboard-controls/Properties.js +11 -0
  9. package/es/bc/keyboard-controls/types/KeyboardControlBehaviourState.js +1 -0
  10. package/es/bc/sdk/EventHandlers.js +1 -0
  11. package/es/bc/sdk/Properties.js +10 -0
  12. package/es/bc/sdk/ResourceNamesEnum.js +6 -0
  13. package/es/bc/zlist/Constants.js +3 -1
  14. package/es/bc/zlist/Properties.js +15 -0
  15. package/es/bc/zrecord/Constants.js +3 -1
  16. package/es/cc/action-location/Constants.js +5 -3
  17. package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
  18. package/es/cc/component/LifeCycleEventsEnum.js +9 -0
  19. package/es/cc/fields/field/Properties.js +10 -1
  20. package/es/cc/fields/index.js +1 -1
  21. package/es/cc/table-column-chooser/Constants.js +6 -0
  22. package/es/cc/table-column-chooser/Events.js +69 -0
  23. package/es/cc/table-column-chooser/Properties.js +122 -0
  24. package/es/cc/table-column-chooser/index.js +3 -0
  25. package/es/cc/table-connected/Properties.js +32 -0
  26. package/es/cc/table-connected/constants/Events.js +4 -1
  27. package/es/cc/table-list/Constants.js +4 -0
  28. package/es/cc/table-list/Properties.js +43 -1
  29. package/es/cc/table-list/data-types/KeyboardControlsConfig.js +1 -0
  30. package/es/cc/table-list/row/Properties.js +53 -0
  31. package/es/index.js +5 -2
  32. package/es/library/behaviours/keyboard-controls/adapters/controllers/AbstractController.js +9 -0
  33. package/es/library/behaviours/keyboard-controls/adapters/controllers/DestructController.js +20 -0
  34. package/es/library/behaviours/keyboard-controls/adapters/controllers/DownArrowPressController.js +20 -0
  35. package/es/library/behaviours/keyboard-controls/adapters/controllers/EnterPressController.js +24 -0
  36. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusNextController.js +20 -0
  37. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusPreviousController.js +20 -0
  38. package/es/library/behaviours/keyboard-controls/adapters/controllers/InitializeController.js +20 -0
  39. package/es/library/behaviours/keyboard-controls/adapters/controllers/SpacePressController.js +24 -0
  40. package/es/library/behaviours/keyboard-controls/adapters/controllers/UpArrowPressController.js +20 -0
  41. package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +81 -0
  42. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +47 -0
  43. package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +40 -0
  44. package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +39 -0
  45. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCase.js +0 -0
  46. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCaseDependencies.js +1 -0
  47. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IKeyboardHandler.js +1 -0
  48. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IRepository.js +1 -0
  49. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IService.js +1 -0
  50. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DestructInputModel.js +1 -0
  51. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DownArrowPressInputModel.js +1 -0
  52. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/EnterPressInputModel.js +1 -0
  53. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusNextInputModel.js +1 -0
  54. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusPreviousInputModel.js +1 -0
  55. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/InitializeInputModel.js +1 -0
  56. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/RowActionInputModel.js +1 -0
  57. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SelectionInputModel.js +1 -0
  58. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SpacePressInputModel.js +1 -0
  59. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/UpArrowPressInputModel.js +1 -0
  60. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/IPresenter.js +1 -0
  61. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/OutputModel.js +1 -0
  62. package/es/library/behaviours/keyboard-controls/applications/usecases/AbstractUseCase.js +19 -0
  63. package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +20 -0
  64. package/es/library/behaviours/keyboard-controls/applications/usecases/DownArrowPress.js +16 -0
  65. package/es/library/behaviours/keyboard-controls/applications/usecases/EnterPress.js +19 -0
  66. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusNextUsecase.js +16 -0
  67. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusPreviousUsecase.js +16 -0
  68. package/es/library/behaviours/keyboard-controls/applications/usecases/InitializeUsecase.js +20 -0
  69. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +19 -0
  70. package/es/library/behaviours/keyboard-controls/applications/usecases/UpArrowPress.js +16 -0
  71. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +87 -0
  72. package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js +1 -0
  73. package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js +1 -0
  74. package/es/library/behaviours/keyboard-controls/frameworks/EventHandlerFactory.js +48 -0
  75. package/es/library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory.js +23 -0
  76. package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
  77. package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
  78. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +3 -0
  79. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
  80. package/es/library/custom-component/domain/entities/Component.js +4 -0
  81. package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
  82. package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +8 -0
  83. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -0
  84. package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
  85. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +36 -0
  86. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +31 -0
  87. package/es/library/dot/components/table-list/adapters/controllers/index.js +3 -1
  88. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +5 -3
  89. package/es/library/dot/components/table-list/frameworks/hooks/useDropIndicator.js +8 -0
  90. package/es/library/dot/components/table-list/frameworks/hooks/useRowData.js +8 -0
  91. package/es/library/dot/components/table-list/frameworks/hooks/useTableRowReorder.js +93 -0
  92. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +4 -1
  93. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +76 -8
  94. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +147 -1
  95. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +28 -11
  96. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +26 -9
  97. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -2
  98. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +45 -0
  99. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +60 -10
  100. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +7 -2
  101. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +11 -0
  102. package/es/library/dot/components/table-list/frameworks/utils/reOrder.js +76 -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/client-actions/translators/client-actions-translator/index.js +5 -2
  111. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +3 -2
  112. package/es/platform/client-actions/translators/context-resolver/index.js +1 -4
  113. package/es/platform/column-chooser/adapters/controllers/AbstractController.js +10 -0
  114. package/es/platform/column-chooser/adapters/controllers/ColumnChooserCloseController.js +21 -0
  115. package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +26 -0
  116. package/es/platform/column-chooser/adapters/controllers/ColumnChooserReorderController.js +26 -0
  117. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSaveController.js +21 -0
  118. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSearchController.js +24 -0
  119. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSelectController.js +26 -0
  120. package/es/platform/column-chooser/adapters/gateways/Repository.js +38 -0
  121. package/es/platform/column-chooser/adapters/gateways/Service.js +34 -0
  122. package/es/platform/column-chooser/adapters/gateways/State.js +1 -0
  123. package/es/platform/column-chooser/adapters/presenters/Presenter.js +25 -0
  124. package/es/platform/column-chooser/applications/interfaces/UsecaseDependencies.js +1 -0
  125. package/es/platform/column-chooser/applications/interfaces/gateways/IRepository.js +1 -0
  126. package/es/platform/column-chooser/applications/interfaces/gateways/IService.js +1 -0
  127. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserCloseInput.js +1 -0
  128. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserOpenInput.js +1 -0
  129. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserReorderInput.js +1 -0
  130. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSaveInput.js +1 -0
  131. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSearchInput.js +1 -0
  132. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSelectInput.js +1 -0
  133. package/es/platform/column-chooser/applications/interfaces/output/BehaviourState.js +1 -0
  134. package/es/platform/column-chooser/applications/interfaces/output/IPresenter.js +1 -0
  135. package/es/platform/column-chooser/applications/usecases/AbstractUseCase.js +18 -0
  136. package/es/platform/column-chooser/applications/usecases/ColumnChooserCloseUseCase.js +34 -0
  137. package/es/platform/column-chooser/applications/usecases/ColumnChooserOpenUseCase.js +20 -0
  138. package/es/platform/column-chooser/applications/usecases/ColumnChooserReorderUseCase.js +20 -0
  139. package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +31 -0
  140. package/es/platform/column-chooser/applications/usecases/ColumnChooserSearchUseCase.js +19 -0
  141. package/es/platform/column-chooser/applications/usecases/ColumnChooserSelectUseCase.js +26 -0
  142. package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +95 -0
  143. package/es/platform/column-chooser/domain/entities/ReorderEntityImp.js +35 -0
  144. package/es/platform/column-chooser/domain/entities/SearchEntityImp.js +28 -0
  145. package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +58 -0
  146. package/es/platform/column-chooser/domain/entities/interfaces/ColumnChooser.js +1 -0
  147. package/es/platform/column-chooser/domain/entities/interfaces/ReorderEntity.js +1 -0
  148. package/es/platform/column-chooser/domain/entities/interfaces/SearchEntity.js +1 -0
  149. package/es/platform/column-chooser/domain/entities/interfaces/SelectEntity.js +1 -0
  150. package/es/platform/column-chooser/frameworks/ColumnChooserBehaviourFactory.js +19 -0
  151. package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +30 -0
  152. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +33 -0
  153. package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnectedView.js +1 -1
  154. package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormSdkFactory.js +3 -14
  155. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +28 -0
  156. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +25 -0
  157. package/es/platform/components/table-connected/adapters/controllers/ReOrderFinishController.js +21 -0
  158. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeByMouseController.js +1 -1
  159. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeEndController.js +1 -1
  160. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeFinishController.js +1 -1
  161. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeStartController.js +2 -2
  162. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ScrollController.js +1 -1
  163. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +251 -0
  164. package/es/platform/components/table-connected/application/interfaces/ISmartTableResource.js +1 -0
  165. package/es/{desk-frameworks → platform/components}/table-connected/frameworks/EventHandlersFactory.js +29 -15
  166. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +57 -0
  167. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +76 -0
  168. package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js +13 -8
  169. package/es/platform/data-source/http-template/reOrderRecord.js +44 -0
  170. package/es/platform/data-source/http-template/updateSelectedFields.js +28 -0
  171. package/es/platform/data-source/index.js +4 -0
  172. package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
  173. package/es/platform/sdk/adapters/gateways/Service.js +27 -0
  174. package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
  175. package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
  176. package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +13 -0
  177. package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
  178. package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
  179. package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
  180. package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  181. package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  182. package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
  183. package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
  184. package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
  185. package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
  186. package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
  187. package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
  188. package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
  189. package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
  190. package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
  191. package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
  192. package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
  193. package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
  194. package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
  195. package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
  196. package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
  197. package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
  198. package/es/platform/sdk/frameworks/Sdk.js +11 -0
  199. package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
  200. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
  201. package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
  202. package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
  203. package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
  204. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
  205. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
  206. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
  207. package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
  208. package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
  209. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
  210. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
  211. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
  212. package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  213. package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  214. package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
  215. package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
  216. package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
  217. package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
  218. package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
  219. package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
  220. package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
  221. package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
  222. package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
  223. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +3 -1
  224. package/es/platform/zfield/domain/entities/interfaces/FieldApiName.js +1 -0
  225. package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +6 -1
  226. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +2 -2
  227. package/es/platform/zlist/adapters/controllers/ReOrderController.js +25 -0
  228. package/es/platform/zlist/adapters/controllers/ReOrderFailedController.js +26 -0
  229. package/es/platform/zlist/adapters/gateways/Repository.js +11 -2
  230. package/es/platform/zlist/adapters/gateways/Service.js +8 -0
  231. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +94 -0
  232. package/es/platform/zlist/adapters/presenters/TableTranslator.js +40 -20
  233. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +63 -5
  234. package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -2
  235. package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
  236. package/es/platform/zlist/adapters/presenters/translators/Row.js +1 -1
  237. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +6 -6
  238. package/es/platform/zlist/adapters/presenters/translators/interfaces/State.js +2 -1
  239. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +79 -7
  240. package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
  241. package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
  242. package/es/platform/zlist/applications/interfaces/input/ReOrderRecordUseCaseInput.js +1 -0
  243. package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
  244. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
  245. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
  246. package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +4 -1
  247. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
  248. package/es/platform/zlist/applications/usecases/ReOrderFailedUseCase.js +22 -0
  249. package/es/platform/zlist/applications/usecases/ReOrderUseCase.js +25 -0
  250. package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -1
  251. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -3
  252. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
  253. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
  254. package/es/platform/zlist/domain/entities/List.js +91 -3
  255. package/es/platform/zlist/frameworks/EventHandlersFactory.js +10 -6
  256. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -1
  257. package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
  258. package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
  259. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
  260. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
  261. package/es/platform/zrecord/domain/entities/GetReOrderRecordsStrategy.js +40 -0
  262. package/es/platform/zrecord/domain/entities/Records.js +9 -4
  263. package/es/platform/zrecord/domain/entities/RecordsManager.js +11 -1
  264. package/package.json +12 -8
  265. package/es/desk-frameworks/form-connected/frameworks/FormConnectedFactory.js +0 -33
  266. package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +0 -172
  267. package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +0 -53
  268. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +0 -26
  269. /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/EventHandlersFactory.js +0 -0
  270. /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnected.js +0 -0
  271. /package/es/{desk-frameworks → platform/components}/index.js +0 -0
  272. /package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/AbstractController.js +0 -0
  273. /package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnected.js +0 -0
@@ -0,0 +1,25 @@
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
+
3
+ import { BehaviourResourceConnector } from "../../domain/entities/BehaviourResourceConnector";
4
+ export class Repository {
5
+ constructor() {
6
+ _defineProperty(this, "resourceNames", void 0);
7
+
8
+ _defineProperty(this, "resourceManager", void 0);
9
+ }
10
+
11
+ init(resourceNames, resourceManager) {
12
+ this.resourceNames = resourceNames;
13
+ this.resourceManager = resourceManager;
14
+ }
15
+
16
+ getBehaviourResourceConnector() {
17
+ const {
18
+ resourceNames,
19
+ resourceManager
20
+ } = this;
21
+ const behaviourResourceConnector = new BehaviourResourceConnector(resourceNames, resourceManager);
22
+ return behaviourResourceConnector;
23
+ }
24
+
25
+ }
@@ -0,0 +1,43 @@
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
+
3
+ export class ResourceManagerGateWay {
4
+ constructor() {
5
+ _defineProperty(this, "sdkRegistry", void 0);
6
+ }
7
+
8
+ init(sdkRegistry) {
9
+ this.sdkRegistry = sdkRegistry;
10
+ }
11
+
12
+ createResourceInstance(resourceName, instanceName) {
13
+ this.sdkRegistry.createResourceInstance({
14
+ resourceName,
15
+ instanceName
16
+ });
17
+ }
18
+
19
+ destructResourceInstance(resourceName, instanceName) {
20
+ this.sdkRegistry.destructResourceInstance({
21
+ resourceName,
22
+ instanceName
23
+ });
24
+ }
25
+
26
+ syncStateWithResource(_ref) {
27
+ let {
28
+ resourceName,
29
+ instanceName,
30
+ state,
31
+ dispatch,
32
+ updateState
33
+ } = _ref;
34
+ this.sdkRegistry.syncStateWithResource({
35
+ resourceName,
36
+ instanceName,
37
+ state,
38
+ dispatch,
39
+ updateState
40
+ });
41
+ }
42
+
43
+ }
@@ -0,0 +1,19 @@
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
+
3
+ import { CreateResourceInstanceUseCase } from "../../applications/usecases/CreateResourceInstanceUseCase";
4
+ import { DestructResourceInstanceUseCase } from "../../applications/usecases/DestructResourceInstanceUseCase";
5
+ import { SyncStateWithResourceUseCase } from "../../applications/usecases/SyncStateWithResourceUseCase";
6
+ export class Service {
7
+ constructor(dependencies) {
8
+ _defineProperty(this, "createResourceInstanceUseCase", void 0);
9
+
10
+ _defineProperty(this, "destructResourceInstanceUseCase", void 0);
11
+
12
+ _defineProperty(this, "syncStateWithResourceUseCase", void 0);
13
+
14
+ this.createResourceInstanceUseCase = new CreateResourceInstanceUseCase(dependencies);
15
+ this.destructResourceInstanceUseCase = new DestructResourceInstanceUseCase(dependencies);
16
+ this.syncStateWithResourceUseCase = new SyncStateWithResourceUseCase(dependencies);
17
+ }
18
+
19
+ }
@@ -0,0 +1,6 @@
1
+ export default class AbstractUseCase {
2
+ constructor(dependencies) {
3
+ this.dependencies = dependencies;
4
+ }
5
+
6
+ }
@@ -0,0 +1,3 @@
1
+ import { StateInterface, DispatchFunction, UpdateState } from "../../../../sdk/domain/entities/interfaces/StateInterface"; //
2
+
3
+ export { StateInterface, DispatchFunction, UpdateState };
@@ -0,0 +1,14 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class CreateResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
11
+ behaviourResourceConnector.createResourceInstances(instanceName);
12
+ }
13
+
14
+ }
@@ -0,0 +1,14 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class DestructResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
11
+ behaviourResourceConnector.destructResourceInstances(instanceName);
12
+ }
13
+
14
+ }
@@ -0,0 +1,22 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class SyncStateWithResourceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ state,
7
+ dispatch,
8
+ updateState
9
+ } = _ref;
10
+ const {
11
+ repository
12
+ } = this.dependencies;
13
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
14
+ behaviourResourceConnector.syncStateWithResources({
15
+ instanceName,
16
+ state,
17
+ dispatch,
18
+ updateState
19
+ });
20
+ }
21
+
22
+ }
@@ -0,0 +1,49 @@
1
+ export class BehaviourResourceConnector {
2
+ constructor(resourceNames, resourceManager) {
3
+ this.resourceNames = resourceNames;
4
+ this.resourceManager = resourceManager;
5
+ }
6
+
7
+ createResourceInstances(instanceName) {
8
+ const {
9
+ resourceNames,
10
+ resourceManager
11
+ } = this;
12
+ resourceNames.forEach(resourceName => {
13
+ resourceManager.createResourceInstance(resourceName, instanceName);
14
+ });
15
+ }
16
+
17
+ destructResourceInstances(instanceName) {
18
+ const {
19
+ resourceNames,
20
+ resourceManager
21
+ } = this;
22
+ resourceNames.forEach(resourceName => {
23
+ resourceManager.destructResourceInstance(resourceName, instanceName);
24
+ });
25
+ }
26
+
27
+ syncStateWithResources(_ref) {
28
+ let {
29
+ instanceName,
30
+ state,
31
+ dispatch,
32
+ updateState
33
+ } = _ref;
34
+ const {
35
+ resourceNames,
36
+ resourceManager
37
+ } = this;
38
+ resourceNames.forEach(resourceName => {
39
+ resourceManager.syncStateWithResource({
40
+ resourceName,
41
+ instanceName,
42
+ state,
43
+ dispatch,
44
+ updateState
45
+ });
46
+ });
47
+ }
48
+
49
+ }
@@ -0,0 +1,2 @@
1
+ import { StateInterface, DispatchFunction, UpdateState } from "../../../../sdk/domain/entities/interfaces/StateInterface";
2
+ export { StateInterface, DispatchFunction, UpdateState };
@@ -0,0 +1,29 @@
1
+ import LifeCycleEvents from "../../../cc/component/LifeCycleEventsEnum";
2
+ import { Repository } from "../adapters/gateways/Repository";
3
+ import { Service } from "../adapters/gateways/Service";
4
+ import { InitializeController } from "../adapters/controllers/InitializeController";
5
+ import { DestructController } from "../adapters/controllers/DestructController";
6
+ import { SyncStateWithResourceController } from "../adapters/controllers/SyncStateWithResourceController";
7
+ import { ResourceManagerGateWay } from "../adapters/gateways/ResourceManagerGateWay";
8
+ import { sdkRegistry } from "../../sdk/frameworks/SdkRegistry";
9
+
10
+ class EventHandlerFactory {
11
+ static create(resourceNames) {
12
+ const resourceManager = new ResourceManagerGateWay();
13
+ resourceManager.init(sdkRegistry);
14
+ const repository = new Repository();
15
+ repository.init(resourceNames, resourceManager);
16
+ const dependencies = {
17
+ repository
18
+ };
19
+ const service = new Service(dependencies);
20
+ return {
21
+ [LifeCycleEvents.MOUNT]: new InitializeController(service).handle,
22
+ [LifeCycleEvents.STATE_UPDATED]: new SyncStateWithResourceController(service).handle,
23
+ [LifeCycleEvents.UN_MOUNT]: new DestructController(service).handle
24
+ };
25
+ }
26
+
27
+ }
28
+
29
+ export default EventHandlerFactory;
@@ -0,0 +1,16 @@
1
+ import SdkProperties from "../../../bc/sdk/Properties";
2
+ import EventHandlerFactory from "./EventHandlerFactory";
3
+
4
+ class SdkBehaviourFactory {
5
+ static create(resourceNames) {
6
+ return {
7
+ name: 'sdkBehaviour',
8
+ setInitialState: () => ({}),
9
+ eventHandlers: EventHandlerFactory.create(resourceNames),
10
+ properties: SdkProperties
11
+ };
12
+ }
13
+
14
+ }
15
+
16
+ export default SdkBehaviourFactory;
@@ -61,7 +61,7 @@ class FieldManager {
61
61
  const {
62
62
  apiName
63
63
  } = metaData;
64
- return apiName === 'availableFields' || apiName === 'selectedFields';
64
+ return apiName === 'availableFields' || apiName === 'selectedFields' || apiName === FieldApiName.UPDATE_SELECTED_FIELDS;
65
65
  }
66
66
 
67
67
  startFetching(apiName) {
@@ -85,6 +85,8 @@ class FieldManager {
85
85
  this.fields = data;
86
86
  } else if (apiName === FieldApiName.SELECTED_FIELDS) {
87
87
  this.selectedFields = data;
88
+ } else if (apiName === FieldApiName.UPDATE_SELECTED_FIELDS) {
89
+ this.selectedFields = data;
88
90
  }
89
91
  }
90
92
 
@@ -1,6 +1,7 @@
1
1
  var FieldApiName = /*#__PURE__*/function (FieldApiName) {
2
2
  FieldApiName["AVAILABLE_FIELDS"] = "availableFields";
3
3
  FieldApiName["SELECTED_FIELDS"] = "selectedFields";
4
+ FieldApiName["UPDATE_SELECTED_FIELDS"] = "updateSelectedFields";
4
5
  return FieldApiName;
5
6
  }(FieldApiName || {});
6
7
 
@@ -4,7 +4,12 @@ class ZFieldBehaviourFactory {
4
4
  static create(apiTemplates) {
5
5
  return {
6
6
  name: 'zfield',
7
- setInitialState: () => ({}),
7
+ setInitialState: () => ({
8
+ fields: [],
9
+ selectedFields: [],
10
+ isFieldsFetching: false,
11
+ isSelectedFieldsFetching: false
12
+ }),
8
13
  eventHandlers: ActionHandlerFactory.create(apiTemplates),
9
14
  properties: {}
10
15
  };
@@ -3,7 +3,7 @@ import FormSubmitController from "../../adapters/controllers/FormSubmitControlle
3
3
  import FormRepository from "../../adapters/gateway/FormRepository";
4
4
  import FormPresenter from "../../adapters/presenter/FormPresenter";
5
5
  import Service from "../../adapters/gateway/Service";
6
- import LifeCycleAction from "../../../../cc/architecture/LifeCycleActionEnum";
6
+ import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
7
7
  import InitializeController from "../../adapters/controllers/IntializeController";
8
8
  import { ZFORM_DEPENDENCY_MAPPINGS_REQUEST, ZFORM_DEPENDENCY_MAPPINGS_SUCCESS, ZFORM_FIELD_VALUE_CHANGE_REQUEST, ZFORM_MY_FORM_REQUEST, ZFORM_MY_FORM_SUCCESS, ZFORM_MY_LAYOUTS_SUCCESS, ZFORM_SET_FIELD_ERROR_MESSAGE, ZFORM_SUBMIT_SUCCESS, ZFORM_VALIDATE_FIELD_REQUEST, ZFORM_VALIDATE_SUBMIT_FIELD_HAS_ERROR_MESSAGE, ZFORM_VALIDATION_ERROR, ZFORM_VALIDATION_RULES_REQUEST, ZFORM_VALIDATION_RULES_SUCCESS } from "../../../../bc/zform/Symbol";
9
9
  import MyLayoutSuccessController from "../../adapters/controllers/MyLayoutSuccessController";
@@ -57,7 +57,7 @@ class EventHandlersFactory {
57
57
  const setFieldErrorMessageController = new SetFieldErrorMessageController(service);
58
58
  const validateErrorMessageController = new ValidateErrorMessageController(service);
59
59
  return {
60
- [LifeCycleAction.MOUNT]: initializeController.handle,
60
+ [LifeCycleEvents.MOUNT]: initializeController.handle,
61
61
  [ZFORM_MY_LAYOUTS_SUCCESS]: myLayoutSuccessController.handle,
62
62
  [ZFORM_MY_FORM_REQUEST]: myFormRequestController.handle,
63
63
  [ZFORM_MY_FORM_SUCCESS]: myFormSuccessController.handle,
@@ -0,0 +1,25 @@
1
+ import AbstractController from "./AbstractController";
2
+ export default class ReOrderController extends AbstractController {
3
+ handle(event) {
4
+ const {
5
+ state,
6
+ updateState,
7
+ dispatch,
8
+ action
9
+ } = event;
10
+ const {
11
+ newIndex,
12
+ oldIndex
13
+ } = action.payload;
14
+ const {
15
+ reOrderUseCase
16
+ } = this.service;
17
+ reOrderUseCase.updateDependency(state, updateState);
18
+ reOrderUseCase.execute({
19
+ dispatch,
20
+ newIndex,
21
+ oldIndex
22
+ });
23
+ }
24
+
25
+ }
@@ -0,0 +1,26 @@
1
+ import AbstractController from "./AbstractController";
2
+ export default class ReOrderController extends AbstractController {
3
+ handle(event) {
4
+ const {
5
+ state,
6
+ updateState,
7
+ dispatch,
8
+ action
9
+ } = event;
10
+ const {
11
+ newIndex,
12
+ oldIndex
13
+ } = action.payload;
14
+ const {
15
+ reOrderFailedUseCase
16
+ } = this.service;
17
+ reOrderFailedUseCase.updateDependency(state, updateState);
18
+ reOrderFailedUseCase.execute({
19
+ dispatch,
20
+ newIndex,
21
+ oldIndex,
22
+ metaData: action.metaData
23
+ });
24
+ }
25
+
26
+ }
@@ -21,7 +21,8 @@ class Repository {
21
21
  context
22
22
  } = this.state.properties;
23
23
  const {
24
- sortBy
24
+ sortBy,
25
+ errorRecordFailed
25
26
  } = this.getZListState();
26
27
  const list = ListFactory.createList({
27
28
  context,
@@ -32,11 +33,19 @@ class Repository {
32
33
  ...query
33
34
  },
34
35
  sortBy: new SortBy(sortBy.id, sortBy.name, sortBy.order),
35
- limit: 50
36
+ limit: 50,
37
+ errorRecordFailed
36
38
  });
37
39
  return list;
38
40
  }
39
41
 
42
+ getRecords() {
43
+ const {
44
+ zrecord
45
+ } = this.state.behaviours;
46
+ return zrecord.records;
47
+ }
48
+
40
49
  getZListState() {
41
50
  const {
42
51
  zlist
@@ -13,6 +13,8 @@ import RecordExecuteFailedUseCase from "../../applications/usecases/RecordExecut
13
13
  import UpdateSuccessUseCase from "../../applications/usecases/UpdateSuccessUseCase";
14
14
  import DeleteSuccessUseCase from "../../applications/usecases/DeleteSuccessUseCase";
15
15
  import RecordSuccessCallbackUsecase from "../../applications/usecases/RecordSuccessCallbackUsecase";
16
+ import ReOrderUseCase from "../../applications/usecases/ReOrderUseCase";
17
+ import ReOrderFailedUseCase from "../../applications/usecases/ReOrderFailedUseCase";
16
18
 
17
19
  class Service {
18
20
  constructor(dependencies) {
@@ -44,6 +46,10 @@ class Service {
44
46
 
45
47
  _defineProperty(this, "deleteSuccessUseCase", void 0);
46
48
 
49
+ _defineProperty(this, "reOrderUseCase", void 0);
50
+
51
+ _defineProperty(this, "reOrderFailedUseCase", void 0);
52
+
47
53
  this.initializeUseCase = new InitializeUseCase(this.dependencies);
48
54
  this.propertiesChangeUseCase = new PropertiesChangeUseCase(this.dependencies);
49
55
  this.fetchMoreUseCase = new FetchMoreUseCase(this.dependencies);
@@ -57,6 +63,8 @@ class Service {
57
63
  this.recordUpdateUseCase = new RecordUpdateUseCase(this.dependencies);
58
64
  this.updateSuccessUseCase = new UpdateSuccessUseCase(this.dependencies);
59
65
  this.deleteSuccessUseCase = new DeleteSuccessUseCase(this.dependencies);
66
+ this.reOrderUseCase = new ReOrderUseCase(this.dependencies);
67
+ this.reOrderFailedUseCase = new ReOrderFailedUseCase(this.dependencies);
60
68
  }
61
69
 
62
70
  }
@@ -0,0 +1,94 @@
1
+ /* eslint-disable @zohodesk/architecturerules/define-property-schema */
2
+
3
+ /* eslint-disable max-lines-per-function */
4
+ import ClientActionsTranslator from "../../../client-actions/translators/client-actions-translator";
5
+ import DefaultClientActions from "./utils/DefaultClientActions";
6
+ import { i18NProviderUtils } from '@zohodesk/i18n';
7
+ export default function SelectionTranslator(state) {
8
+ const {
9
+ behaviours,
10
+ properties
11
+ } = state;
12
+ const {
13
+ columnChooserConfig,
14
+ selectionConfig,
15
+ context,
16
+ moduleName
17
+ } = properties;
18
+ const {
19
+ zfield,
20
+ selection,
21
+ columnChooser
22
+ } = behaviours;
23
+ const {
24
+ selected,
25
+ hasAllSelected
26
+ } = selection;
27
+ const availableFields = zfield.fields;
28
+ const columnChooserProps = getColumnChooserProps(columnChooser, availableFields, context, moduleName);
29
+ const clientActions = generateClientActions(selectionConfig, columnChooserConfig, hasAllSelected, columnChooserProps);
30
+ const contextAppliedActions = ClientActionsTranslator.transform(clientActions, context);
31
+ return {
32
+ selected,
33
+ hasAllSelected,
34
+ actions: contextAppliedActions
35
+ };
36
+ }
37
+
38
+ function generateClientActions(selectionConfig, columnChooserConfig, hasAllSelected, columnChooserProps) {
39
+ const clientActions = [];
40
+
41
+ if (selectionConfig.isEnabled) {
42
+ if (columnChooserConfig.isEnabled) {
43
+ const columnChooserAction = DefaultClientActions.createColumnChooserAction(columnChooserProps);
44
+ clientActions.push(columnChooserAction);
45
+ } else if (selectionConfig.isSelectAllEnabled) {
46
+ const selectAllColumnsAction = DefaultClientActions.createSelectAllAction(hasAllSelected);
47
+ clientActions.push(selectAllColumnsAction);
48
+ }
49
+ }
50
+
51
+ return clientActions;
52
+ }
53
+
54
+ function getColumnChooserProps(columnChooser) {
55
+ var _context$modules, _context$modules$find;
56
+
57
+ let availableFields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
58
+ let context = arguments.length > 2 ? arguments[2] : undefined;
59
+ let moduleName = arguments.length > 3 ? arguments[3] : undefined;
60
+ const {
61
+ searchText: searchString,
62
+ fieldsOrder,
63
+ selected,
64
+ isMaxSelectionReached
65
+ } = columnChooser;
66
+ const fieldMap = mapFieldsToObject(availableFields);
67
+ const disabledFieldName = (_context$modules = context.modules) === null || _context$modules === void 0 ? void 0 : (_context$modules$find = _context$modules.find(module => module.apiKey === moduleName)) === null || _context$modules$find === void 0 ? void 0 : _context$modules$find.nameField;
68
+ const columnChooserOptions = fieldsOrder.map(fieldName => getOption(fieldMap[fieldName], !!selected[fieldName], disabledFieldName === fieldName));
69
+ return {
70
+ options: columnChooserOptions,
71
+ searchString,
72
+ hasSearch: searchString !== '' || columnChooserOptions.length > 3,
73
+ // errorMessage: isMaxSelectionReached ? "You've reached the limit of 15 columns." : ''
74
+ errorMessage: isMaxSelectionReached ? i18NProviderUtils.getI18NValue("support.ticket.table.max.colmun") : ''
75
+ };
76
+ }
77
+
78
+ function getOption(field, checked, disabled) {
79
+ return {
80
+ id: field.name,
81
+ disabled,
82
+ locked: false,
83
+ // TODO - field.isLocked,
84
+ value: field.i18NLabel,
85
+ checked
86
+ };
87
+ }
88
+
89
+ function mapFieldsToObject(availableFields) {
90
+ return availableFields.reduce((acc, field) => {
91
+ acc[field.name] = field;
92
+ return acc;
93
+ }, {});
94
+ }
@@ -1,3 +1,5 @@
1
+ /* eslint-disable @zohodesk/architecturerules/define-property-schema */
2
+
1
3
  /* eslint-disable max-lines-per-function */
2
4
  import { Width as ColumnWidth } from "../../../../cc/table-list/data-types/Header";
3
5
  import HeadersTranslator from "./translators/HeadersTranslator";
@@ -8,6 +10,7 @@ import { TableListConstants } from "../../../../cc/table-list";
8
10
  import { ResizerStateTranslator } from "./translators/ResizerStateTranslator";
9
11
  import { calculateFieldWidths } from "./utils/calculateFieldWidths";
10
12
  import DefaultClientActions from "./utils/DefaultClientActions";
13
+ import SelectionTranslator from "./SelectionTranslator";
11
14
  const EMPTY_OBJECT = {};
12
15
  const EMPTY_ARRAY = [];
13
16
 
@@ -23,15 +26,18 @@ export default class TableTranslator {
23
26
  } = state;
24
27
  const {
25
28
  componentMapping,
26
- context
29
+ context,
30
+ reOrderConfig
27
31
  } = properties;
28
32
  const {
29
33
  localStorage: localStorageBehaviour,
30
- columnResizer
34
+ columnResizer,
35
+ keyboardControls
31
36
  } = behaviours;
32
37
  const {
33
38
  resizeConfig,
34
- preferences
39
+ preferences,
40
+ keyboardControlsConfig
35
41
  } = properties;
36
42
  context['servicePrefix'] = 'supportapi/zd'; // FIX: servicePrefix defaultValue should be available from properties
37
43
 
@@ -41,11 +47,16 @@ export default class TableTranslator {
41
47
  zfield,
42
48
  zclientAction
43
49
  } = fallbackToDefault(behaviours, {}); // FIX: behaviours should be available by default
50
+ // const { sortBy, isReOrderLoading } = fallbackToDefault(zlist, {}); // FIX: zlist should be available by default
44
51
 
45
52
  const {
46
53
  sortBy
47
54
  } = fallbackToDefault(zlist, {}); // FIX: zlist should be available by default
48
55
 
56
+ const {
57
+ focussedIndex
58
+ } = fallbackToDefault(keyboardControls, {}); // FIX: KeyboardControls should be available by default
59
+
49
60
  const {
50
61
  records,
51
62
  isFetching: isRecordsFetching
@@ -93,23 +104,32 @@ export default class TableTranslator {
93
104
  return {
94
105
  properties,
95
106
  behaviours,
96
- selection: behaviours === null || behaviours === void 0 ? void 0 : behaviours.selection,
97
- sortBy,
98
- rowCursor,
99
- resizerState: ResizerStateTranslator({
100
- columnResizer: columnResizer,
101
- resizeConfig: resizeConfig,
102
- headerNames: selectedFields,
103
- modifiedWidths
104
- }),
105
- rowActionsConfig: {
106
- hasActions: Boolean(rowActions === null || rowActions === void 0 ? void 0 : rowActions.length),
107
- // Boolean(newRowActions?.length),
108
- columnWidth: ColumnWidth.XSmall
109
- },
110
- isLoading,
111
- emptyStateUiType: componentMapping.emptyState || '',
112
- data
107
+ viewModel: {
108
+ reOrderConfig,
109
+ selection: SelectionTranslator(state),
110
+ focussedRow: focussedIndex,
111
+ sortBy,
112
+ rowCursor,
113
+ resizerState: ResizerStateTranslator({
114
+ columnResizer: columnResizer,
115
+ resizeConfig: resizeConfig,
116
+ headerNames: selectedFields,
117
+ modifiedWidths
118
+ }),
119
+ rowActionsConfig: {
120
+ hasActions: Boolean(rowActions === null || rowActions === void 0 ? void 0 : rowActions.length),
121
+ // Boolean(newRowActions?.length),
122
+ columnWidth: ColumnWidth.XSmall
123
+ },
124
+ keyboardControlsConfig,
125
+ isLoading,
126
+ // isReOrderLoading,
127
+ emptyStateUiType: componentMapping.emptyState || '',
128
+ data: fields.length ? data : {
129
+ headers: EMPTY_ARRAY,
130
+ rows: EMPTY_ARRAY
131
+ }
132
+ }
113
133
  };
114
134
  }
115
135