@zohodesk/library-platform 1.1.12 → 1.1.13

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 (375) hide show
  1. package/es/bc/action-band/Constants.js +4 -0
  2. package/es/bc/action-band/Properties.js +10 -0
  3. package/es/bc/action-band/index.js +1 -0
  4. package/es/bc/app-context/Properties.js +19 -0
  5. package/es/bc/float-pagination/ActionHandlers.js +1 -0
  6. package/es/bc/float-pagination/Constants.js +4 -0
  7. package/es/bc/float-pagination/Properties.js +18 -0
  8. package/es/bc/float-pagination/index.js +2 -0
  9. package/es/bc/index.js +0 -1
  10. package/es/bc/sdk/ResourceNamesEnum.js +1 -0
  11. package/es/bc/search/Constants.js +3 -0
  12. package/es/bc/search/EventHandlers.js +1 -0
  13. package/es/bc/search/Properties.js +11 -0
  14. package/es/bc/search/index.js +2 -0
  15. package/es/bc/search-box/ActionHandlers.js +1 -0
  16. package/es/bc/search-box/Constants.js +4 -0
  17. package/es/bc/search-box/Properties.js +18 -0
  18. package/es/bc/search-box/index.js +2 -0
  19. package/es/bc/sort-by/ActionHandlers.js +1 -1
  20. package/es/bc/sort-by/Constants.js +2 -2
  21. package/es/bc/sort-by/Properties.js +13 -11
  22. package/es/bc/sort-by/Types.js +10 -0
  23. package/es/bc/sort-by/types/SortByBehaviourState.js +1 -0
  24. package/es/bc/zfield/Constants.js +5 -1
  25. package/es/bc/zlist/Constants.js +0 -1
  26. package/es/bc/zlist/Types.js +27 -0
  27. package/es/bc/zrecord/Constants.js +2 -0
  28. package/es/bc/zrecord/Schemas.js +29 -0
  29. package/es/bc/zrecord/Types.js +45 -0
  30. package/es/cc/action-band/Properties.js +83 -0
  31. package/es/cc/action-band/SdkContract.js +13 -0
  32. package/es/cc/action-band/constants/Events.js +1 -0
  33. package/es/cc/action-band/constants/ExternalConstants.js +7 -0
  34. package/es/cc/action-band/constants/index.js +2 -0
  35. package/es/cc/action-band/index.js +3 -0
  36. package/es/cc/action-icon/Properties.js +20 -1
  37. package/es/cc/checkbox/Properties.js +2 -1
  38. package/es/cc/email/Properties.js +8 -0
  39. package/es/cc/fields/field/Types.js +31 -23
  40. package/es/cc/floating-pagination/Constants.js +6 -0
  41. package/es/cc/floating-pagination/Events.js +8 -0
  42. package/es/cc/floating-pagination/Properties.js +56 -0
  43. package/es/cc/floating-pagination/index.js +3 -0
  44. package/es/cc/highlighted-value/Properties.js +18 -0
  45. package/es/cc/link/Properties.js +13 -3
  46. package/es/cc/list-item/Properties.js +10 -0
  47. package/es/cc/more-dropdown/Properties.js +4 -0
  48. package/es/cc/radio-dropdown/Constants.js +6 -0
  49. package/es/cc/radio-dropdown/Data.js +1 -0
  50. package/es/cc/radio-dropdown/Events.js +42 -0
  51. package/es/cc/radio-dropdown/Properties.js +142 -0
  52. package/es/cc/radio-dropdown/index.js +4 -0
  53. package/es/cc/ribbon/Properties.js +59 -0
  54. package/es/cc/ribbon/index.js +1 -0
  55. package/es/cc/search/Constants.js +6 -0
  56. package/es/cc/search/Events.js +17 -0
  57. package/es/cc/search/Properties.js +11 -0
  58. package/es/cc/search/index.js +3 -0
  59. package/es/cc/sort-dropdown/Constants.js +7 -0
  60. package/es/cc/sort-dropdown/Events.js +46 -0
  61. package/es/cc/sort-dropdown/Properties.js +135 -0
  62. package/es/cc/sort-dropdown/index.js +3 -0
  63. package/es/cc/switch/Properties.js +2 -2
  64. package/es/cc/table-connected/Properties.js +16 -0
  65. package/es/cc/table-connected/SdkContract.js +24 -0
  66. package/es/cc/table-connected/constants/Events.js +2 -0
  67. package/es/cc/table-list/Actions.js +0 -2
  68. package/es/cc/table-list/Constants.js +1 -1
  69. package/es/cc/table-list/Events.js +0 -2
  70. package/es/cc/table-list/Properties.js +35 -38
  71. package/es/cc/table-list/data-types/FloatPaginationConfig.js +1 -0
  72. package/es/cc/tag/Constants.js +6 -0
  73. package/es/cc/tag/Data.js +14 -0
  74. package/es/cc/tag/EventHandlers.js +1 -0
  75. package/es/cc/tag/Events.js +26 -0
  76. package/es/cc/{tags/model/TagModel.js → tag/Model.js} +6 -2
  77. package/es/cc/tag/Properties.js +104 -0
  78. package/es/cc/tag/index.js +6 -0
  79. package/es/cc/tags/Data.js +0 -6
  80. package/es/cc/tags/model/index.js +1 -1
  81. package/es/cc/tags-list-dropdown/Constants.js +5 -0
  82. package/es/cc/tags-list-dropdown/Data.js +1 -0
  83. package/es/cc/tags-list-dropdown/Events.js +14 -0
  84. package/es/cc/tags-list-dropdown/Properties.js +96 -0
  85. package/es/cc/tags-list-dropdown/index.js +4 -0
  86. package/es/index.js +1 -1
  87. package/es/library/behaviours/action-band/adapters/controllers/AbstractController.js +10 -0
  88. package/es/library/behaviours/action-band/adapters/controllers/MountController.js +21 -0
  89. package/es/library/behaviours/action-band/adapters/gateways/Repository.js +24 -0
  90. package/es/library/behaviours/action-band/adapters/gateways/Service.js +11 -0
  91. package/es/library/behaviours/action-band/applications/interfaces/State.js +1 -0
  92. package/es/library/behaviours/action-band/applications/interfaces/UseCaseDependencies.js +1 -0
  93. package/es/library/behaviours/action-band/applications/interfaces/gateways/IRepository.js +1 -0
  94. package/es/library/behaviours/action-band/applications/interfaces/gateways/IService.js +1 -0
  95. package/es/library/behaviours/action-band/applications/interfaces/input/InitializeInput.js +1 -0
  96. package/es/library/behaviours/action-band/applications/usecases/AbstractUseCase.js +17 -0
  97. package/es/library/behaviours/action-band/applications/usecases/InitializeUseCase.js +20 -0
  98. package/es/library/behaviours/action-band/domain/entities/ActionBand.js +95 -0
  99. package/es/library/behaviours/action-band/domain/entities/interfaces/IActionBand.js +1 -0
  100. package/es/library/behaviours/action-band/domain/entities/interfaces/IActionModel.js +1 -0
  101. package/es/library/behaviours/action-band/domain/entities/interfaces/IApiPropsModel.js +1 -0
  102. package/es/library/behaviours/action-band/domain/entities/interfaces/Properties.js +1 -0
  103. package/es/library/behaviours/action-band/frameworks/ActionBandBehaviourFactory.js +21 -0
  104. package/es/library/behaviours/action-band/frameworks/ActionHandlersFactory.js +17 -0
  105. package/es/library/behaviours/clip-wrap/adapters/controllers/DestructController.js +3 -3
  106. package/es/library/behaviours/clip-wrap/adapters/controllers/InitializeController.js +3 -3
  107. package/es/library/behaviours/clip-wrap/adapters/gateway/Service.js +4 -0
  108. package/es/library/behaviours/float-pagination/adapters/controllers/AbstractController.js +9 -0
  109. package/es/library/behaviours/float-pagination/adapters/controllers/DestructController.js +18 -0
  110. package/es/library/behaviours/float-pagination/adapters/controllers/FloatPaginationController.js +25 -0
  111. package/es/library/behaviours/float-pagination/adapters/controllers/InitializeController.js +18 -0
  112. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollBottomController.js +23 -0
  113. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollTopController.js +23 -0
  114. package/es/library/behaviours/float-pagination/adapters/controllers/UpdateIndexController.js +30 -0
  115. package/es/library/behaviours/float-pagination/adapters/gateway/Repository.js +27 -0
  116. package/es/library/behaviours/float-pagination/adapters/gateway/Service.js +20 -0
  117. package/es/library/behaviours/float-pagination/adapters/presenter/Presenter.js +16 -0
  118. package/es/library/behaviours/float-pagination/applications/interfaces/UseCaseDependencies.js +1 -0
  119. package/es/library/behaviours/float-pagination/applications/interfaces/gateways/IRepository.js +1 -0
  120. package/es/library/behaviours/float-pagination/applications/interfaces/gateways/IService.js +1 -0
  121. package/es/library/behaviours/float-pagination/applications/interfaces/input/DestructInputModel.js +1 -0
  122. package/es/library/behaviours/float-pagination/applications/interfaces/input/FloatPaginationInputModel.js +1 -0
  123. package/es/library/behaviours/float-pagination/applications/interfaces/input/InitializeInputModel.js +1 -0
  124. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollTopInputModel.js +1 -0
  125. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollbottomInputModel.js +1 -0
  126. package/es/library/behaviours/float-pagination/applications/interfaces/input/UpdateIndexInputModel.js +1 -0
  127. package/es/library/behaviours/float-pagination/applications/interfaces/output/FloatPaginationOutputModel.js +1 -0
  128. package/es/library/behaviours/float-pagination/applications/interfaces/output/IPresenter.js +1 -0
  129. package/es/library/behaviours/float-pagination/applications/usecases/AbstractUseCase.js +17 -0
  130. package/es/library/behaviours/float-pagination/applications/usecases/DestructUsecase.js +15 -0
  131. package/es/library/behaviours/float-pagination/applications/usecases/FloatPaginationUseCase.js +31 -0
  132. package/es/library/behaviours/float-pagination/applications/usecases/InitializeUsecase.js +16 -0
  133. package/es/library/behaviours/float-pagination/applications/usecases/ScrollBottomUseCase.js +23 -0
  134. package/es/library/behaviours/float-pagination/applications/usecases/ScrollTopUseCase.js +23 -0
  135. package/es/library/behaviours/float-pagination/applications/usecases/UpdateIndexUseCase.js +28 -0
  136. package/es/library/behaviours/float-pagination/domain/entities/FloatPagination.js +28 -0
  137. package/es/library/behaviours/float-pagination/domain/entities/interfaces/IFloatPagination.js +1 -0
  138. package/es/library/behaviours/float-pagination/frameworks/ui/ActionsHandlerFactory.js +37 -0
  139. package/es/library/behaviours/float-pagination/frameworks/ui/FloatPaginationBehaviourFactory.js +21 -0
  140. package/es/library/behaviours/float-pagination/frameworks/utils.js +70 -0
  141. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -1
  142. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +1 -1
  143. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +6 -1
  144. package/es/library/behaviours/list-selection/domain/entities/ListItemSelection.js +21 -18
  145. package/es/library/behaviours/search/adapters/controllers/AbstractController.js +9 -0
  146. package/es/library/behaviours/search/adapters/controllers/SearchController.js +26 -0
  147. package/es/library/behaviours/search/adapters/controllers/UpdatePropertiesController.js +27 -0
  148. package/es/library/behaviours/search/adapters/gateway/Repository.js +20 -0
  149. package/es/library/behaviours/search/adapters/gateway/Service.js +12 -0
  150. package/es/library/behaviours/search/adapters/presenter/Presenter.js +16 -0
  151. package/es/library/behaviours/search/adapters/presenter/SearchTranslator.js +6 -0
  152. package/es/library/behaviours/search/applications/interfaces/UseCaseDependencies.js +1 -0
  153. package/es/library/behaviours/search/applications/interfaces/gateways/IRepository.js +1 -0
  154. package/es/library/behaviours/search/applications/interfaces/gateways/IService.js +1 -0
  155. package/es/library/behaviours/search/applications/interfaces/input/SearchInputModel.js +1 -0
  156. package/es/library/behaviours/search/applications/interfaces/input/UpdatePropertiesInputModel.js +1 -0
  157. package/es/library/behaviours/search/applications/interfaces/output/IPresenter.js +1 -0
  158. package/es/library/behaviours/search/applications/interfaces/output/SearchOutputModel.js +1 -0
  159. package/es/library/behaviours/search/applications/usecases/AbstractUseCase.js +17 -0
  160. package/es/library/behaviours/search/applications/usecases/SearchUseCase.js +28 -0
  161. package/es/library/behaviours/search/applications/usecases/UpdatePropertiesUsecase.js +25 -0
  162. package/es/library/behaviours/search/domain/entities/Search.js +23 -0
  163. package/es/library/behaviours/search/domain/entities/interfaces/ISearch.js +1 -0
  164. package/es/library/behaviours/search/frameworks/ui/EventHandlerFactory.js +25 -0
  165. package/es/library/behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory.js +26 -0
  166. package/es/library/behaviours/search-box/adapters/controllers/AbstractController.js +9 -0
  167. package/es/library/behaviours/search-box/adapters/controllers/ClearSearchController.js +21 -0
  168. package/es/library/behaviours/search-box/adapters/controllers/SearchController.js +26 -0
  169. package/es/library/behaviours/search-box/adapters/gateway/Repository.js +28 -0
  170. package/es/library/behaviours/search-box/adapters/gateway/Service.js +12 -0
  171. package/es/library/behaviours/search-box/adapters/presenter/Presenter.js +21 -0
  172. package/es/library/behaviours/search-box/applications/interfaces/UseCaseDependencies.js +1 -0
  173. package/es/library/behaviours/search-box/applications/interfaces/gateways/IRepository.js +1 -0
  174. package/es/library/behaviours/search-box/applications/interfaces/gateways/IService.js +1 -0
  175. package/es/library/behaviours/search-box/applications/interfaces/input/ClearSearchInputModel.js +1 -0
  176. package/es/library/behaviours/search-box/applications/interfaces/input/SearchInputModel.js +1 -0
  177. package/es/library/behaviours/search-box/applications/interfaces/output/IPresenter.js +1 -0
  178. package/es/library/behaviours/search-box/applications/interfaces/output/SearchOutputModel.js +1 -0
  179. package/es/library/behaviours/search-box/applications/usecases/AbstractUseCase.js +17 -0
  180. package/es/library/behaviours/search-box/applications/usecases/ClearSearchUseCase.js +24 -0
  181. package/es/library/behaviours/search-box/applications/usecases/SearchUseCase.js +25 -0
  182. package/es/library/behaviours/search-box/domain/entities/Search.js +22 -0
  183. package/es/library/behaviours/search-box/domain/entities/interfaces/ISearch.js +1 -0
  184. package/es/library/behaviours/search-box/frameworks/ui/ActionsHandlerFactory.js +24 -0
  185. package/es/library/behaviours/search-box/frameworks/ui/SearchBehaviourFactory.js +26 -0
  186. package/es/library/behaviours/sort-by/adapters/controllers/{SortBy.js → SortByController.js} +6 -6
  187. package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +18 -6
  188. package/es/library/behaviours/sort-by/adapters/gateway/Service.js +2 -2
  189. package/es/library/behaviours/sort-by/adapters/presenter/Presenter.js +8 -1
  190. package/es/library/behaviours/sort-by/applications/interfaces/input/UpdateSortByUseCaseInputModel.js +1 -0
  191. package/es/library/behaviours/sort-by/applications/interfaces/output/SearchOutputModel.js +1 -0
  192. package/es/library/behaviours/sort-by/applications/usecases/{SortBy.js → SortByUseCase.js} +12 -13
  193. package/es/library/behaviours/sort-by/applications/usecases/UpdateSortByUseCase.js +25 -0
  194. package/es/library/behaviours/sort-by/domain/entities/SortBy.js +11 -25
  195. package/es/library/behaviours/sort-by/frameworks/ui/ActionsHandlerFactory.js +7 -5
  196. package/es/library/behaviours/sort-by/frameworks/ui/SortByBehaviourFactory.js +17 -7
  197. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +5 -0
  198. package/es/library/custom-component/domain/entities/ComponentProperties.js +1 -1
  199. package/es/library/custom-component/domain/entities/Logger.js +3 -3
  200. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +7 -1
  201. package/es/library/dot/components/table-list/adapters/controllers/ScrollController.js +2 -2
  202. package/es/library/dot/components/table-list/adapters/controllers/index.js +0 -2
  203. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -2
  204. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +24 -1
  205. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +19 -2
  206. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +4 -6
  207. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/Search.js +41 -0
  208. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/SearchTranslator.js +16 -0
  209. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/SearchView.js +37 -0
  210. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +5 -1
  211. package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +4 -2
  212. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination.js +10 -0
  213. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPaginationView.js +47 -0
  214. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  215. package/es/library/dot/legacy-to-new-arch/index.js +3 -1
  216. package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +4 -2
  217. package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItemView.js +4 -0
  218. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdown.js +12 -0
  219. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +125 -0
  220. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/css/RadioDropdown.module.css +23 -0
  221. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/Ribbon.js +10 -0
  222. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/RibbonView.js +37 -0
  223. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdown.js +31 -0
  224. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdownTranslator.js +33 -0
  225. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdownView.js +83 -0
  226. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +12 -2
  227. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +8 -5
  228. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
  229. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
  230. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +8 -6
  231. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/EventHandlersFactory.js +26 -0
  232. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueField.js +23 -0
  233. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueFieldView.js +24 -0
  234. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +22 -5
  235. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/EventHandlersFactory.js +26 -0
  236. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarField.js +23 -0
  237. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarFieldView.js +22 -0
  238. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/EventHandlersFactory.js +26 -0
  239. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkField.js +23 -0
  240. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkFieldView.js +26 -0
  241. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
  242. package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
  243. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +46 -0
  244. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +49 -0
  245. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +43 -0
  246. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/css/RadioDropdownField.module.css +3 -0
  247. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
  248. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +14 -4
  249. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +8 -4
  250. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/EventHandlersFactory.js +26 -0
  251. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagField.js +23 -0
  252. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagFieldView.js +34 -0
  253. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/EventHandlersFactory.js +26 -0
  254. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsField.js +23 -0
  255. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsFieldView.js +18 -0
  256. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +44 -0
  257. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +24 -0
  258. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/EventHandlersFactory.js +26 -0
  259. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextField.js +23 -0
  260. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextFieldView.js +20 -0
  261. package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
  262. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.js +11 -0
  263. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.module.css +8 -0
  264. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/TagView.js +96 -0
  265. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagContractAdapter.js +24 -0
  266. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdown.js +12 -0
  267. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdownView.js +42 -0
  268. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +1 -0
  269. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +4 -0
  270. package/es/platform/client-scripts/bc/zclient-scripts-execution/Constants.js +2 -4
  271. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/ClientScriptExecutor.js +33 -60
  272. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptModel.js +5 -1
  273. package/es/platform/components/index.js +2 -1
  274. package/es/platform/components/smart-action-band/adapters/presenters/ActionBandTranslator.js +73 -0
  275. package/es/platform/components/smart-action-band/adapters/presenters/translators/interfaces/ActionBandTranslatorState.js +1 -0
  276. package/es/platform/components/smart-action-band/adapters/presenters/utils/DefaultClientActions.js +147 -0
  277. package/es/platform/components/smart-action-band/adapters/resources/SmartActionBandResource.js +46 -0
  278. package/es/platform/components/smart-action-band/applications/interfaces/ISmartActionBandResource.js +1 -0
  279. package/es/platform/components/smart-action-band/applications/interfaces/State.js +1 -0
  280. package/es/platform/components/smart-action-band/applications/interfaces/UseCaseDependencies.js +1 -0
  281. package/es/platform/components/smart-action-band/applications/interfaces/output/IPresenter.js +1 -0
  282. package/es/platform/components/smart-action-band/applications/usecases/AbstractUseCase.js +18 -0
  283. package/es/platform/components/smart-action-band/domain/entities/interfaces/Properties.js +1 -0
  284. package/es/platform/components/smart-action-band/frameworks/EventHandlersFactory.js +106 -0
  285. package/es/platform/components/smart-action-band/frameworks/SmartActionBand.js +5 -0
  286. package/es/platform/components/smart-action-band/frameworks/SmartActionBandFactory.js +55 -0
  287. package/es/platform/components/smart-action-band/frameworks/SmartActionBandSdkFactory.js +24 -0
  288. package/es/platform/components/smart-action-band/frameworks/SmartActionBandView.js +48 -0
  289. package/es/platform/components/table-connected/adapters/controllers/ScrollController.js +29 -8
  290. package/es/platform/components/table-connected/adapters/controllers/ScrollEndReachedController.js +23 -0
  291. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +172 -8
  292. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +39 -6
  293. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +7 -1
  294. package/es/platform/components/table-connected/frameworks/TableConnectedView.js +2 -0
  295. package/es/platform/data-source/http-template/getComponentMapping.js +17 -0
  296. package/es/platform/data-source/http-template/getRecords.js +1 -0
  297. package/es/platform/data-source/index.js +3 -1
  298. package/es/platform/sdk/frameworks/Sdk.js +7 -0
  299. package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +33 -0
  300. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -0
  301. package/es/platform/zlist/adapters/controllers/RefreshRecordsRequestedController.js +21 -0
  302. package/es/platform/zlist/adapters/controllers/SortController.js +2 -2
  303. package/es/platform/zlist/adapters/gateways/Repository.js +6 -11
  304. package/es/platform/zlist/adapters/gateways/Service.js +2 -0
  305. package/es/platform/zlist/adapters/presenters/TableTranslator.js +57 -13
  306. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +57 -49
  307. package/es/platform/zlist/adapters/presenters/translators/FieldVariations.js +25 -0
  308. package/es/platform/zlist/adapters/presenters/translators/Header.js +29 -21
  309. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -3
  310. package/es/platform/zlist/adapters/presenters/translators/Row.js +16 -2
  311. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +3 -1
  312. package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +87 -12
  313. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +66 -11
  314. package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +33 -8
  315. package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +33 -8
  316. package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +16 -9
  317. package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +29 -9
  318. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +23 -27
  319. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +106 -17
  320. package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +16 -9
  321. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +100 -26
  322. package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +16 -9
  323. package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +16 -9
  324. package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +32 -9
  325. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +167 -26
  326. package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +16 -9
  327. package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +32 -9
  328. package/es/platform/zlist/adapters/presenters/utils/DateAndTimeFormat.js +25 -0
  329. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +7 -4
  330. package/es/platform/zlist/adapters/presenters/utils/fieldSortLabels.js +38 -0
  331. package/es/platform/zlist/applications/entities-factory/ListFactory.js +2 -2
  332. package/es/platform/zlist/applications/interfaces/input/GetSortConfigUseCaseInputModel.js +1 -0
  333. package/es/platform/zlist/applications/interfaces/input/RefreshRecordsRequestedUseCaseInputModel.js +1 -0
  334. package/es/platform/zlist/applications/interfaces/input/SetSortConfigUseCaseInputModel.js +1 -0
  335. package/es/platform/zlist/applications/usecases/GetSortConfigUseCase.js +17 -0
  336. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -1
  337. package/es/platform/zlist/applications/usecases/RefreshRecordsRequestedUseCase.js +17 -0
  338. package/es/platform/zlist/applications/usecases/SetSortConfigUseCase.js +26 -0
  339. package/es/platform/zlist/applications/usecases/SortUseCase.js +6 -6
  340. package/es/platform/zlist/domain/entities/List.js +32 -16
  341. package/es/platform/zlist/domain/entities/interfaces/Properties.js +5 -5
  342. package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -4
  343. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +15 -13
  344. package/es/platform/zrecord/adapters/controllers/FilterRecordLocalController.js +28 -0
  345. package/es/platform/zrecord/adapters/gateways/Repository.js +5 -2
  346. package/es/platform/zrecord/adapters/gateways/Service.js +2 -0
  347. package/es/platform/zrecord/applications/entities-factory/RecordsManagerFactory.js +2 -2
  348. package/es/platform/zrecord/applications/interfaces/input/ClearAllFiltersUseCaseInputModel.js +1 -0
  349. package/es/platform/zrecord/applications/interfaces/input/FilterRecordInputModel.js +1 -0
  350. package/es/platform/zrecord/applications/interfaces/input/GetFilterConditionUseCaseInputModel.js +1 -0
  351. package/es/platform/zrecord/applications/interfaces/input/GetFilterConfigUseCaseInputModel.js +1 -0
  352. package/es/platform/zrecord/applications/interfaces/input/RefreshRecordsUseCaseInputModel.js +1 -0
  353. package/es/platform/zrecord/applications/interfaces/input/SetFilterUseCaseInputModel.js +1 -0
  354. package/es/platform/zrecord/applications/usecases/ClearAllFiltersUseCase.js +24 -0
  355. package/es/platform/zrecord/applications/usecases/FilterRecordUseCase.js +21 -0
  356. package/es/platform/zrecord/applications/usecases/GetFilterConditionUseCase.js +15 -0
  357. package/es/platform/zrecord/applications/usecases/GetFilterConfigUseCase.js +15 -0
  358. package/es/platform/zrecord/applications/usecases/RefreshRecordsUseCase.js +14 -0
  359. package/es/platform/zrecord/applications/usecases/SetFilterUseCase.js +29 -0
  360. package/es/platform/zrecord/domain/entities/Filter.js +247 -0
  361. package/es/platform/zrecord/domain/entities/RecordsManager.js +43 -1
  362. package/es/platform/zrecord/domain/entities/interfaces/IFilter.js +1 -0
  363. package/es/platform/zrecord/frameworks/ActionsHandlersFactory.js +4 -1
  364. package/es/platform/zrecord/frameworks/RecordBehaviourFactory.js +11 -1
  365. package/package.json +20 -19
  366. package/es/bc/sort-by/SortOrderEnum.js +0 -8
  367. package/es/library/behaviours/sort-by/frameworks/ui/DemoBehaviour.js +0 -20
  368. package/es/library/dot/components/table-list/adapters/controllers/SortByController.js +0 -25
  369. package/es/library/dot/components/table-list/adapters/controllers/SortedController.js +0 -18
  370. package/es/library/dot/components/table-list/frameworks/ui/handlers/HandleSortClick.js +0 -12
  371. package/es/platform/zlist/adapters/gateways/SortBy.js +0 -38
  372. package/es/platform/zlist/domain/entities/SortBy.js +0 -58
  373. /package/es/{library/behaviours/sort-by/applications/interfaces/output/SortByOutputModel.js → bc/float-pagination/types/FloatPaginationBehaviourState.js} +0 -0
  374. /package/es/{platform/zlist/applications/interfaces/gateways/ISortBy.js → bc/list-selection/Types.js} +0 -0
  375. /package/es/{platform/zlist/domain/entities/interfaces/ISortBy.js → bc/search-box/types/SearchBehaviourState.js} +0 -0
@@ -4,13 +4,13 @@ class ListFactory {
4
4
  static createList(input) {
5
5
  const {
6
6
  limit,
7
- sortBy,
7
+ sortConfig,
8
8
  query,
9
9
  context,
10
10
  errorState,
11
11
  isReOrderLoading
12
12
  } = input;
13
- return new List(limit, sortBy, query, context, isReOrderLoading, errorState);
13
+ return new List(limit, sortConfig, query, context, isReOrderLoading, errorState);
14
14
  }
15
15
 
16
16
  }
@@ -0,0 +1,17 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class GetSortConfigUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ callback
7
+ } = input;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const list = repository.getList();
12
+ callback?.(list.getSortConfig());
13
+ }
14
+
15
+ }
16
+
17
+ export default GetSortConfigUseCase;
@@ -36,7 +36,7 @@ class RecordSuccessCallbackUsecase extends AbstractUseCase {
36
36
  }
37
37
 
38
38
  if (list.isAcknowledgeBySortBy(metaData)) {
39
- list.setSortBy(metaData);
39
+ list.setSortConfig(metaData);
40
40
  presenter.updateView(list.toObject());
41
41
  }
42
42
  }
@@ -0,0 +1,17 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class RefreshRecordsRequestedUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ dispatch
7
+ } = input;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const list = repository.getList();
12
+ dispatch(list.createRecordsRefetchAction());
13
+ }
14
+
15
+ }
16
+
17
+ export default RefreshRecordsRequestedUseCase;
@@ -0,0 +1,26 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { SMART_TABLE_SORTED } from "../../../../cc/table-connected/constants/Events";
3
+
4
+ class SetSortConfigUseCase extends AbstractUseCase {
5
+ execute(input) {
6
+ const {
7
+ sortConfig,
8
+ dispatch
9
+ } = input;
10
+ const {
11
+ repository,
12
+ presenter
13
+ } = this.dependencies;
14
+ const list = repository.getList();
15
+ list.setSortConfig(sortConfig);
16
+ presenter.updateView(list.toObject());
17
+ dispatch(list.createRecordsRefetchAction());
18
+ dispatch({
19
+ type: SMART_TABLE_SORTED,
20
+ payload: sortConfig
21
+ });
22
+ }
23
+
24
+ }
25
+
26
+ export default SetSortConfigUseCase;
@@ -1,10 +1,10 @@
1
- import { SmartTableConstants } from "../../../../cc/table-connected";
2
1
  import AbstractUseCase from "./AbstractUseCase";
2
+ import { SMART_TABLE_SORTED } from "../../../../cc/table-connected/constants/Events";
3
3
 
4
4
  class SortUseCase extends AbstractUseCase {
5
5
  execute(input) {
6
6
  const {
7
- sortBy,
7
+ sortConfig,
8
8
  dispatch
9
9
  } = input;
10
10
  const {
@@ -12,13 +12,13 @@ class SortUseCase extends AbstractUseCase {
12
12
  presenter
13
13
  } = this.dependencies;
14
14
  const list = repository.getList();
15
- list.setSortBy(sortBy);
15
+ list.setSortConfig(sortConfig);
16
+ presenter.updateView(list.toObject());
16
17
  dispatch(list.createRecordsRefetchAction());
17
18
  dispatch({
18
- type: SmartTableConstants.Events.SORTED,
19
- payload: sortBy
19
+ type: SMART_TABLE_SORTED,
20
+ payload: sortConfig
20
21
  });
21
- presenter.updateView(list.toObject());
22
22
  }
23
23
 
24
24
  }
@@ -3,13 +3,13 @@ import { FIELD_EXECUTE, FIELD_REFETCH } from "../../../../bc/zfield/Constants";
3
3
  import { CLIENTACTION_BEHAVIOUR_EXECUTE } from "../../../client-actions/bc/zclient-actions/Constants";
4
4
  import { CLIENT_ACTION_TABLE_LIST_COMPONENT_NAME, ZLIST_RECORD_DELETE_SUCCEEDED, ZLIST_RECORD_UPDATE_SUCCEEDED } from "../../../../bc/zlist/Constants";
5
5
  import { SmartTableConstants } from "../../../../cc/table-connected";
6
- import SortBy from "./SortBy";
7
6
  import { CLIENTSCRIPT_FETCH } from "../../../client-scripts/bc/zclient-scripts-fetch/Constants";
7
+ import { SortOrder, stringToSortConfig } from "../../../../bc/zlist/Types";
8
8
 
9
9
  class List {
10
- constructor(limit, sortBy, query, context, isReOrderLoading, errorState) {
10
+ constructor(limit, sortConfig, query, context, isReOrderLoading, errorState) {
11
11
  this.limit = limit;
12
- this.sortBy = sortBy;
12
+ this.sortConfig = sortConfig;
13
13
  this.query = query;
14
14
  this.context = context;
15
15
  this.isReOrderLoading = isReOrderLoading;
@@ -19,7 +19,7 @@ class List {
19
19
  toObject() {
20
20
  return {
21
21
  limit: this.limit,
22
- sortBy: this.sortBy.toObject(),
22
+ sortConfig: this.sortConfig,
23
23
  isReOrderLoading: this.isReOrderLoading,
24
24
  errorState: this.errorState.toObject()
25
25
  };
@@ -37,16 +37,12 @@ class List {
37
37
  this.isReOrderLoading = false;
38
38
  }
39
39
 
40
- setSortBy(sortBy) {
41
- this.sortBy = new SortBy(sortBy.id, sortBy.name, sortBy.order);
40
+ getSortConfig() {
41
+ return this.sortConfig;
42
42
  }
43
43
 
44
- toggleSortBy() {
45
- const {
46
- id,
47
- name
48
- } = this.sortBy;
49
- this.sortBy.doSorting(id, name);
44
+ setSortConfig(sortConfig) {
45
+ this.sortConfig = sortConfig;
50
46
  }
51
47
 
52
48
  isAcknowledgeBySortBy(metaData) {
@@ -65,16 +61,32 @@ class List {
65
61
  return variableName ? computedContext?.[variableName] : computedContext;
66
62
  }
67
63
 
64
+ getSortByQueryString() {
65
+ const {
66
+ fieldName,
67
+ order
68
+ } = this.sortConfig;
69
+
70
+ if (order === SortOrder.DES) {
71
+ return `-${fieldName}`;
72
+ }
73
+
74
+ if (order === SortOrder.ASC) {
75
+ return fieldName;
76
+ }
77
+
78
+ return '';
79
+ }
80
+
68
81
  createApiProps() {
69
82
  const {
70
83
  query,
71
84
  limit,
72
- sortBy,
73
85
  context
74
86
  } = this;
75
87
  return {
76
88
  limit,
77
- sortBy: sortBy.toQueryString(),
89
+ sortBy: this.getSortByQueryString(),
78
90
  ...query,
79
91
  ...context
80
92
  };
@@ -111,7 +123,7 @@ class List {
111
123
  } = currentProperties;
112
124
 
113
125
  if (prevSortBy !== sortBy) {
114
- return [this.createRecordsRefetchAction()];
126
+ this.setSortConfig(stringToSortConfig(sortBy));
115
127
  }
116
128
 
117
129
  if (preDepartmentId !== currentDepartmentId) {
@@ -127,6 +139,10 @@ class List {
127
139
  // TODO: this.createSelectedFieldsRefetchAction()
128
140
  }
129
141
 
142
+ if (prevSortBy !== sortBy) {
143
+ return [this.createRecordsRefetchAction()];
144
+ }
145
+
130
146
  return [];
131
147
  }
132
148
 
@@ -357,7 +373,7 @@ class List {
357
373
  const props = this.createApiProps();
358
374
  const metaData = triggerer === 'sortBy' && {
359
375
  ['SMART_TABLE#SORTED']: {
360
- sortBy: this.sortBy.toObject()
376
+ sortBy: this.sortConfig
361
377
  }
362
378
  };
363
379
  return {
@@ -1,6 +1,6 @@
1
- export let SortOrder = /*#__PURE__*/function (SortOrder) {
2
- SortOrder["NONE"] = "none";
3
- SortOrder["ASC"] = "ascending";
4
- SortOrder["DES"] = "descending";
5
- return SortOrder;
1
+ export let SortModelOrder = /*#__PURE__*/function (SortModelOrder) {
2
+ SortModelOrder["NONE"] = "none";
3
+ SortModelOrder["ASC"] = "ascending";
4
+ SortModelOrder["DES"] = "descending";
5
+ return SortModelOrder;
6
6
  }({});
@@ -9,13 +9,12 @@ import FetchMoreController from "../adapters/controllers/FetchMoreController";
9
9
  import SortController from "../adapters/controllers/SortController";
10
10
  import FieldChangeController from "../adapters/controllers/FieldChangeController";
11
11
  import LifeCycleEvents from "../../../cc/component/LifeCycleEventsEnum";
12
- import SortBy from "../adapters/gateways/SortBy";
13
12
  import DeleteMultipleRecordController from "../adapters/controllers/DeleteMultipleRecordController";
14
13
  import RecordUpdateController from "../adapters/controllers/RecordUpdateController";
15
14
  import DeleteSingleRecordController from "../adapters/controllers/DeleteSingleRecordController";
16
15
  import RecordExecuteFailedController from "../adapters/controllers/RecordExecuteFailedController";
17
16
  import RecordExecuteSucceededController from "../adapters/controllers/RecordExecuteSucceededController";
18
- import { RECORD_EXECUTE_FAILED, RECORD_EXECUTE_SUCCEEDED, RECORD_EXECUTE_SUCCESS_CALLBACK } from "../../../bc/zrecord/Constants";
17
+ import { RECORD_EXECUTE_FAILED, RECORD_EXECUTE_SUCCEEDED, RECORD_EXECUTE_SUCCESS_CALLBACK, REFRESH_RECORDS_REQUESTED } from "../../../bc/zrecord/Constants";
19
18
  import UpdateSuccessController from "../adapters/controllers/UpdateSuccessController";
20
19
  import DeleteSuccessController from "../adapters/controllers/DeleteSuccessController";
21
20
  import Presenter from "../adapters/presenters/Presenters";
@@ -26,14 +25,13 @@ import { FIELD_FETCH_FAILURE } from "../../../bc/zfield/Constants";
26
25
  import FieldExecuteFailedController from "../adapters/controllers/FieldExecuteFailedController";
27
26
  import { CLIENTACTION_EXECUTE_FAILED } from "../../client-actions/bc/zclient-actions/Constants";
28
27
  import ResolutionBasedLimitController from "../adapters/controllers/ResolutionBasedLimitController";
28
+ import RefreshRecordsRequestedController from "../adapters/controllers/RefreshRecordsRequestedController";
29
29
  export default class ActionHandlersFactory {
30
30
  static create() {
31
31
  const repository = new Repository();
32
32
  const presenter = new Presenter();
33
- const sortByGateway = new SortBy();
34
33
  const service = new Service({
35
34
  repository,
36
- sortBy: sortByGateway,
37
35
  presenter
38
36
  });
39
37
  return {
@@ -57,6 +55,7 @@ export default class ActionHandlersFactory {
57
55
  [ZLIST_RECORD_DELETE_SUCCEEDED]: new DeleteSuccessController(service).handle,
58
56
  // ({ dispatch, action }) => dispatch({ type: 'SMART_TABLE#RECORD_DELETED', payload: { id: action.payload.id } })
59
57
  [ZLIST_RECORD_REORDER]: new ReOrderController(service).handle,
58
+ [REFRESH_RECORDS_REQUESTED]: new RefreshRecordsRequestedController(service).handle,
60
59
  [ZLIST_RECORD_REORDER_FAILED]: new ReOrderFailedController(service).handle
61
60
  };
62
61
  }
@@ -1,22 +1,24 @@
1
1
  import Properties from "../../../bc/zlist/Properties";
2
2
  import EventHandlersFactory from "./EventHandlersFactory";
3
+ import { stringToSortConfig } from "../../../bc/zlist/Types";
3
4
  export default class ZListBehaviourFactory {
4
5
  static create() {
5
6
  return {
6
7
  name: 'zlist',
7
- setInitialState: () => ({
8
- sortBy: {
9
- id: '',
10
- name: '',
11
- order: 'none'
12
- },
13
- isReOrderLoading: false,
14
- errorState: {
15
- canErrorPage: false,
16
- shouldClearRecords: false,
17
- hasFetchingFailedInMoreRecords: false
18
- }
19
- }),
8
+ setInitialState: _ref => {
9
+ let {
10
+ properties
11
+ } = _ref;
12
+ return {
13
+ sortConfig: stringToSortConfig(properties.sortBy),
14
+ isReOrderLoading: false,
15
+ errorState: {
16
+ canErrorPage: false,
17
+ shouldClearRecords: false,
18
+ hasFetchingFailedInMoreRecords: false
19
+ }
20
+ };
21
+ },
20
22
  eventHandlers: EventHandlersFactory.create(),
21
23
  properties: Properties
22
24
  };
@@ -0,0 +1,28 @@
1
+ export default class FilterRecordLocalController {
2
+ constructor(service) {
3
+ this.service = service;
4
+ }
5
+
6
+ handle = event => {
7
+ const {
8
+ state,
9
+ updateState,
10
+ action
11
+ } = event;
12
+ const {
13
+ payload
14
+ } = action;
15
+ const {
16
+ filterConfig,
17
+ isLocalSearchEnabled
18
+ } = payload;
19
+ const {
20
+ filterRecordUseCase
21
+ } = this.service;
22
+ filterRecordUseCase.updateDependency(state, updateState);
23
+ filterRecordUseCase.execute({
24
+ filterConfig,
25
+ isLocalSearchEnabled
26
+ });
27
+ };
28
+ }
@@ -1,4 +1,5 @@
1
1
  import RecordsManagerFactory from "../../applications/entities-factory/RecordsManagerFactory";
2
+ import { Filter } from "../../domain/entities/Filter";
2
3
  export default class Repository {
3
4
  init(state) {
4
5
  this.state = state;
@@ -11,13 +12,15 @@ export default class Repository {
11
12
  const {
12
13
  records = [],
13
14
  hasMore,
14
- isFetching
15
+ isFetching,
16
+ filter
15
17
  } = zrecord;
18
+ const filterEntity = new Filter(filter.config, filter.condition, filter.queryString);
16
19
  const recordManager = RecordsManagerFactory.create({
17
20
  data: records,
18
21
  hasMore,
19
22
  isFetching
20
- });
23
+ }, filterEntity);
21
24
  return recordManager;
22
25
  }
23
26
 
@@ -14,6 +14,7 @@ import FetchStateStopUseCase from "../../applications/usecases/FetchStateStopUse
14
14
  import CreateRecordUseCase from "../../applications/usecases/CreateRecordUseCase";
15
15
  import MarkAsReadUseCase from "../../applications/usecases/MarkAsReadUseCase";
16
16
  import MarkAsUnReadUseCase from "../../applications/usecases/MarkAsUnReadUseCase";
17
+ import FilterRecordUseCase from "../../applications/usecases/FilterRecordUseCase";
17
18
  export default class Service {
18
19
  constructor(dependencies) {
19
20
  this.initializeUseCase = new InitializeUseCase(dependencies);
@@ -32,6 +33,7 @@ export default class Service {
32
33
  this.createRecordUseCase = new CreateRecordUseCase(dependencies);
33
34
  this.markAsReadUseCase = new MarkAsReadUseCase(dependencies);
34
35
  this.markAsUnReadUseCase = new MarkAsUnReadUseCase(dependencies);
36
+ this.filterRecordUseCase = new FilterRecordUseCase(dependencies);
35
37
  }
36
38
 
37
39
  }
@@ -1,9 +1,9 @@
1
1
  import RecordsManager from "../../domain/entities/RecordsManager";
2
2
  import Records from "../../domain/entities/Records";
3
3
  export default class RecordsManagerFactory {
4
- static create(recordsModel) {
4
+ static create(recordsModel, filter) {
5
5
  const records = new Records(recordsModel);
6
- const recordManager = new RecordsManager(records);
6
+ const recordManager = new RecordsManager(records, filter);
7
7
  return recordManager;
8
8
  }
9
9
 
@@ -0,0 +1,24 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { REFRESH_RECORDS_REQUESTED } from "../../../../bc/zrecord/Constants";
3
+ import { initialFilterConfig } from "../../../../bc/zrecord/Types";
4
+ export default class ClearAllFiltersUseCase extends AbstractUseCase {
5
+ execute(_ref) {
6
+ let {
7
+ dispatch
8
+ } = _ref;
9
+ const {
10
+ repository,
11
+ presenter
12
+ } = this.dependencies;
13
+ const recordManager = repository.getRecordsManagerEntity();
14
+ recordManager.setFilterConfig(initialFilterConfig);
15
+ presenter.updateRecord(recordManager.toObject());
16
+ dispatch({
17
+ type: REFRESH_RECORDS_REQUESTED,
18
+ metaData: {
19
+ filterConfig: initialFilterConfig
20
+ }
21
+ });
22
+ }
23
+
24
+ }
@@ -0,0 +1,21 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class FilterRecordUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ presenter,
7
+ repository
8
+ } = this.dependencies;
9
+ const {
10
+ filterConfig,
11
+ isLocalSearchEnabled
12
+ } = input;
13
+ const recordManager = repository.getRecordsManagerEntity();
14
+ recordManager.setFilterConfig(filterConfig);
15
+ recordManager.setIsLocalSearchEnabled(isLocalSearchEnabled);
16
+ presenter.updateRecord(recordManager.toObject());
17
+ }
18
+
19
+ }
20
+
21
+ export default FilterRecordUseCase;
@@ -0,0 +1,15 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ export default class GetFilterConditionUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ callback
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const recordManager = repository.getRecordsManagerEntity();
11
+ const filterCondition = recordManager.getFilterCondition();
12
+ callback?.(filterCondition);
13
+ }
14
+
15
+ }
@@ -0,0 +1,15 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ export default class GetFilterConfigUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ callback
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const recordManager = repository.getRecordsManagerEntity();
11
+ const filterConfig = recordManager.getFilterConfig();
12
+ callback?.(filterConfig);
13
+ }
14
+
15
+ }
@@ -0,0 +1,14 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { REFRESH_RECORDS_REQUESTED } from "../../../../bc/zrecord/Constants";
3
+ export default class RefreshRecordsUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ dispatch
7
+ } = _ref;
8
+ dispatch({
9
+ type: REFRESH_RECORDS_REQUESTED,
10
+ metaData: {}
11
+ });
12
+ }
13
+
14
+ }
@@ -0,0 +1,29 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { RECORD_LOCAL_FILTER, REFRESH_RECORDS_REQUESTED } from "../../../../bc/zrecord/Constants";
3
+ export default class SetFilterUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ filterConfig,
7
+ dispatch,
8
+ shouldFetch
9
+ } = _ref;
10
+ const {
11
+ repository,
12
+ presenter
13
+ } = this.dependencies;
14
+ const recordManager = repository.getRecordsManagerEntity();
15
+ recordManager.setFilterConfig(filterConfig);
16
+ presenter.updateRecord(recordManager.toObject());
17
+ dispatch({
18
+ type: shouldFetch ? REFRESH_RECORDS_REQUESTED : RECORD_LOCAL_FILTER,
19
+ payload: {
20
+ filterConfig,
21
+ isLocalSearchEnabled: !shouldFetch
22
+ },
23
+ metaData: {
24
+ filterConfig
25
+ }
26
+ });
27
+ }
28
+
29
+ }