@zohodesk/library-platform 1.1.0-exp.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +2 -2
  2. package/es/bc/list-selection/Constants.js +8 -1
  3. package/es/bc/list-selection/Properties.js +6 -2
  4. package/es/bc/{zdata-broker → zdata-source}/Actions.js +6 -6
  5. package/es/bc/{zdata-broker → zdata-source}/Constants.js +6 -5
  6. package/es/bc/zdata-source/EventHandlers.js +2 -0
  7. package/es/bc/zdata-source/Symbols.js +5 -0
  8. package/es/bc/zfield/ActionHandlers.js +1 -1
  9. package/es/bc/zlist/EventHandlers.js +1 -1
  10. package/es/bc/zlist/Properties.js +25 -32
  11. package/es/cc/action-icon/Properties.js +31 -0
  12. package/es/cc/action-location/Properties.js +9 -24
  13. package/es/cc/table-connected/Properties.js +11 -57
  14. package/es/cc/table-connected/constants/Events.js +7 -0
  15. package/es/cc/table-connected/constants/index.js +1 -0
  16. package/es/cc/table-connected/index.js +4 -0
  17. package/es/cc/table-list/Properties.js +44 -2
  18. package/es/cc/table-list/data-types/Header.js +6 -0
  19. package/es/desk-frameworks/table-connected/frameworks/EventHandlersFactory.js +33 -1
  20. package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +118 -2
  21. package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +24 -9
  22. package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +7 -2
  23. package/es/library/behaviours/list-selection/adapters/controllers/AllSelectionController.js +5 -2
  24. package/es/library/behaviours/list-selection/adapters/controllers/DeselectController.js +26 -0
  25. package/es/library/behaviours/list-selection/adapters/controllers/RangeSelectionController.js +4 -2
  26. package/es/library/behaviours/list-selection/adapters/controllers/SelectController.js +26 -0
  27. package/es/library/behaviours/list-selection/adapters/controllers/SelectionController.js +4 -2
  28. package/es/library/behaviours/list-selection/adapters/gateways/Repository.js +3 -3
  29. package/es/library/behaviours/list-selection/adapters/gateways/Service.js +8 -0
  30. package/es/library/behaviours/list-selection/applications/usecases/AllItemSelection.js +5 -1
  31. package/es/library/behaviours/list-selection/applications/usecases/Deselect.js +21 -0
  32. package/es/library/behaviours/list-selection/applications/usecases/ItemsSelection.js +3 -1
  33. package/es/library/behaviours/list-selection/applications/usecases/RangeSelection.js +3 -1
  34. package/es/library/behaviours/list-selection/applications/usecases/Select.js +21 -0
  35. package/es/library/behaviours/list-selection/domain/entities/ListItemSelection.js +86 -28
  36. package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +5 -1
  37. package/es/library/custom-component/domain/entities/{Events.js → Event.js} +12 -3
  38. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -2
  39. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +9 -4
  40. package/es/library/dot/components/table-list/frameworks/ui/TableList.js +1 -2
  41. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +3 -2
  42. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +5 -2
  43. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +16 -3
  44. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +2 -1
  45. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowActions.js +6 -4
  46. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +16 -3
  47. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +1 -2
  48. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIcon.js +18 -2
  49. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +75 -1
  50. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +7 -6
  51. package/es/platform/client-actions/Readme.md +31 -0
  52. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/Readme.md +14 -21
  53. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/ExecuteActionBehaviourUseCase.js +1 -1
  54. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/InitializeUseCase.js +2 -2
  55. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/ClientAction.js +12 -4
  56. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/ClientActionManager.js +9 -9
  57. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/ClientActions.js +0 -4
  58. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/EventMapping.js +5 -1
  59. package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/UIComponentMapping.js +7 -3
  60. package/es/platform/{zclient-actions/frameworks/ClientActionBehaviourFactory.js → client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory.js} +1 -1
  61. package/es/platform/client-actions/cc/action-event-mediator/Properties.js +34 -0
  62. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +51 -0
  63. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/MountController.js +18 -0
  64. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/PropertiesChangeController.js +26 -0
  65. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/UnmountController.js +18 -0
  66. package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js +36 -0
  67. package/es/platform/client-actions/components/action-event-mediator/adapters/presenters/Presenter.js +22 -0
  68. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/AbstractUseCase.js +15 -0
  69. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/DestroyUseCase.js +13 -0
  70. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/InitializeUseCase.js +13 -0
  71. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +17 -0
  72. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +108 -0
  73. package/es/platform/client-actions/components/action-event-mediator/domain/entities/interfaces/IState.js +1 -0
  74. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator.js +13 -0
  75. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +19 -0
  76. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +30 -0
  77. package/es/platform/client-actions/components/dynamic-component/domain/entities/interfaces/IState.js +1 -0
  78. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponent.js +9 -0
  79. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +34 -0
  80. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +7 -0
  81. package/es/platform/client-actions/components/interfaces/EventMappingViewModel.js +0 -0
  82. package/es/platform/client-actions/components/row-actions-renderer/domain/entities/interfaces/IState.js +1 -0
  83. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.js +12 -0
  84. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +17 -0
  85. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +30 -0
  86. package/es/platform/client-actions/template-resolver/index.js +44 -0
  87. package/es/platform/client-actions/template-resolver/interfaces/ITemplate.js +1 -0
  88. package/es/platform/client-actions/translators/client-actions-translator/index.js +29 -0
  89. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalEmptyString.js +4 -0
  90. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalEndsWith.js +4 -0
  91. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalEquals.js +4 -0
  92. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalGreaterThan.js +4 -0
  93. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalGreaterThanOrEquals.js +4 -0
  94. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalIn.js +4 -0
  95. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalIsEmpty.js +4 -0
  96. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalIsNotEmpty.js +4 -0
  97. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalLessThan.js +4 -0
  98. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalLessThanOrEquals.js +4 -0
  99. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalLike.js +4 -0
  100. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalNotEquals.js +4 -0
  101. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalNotLike.js +4 -0
  102. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/EvalStartsWith.js +4 -0
  103. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +8 -0
  104. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/index.js +58 -0
  105. package/es/platform/client-actions/translators/condition-resolver/index.js +33 -0
  106. package/es/platform/client-actions/translators/condition-resolver/pattern-evaluator/PatternValidator.js +86 -0
  107. package/es/platform/client-actions/translators/condition-resolver/pattern-evaluator/index.js +96 -0
  108. package/es/platform/client-actions/translators/context-resolver/index.js +54 -0
  109. package/es/platform/client-actions/translators/interfaces/IContext.js +1 -0
  110. package/es/platform/client-actions/translators/interfaces/IState.js +1 -0
  111. package/es/platform/data-source/dbc/index.js +1 -0
  112. package/es/platform/{data-broker → data-source}/http-template/getAvailableFields.js +5 -5
  113. package/es/platform/{data-broker → data-source}/http-template/getClientActions.js +4 -4
  114. package/es/platform/{data-broker → data-source}/http-template/getSelectedFields.js +5 -5
  115. package/es/platform/{data-broker → data-source}/index.js +2 -2
  116. package/es/platform/{data-broker → data-source}/utils/transformer/CreateCf.js +1 -1
  117. package/es/platform/{zdata-broker/adapters/controllers/DataBrokerExecutorController.js → zdata-source/adapters/controllers/DataSourceExecutorController.js} +1 -1
  118. package/es/platform/{zdata-broker → zdata-source}/adapters/gateways/Repository.js +5 -5
  119. package/es/platform/{zdata-broker → zdata-source}/adapters/presenters/Presenter.js +4 -4
  120. package/es/platform/{zdata-broker/applications/entities-factory/DataBrokerFactory.js → zdata-source/applications/entities-factory/DataSourceFactory.js} +3 -4
  121. package/es/platform/zdata-source/applications/interfaces/InputDependencies.js +1 -0
  122. package/es/platform/zdata-source/applications/interfaces/gateways/IRepository.js +1 -0
  123. package/es/platform/zdata-source/applications/interfaces/gateways/IService.js +0 -0
  124. package/es/platform/zdata-source/applications/interfaces/gateways/State.js +1 -0
  125. package/es/platform/zdata-source/applications/interfaces/input/ExecuteActionInputModel.js +1 -0
  126. package/es/platform/zdata-source/applications/interfaces/input/FailureInputModel.js +1 -0
  127. package/es/platform/zdata-source/applications/interfaces/input/NoContentInputModel.js +1 -0
  128. package/es/platform/zdata-source/applications/interfaces/input/RegisterInputModel.js +1 -0
  129. package/es/platform/zdata-source/applications/interfaces/input/SuccessInputModel.js +1 -0
  130. package/es/platform/zdata-source/applications/interfaces/output/IPresenter.js +1 -0
  131. package/es/platform/{zdata-broker → zdata-source}/applications/usecases/ExecuteActionUseCase.js +3 -3
  132. package/es/platform/{zdata-broker → zdata-source}/applications/usecases/FailureUseCase.js +3 -3
  133. package/es/platform/{zdata-broker → zdata-source}/applications/usecases/NoContentUseCase.js +3 -3
  134. package/es/platform/{zdata-broker → zdata-source}/applications/usecases/SuccessUseCase.js +4 -4
  135. package/es/platform/{zdata-broker/domain/entities/DataBroker.js → zdata-source/domain/entities/DataSource.js} +12 -12
  136. package/es/platform/zdata-source/domain/entities/interfaces/APIDetailsModel.js +1 -0
  137. package/es/platform/zdata-source/domain/entities/interfaces/APITemplateModel.js +1 -0
  138. package/es/platform/zdata-source/domain/entities/interfaces/APITemplatesModel.js +1 -0
  139. package/es/platform/zdata-source/domain/entities/interfaces/BehaviourState.js +1 -0
  140. package/es/platform/zdata-source/domain/entities/interfaces/EventModel.js +1 -0
  141. package/es/platform/zdata-source/domain/entities/interfaces/IAPITemplate.js +1 -0
  142. package/es/platform/zdata-source/domain/entities/interfaces/IAPITemplates.js +1 -0
  143. package/es/platform/zdata-source/domain/entities/interfaces/IDataSource.js +0 -0
  144. package/es/platform/zdata-source/domain/entities/interfaces/ITemplateHelpers.js +1 -0
  145. package/es/platform/zdata-source/domain/entities/interfaces/MetaData.js +1 -0
  146. package/es/platform/{zdata-broker → zdata-source}/frameworks/DataBrokerBehaviourFactory.js +2 -2
  147. package/es/platform/{zdata-broker → zdata-source}/frameworks/EventHandlersFactory.js +7 -12
  148. package/es/platform/zfield/applications/usecases/ExecuteActionUseCase.js +1 -1
  149. package/es/platform/zfield/applications/usecases/InitializeUseCase.js +2 -2
  150. package/es/platform/zfield/applications/usecases/RefetchUseCase.js +1 -1
  151. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -5
  152. package/es/platform/zfield/frameworks/ActionHandlerFactory.js +4 -4
  153. package/es/platform/zlist/adapters/controllers/DeleteSuccessController.js +25 -0
  154. package/es/platform/zlist/adapters/controllers/UpdateSuccessController.js +25 -0
  155. package/es/platform/zlist/adapters/gateways/Repository.js +11 -10
  156. package/es/platform/zlist/adapters/gateways/Service.js +8 -0
  157. package/es/platform/zlist/adapters/presenters/TableTranslator.js +47 -34
  158. package/es/platform/zlist/adapters/presenters/translators/ColumnSizeTranslator.js +2 -2
  159. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +16 -8
  160. package/es/platform/zlist/adapters/presenters/translators/Header.js +7 -2
  161. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +4 -2
  162. package/es/platform/zlist/adapters/presenters/translators/Row.js +10 -6
  163. package/es/platform/zlist/adapters/presenters/translators/RowActionTranslator.js +6 -6
  164. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +7 -5
  165. package/es/platform/zlist/adapters/presenters/translators/actions/ActionsTranslator.js +89 -0
  166. package/es/platform/zlist/adapters/presenters/translators/interfaces/Context.js +1 -0
  167. package/es/platform/zlist/adapters/presenters/translators/interfaces/FieldComponentMapping.js +1 -0
  168. package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -3
  169. package/es/platform/zlist/applications/usecases/DeleteSuccessUseCase.js +19 -0
  170. package/es/platform/zlist/applications/usecases/UpdateSuccessUseCase.js +19 -0
  171. package/es/platform/zlist/domain/entities/List.js +50 -11
  172. package/es/platform/zlist/frameworks/EventHandlersFactory.js +17 -23
  173. package/es/platform/zrecord/applications/usecases/ExecuteActionUseCase.js +1 -1
  174. package/es/platform/zrecord/applications/usecases/FetchMoreUseCase.js +1 -1
  175. package/es/platform/zrecord/applications/usecases/InitializeUseCase.js +2 -2
  176. package/es/platform/zrecord/applications/usecases/RefetchUseCase.js +1 -1
  177. package/es/platform/zrecord/domain/entities/RecordsManager.js +10 -10
  178. package/package.json +4 -3
  179. package/es/bc/zdata-broker/EventHandlers.js +0 -2
  180. package/es/bc/zdata-broker/Symbols.js +0 -5
  181. package/es/desk-frameworks/table-connected/frameworks/__tests__/TableConnectedFactory.spec.js +0 -453
  182. package/es/desk-frameworks/table-connected/frameworks/__tests__/mock/data-broker/http-template/getAvailableFields.js +0 -86
  183. package/es/desk-frameworks/table-connected/frameworks/__tests__/mock/data-broker/http-template/getRecords.js +0 -81
  184. package/es/desk-frameworks/table-connected/frameworks/__tests__/mock/data-broker/http-template/getSelectedFields.js +0 -32
  185. package/es/desk-frameworks/table-connected/frameworks/__tests__/mock/data-broker/index.js +0 -11
  186. package/es/platform/zdata-broker/domain/entities/interfaces/MetaData.js +0 -1
  187. /package/es/bc/{zdata-broker → zdata-source}/Properties.js +0 -0
  188. /package/es/{platform/data-broker/dbc/index.js → library/behaviours/list-selection/applications/interfaces/input/DeselectInputModel.js} +0 -0
  189. /package/es/{platform/zclient-actions/applications/interfaces/InputDependencies.js → library/behaviours/list-selection/applications/interfaces/input/SelectInputModel.js} +0 -0
  190. /package/es/{platform/zclient-actions → library/custom-component}/domain/entities/interfaces/EventModel.js +0 -0
  191. /package/es/{bc → platform/client-actions/bc}/zclient-actions/Constants.js +0 -0
  192. /package/es/{bc → platform/client-actions/bc}/zclient-actions/EventHandlers.js +0 -0
  193. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/AbstractController.js +0 -0
  194. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/ClientActionBehaviourExecutorController.js +0 -0
  195. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/FailureController.js +0 -0
  196. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/FetchStateStopController.js +0 -0
  197. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/MountController.js +0 -0
  198. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/NoContentController.js +0 -0
  199. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/SetClientActionsController.js +0 -0
  200. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/controllers/SuccessController.js +0 -0
  201. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/gateways/Repository.js +0 -0
  202. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/gateways/Service.js +0 -0
  203. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/adapters/presenters/Presenter.js +0 -0
  204. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/entities-factory/ClientActionFactory.js +0 -0
  205. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/entities-factory/ClientActionManagerFactory.js +0 -0
  206. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/ClientActionModel.js +0 -0
  207. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/ComponentPropertiesModel.js +0 -0
  208. /package/es/platform/{zclient-actions/applications/interfaces/gateways/IRepository.js → client-actions/behaviour/zclient-actions/applications/interfaces/ConditionFieldModel.js} +0 -0
  209. /package/es/platform/{zclient-actions/applications/interfaces/gateways/State.js → client-actions/behaviour/zclient-actions/applications/interfaces/ConditionModel.js} +0 -0
  210. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/EventMappingModel.js +0 -0
  211. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/IError.js +0 -0
  212. /package/es/platform/{zdata-broker → client-actions/behaviour/zclient-actions}/applications/interfaces/InputDependencies.js +0 -0
  213. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/PayloadValueMappingModel.js +0 -0
  214. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/PropsMeta.js +0 -0
  215. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/StrategyMeta.js +0 -0
  216. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/UIComponentMappingModel.js +0 -0
  217. /package/es/platform/{zclient-actions/domain/entities → client-actions/behaviour/zclient-actions/applications}/interfaces/UserDetailsModel.js +0 -0
  218. /package/es/platform/{zdata-broker → client-actions/behaviour/zclient-actions}/applications/interfaces/gateways/IRepository.js +0 -0
  219. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/gateways/IService.js +0 -0
  220. /package/es/platform/{zdata-broker → client-actions/behaviour/zclient-actions}/applications/interfaces/gateways/State.js +0 -0
  221. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/ExecuteActionBehaviourInputModel.js +0 -0
  222. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/FailureInputModel.js +0 -0
  223. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/FetchStateStopInputModel.js +0 -0
  224. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/InitializeInputModel.js +0 -0
  225. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/NoContentInputModel.js +0 -0
  226. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/SetClientActionsInputModel.js +0 -0
  227. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/input/SuccessInputModel.js +0 -0
  228. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/interfaces/output/IPresenter.js +0 -0
  229. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/AbstractUseCase.js +0 -0
  230. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/FailureUseCase.js +0 -0
  231. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/FetchStateStopUseCase.js +0 -0
  232. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/NoContentUseCase.js +0 -0
  233. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/SetClientActionsUseCase.js +0 -0
  234. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/applications/usecases/SuccessUseCase.js +0 -0
  235. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/EventMappings.js +0 -0
  236. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/GetClientActionsStrategy.js +0 -0
  237. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/BehaviourState.js +0 -0
  238. /package/es/platform/{zclient-actions/domain/entities/interfaces/ClientActionsModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ClientActionModel.js} +0 -0
  239. /package/es/platform/{zclient-actions/domain/entities/interfaces/IAction.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ClientActionsModel.js} +0 -0
  240. /package/es/platform/{zclient-actions/domain/entities/interfaces/IEvent.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ComponentPropertiesModel.js} +0 -0
  241. /package/es/platform/{zclient-actions/domain/entities/interfaces/SubMeta.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ConditionFieldModel.js} +0 -0
  242. /package/es/platform/{zdata-broker/applications/interfaces/input/ExecuteActionInputModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ConditionModel.js} +0 -0
  243. /package/es/platform/{zdata-broker/applications/interfaces/input/FailureInputModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/EventMappingModel.js} +0 -0
  244. /package/es/platform/{zdata-broker → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/EventModel.js +0 -0
  245. /package/es/platform/{zdata-broker/applications/interfaces/input/NoContentInputModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/IAction.js} +0 -0
  246. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IClientAction.js +0 -0
  247. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IClientActionExecuteStrategy.js +0 -0
  248. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IClientActionManager.js +0 -0
  249. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IClientActions.js +0 -0
  250. /package/es/platform/{zdata-broker/applications/interfaces/input/RegisterInputModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/IError.js} +0 -0
  251. /package/es/platform/{zdata-broker/applications/interfaces/input/SuccessInputModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/IEvent.js} +0 -0
  252. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IEventMapping.js +0 -0
  253. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IEventMappings.js +0 -0
  254. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IPayload.js +0 -0
  255. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/domain/entities/interfaces/IUIComponentMapping.js +0 -0
  256. /package/es/platform/{zdata-broker/applications/interfaces/output/IPresenter.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/PayloadValueMappingModel.js} +0 -0
  257. /package/es/platform/{zdata-broker/domain/entities/interfaces/APIDetailsModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/PropsMeta.js} +0 -0
  258. /package/es/platform/{zdata-broker/domain/entities/interfaces/APITemplateModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/State.js} +0 -0
  259. /package/es/platform/{zdata-broker/domain/entities/interfaces/APITemplatesModel.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/StrategyMeta.js} +0 -0
  260. /package/es/platform/{zdata-broker/domain/entities/interfaces/BehaviourState.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/SubMeta.js} +0 -0
  261. /package/es/platform/{zdata-broker/domain/entities/interfaces/IAPITemplate.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/UIComponentMappingModel.js} +0 -0
  262. /package/es/platform/{zdata-broker/domain/entities/interfaces/IAPITemplates.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/UserDetailsModel.js} +0 -0
  263. /package/es/platform/{zclient-actions → client-actions/behaviour/zclient-actions}/frameworks/ActionsHandlersFactory.js +0 -0
  264. /package/es/platform/{zdata-broker/domain/entities/interfaces/ITemplateHelpers.js → client-actions/components/action-event-mediator/applications/interfaces/UseCaseDependencies.js} +0 -0
  265. /package/es/platform/{zdata-broker/applications/interfaces/gateways/IService.js → client-actions/components/action-event-mediator/applications/interfaces/gateways/IRepository.js} +0 -0
  266. /package/es/platform/{zlist/adapters/presenters/translators/interfaces/FieldUiMapping.js → client-actions/components/action-event-mediator/applications/interfaces/input/PropertiesChangeUseCaseInputModel.js} +0 -0
  267. /package/es/platform/{zdata-broker/domain/entities/interfaces/IDataBroker.js → client-actions/components/action-event-mediator/applications/interfaces/output/IPresenter.js} +0 -0
  268. /package/es/platform/{zlist/adapters/presenters/translators/interfaces/PageContext.js → client-actions/components/action-event-mediator/domain/entities/interfaces/IActionLocation.js} +0 -0
  269. /package/es/platform/{data-broker → data-source}/http-template/deleteRecord.js +0 -0
  270. /package/es/platform/{data-broker → data-source}/http-template/deleteRecords.js +0 -0
  271. /package/es/platform/{data-broker → data-source}/http-template/getRecords.js +0 -0
  272. /package/es/platform/{data-broker → data-source}/http-template/updateRecord.js +0 -0
  273. /package/es/platform/{data-broker → data-source}/utils/transformer/Transformer.js +0 -0
  274. /package/es/platform/{zdata-broker → zdata-source}/adapters/controllers/AbstractController.js +0 -0
  275. /package/es/platform/{zdata-broker → zdata-source}/adapters/controllers/FailureController.js +0 -0
  276. /package/es/platform/{zdata-broker → zdata-source}/adapters/controllers/NoContentController.js +0 -0
  277. /package/es/platform/{zdata-broker → zdata-source}/adapters/controllers/RegisterController.js +0 -0
  278. /package/es/platform/{zdata-broker → zdata-source}/adapters/controllers/SuccessController.js +0 -0
  279. /package/es/platform/{zdata-broker → zdata-source}/adapters/gateways/Service.js +0 -0
  280. /package/es/platform/{zdata-broker → zdata-source}/adapters/gateways/TemplateHelpers.js +0 -0
  281. /package/es/platform/{zdata-broker → zdata-source}/applications/entities-factory/APITemplatesFactory.js +0 -0
  282. /package/es/platform/{zdata-broker → zdata-source}/applications/interfaces/gateways/ITemplateHelpers.js +0 -0
  283. /package/es/platform/{zdata-broker → zdata-source}/applications/usecases/AbstractUseCase.js +0 -0
  284. /package/es/platform/{zdata-broker → zdata-source}/applications/usecases/RegisterUseCase.js +0 -0
  285. /package/es/platform/{zdata-broker → zdata-source}/domain/entities/APITemplate.js +0 -0
  286. /package/es/platform/{zdata-broker → zdata-source}/domain/entities/APITemplates.js +0 -0
  287. /package/es/platform/{zdata-broker → zdata-source}/domain/entities/interfaces/ApiEnum.js +0 -0
@@ -1,4 +1,6 @@
1
+ import { LIST_SELECTION_DESELECT_ITEM, LIST_SELECTION_SELECT_ITEM } from "../../../bc/list-selection/Constants";
1
2
  import { ZLIST_DELETE_RECORD, ZLIST_DELETE_RECORDS, ZLIST_RECORD_UPDATE } from "../../../bc/zlist/Constants";
3
+ import { RECORD_LOCAL_MULTIPLE_DELETE, RECORD_LOCAL_UPDATE } from "../../../bc/zrecord/Constants";
2
4
  /* eslint-disable max-lines-per-function */
3
5
 
4
6
  export default class ListSdkFactory {
@@ -21,25 +23,84 @@ export default class ListSdkFactory {
21
23
  return (_state$behaviours2 = state.behaviours) === null || _state$behaviours2 === void 0 ? void 0 : (_state$behaviours2$zr = _state$behaviours2.zrecord.records) === null || _state$behaviours2$zr === void 0 ? void 0 : _state$behaviours2$zr.find(r => r.id === recordId);
22
24
  },
23
25
 
26
+ getContext(variableName) {
27
+ var _state$properties;
28
+
29
+ const {
30
+ departmentId,
31
+ viewId,
32
+ moduleName
33
+ } = state.properties;
34
+ const {
35
+ servicePrefix,
36
+ ...context
37
+ } = (_state$properties = state.properties) === null || _state$properties === void 0 ? void 0 : _state$properties.context;
38
+ const updatedContext = { ...context,
39
+ departmentId,
40
+ viewId,
41
+ moduleName
42
+ };
43
+ return variableName ? context === null || context === void 0 ? void 0 : context[variableName] : updatedContext;
44
+ },
45
+
24
46
  deleteRecord(recordId) {
47
+ let output = {
48
+ data: [{
49
+ id: recordId,
50
+ Success: true,
51
+ error: null
52
+ }]
53
+ };
25
54
  dispatch({
26
55
  type: ZLIST_DELETE_RECORD,
27
56
  payload: {
28
57
  recordId
29
58
  }
30
59
  });
60
+ return output;
31
61
  },
32
62
 
63
+ // deleteRecords(recordIds) {
64
+ // dispatch({
65
+ // type: ZLIST_DELETE_RECORDS,
66
+ // payload: {
67
+ // recordIds
68
+ // }
69
+ // });
70
+ // },
33
71
  deleteRecords(recordIds) {
72
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
73
+ let output = {
74
+ data: []
75
+ };
76
+ let DELETE_ACTION = shouldFetch ? ZLIST_DELETE_RECORDS : RECORD_LOCAL_MULTIPLE_DELETE;
34
77
  dispatch({
35
- type: ZLIST_DELETE_RECORDS,
78
+ type: DELETE_ACTION,
36
79
  payload: {
37
80
  recordIds
38
81
  }
39
82
  });
83
+
84
+ for (let recordId of recordIds) {
85
+ let recordUpdateDetail = {
86
+ id: recordId,
87
+ Success: true,
88
+ error: null
89
+ };
90
+ output.data.push(recordUpdateDetail);
91
+ }
92
+
93
+ return output;
40
94
  },
41
95
 
42
96
  updateRecord(recordId, record) {
97
+ let output = {
98
+ results: [{
99
+ id: recordId,
100
+ Success: true,
101
+ error: null
102
+ }]
103
+ };
43
104
  dispatch({
44
105
  type: ZLIST_RECORD_UPDATE,
45
106
  payload: {
@@ -47,8 +108,63 @@ export default class ListSdkFactory {
47
108
  record
48
109
  }
49
110
  });
50
- }
111
+ return output;
112
+ },
51
113
 
114
+ updateRecords(recordsMap) {
115
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
116
+ let output = {
117
+ results: []
118
+ };
119
+ let UPDATE_ACTION = shouldFetch ? ZLIST_RECORD_UPDATE : RECORD_LOCAL_UPDATE;
120
+
121
+ for (let record of recordsMap) {
122
+ dispatch({
123
+ type: UPDATE_ACTION,
124
+ payload: {
125
+ recordId: record.id,
126
+ record: record
127
+ }
128
+ });
129
+ let recordUpdateDetail = {
130
+ id: record.id,
131
+ Success: true,
132
+ error: null
133
+ };
134
+ output.results.push(recordUpdateDetail);
135
+ }
136
+
137
+ return output;
138
+ },
139
+
140
+ selectRecords: ids => {
141
+ dispatch({
142
+ type: LIST_SELECTION_SELECT_ITEM,
143
+ payload: {
144
+ ids
145
+ }
146
+ });
147
+ },
148
+ deselectRecords: ids => {
149
+ dispatch({
150
+ type: LIST_SELECTION_DESELECT_ITEM,
151
+ payload: {
152
+ ids
153
+ }
154
+ });
155
+ },
156
+ selectAllRecords: () => {
157
+ dispatch({
158
+ type: LIST_SELECTION_SELECT_ITEM,
159
+ payload: {}
160
+ });
161
+ },
162
+ deselectAllRecords: () => {
163
+ dispatch({
164
+ type: LIST_SELECTION_DESELECT_ITEM,
165
+ payload: {}
166
+ });
167
+ }
52
168
  }
53
169
  };
54
170
  }
@@ -7,29 +7,44 @@ import ZListBehaviourFactory from "../../../platform/zlist/frameworks/ZListBehav
7
7
  import RecordBehaviourFactory from "../../../platform/zrecord/frameworks/RecordBehaviourFactory";
8
8
  import EventHandlersFactory from "./EventHandlersFactory";
9
9
  import TableConnectedView from "./TableConnectedView";
10
- import defaultDataBroker from "../../../platform/data-broker";
11
- import DataBrokerBehaviourFactory from "../../../platform/zdata-broker/frameworks/DataBrokerBehaviourFactory";
12
- import ClientActionBehaviourFactory from "../../../platform/zclient-actions/frameworks/ClientActionBehaviourFactory";
10
+ import defaultDataSource from "../../../platform/data-source";
11
+ import DataSourceBehaviourFactory from "../../../platform/zdata-source/frameworks/DataBrokerBehaviourFactory";
12
+ import ClientActionsBehaviourFactory from "../../../platform/client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
13
+ import ListItemSelectionBehaviourFactory from "../../../library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory";
13
14
  export default class TableConnectedFactory {
14
15
  static create(_ref) {
16
+ var _dataSource2;
17
+
15
18
  let {
16
19
  name,
17
- dataBroker = defaultDataBroker,
20
+ dataBroker,
21
+ dataSource,
18
22
  eventHandlers = {},
19
23
  View = TableConnectedView
20
24
  } = _ref;
25
+
26
+ if (!dataSource) {
27
+ console.warn('Desk Platform Warning: dataBroker is deprecated, use dataSource instead');
28
+ dataSource = dataBroker;
29
+ }
30
+
31
+ const _dataSource = { ...dataSource,
32
+ httpTemplates: { ...defaultDataSource.httpTemplates,
33
+ ...((_dataSource2 = dataSource) === null || _dataSource2 === void 0 ? void 0 : _dataSource2.httpTemplates)
34
+ }
35
+ };
21
36
  return createCustomComponent({
22
37
  name: name,
23
38
  View: View,
24
39
  properties: Properties,
25
40
  eventHandlers: EventHandlersFactory.create(eventHandlers),
26
41
  transformState: TableTranslator.transformState,
27
- behaviours: [ZHttpBehaviourFactory.create(), DataBrokerBehaviourFactory.create(), RecordBehaviourFactory.create(dataBroker.httpTemplates), ClientActionBehaviourFactory.create({
28
- getClientActions: dataBroker.httpTemplates.getClientActions
42
+ behaviours: [ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), RecordBehaviourFactory.create(_dataSource.httpTemplates), ClientActionsBehaviourFactory.create({
43
+ getClientActions: _dataSource.httpTemplates.getClientActions
29
44
  }), ZFieldBehaviourFactory.create({
30
- availableFields: dataBroker.httpTemplates.getAvailableFields,
31
- selectedFields: dataBroker.httpTemplates.getSelectedFields
32
- }), ZListBehaviourFactory.create()]
45
+ availableFields: _dataSource.httpTemplates.getAvailableFields,
46
+ selectedFields: _dataSource.httpTemplates.getSelectedFields
47
+ }), ZListBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()]
33
48
  });
34
49
  }
35
50
 
@@ -11,21 +11,26 @@ function View(_ref, ref) {
11
11
  data = [],
12
12
  rowActionsConfig,
13
13
  rowCursor,
14
+ selection,
14
15
  properties,
15
16
  emptyStateUiType
16
17
  } = state;
17
18
  const {
18
- isFlexibleColumns,
19
+ preferences,
19
20
  selectionConfig
20
21
  } = properties;
22
+ const {
23
+ autoColumnSizing
24
+ } = preferences || {};
21
25
  return /*#__PURE__*/React.createElement(TableList, {
22
26
  data: data,
23
27
  rowCursor: rowCursor,
24
28
  getRef: ref,
25
- isFlexibleColumns: isFlexibleColumns,
29
+ isFlexibleColumns: autoColumnSizing,
26
30
  rowActionsConfig: rowActionsConfig,
27
31
  isLoading: isLoading,
28
32
  emptyStateUiType: emptyStateUiType,
33
+ selection: selection,
29
34
  selectionConfig: selectionConfig
30
35
  });
31
36
  }
@@ -4,13 +4,16 @@ class AllSelectionController extends AbstractController {
4
4
  handle(event) {
5
5
  const {
6
6
  state,
7
- updateState
7
+ updateState,
8
+ dispatch
8
9
  } = event;
9
10
  const {
10
11
  allSelectionUseCase
11
12
  } = this.service;
12
13
  allSelectionUseCase.updateDependencies(state, updateState);
13
- allSelectionUseCase.execute();
14
+ allSelectionUseCase.execute({
15
+ dispatch
16
+ });
14
17
  }
15
18
 
16
19
  }
@@ -0,0 +1,26 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class DeselectController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ state,
7
+ action,
8
+ updateState,
9
+ dispatch
10
+ } = event;
11
+ const {
12
+ ids
13
+ } = action.payload;
14
+ const {
15
+ deselectUseCase
16
+ } = this.service;
17
+ deselectUseCase.updateDependencies(state, updateState);
18
+ deselectUseCase.execute({
19
+ ids,
20
+ dispatch
21
+ });
22
+ }
23
+
24
+ }
25
+
26
+ export default DeselectController;
@@ -5,7 +5,8 @@ class RangeSelectionController extends AbstractController {
5
5
  const {
6
6
  state,
7
7
  action,
8
- updateState
8
+ updateState,
9
+ dispatch
9
10
  } = event;
10
11
  const {
11
12
  id
@@ -15,7 +16,8 @@ class RangeSelectionController extends AbstractController {
15
16
  } = this.service;
16
17
  rangeSelectionUseCase.updateDependencies(state, updateState);
17
18
  rangeSelectionUseCase.execute({
18
- id
19
+ id,
20
+ dispatch
19
21
  });
20
22
  }
21
23
 
@@ -0,0 +1,26 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class SelectController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ state,
7
+ action,
8
+ updateState,
9
+ dispatch
10
+ } = event;
11
+ const {
12
+ ids
13
+ } = action.payload;
14
+ const {
15
+ selectUseCase
16
+ } = this.service;
17
+ selectUseCase.updateDependencies(state, updateState);
18
+ selectUseCase.execute({
19
+ ids,
20
+ dispatch
21
+ });
22
+ }
23
+
24
+ }
25
+
26
+ export default SelectController;
@@ -5,7 +5,8 @@ class SelectionController extends AbstractController {
5
5
  const {
6
6
  state,
7
7
  action,
8
- updateState
8
+ updateState,
9
+ dispatch
9
10
  } = event;
10
11
  const {
11
12
  selected
@@ -15,7 +16,8 @@ class SelectionController extends AbstractController {
15
16
  } = this.service;
16
17
  selectionUseCase.updateDependencies(state, updateState);
17
18
  selectionUseCase.execute({
18
- selected
19
+ selected,
20
+ dispatch
19
21
  });
20
22
  }
21
23
 
@@ -14,7 +14,8 @@ class Repository {
14
14
  getListItemSelection() {
15
15
  const {
16
16
  behaviours,
17
- properties
17
+ properties,
18
+ data
18
19
  } = this.state;
19
20
  /* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
20
21
 
@@ -24,8 +25,7 @@ class Repository {
24
25
  /* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
25
26
 
26
27
  const {
27
- selectionConfig,
28
- data
28
+ selectionConfig
29
29
  } = properties || {};
30
30
  const itemIds = data === null || data === void 0 ? void 0 : data.rows.map(item => item.id);
31
31
  const maxSelectionCount = selectionConfig === null || selectionConfig === void 0 ? void 0 : selectionConfig.maxSelectionCount;
@@ -5,6 +5,8 @@ import AllItemsSelection from "../../applications/usecases/AllItemSelection";
5
5
  import ItemRangeSelection from "../../applications/usecases/RangeSelection";
6
6
  import ItemsSelection from "../../applications/usecases/ItemsSelection";
7
7
  import Destruct from "../../applications/usecases/Destruct";
8
+ import Select from "../../applications/usecases/Select";
9
+ import Deselect from "../../applications/usecases/Deselect";
8
10
 
9
11
  class Service {
10
12
  constructor(dependencies) {
@@ -18,11 +20,17 @@ class Service {
18
20
 
19
21
  _defineProperty(this, "rangeSelectionUseCase", void 0);
20
22
 
23
+ _defineProperty(this, "selectUseCase", void 0);
24
+
25
+ _defineProperty(this, "deselectUseCase", void 0);
26
+
21
27
  this.initializeUseCase = new Initialize(dependencies);
22
28
  this.destructUseCase = new Destruct(dependencies);
23
29
  this.selectionUseCase = new ItemsSelection(dependencies);
24
30
  this.allSelectionUseCase = new AllItemsSelection(dependencies);
25
31
  this.rangeSelectionUseCase = new ItemRangeSelection(dependencies);
32
+ this.selectUseCase = new Select(dependencies);
33
+ this.deselectUseCase = new Deselect(dependencies);
26
34
  }
27
35
 
28
36
  }
@@ -1,13 +1,17 @@
1
1
  import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class AllItemsSelection extends AbstractUseCase {
4
- execute() {
4
+ execute(_ref) {
5
+ let {
6
+ dispatch
7
+ } = _ref;
5
8
  const {
6
9
  repository,
7
10
  presenter
8
11
  } = this.dependencies;
9
12
  const listItemSelection = repository.getListItemSelection();
10
13
  listItemSelection.toggleAll();
14
+ listItemSelection.createDispatchProps().map(event => dispatch(event));
11
15
  presenter.updateListItemSelection(listItemSelection.toObject());
12
16
  }
13
17
 
@@ -0,0 +1,21 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class Deselect extends AbstractUseCase {
4
+ execute(inputModel) {
5
+ const {
6
+ repository,
7
+ presenter
8
+ } = this.dependencies;
9
+ const {
10
+ ids,
11
+ dispatch
12
+ } = inputModel;
13
+ const listItemSelection = repository.getListItemSelection();
14
+ listItemSelection.deselectItems(ids);
15
+ listItemSelection.createDispatchProps().map(event => dispatch(event));
16
+ presenter.updateListItemSelection(listItemSelection.toObject());
17
+ }
18
+
19
+ }
20
+
21
+ export default Deselect;
@@ -7,10 +7,12 @@ class ItemsSelection extends AbstractUseCase {
7
7
  presenter
8
8
  } = this.dependencies;
9
9
  const {
10
- selected
10
+ selected,
11
+ dispatch
11
12
  } = inputModel;
12
13
  const listItemSelection = repository.getListItemSelection();
13
14
  listItemSelection.toggleItems(selected);
15
+ listItemSelection.createDispatchProps().map(event => dispatch(event));
14
16
  presenter.updateListItemSelection(listItemSelection.toObject());
15
17
  }
16
18
 
@@ -7,10 +7,12 @@ class ItemRangeSelection extends AbstractUseCase {
7
7
  presenter
8
8
  } = this.dependencies;
9
9
  const {
10
- id
10
+ id,
11
+ dispatch
11
12
  } = inputModel;
12
13
  let listItemSelection = repository.getListItemSelection();
13
14
  listItemSelection.toggleUpto(id);
15
+ listItemSelection.createDispatchProps().map(event => dispatch(event));
14
16
  presenter.updateListItemSelection(listItemSelection.toObject());
15
17
  }
16
18
 
@@ -0,0 +1,21 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class Select extends AbstractUseCase {
4
+ execute(inputModel) {
5
+ const {
6
+ repository,
7
+ presenter
8
+ } = this.dependencies;
9
+ const {
10
+ ids,
11
+ dispatch
12
+ } = inputModel;
13
+ const listItemSelection = repository.getListItemSelection();
14
+ listItemSelection.selectItems(ids);
15
+ listItemSelection.createDispatchProps().map(event => dispatch(event));
16
+ presenter.updateListItemSelection(listItemSelection.toObject());
17
+ }
18
+
19
+ }
20
+
21
+ export default Select;
@@ -1,34 +1,46 @@
1
+ import Event from "../../../../custom-component/domain/entities/Event";
2
+ import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../../../bc/list-selection/Constants";
3
+
1
4
  class ListItemSelection {
2
5
  constructor(selected, itemIds, maxSelectionCount) {
6
+ let selectionStatus = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'na';
3
7
  this.selected = selected;
4
8
  this.itemIds = itemIds;
5
9
  this.maxSelectionCount = maxSelectionCount;
10
+ this.selectionStatus = selectionStatus;
6
11
  this.selected = this.selected.filter(selectedId => this.itemIds.includes(selectedId)); // NOTE: Remove items that does not exist
7
12
  }
8
13
 
9
- selectItem(id) {
10
- this.selected.push(id);
11
- }
14
+ selectItems(ids) {
15
+ if (!ids) {
16
+ this.selectAllItems();
17
+ return;
18
+ }
12
19
 
13
- deselectItem(id) {
14
- this.selected = this.selected.filter(selectedId => selectedId !== id);
20
+ ids.forEach(id => !this.hasAllSelected() && this.selectItem(id));
15
21
  }
16
22
 
17
- isSelected(id) {
18
- return this.selected.includes(id);
23
+ deselectItems(ids) {
24
+ if (!ids) {
25
+ this.deselectAllItems();
26
+ return;
27
+ }
28
+
29
+ ids.forEach(id => this.deselectItem(id));
19
30
  }
20
31
 
21
- hasAllSelected() {
22
- const hasMaxSelected = this.selected.length >= this.maxSelectionCount;
23
- const allItemsSelected = this.selected.length === this.itemIds.length && this.selected.length > 0;
24
- return hasMaxSelected || allItemsSelected;
32
+ selectAllItems() {
33
+ this.itemIds.forEach(id => !this.hasAllSelected() && this.selectItem(id));
25
34
  }
26
35
 
27
- getStrategy(id) {
28
- return (this.isSelected(id) ? this.deselectItem : this.selectItem).bind(this);
36
+ deselectAllItems() {
37
+ this.selected = [];
38
+ this.selectionStatus = 'na';
29
39
  }
30
40
 
31
41
  toggleItems(ids) {
42
+ // let selectingItems = ids.filter(id => !this.isSelected(id));
43
+ // this.selectItems(selectingItems);
32
44
  for (let id of ids) {
33
45
  if (this.isSelected(id)) {
34
46
  this.deselectItem(id);
@@ -54,8 +66,68 @@ class ListItemSelection {
54
66
  }
55
67
  }
56
68
  } else {
57
- this.selected = [];
69
+ this.deselectAllItems();
70
+ }
71
+ }
72
+
73
+ toggleUpto(id) {
74
+ let lastItem = this.selected.at(-1) || id;
75
+ let startIndex = this.itemIds.indexOf(lastItem);
76
+ let endIndex = this.itemIds.indexOf(id);
77
+ this.toggleRange(startIndex, endIndex);
78
+ }
79
+
80
+ toObject() {
81
+ return {
82
+ selected: this.selected,
83
+ hasAllSelected: this.hasAllSelected()
84
+ };
85
+ }
86
+
87
+ createDispatchProps() {
88
+ const events = [];
89
+
90
+ if (this.selectionStatus === 'selected') {
91
+ events.push(new Event(LIST_SELECTION_RECORDS_SELECTED, {
92
+ recordIds: this.selected
93
+ }));
94
+ }
95
+
96
+ if (this.selectionStatus === 'deselected') {
97
+ events.push(new Event(LIST_SELECTION_RECORDS_DESELECTED, {
98
+ recordIds: this.selected
99
+ }));
100
+ }
101
+
102
+ if (this.selectionStatus === 'na' && this.hasAllSelected()) {
103
+ events.push(new Event(LIST_SELECTION_SELECTION_LIMIT_EXCEEDED));
58
104
  }
105
+
106
+ return events.map(event => event.toObject());
107
+ }
108
+
109
+ selectItem(id) {
110
+ this.selected.push(id);
111
+ this.selectionStatus = 'selected';
112
+ }
113
+
114
+ deselectItem(id) {
115
+ this.selected = this.selected.filter(selectedId => selectedId !== id);
116
+ this.selectionStatus = 'deselected';
117
+ }
118
+
119
+ isSelected(id) {
120
+ return this.selected.includes(id);
121
+ }
122
+
123
+ hasAllSelected() {
124
+ const hasMaxSelected = this.selected.length >= this.maxSelectionCount;
125
+ const allItemsSelected = this.selected.length === this.itemIds.length && this.selected.length > 0;
126
+ return hasMaxSelected || allItemsSelected;
127
+ }
128
+
129
+ getStrategy(id) {
130
+ return (this.isSelected(id) ? this.deselectItem : this.selectItem).bind(this);
59
131
  }
60
132
 
61
133
  toggleRange(startIndex, endIndex) {
@@ -94,20 +166,6 @@ class ListItemSelection {
94
166
  }
95
167
  }
96
168
 
97
- toggleUpto(id) {
98
- let lastItem = this.selected.at(-1) || id;
99
- let startIndex = this.itemIds.indexOf(lastItem);
100
- let endIndex = this.itemIds.indexOf(id);
101
- this.toggleRange(startIndex, endIndex);
102
- }
103
-
104
- toObject() {
105
- return {
106
- selected: this.selected,
107
- hasAllSelected: this.hasAllSelected()
108
- };
109
- }
110
-
111
169
  }
112
170
 
113
171
  export default ListItemSelection;
@@ -1,4 +1,4 @@
1
- import { LIST_SELECTION_TOGGLE_ALL, LIST_SELECTION_TOGGLE_ITEMS, LIST_SELECTION_TOGGLE_ITEMS_IN_RANGE } from "../../../../bc/list-selection/Constants";
1
+ import { LIST_SELECTION_DESELECT_ITEM, LIST_SELECTION_SELECT_ITEM, LIST_SELECTION_TOGGLE_ALL, LIST_SELECTION_TOGGLE_ITEMS, LIST_SELECTION_TOGGLE_ITEMS_IN_RANGE } from "../../../../bc/list-selection/Constants";
2
2
  import InitializeController from "../adapters/controllers/InitializeController";
3
3
  import Repository from "../adapters/gateways/Repository";
4
4
  import Presenter from "../adapters/presenters/Presenter";
@@ -8,6 +8,8 @@ import AllSelectionController from "../adapters/controllers/AllSelectionControll
8
8
  import RangeSelectionController from "../adapters/controllers/RangeSelectionController";
9
9
  import UpdateController from "../adapters/controllers/UpdateController";
10
10
  import DestructController from "../adapters/controllers/DestructController";
11
+ import SelectController from "../adapters/controllers/SelectController";
12
+ import DeselectController from "../adapters/controllers/DeselectController";
11
13
 
12
14
  class ActionHandlerFactory {
13
15
  static create() {
@@ -29,6 +31,8 @@ class ActionHandlerFactory {
29
31
  ['MOUNT']: new InitializeController(service).handle,
30
32
  ['UPDATE_PROPERTIES']: new UpdateController(service).handle,
31
33
  ['UNMOUNT']: new DestructController(service).handle,
34
+ [LIST_SELECTION_SELECT_ITEM]: new SelectController(service).handle,
35
+ [LIST_SELECTION_DESELECT_ITEM]: new DeselectController(service).handle,
32
36
  [LIST_SELECTION_TOGGLE_ITEMS]: new SelectionController(service).handle,
33
37
  [LIST_SELECTION_TOGGLE_ALL]: new AllSelectionController(service).handle,
34
38
  [LIST_SELECTION_TOGGLE_ITEMS_IN_RANGE]: new RangeSelectionController(service).handle