@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
@@ -2,8 +2,7 @@
2
2
  export default class FormSdkFactory {
3
3
  static create(_ref) {
4
4
  let {
5
- state,
6
- dispatch
5
+ state
7
6
  } = _ref;
8
7
  return {
9
8
  zform: {
@@ -12,21 +11,11 @@ export default class FormSdkFactory {
12
11
  },
13
12
  getFieldValue: name => {
14
13
  let field = state.behaviours.zform.sections.flatMap(section => section.fields).find(field => field.name === name);
15
-
16
- if (field) {
17
- return field.value;
18
- }
19
-
20
- return null;
14
+ return field ? field.value : null;
21
15
  },
22
16
  getFieldValidationResult: name => {
23
17
  let field = state.behaviours.zform.sections.flatMap(section => section.fields).find(field => field.name === name);
24
-
25
- if (field) {
26
- return field.errorMessage;
27
- }
28
-
29
- return null;
18
+ return field ? field.errorMessage : null;
30
19
  }
31
20
  }
32
21
  };
@@ -0,0 +1,28 @@
1
+ import AbstractController from "./AbstractController";
2
+ import { COLUMN_CHOOSER_BEHAVIOUR_OPENED } from "../../../../../bc/column-chooser/Constants";
3
+ export default class ColumnChooserOpenedController extends AbstractController {
4
+ handle(event) {
5
+ const state = event.state;
6
+ const {
7
+ zfield
8
+ } = state.behaviours;
9
+ const {
10
+ fields: availableFields,
11
+ selectedFields
12
+ } = zfield;
13
+ const columnChooserOptionsOrder = selectedFields;
14
+ availableFields.forEach(field => {
15
+ if (!selectedFields.includes(field.name)) {
16
+ columnChooserOptionsOrder.push(field.name);
17
+ }
18
+ });
19
+ event.dispatch({
20
+ type: COLUMN_CHOOSER_BEHAVIOUR_OPENED,
21
+ payload: {
22
+ order: columnChooserOptionsOrder,
23
+ selectedArray: selectedFields
24
+ }
25
+ });
26
+ }
27
+
28
+ }
@@ -0,0 +1,25 @@
1
+ import AbstractController from "./AbstractController";
2
+ import { FIELD_EXECUTE } from "../../../../../bc/zfield/Constants";
3
+ export default class ColumnChooserUpdateController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ state,
7
+ dispatch
8
+ } = event;
9
+ const {
10
+ context
11
+ } = state.properties;
12
+ const fields = event.action.payload.selectedArray;
13
+ dispatch({
14
+ type: FIELD_EXECUTE,
15
+ payload: {
16
+ actionName: 'updateSelectedFields',
17
+ props: { ...context,
18
+ fields
19
+ },
20
+ apiName: 'updateSelectedFields'
21
+ }
22
+ });
23
+ }
24
+
25
+ }
@@ -0,0 +1,21 @@
1
+ import AbstractController from "./AbstractController";
2
+ import { ZLIST_RECORD_REORDER } from "../../../../../bc/zlist/Constants";
3
+ export class ReOrderFinishController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ dispatch
7
+ } = event;
8
+ const {
9
+ oldIndex,
10
+ newIndex
11
+ } = event.action.payload;
12
+ dispatch({
13
+ type: ZLIST_RECORD_REORDER,
14
+ payload: {
15
+ oldIndex,
16
+ newIndex
17
+ }
18
+ });
19
+ }
20
+
21
+ }
@@ -1,4 +1,4 @@
1
- import { RESIZE_MOUSE } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_MOUSE } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeByMouseController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { RESIZE_ENDED } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_ENDED } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeEndController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { STORE_REQUESTED } from "../../../../bc/local-storage/Constants";
1
+ import { STORE_REQUESTED } from "../../../../../bc/local-storage/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export class ResizeFinishController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { RESIZE_STARTED } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_STARTED } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeStartController extends AbstractController {
4
4
  handle(event) {
@@ -11,7 +11,7 @@ export default class ResizeStartController extends AbstractController {
11
11
  mouseEvent
12
12
  } = event.action.payload;
13
13
  const mouseX = mouseEvent.clientX;
14
- const lineClientRect = lineElement.getBoundingClientRect(); // HACK: calculate the initial position of the line element because of lineElement will not be read form entity because of clean architecture.
14
+ const lineClientRect = lineElement.getBoundingClientRect(); // HACK: calculate the initial position of the line element because of lineElement will not be read form entity because of clean architecture.
15
15
  // lineElement is not part of the entity, it is part of the view.
16
16
  // Note: the reason for this (lineClientRect.width / 2) is , Even line is 2 or 3 px thick we need to take center position.
17
17
 
@@ -1,4 +1,4 @@
1
- import { RESIZE_SCROLL } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_SCROLL } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ScrollController extends AbstractController {
4
4
  handle(event) {
@@ -0,0 +1,251 @@
1
+ import { AbstractResource } from "../../../../sdk/application/interfaces/gateways/AbstractResource";
2
+ import ZListRepository from "../../../../zlist/adapters/gateways/Repository";
3
+ import ZListSortBy from "../../../../zlist/adapters/gateways/SortBy";
4
+ import ZListPresenters from "../../../../zlist/adapters/presenters/Presenters";
5
+ import ZRecordRepository from "../../../../zrecord/adapters/gateways/Repository";
6
+ import ZRecordPresenter from "../../../../zrecord/adapters/presenters/Presenter";
7
+ import ListSelectRepository from "../../../../../library/behaviours/list-selection/adapters/gateways/Repository";
8
+ import ListSelectPresenter from "../../../../../library/behaviours/list-selection/adapters/presenters/Presenter";
9
+ import ListSelectSelectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Select";
10
+ import ListSelectDeselectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Deselect";
11
+ import GetMultipleRecordUseCase from "../../../../zrecord/applications/usecases/GetMultipleRecordUseCase";
12
+ import GetSingleRecordUseCase from "../../../../zrecord/applications/usecases/GetSingleRecordUseCase";
13
+ import DeleteSingleRecordUseCase from "../../../../zlist/applications/usecases/DeleteSingleRecordUseCase";
14
+ import DeleteMultipleRecordUseCase from "../../../../zlist/applications/usecases/DeleteMultipleRecordUseCase";
15
+ import RecordUpdateUseCase from "../../../../zlist/applications/usecases/RecordUpdateUseCase";
16
+ import UpdateMultipleRecordUseCase from "../../../../zlist/applications/usecases/UpdateMultipleRecordUseCase";
17
+ import GetContextUseCase from "../../../../zlist/applications/usecases/GetContextUseCase";
18
+ import ReOrderUseCase from "../../../../zlist/applications/usecases/ReOrderUseCase";
19
+ export class SmartTableResource extends AbstractResource {
20
+ initialize() {}
21
+
22
+ destroy() {}
23
+
24
+ getRecordDependencies() {
25
+ const dependencies = {
26
+ repository: new ZRecordRepository(),
27
+ presenter: new ZRecordPresenter()
28
+ };
29
+ return dependencies;
30
+ }
31
+
32
+ getListDependencies() {
33
+ const dependencies = {
34
+ repository: new ZListRepository(),
35
+ presenter: new ZListPresenters(),
36
+ sortBy: new ZListSortBy()
37
+ };
38
+ return dependencies;
39
+ }
40
+
41
+ getListSelectDependencies() {
42
+ const dependencies = {
43
+ repository: new ListSelectRepository(),
44
+ presenter: new ListSelectPresenter()
45
+ };
46
+ return dependencies;
47
+ }
48
+
49
+ createUseCase(dependencies, UseCaseClass) {
50
+ var _usecase$updateDepend, _usecase$updateDepend2;
51
+
52
+ const {
53
+ state,
54
+ updateState
55
+ } = this.dependencies;
56
+ const usecase = new UseCaseClass(dependencies);
57
+ (_usecase$updateDepend = usecase.updateDependency) === null || _usecase$updateDepend === void 0 ? void 0 : _usecase$updateDepend.call(usecase, state, updateState);
58
+ (_usecase$updateDepend2 = usecase.updateDependencies) === null || _usecase$updateDepend2 === void 0 ? void 0 : _usecase$updateDepend2.call(usecase, state, updateState);
59
+ return usecase;
60
+ }
61
+
62
+ createCallback() {
63
+ let temp = null;
64
+ return {
65
+ setData: data => {
66
+ temp = data;
67
+ },
68
+ getData: () => temp
69
+ };
70
+ }
71
+
72
+ getRecords() {
73
+ const {
74
+ getData,
75
+ setData
76
+ } = this.createCallback();
77
+ const dependencies = this.getRecordDependencies();
78
+ const usecase = this.createUseCase(dependencies, GetMultipleRecordUseCase);
79
+ usecase.execute({
80
+ callback: setData
81
+ });
82
+ return getData();
83
+ }
84
+
85
+ getRecord(recordId) {
86
+ const {
87
+ getData,
88
+ setData
89
+ } = this.createCallback();
90
+ const dependencies = this.getRecordDependencies();
91
+ const usecase = this.createUseCase(dependencies, GetSingleRecordUseCase);
92
+ usecase.execute({
93
+ recordId,
94
+ callback: setData
95
+ });
96
+ return getData();
97
+ }
98
+
99
+ getContext(variableName) {
100
+ const {
101
+ getData,
102
+ setData
103
+ } = this.createCallback();
104
+ const dependencies = this.getListDependencies();
105
+ const usecase = this.createUseCase(dependencies, GetContextUseCase);
106
+ usecase.execute({
107
+ variableName,
108
+ callback: setData
109
+ });
110
+ return getData();
111
+ }
112
+
113
+ deleteRecord(recordId) {
114
+ const {
115
+ dispatch
116
+ } = this.dependencies;
117
+ const {
118
+ getData,
119
+ setData
120
+ } = this.createCallback();
121
+ const dependencies = this.getListDependencies();
122
+ const usecase = this.createUseCase(dependencies, DeleteSingleRecordUseCase);
123
+ usecase.execute({
124
+ recordId,
125
+ dispatch,
126
+ callback: setData
127
+ });
128
+ return getData();
129
+ }
130
+
131
+ deleteRecords(recordIds) {
132
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
133
+ const {
134
+ dispatch
135
+ } = this.dependencies;
136
+ const {
137
+ getData,
138
+ setData
139
+ } = this.createCallback();
140
+ const dependencies = this.getListDependencies();
141
+ const usecase = this.createUseCase(dependencies, DeleteMultipleRecordUseCase);
142
+ usecase.execute({
143
+ recordIds,
144
+ dispatch,
145
+ callback: setData,
146
+ shouldFetch
147
+ });
148
+ return getData();
149
+ }
150
+
151
+ updateRecord(recordId, record) {
152
+ let shouldFetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
153
+ const {
154
+ dispatch
155
+ } = this.dependencies;
156
+ const {
157
+ getData,
158
+ setData
159
+ } = this.createCallback();
160
+ const dependencies = this.getListDependencies();
161
+ const usecase = this.createUseCase(dependencies, RecordUpdateUseCase);
162
+ usecase.execute({
163
+ recordId,
164
+ dispatch,
165
+ callback: setData,
166
+ record,
167
+ shouldFetch
168
+ });
169
+ return getData();
170
+ }
171
+
172
+ updateRecords(recordsMap) {
173
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
174
+ const {
175
+ dispatch
176
+ } = this.dependencies;
177
+ const {
178
+ getData,
179
+ setData
180
+ } = this.createCallback();
181
+ const dependencies = this.getListDependencies();
182
+ const usecase = this.createUseCase(dependencies, UpdateMultipleRecordUseCase);
183
+ usecase.execute({
184
+ recordsMap,
185
+ dispatch,
186
+ callback: setData,
187
+ shouldFetch
188
+ });
189
+ return getData();
190
+ }
191
+
192
+ selectRecords(ids) {
193
+ const {
194
+ dispatch
195
+ } = this.dependencies;
196
+ const dependencies = this.getListSelectDependencies();
197
+ const usecase = this.createUseCase(dependencies, ListSelectSelectUsecase);
198
+ usecase.execute({
199
+ ids,
200
+ dispatch
201
+ });
202
+ }
203
+
204
+ deselectRecords(ids) {
205
+ const {
206
+ dispatch
207
+ } = this.dependencies;
208
+ const dependencies = this.getListSelectDependencies();
209
+ const usecase = this.createUseCase(dependencies, ListSelectDeselectUsecase);
210
+ usecase.execute({
211
+ ids,
212
+ dispatch
213
+ });
214
+ }
215
+
216
+ selectAllRecords() {
217
+ const {
218
+ dispatch
219
+ } = this.dependencies;
220
+ const dependencies = this.getListSelectDependencies();
221
+ const usecase = this.createUseCase(dependencies, ListSelectSelectUsecase);
222
+ usecase.execute({
223
+ dispatch
224
+ });
225
+ }
226
+
227
+ deselectAllRecords() {
228
+ const {
229
+ dispatch
230
+ } = this.dependencies;
231
+ const dependencies = this.getListSelectDependencies();
232
+ const usecase = this.createUseCase(dependencies, ListSelectDeselectUsecase);
233
+ usecase.execute({
234
+ dispatch
235
+ });
236
+ }
237
+
238
+ reOrderRecord(fromIndex, toIndex) {
239
+ const {
240
+ dispatch
241
+ } = this.dependencies;
242
+ const dependencies = this.getListDependencies();
243
+ const usecase = this.createUseCase(dependencies, ReOrderUseCase);
244
+ usecase.execute({
245
+ newIndex: toIndex,
246
+ oldIndex: fromIndex,
247
+ dispatch
248
+ });
249
+ }
250
+
251
+ }
@@ -1,41 +1,52 @@
1
- import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../bc/list-selection/Constants";
1
+ import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../../bc/list-selection/Constants";
2
+ import { RESIZE_FINISHED } from "../../../../bc/table-column-resizer/Constants";
3
+ import { ZLIST_SORT } from "../../../../bc/zlist/Constants";
4
+ import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../../bc/column-chooser/Constants";
5
+ import { COLUMN_CHOOSER_OPEN_REQUESTED } from "../../../../cc/table-column-chooser/Constants";
2
6
  import ListSdkFactory from "./ListSdkFactory";
3
- import { SmartTableConstants } from "../../../cc/table-connected";
4
- import TableListEventConstants from "../../../cc/table-list/Constants";
7
+ import { SmartTableConstants } from "../../../../cc/table-connected";
8
+ import TableListEventConstants from "../../../../cc/table-list/Constants";
5
9
  import ResizeStartController from "../adapters/controllers/ResizeStartController";
6
10
  import ResizeByMouseController from "../adapters/controllers/ResizeByMouseController";
7
11
  import ResizeEndController from "../adapters/controllers/ResizeEndController";
8
- import { RESIZE_FINISHED } from "../../../bc/table-column-resizer/Constants";
9
12
  import { ResizeFinishController } from "../adapters/controllers/ResizeFinishController";
13
+ import { ReOrderFinishController } from "../adapters/controllers/ReOrderFinishController";
10
14
  import ScrollController from "../adapters/controllers/ScrollController";
11
- import { ZLIST_SORT } from "../../../bc/zlist/Constants";
15
+ import ColumnChooserUpdateController from "../adapters/controllers/ColumnChooserUpdateController";
16
+ import ColumnChooserOpenedController from "../adapters/controllers/ColumnChooserOpenedController";
17
+ import { platformSDK } from "../../../sdk/frameworks/Sdk";
12
18
  const {
13
19
  TABLE_LIST_RESIZE_START_REQUESTED,
14
20
  TABLE_LIST_RESIZE_MOVE_REQUESTED,
15
21
  TABLE_LIST_RESIZE_END_REQUESTED,
16
- TABLE_LIST_SCROLLED
22
+ TABLE_LIST_SCROLLED,
23
+ TABLE_LIST_ROW_DRAG_END
17
24
  } = TableListEventConstants;
18
25
 
19
26
  function createHandlerWithSdk(handler) {
20
27
  return input => {
21
28
  const {
22
- state,
23
- dispatch
29
+ state
24
30
  } = input;
25
- handler(input, ListSdkFactory.create({
26
- state,
27
- dispatch
31
+ const instanceName = state.properties.instanceName;
32
+ handler({ ...input,
33
+ platformSDK
34
+ }, ListSdkFactory.create({
35
+ instanceName
28
36
  }));
29
37
  };
30
38
  }
31
39
 
32
40
  export default class EventHandlersFactory {
33
- static create(eventHandlers) {
34
- const wrapped = Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
41
+ static getSdkWrappedEventHandler(eventHandlers) {
42
+ return Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
35
43
  const handler = createHandlerWithSdk(eventHandlers[eventName]);
36
44
  return [eventName, handler];
37
45
  }));
38
- return { ...wrapped,
46
+ }
47
+
48
+ static create(eventHandlers) {
49
+ return { ...EventHandlersFactory.getSdkWrappedEventHandler(eventHandlers),
39
50
  NAVIGATION: NavigationHandler,
40
51
  [RESIZE_FINISHED]: new ResizeFinishController().handle,
41
52
  [TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
@@ -52,6 +63,8 @@ export default class EventHandlersFactory {
52
63
  },
53
64
  [TABLE_LIST_RESIZE_END_REQUESTED]: new ResizeEndController().handle,
54
65
  [TABLE_LIST_SCROLLED]: new ScrollController().handle,
66
+ [COLUMN_CHOOSER_BEHAVIOUR_UPDATED]: new ColumnChooserUpdateController().handle,
67
+ [COLUMN_CHOOSER_OPEN_REQUESTED]: new ColumnChooserOpenedController().handle,
55
68
  [LIST_SELECTION_RECORDS_SELECTED]: _ref2 => {
56
69
  let {
57
70
  action,
@@ -81,7 +94,8 @@ export default class EventHandlersFactory {
81
94
  type: SmartTableConstants.Events.SELECTION_LIMIT_EXCEEDED,
82
95
  payload: action.payload
83
96
  });
84
- }
97
+ },
98
+ [TABLE_LIST_ROW_DRAG_END]: new ReOrderFinishController().handle
85
99
  };
86
100
  }
87
101
 
@@ -0,0 +1,57 @@
1
+ import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
2
+ import { platformSDK } from "../../../sdk/frameworks/Sdk";
3
+ export default class ListSdkFactory {
4
+ static getRecordSdks(smartTable) {
5
+ return {
6
+ getRecords: () => smartTable.getRecords(),
7
+ getRecord: recordId => smartTable.getRecord(recordId),
8
+ getContext: variableName => smartTable.getContext(variableName),
9
+ deleteRecord: recordId => smartTable.deleteRecord(recordId),
10
+ deleteRecords: function (recordIds) {
11
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
12
+ return smartTable.deleteRecords(recordIds, shouldFetch);
13
+ },
14
+ updateRecord: (recordId, record) => smartTable.updateRecord(recordId, record),
15
+ updateRecords: function (recordsMap) {
16
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
17
+ return smartTable.updateRecords(recordsMap, shouldFetch);
18
+ },
19
+ reOrderRecord: (fromIndex, toIndex) => smartTable.reOrderRecord(fromIndex, toIndex)
20
+ };
21
+ }
22
+
23
+ static getSelectionSdks(smartTable) {
24
+ return {
25
+ selectRecords: ids => smartTable.selectRecords(ids),
26
+ deselectRecords: ids => smartTable.deselectRecords(ids),
27
+ selectAllRecords: () => smartTable.selectAllRecords(),
28
+ deselectAllRecords: () => smartTable.deselectAllRecords()
29
+ };
30
+ }
31
+
32
+ static create(_ref) {
33
+ let {
34
+ instanceName
35
+ } = _ref;
36
+ const smartTable = platformSDK[ResourceNamesEnum.SMART_TABLE](instanceName);
37
+ const recordSdks = ListSdkFactory.getRecordSdks(smartTable);
38
+ const selectionSdks = ListSdkFactory.getSelectionSdks(smartTable);
39
+ return {
40
+ zlist: {
41
+ getRecords: recordSdks.getRecords,
42
+ getRecord: recordSdks.getRecord,
43
+ getContext: recordSdks.getContext,
44
+ deleteRecord: recordSdks.deleteRecord,
45
+ deleteRecords: recordSdks.deleteRecords,
46
+ updateRecord: recordSdks.updateRecord,
47
+ updateRecords: recordSdks.updateRecords,
48
+ selectRecords: selectionSdks.selectRecords,
49
+ deselectRecords: selectionSdks.deselectRecords,
50
+ selectAllRecords: selectionSdks.selectAllRecords,
51
+ deselectAllRecords: selectionSdks.deselectAllRecords,
52
+ reOrderRecord: recordSdks.reOrderRecord
53
+ }
54
+ };
55
+ }
56
+
57
+ }
@@ -0,0 +1,76 @@
1
+ import Properties from "../../../../cc/table-connected/Properties";
2
+ import { createCustomComponent } from "../../../../library/custom-component";
3
+ import ZFieldBehaviourFactory from "../../../zfield/frameworks/ZFieldBehaviourFactory";
4
+ import ZHttpBehaviourFactory from "../../../zhttp/frameworks/ZHttpBehaviourFactory";
5
+ import TableTranslator from "../../../zlist/adapters/presenters/TableTranslator";
6
+ import ZListBehaviourFactory from "../../../zlist/frameworks/ZListBehaviourFactory";
7
+ import RecordBehaviourFactory from "../../../zrecord/frameworks/RecordBehaviourFactory";
8
+ import EventHandlersFactory from "./EventHandlersFactory";
9
+ import TableConnectedView from "./TableConnectedView";
10
+ import defaultDataSource from "../../../data-source";
11
+ import DataSourceBehaviourFactory from "../../../zdata-source/frameworks/DataBrokerBehaviourFactory";
12
+ import ClientActionsBehaviourFactory from "../../../client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
13
+ import LocalStorageBehaviourFactory from "../../../../library/behaviours/local-storage/frameworks/LocalStorageBehaviourFactory";
14
+ import TableColumnResizerBehaviorFactory from "../../../../library/behaviours/table-column-resizer/frameworks/TableColumnResizerBehaviorFactory";
15
+ import ListItemSelectionBehaviourFactory from "../../../../library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory";
16
+ import ColumnChooserBehaviourFactory from "../../../column-chooser/frameworks/ColumnChooserBehaviourFactory";
17
+ import SdkBehaviourFactory from "../../../sdk-behaviour/frameworks/SdkBehaviourFactory";
18
+ import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
19
+ import { sdkRegistry } from "../../../sdk/frameworks/SdkRegistry";
20
+ import { SmartTableResource } from "../adapters/resources/SmartTableResource";
21
+ sdkRegistry.registerResource({
22
+ resourceName: ResourceNamesEnum.SMART_TABLE,
23
+ resource: SmartTableResource
24
+ });
25
+ import KeyboardControlBehaviourFactory from "../../../../library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory";
26
+
27
+ function combineDataSourceWithDefault(dataSource) {
28
+ return { ...defaultDataSource,
29
+ ...dataSource,
30
+ httpTemplates: { ...defaultDataSource.httpTemplates,
31
+ ...(dataSource === null || dataSource === void 0 ? void 0 : dataSource.httpTemplates)
32
+ }
33
+ };
34
+ }
35
+
36
+ export default class TableConnectedFactory {
37
+ static create(_ref) {
38
+ let {
39
+ name,
40
+ dataBroker,
41
+ dataSource,
42
+ eventHandlers = {},
43
+ View = TableConnectedView
44
+ } = _ref;
45
+
46
+ if (dataBroker) {
47
+ console.warn('Desk Platform Warning: dataBroker is deprecated, use dataSource instead');
48
+ }
49
+
50
+ const _dataSource = combineDataSourceWithDefault(dataBroker ? dataBroker : dataSource);
51
+
52
+ return createCustomComponent({
53
+ name: name,
54
+ View: View,
55
+ properties: Properties,
56
+ eventHandlers: EventHandlersFactory.create(eventHandlers),
57
+ transformState: TableTranslator.transformState,
58
+ behaviours: TableConnectedFactory.getBehaviours(_dataSource)
59
+ });
60
+ }
61
+
62
+ static getBehaviours(_dataSource) {
63
+ return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
64
+ }
65
+
66
+ static getPlatformBehaviours(_dataSource) {
67
+ return [RecordBehaviourFactory.create(_dataSource.httpTemplates), ClientActionsBehaviourFactory.create({
68
+ getClientActions: _dataSource.httpTemplates.getClientActions
69
+ }), ZFieldBehaviourFactory.create({
70
+ availableFields: _dataSource.httpTemplates.getAvailableFields,
71
+ updateSelectedFields: _dataSource.httpTemplates.updateSelectedFields,
72
+ selectedFields: _dataSource.httpTemplates.getSelectedFields
73
+ }), ZListBehaviourFactory.create()];
74
+ }
75
+
76
+ }