@zohodesk/library-platform 1.1.12 → 1.2.0

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 (475) hide show
  1. package/es/.DS_Store +0 -0
  2. package/es/bc/action-band/Constants.js +4 -0
  3. package/es/bc/action-band/Properties.js +10 -0
  4. package/es/bc/action-band/index.js +1 -0
  5. package/es/bc/app-context/Properties.js +19 -0
  6. package/es/bc/column-chooser/EventHandlers.js +1 -2
  7. package/es/bc/float-pagination/ActionHandlers.js +1 -0
  8. package/es/bc/float-pagination/Constants.js +4 -0
  9. package/es/bc/float-pagination/Properties.js +18 -0
  10. package/es/bc/float-pagination/index.js +2 -0
  11. package/es/bc/index.js +0 -1
  12. package/es/bc/sdk/ResourceNamesEnum.js +1 -0
  13. package/es/bc/search/Constants.js +3 -0
  14. package/es/bc/search/EventHandlers.js +1 -0
  15. package/es/bc/search/Properties.js +11 -0
  16. package/es/bc/search/index.js +2 -0
  17. package/es/bc/search-box/ActionHandlers.js +1 -0
  18. package/es/bc/search-box/Constants.js +4 -0
  19. package/es/bc/search-box/Properties.js +18 -0
  20. package/es/bc/search-box/index.js +2 -0
  21. package/es/bc/sort-by/ActionHandlers.js +1 -1
  22. package/es/bc/sort-by/Constants.js +2 -2
  23. package/es/bc/sort-by/Properties.js +13 -11
  24. package/es/bc/sort-by/Types.js +10 -0
  25. package/es/bc/sort-by/types/SortByBehaviourState.js +1 -0
  26. package/es/bc/zfield/Constants.js +5 -1
  27. package/es/bc/zform/Properties.js +20 -0
  28. package/es/bc/zform/Symbol.js +3 -0
  29. package/es/bc/zlist/Constants.js +0 -1
  30. package/es/bc/zlist/Types.js +27 -0
  31. package/es/bc/zrecord/Constants.js +4 -0
  32. package/es/bc/zrecord/Schemas.js +29 -0
  33. package/es/bc/zrecord/Types.js +45 -0
  34. package/es/cc/action-band/Properties.js +120 -0
  35. package/es/cc/action-band/SdkContract.js +13 -0
  36. package/es/cc/action-band/constants/Events.js +1 -0
  37. package/es/cc/action-band/constants/ExternalConstants.js +9 -0
  38. package/es/cc/action-band/constants/index.js +2 -0
  39. package/es/cc/action-band/index.js +3 -0
  40. package/es/cc/action-icon/Properties.js +20 -1
  41. package/es/cc/checkbox/Properties.js +2 -1
  42. package/es/cc/component/LifeCycleEventsEnum.js +1 -0
  43. package/es/cc/email/Properties.js +8 -0
  44. package/es/cc/fields/currency/Properties.js +9 -0
  45. package/es/cc/fields/decimal/Properties.js +9 -0
  46. package/es/cc/fields/email/Properties.js +9 -0
  47. package/es/cc/fields/field/Types.js +31 -23
  48. package/es/cc/fields/lookup/Properties.js +10 -26
  49. package/es/cc/fields/multi-line/Properties.js +1 -0
  50. package/es/cc/fields/number/Properties.js +10 -1
  51. package/es/cc/fields/phone/Properties.js +9 -0
  52. package/es/cc/fields/text/Properties.js +2 -2
  53. package/es/cc/fields/url/Properties.js +9 -0
  54. package/es/cc/floating-pagination/Constants.js +6 -0
  55. package/es/cc/floating-pagination/Events.js +8 -0
  56. package/es/cc/floating-pagination/Properties.js +56 -0
  57. package/es/cc/floating-pagination/index.js +3 -0
  58. package/es/cc/highlighted-value/Properties.js +18 -0
  59. package/es/cc/link/Properties.js +13 -3
  60. package/es/cc/list-item/Properties.js +10 -0
  61. package/es/cc/more-dropdown/Properties.js +4 -0
  62. package/es/cc/radio-dropdown/Constants.js +6 -0
  63. package/es/cc/radio-dropdown/Data.js +1 -0
  64. package/es/cc/radio-dropdown/Events.js +42 -0
  65. package/es/cc/radio-dropdown/Properties.js +142 -0
  66. package/es/cc/radio-dropdown/index.js +4 -0
  67. package/es/cc/ribbon/Properties.js +59 -0
  68. package/es/cc/ribbon/index.js +1 -0
  69. package/es/cc/search/Constants.js +6 -0
  70. package/es/cc/search/Events.js +17 -0
  71. package/es/cc/search/Properties.js +11 -0
  72. package/es/cc/search/index.js +3 -0
  73. package/es/cc/sort-dropdown/Constants.js +7 -0
  74. package/es/cc/sort-dropdown/Events.js +46 -0
  75. package/es/cc/sort-dropdown/Properties.js +135 -0
  76. package/es/cc/sort-dropdown/index.js +3 -0
  77. package/es/cc/switch/Properties.js +2 -2
  78. package/es/cc/table-column-chooser/Constants.js +2 -1
  79. package/es/cc/table-connected/Properties.js +16 -0
  80. package/es/cc/table-connected/SdkContract.js +46 -0
  81. package/es/cc/table-connected/constants/Events.js +2 -0
  82. package/es/cc/table-list/Actions.js +0 -2
  83. package/es/cc/table-list/Constants.js +1 -1
  84. package/es/cc/table-list/Events.js +0 -2
  85. package/es/cc/table-list/Properties.js +35 -38
  86. package/es/cc/table-list/data-types/FloatPaginationConfig.js +1 -0
  87. package/es/cc/tag/Constants.js +6 -0
  88. package/es/cc/tag/Data.js +14 -0
  89. package/es/cc/tag/EventHandlers.js +1 -0
  90. package/es/cc/tag/Events.js +26 -0
  91. package/es/cc/{tags/model/TagModel.js → tag/Model.js} +6 -2
  92. package/es/cc/tag/Properties.js +104 -0
  93. package/es/cc/tag/index.js +6 -0
  94. package/es/cc/tags/Data.js +0 -6
  95. package/es/cc/tags/model/index.js +1 -1
  96. package/es/cc/tags-list-dropdown/Constants.js +5 -0
  97. package/es/cc/tags-list-dropdown/Data.js +1 -0
  98. package/es/cc/tags-list-dropdown/Events.js +14 -0
  99. package/es/cc/tags-list-dropdown/Properties.js +96 -0
  100. package/es/cc/tags-list-dropdown/index.js +4 -0
  101. package/es/cc/text/Properties.js +100 -0
  102. package/es/cc/textbox/Properties.js +1 -1
  103. package/es/index.js +2 -1
  104. package/es/library/behaviours/action-band/adapters/controllers/AbstractController.js +10 -0
  105. package/es/library/behaviours/action-band/adapters/controllers/MountController.js +21 -0
  106. package/es/library/behaviours/action-band/adapters/gateways/Repository.js +24 -0
  107. package/es/library/behaviours/action-band/adapters/gateways/Service.js +11 -0
  108. package/es/library/behaviours/action-band/applications/interfaces/State.js +1 -0
  109. package/es/library/behaviours/action-band/applications/interfaces/UseCaseDependencies.js +1 -0
  110. package/es/library/behaviours/action-band/applications/interfaces/gateways/IRepository.js +1 -0
  111. package/es/library/behaviours/action-band/applications/interfaces/gateways/IService.js +1 -0
  112. package/es/library/behaviours/action-band/applications/interfaces/input/InitializeInput.js +1 -0
  113. package/es/library/behaviours/action-band/applications/usecases/AbstractUseCase.js +17 -0
  114. package/es/library/behaviours/action-band/applications/usecases/InitializeUseCase.js +20 -0
  115. package/es/library/behaviours/action-band/domain/entities/ActionBand.js +95 -0
  116. package/es/library/behaviours/action-band/domain/entities/interfaces/IActionBand.js +1 -0
  117. package/es/library/behaviours/action-band/domain/entities/interfaces/IActionModel.js +1 -0
  118. package/es/library/behaviours/action-band/domain/entities/interfaces/IApiPropsModel.js +1 -0
  119. package/es/library/behaviours/action-band/domain/entities/interfaces/Properties.js +1 -0
  120. package/es/library/behaviours/action-band/frameworks/ActionBandBehaviourFactory.js +21 -0
  121. package/es/library/behaviours/action-band/frameworks/ActionHandlersFactory.js +17 -0
  122. package/es/library/behaviours/clip-wrap/adapters/controllers/DestructController.js +3 -3
  123. package/es/library/behaviours/clip-wrap/adapters/controllers/InitializeController.js +3 -3
  124. package/es/library/behaviours/clip-wrap/adapters/gateway/Service.js +4 -0
  125. package/es/library/behaviours/clip-wrap/applications/usecases/ClipWrapUpdateUseCase.js +19 -0
  126. package/es/library/behaviours/float-pagination/adapters/controllers/AbstractController.js +9 -0
  127. package/es/library/behaviours/float-pagination/adapters/controllers/DestructController.js +18 -0
  128. package/es/library/behaviours/float-pagination/adapters/controllers/FloatPaginationController.js +25 -0
  129. package/es/library/behaviours/float-pagination/adapters/controllers/InitializeController.js +18 -0
  130. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollBottomController.js +23 -0
  131. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollTopController.js +23 -0
  132. package/es/library/behaviours/float-pagination/adapters/controllers/UpdateIndexController.js +30 -0
  133. package/es/library/behaviours/float-pagination/adapters/gateway/Repository.js +27 -0
  134. package/es/library/behaviours/float-pagination/adapters/gateway/Service.js +20 -0
  135. package/es/library/behaviours/float-pagination/adapters/presenter/Presenter.js +16 -0
  136. package/es/library/behaviours/float-pagination/applications/interfaces/UseCaseDependencies.js +1 -0
  137. package/es/library/behaviours/float-pagination/applications/interfaces/gateways/IRepository.js +1 -0
  138. package/es/library/behaviours/float-pagination/applications/interfaces/gateways/IService.js +1 -0
  139. package/es/library/behaviours/float-pagination/applications/interfaces/input/DestructInputModel.js +1 -0
  140. package/es/library/behaviours/float-pagination/applications/interfaces/input/FloatPaginationInputModel.js +1 -0
  141. package/es/library/behaviours/float-pagination/applications/interfaces/input/InitializeInputModel.js +1 -0
  142. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollTopInputModel.js +1 -0
  143. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollbottomInputModel.js +1 -0
  144. package/es/library/behaviours/float-pagination/applications/interfaces/input/UpdateIndexInputModel.js +1 -0
  145. package/es/library/behaviours/float-pagination/applications/interfaces/output/FloatPaginationOutputModel.js +1 -0
  146. package/es/library/behaviours/float-pagination/applications/interfaces/output/IPresenter.js +1 -0
  147. package/es/library/behaviours/float-pagination/applications/usecases/AbstractUseCase.js +17 -0
  148. package/es/library/behaviours/float-pagination/applications/usecases/DestructUsecase.js +15 -0
  149. package/es/library/behaviours/float-pagination/applications/usecases/FloatPaginationUseCase.js +31 -0
  150. package/es/library/behaviours/float-pagination/applications/usecases/InitializeUsecase.js +16 -0
  151. package/es/library/behaviours/float-pagination/applications/usecases/ScrollBottomUseCase.js +23 -0
  152. package/es/library/behaviours/float-pagination/applications/usecases/ScrollTopUseCase.js +23 -0
  153. package/es/library/behaviours/float-pagination/applications/usecases/UpdateIndexUseCase.js +28 -0
  154. package/es/library/behaviours/float-pagination/domain/entities/FloatPagination.js +28 -0
  155. package/es/library/behaviours/float-pagination/domain/entities/interfaces/IFloatPagination.js +1 -0
  156. package/es/library/behaviours/float-pagination/frameworks/ui/ActionsHandlerFactory.js +37 -0
  157. package/es/library/behaviours/float-pagination/frameworks/ui/FloatPaginationBehaviourFactory.js +21 -0
  158. package/es/library/behaviours/float-pagination/frameworks/utils.js +70 -0
  159. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -1
  160. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +1 -1
  161. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +6 -1
  162. package/es/library/behaviours/list-selection/domain/entities/ListItemSelection.js +21 -18
  163. package/es/library/behaviours/search/adapters/controllers/AbstractController.js +9 -0
  164. package/es/library/behaviours/search/adapters/controllers/SearchController.js +26 -0
  165. package/es/library/behaviours/search/adapters/controllers/UpdatePropertiesController.js +32 -0
  166. package/es/library/behaviours/search/adapters/gateway/Repository.js +20 -0
  167. package/es/library/behaviours/search/adapters/gateway/Service.js +12 -0
  168. package/es/library/behaviours/search/adapters/presenter/Presenter.js +16 -0
  169. package/es/library/behaviours/search/adapters/presenter/SearchTranslator.js +6 -0
  170. package/es/library/behaviours/search/applications/interfaces/UseCaseDependencies.js +1 -0
  171. package/es/library/behaviours/search/applications/interfaces/gateways/IRepository.js +1 -0
  172. package/es/library/behaviours/search/applications/interfaces/gateways/IService.js +1 -0
  173. package/es/library/behaviours/search/applications/interfaces/input/SearchInputModel.js +1 -0
  174. package/es/library/behaviours/search/applications/interfaces/input/UpdatePropertiesInputModel.js +1 -0
  175. package/es/library/behaviours/search/applications/interfaces/output/IPresenter.js +1 -0
  176. package/es/library/behaviours/search/applications/interfaces/output/SearchOutputModel.js +1 -0
  177. package/es/library/behaviours/search/applications/usecases/AbstractUseCase.js +17 -0
  178. package/es/library/behaviours/search/applications/usecases/SearchUseCase.js +28 -0
  179. package/es/library/behaviours/search/applications/usecases/UpdatePropertiesUsecase.js +25 -0
  180. package/es/library/behaviours/search/domain/entities/Search.js +23 -0
  181. package/es/library/behaviours/search/domain/entities/interfaces/ISearch.js +1 -0
  182. package/es/library/behaviours/search/frameworks/ui/EventHandlerFactory.js +25 -0
  183. package/es/library/behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory.js +26 -0
  184. package/es/library/behaviours/search-box/adapters/controllers/AbstractController.js +9 -0
  185. package/es/library/behaviours/search-box/adapters/controllers/ClearSearchController.js +21 -0
  186. package/es/library/behaviours/search-box/adapters/controllers/SearchController.js +26 -0
  187. package/es/library/behaviours/search-box/adapters/gateway/Repository.js +28 -0
  188. package/es/library/behaviours/search-box/adapters/gateway/Service.js +12 -0
  189. package/es/library/behaviours/search-box/adapters/presenter/Presenter.js +21 -0
  190. package/es/library/behaviours/search-box/applications/interfaces/UseCaseDependencies.js +1 -0
  191. package/es/library/behaviours/search-box/applications/interfaces/gateways/IRepository.js +1 -0
  192. package/es/library/behaviours/search-box/applications/interfaces/gateways/IService.js +1 -0
  193. package/es/library/behaviours/search-box/applications/interfaces/input/ClearSearchInputModel.js +1 -0
  194. package/es/library/behaviours/search-box/applications/interfaces/input/SearchInputModel.js +1 -0
  195. package/es/library/behaviours/search-box/applications/interfaces/output/IPresenter.js +1 -0
  196. package/es/library/behaviours/search-box/applications/interfaces/output/SearchOutputModel.js +1 -0
  197. package/es/library/behaviours/search-box/applications/usecases/AbstractUseCase.js +17 -0
  198. package/es/library/behaviours/search-box/applications/usecases/ClearSearchUseCase.js +24 -0
  199. package/es/library/behaviours/search-box/applications/usecases/SearchUseCase.js +25 -0
  200. package/es/library/behaviours/search-box/domain/entities/Search.js +22 -0
  201. package/es/library/behaviours/search-box/domain/entities/interfaces/ISearch.js +1 -0
  202. package/es/library/behaviours/search-box/frameworks/ui/ActionsHandlerFactory.js +24 -0
  203. package/es/library/behaviours/search-box/frameworks/ui/SearchBehaviourFactory.js +26 -0
  204. package/es/library/behaviours/sort-by/adapters/controllers/{SortBy.js → SortByController.js} +6 -6
  205. package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +18 -6
  206. package/es/library/behaviours/sort-by/adapters/gateway/Service.js +2 -2
  207. package/es/library/behaviours/sort-by/adapters/presenter/Presenter.js +8 -1
  208. package/es/library/behaviours/sort-by/applications/interfaces/input/UpdateSortByUseCaseInputModel.js +1 -0
  209. package/es/library/behaviours/sort-by/applications/interfaces/output/SearchOutputModel.js +1 -0
  210. package/es/library/behaviours/sort-by/applications/usecases/{SortBy.js → SortByUseCase.js} +12 -13
  211. package/es/library/behaviours/sort-by/applications/usecases/UpdateSortByUseCase.js +25 -0
  212. package/es/library/behaviours/sort-by/domain/entities/SortBy.js +11 -25
  213. package/es/library/behaviours/sort-by/frameworks/ui/ActionsHandlerFactory.js +7 -5
  214. package/es/library/behaviours/sort-by/frameworks/ui/SortByBehaviourFactory.js +17 -7
  215. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +9 -3
  216. package/es/library/custom-component/applications/usecases/DispatchUseCase.js +1 -0
  217. package/es/library/custom-component/applications/usecases/InitializeUseCase.js +1 -0
  218. package/es/library/custom-component/applications/usecases/MountUseCase.js +1 -0
  219. package/es/library/custom-component/applications/usecases/SetRefUseCase.js +7 -0
  220. package/es/library/custom-component/applications/usecases/UnmountUseCase.js +1 -0
  221. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +1 -0
  222. package/es/library/custom-component/domain/entities/Component.js +1 -0
  223. package/es/library/custom-component/domain/entities/ComponentProperties.js +1 -1
  224. package/es/library/custom-component/domain/entities/Logger.js +7 -12
  225. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +7 -1
  226. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +2 -0
  227. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +2 -0
  228. package/es/library/dot/components/form-fields/email/frameworks/ui/Email.js +1 -1
  229. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +2 -0
  230. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +2 -0
  231. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +2 -0
  232. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextArea.js +1 -1
  233. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +4 -2
  234. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +2 -0
  235. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +2 -0
  236. package/es/library/dot/components/table-list/adapters/controllers/ScrollController.js +2 -2
  237. package/es/library/dot/components/table-list/adapters/controllers/index.js +0 -2
  238. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -2
  239. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +24 -1
  240. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +19 -2
  241. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +1 -1
  242. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +4 -6
  243. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/Search.js +41 -0
  244. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/SearchTranslator.js +16 -0
  245. package/es/library/dot/legacy-to-new-arch/action-band-components/search/frameworks/ui/SearchView.js +37 -0
  246. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +5 -1
  247. package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +4 -2
  248. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination.js +10 -0
  249. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPaginationView.js +47 -0
  250. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  251. package/es/library/dot/legacy-to-new-arch/index.js +3 -1
  252. package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +4 -2
  253. package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItemView.js +4 -0
  254. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdown.js +12 -0
  255. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +125 -0
  256. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/css/RadioDropdown.module.css +23 -0
  257. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/Ribbon.js +10 -0
  258. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/RibbonView.js +37 -0
  259. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdown.js +31 -0
  260. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdownTranslator.js +33 -0
  261. package/es/library/dot/legacy-to-new-arch/sort-dropdown/frameworks/ui/SortDropdownView.js +83 -0
  262. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +12 -2
  263. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +8 -5
  264. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
  265. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
  266. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +8 -6
  267. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/EventHandlersFactory.js +26 -0
  268. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueField.js +23 -0
  269. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueFieldView.js +24 -0
  270. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +22 -5
  271. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/EventHandlersFactory.js +26 -0
  272. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarField.js +23 -0
  273. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarFieldView.js +22 -0
  274. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/EventHandlersFactory.js +26 -0
  275. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkField.js +23 -0
  276. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkFieldView.js +26 -0
  277. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
  278. package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
  279. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +46 -0
  280. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +49 -0
  281. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +43 -0
  282. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/css/RadioDropdownField.module.css +3 -0
  283. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
  284. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +14 -4
  285. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +8 -4
  286. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/EventHandlersFactory.js +26 -0
  287. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagField.js +23 -0
  288. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagFieldView.js +34 -0
  289. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/EventHandlersFactory.js +26 -0
  290. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsField.js +23 -0
  291. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsFieldView.js +18 -0
  292. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +44 -0
  293. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +24 -0
  294. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/EventHandlersFactory.js +26 -0
  295. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextField.js +23 -0
  296. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextFieldView.js +40 -0
  297. package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
  298. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.js +11 -0
  299. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.module.css +8 -0
  300. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/TagView.js +96 -0
  301. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagContractAdapter.js +24 -0
  302. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdown.js +12 -0
  303. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdownView.js +42 -0
  304. package/es/library/dot/legacy-to-new-arch/text/frameworks/ui/Text.js +2 -2
  305. package/es/library/dot/legacy-to-new-arch/text/frameworks/ui/TextView.js +22 -1
  306. package/es/platform/.DS_Store +0 -0
  307. package/es/platform/app-context-behaviour/adapters/controllers/AbstractController.js +9 -0
  308. package/es/platform/app-context-behaviour/adapters/controllers/UpdatePropertiesController.js +32 -0
  309. package/es/platform/app-context-behaviour/adapters/gateway/Repository.js +22 -0
  310. package/es/platform/app-context-behaviour/adapters/gateway/Service.js +10 -0
  311. package/es/platform/app-context-behaviour/adapters/presenter/Presenter.js +16 -0
  312. package/es/platform/app-context-behaviour/applications/interfaces/UseCaseDependencies.js +1 -0
  313. package/es/platform/app-context-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
  314. package/es/platform/app-context-behaviour/applications/interfaces/gateways/IService.js +1 -0
  315. package/es/platform/app-context-behaviour/applications/interfaces/input/UpdatePropertiesInputModel.js +1 -0
  316. package/es/platform/app-context-behaviour/applications/interfaces/output/BehaviourOutputModel.js +1 -0
  317. package/es/platform/app-context-behaviour/applications/interfaces/output/IPresenter.js +1 -0
  318. package/es/platform/app-context-behaviour/applications/usecases/AbstractUseCase.js +17 -0
  319. package/es/platform/app-context-behaviour/applications/usecases/UpdatePropertiesUsecase.js +25 -0
  320. package/es/platform/app-context-behaviour/domain/entities/AppContext.js +44 -0
  321. package/es/platform/app-context-behaviour/domain/entities/interfaces/IAppContext.js +1 -0
  322. package/es/platform/app-context-behaviour/frameworks/AppContextBehaviourFactory.js +2 -2
  323. package/es/platform/app-context-behaviour/frameworks/EventHandlerFactory.js +22 -0
  324. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +1 -0
  325. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +4 -0
  326. package/es/platform/client-scripts/bc/zclient-scripts-execution/Constants.js +2 -4
  327. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/ClientScriptExecutor.js +33 -60
  328. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptModel.js +5 -1
  329. package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +14 -6
  330. package/es/platform/column-chooser/adapters/controllers/ColumnChooserUpdateController.js +22 -0
  331. package/es/platform/column-chooser/adapters/gateways/Repository.js +12 -1
  332. package/es/platform/column-chooser/adapters/gateways/Service.js +2 -0
  333. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserUpdateInput.js +1 -0
  334. package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +8 -1
  335. package/es/platform/column-chooser/applications/usecases/ColumnChooserUpdateUseCase.js +35 -0
  336. package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +6 -0
  337. package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +6 -4
  338. package/es/platform/components/index.js +2 -1
  339. package/es/platform/components/smart-action-band/adapters/presenters/ActionBandTranslator.js +132 -0
  340. package/es/platform/components/smart-action-band/adapters/presenters/translators/interfaces/ActionBandTranslatorState.js +1 -0
  341. package/es/platform/components/smart-action-band/adapters/presenters/utils/DefaultClientActions.js +179 -0
  342. package/es/platform/components/smart-action-band/adapters/resources/SmartActionBandResource.js +46 -0
  343. package/es/platform/components/smart-action-band/applications/interfaces/ISmartActionBandResource.js +1 -0
  344. package/es/platform/components/smart-action-band/applications/interfaces/State.js +1 -0
  345. package/es/platform/components/smart-action-band/applications/interfaces/UseCaseDependencies.js +1 -0
  346. package/es/platform/components/smart-action-band/applications/interfaces/output/IPresenter.js +1 -0
  347. package/es/platform/components/smart-action-band/applications/usecases/AbstractUseCase.js +18 -0
  348. package/es/platform/components/smart-action-band/domain/entities/interfaces/Properties.js +1 -0
  349. package/es/platform/components/smart-action-band/frameworks/EventHandlersFactory.js +147 -0
  350. package/es/platform/components/smart-action-band/frameworks/SmartActionBand.js +5 -0
  351. package/es/platform/components/smart-action-band/frameworks/SmartActionBandFactory.js +58 -0
  352. package/es/platform/components/smart-action-band/frameworks/SmartActionBandSdkFactory.js +24 -0
  353. package/es/platform/components/smart-action-band/frameworks/SmartActionBandView.js +48 -0
  354. package/es/platform/components/table-connected/adapters/controllers/ScrollController.js +29 -8
  355. package/es/platform/components/table-connected/adapters/controllers/ScrollEndReachedController.js +23 -0
  356. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +224 -8
  357. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +39 -12
  358. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +4 -2
  359. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +7 -1
  360. package/es/platform/components/table-connected/frameworks/TableConnectedView.js +2 -0
  361. package/es/platform/data-source/http-template/fetchLookupFields.js +0 -6
  362. package/es/platform/data-source/http-template/getComponentMapping.js +17 -0
  363. package/es/platform/data-source/http-template/getRecords.js +1 -0
  364. package/es/platform/data-source/http-template/getSingleRecord.js +51 -0
  365. package/es/platform/data-source/index.js +5 -1
  366. package/es/platform/data-source/utils/validation-rules/FieldConditions.js +1 -1
  367. package/es/platform/sdk/frameworks/Sdk.js +7 -0
  368. package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +7 -2
  369. package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +10 -1
  370. package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +33 -0
  371. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -0
  372. package/es/platform/zform/adapters/controllers/GetInitialRecordSuccessController.js +31 -0
  373. package/es/platform/zform/adapters/gateway/FormRepository.js +10 -2
  374. package/es/platform/zform/adapters/gateway/Service.js +2 -0
  375. package/es/platform/zform/adapters/presenter/FormTranslator.js +9 -0
  376. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +1 -0
  377. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +1 -0
  378. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +1 -0
  379. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +11 -7
  380. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +1 -0
  381. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +1 -0
  382. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +1 -0
  383. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +1 -0
  384. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +1 -0
  385. package/es/platform/zform/adapters/presenter/utils/sanitizeHtmlString.js +2 -2
  386. package/es/platform/zform/applications/interfaces/input/GetInitialRecordSuccessUseCaseInputModel.js +1 -0
  387. package/es/platform/zform/applications/usecases/GetInitialRecordSuccessUseCase.js +132 -0
  388. package/es/platform/zform/applications/usecases/InitializeUseCase.js +54 -30
  389. package/es/platform/zform/applications/usecases/LookupFieldSuccessUseCase.js +5 -0
  390. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +12 -11
  391. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +21 -8
  392. package/es/platform/zform/domain/ZField.js +7 -5
  393. package/es/platform/zform/domain/ZForm.js +97 -20
  394. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +23 -5
  395. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +2 -0
  396. package/es/platform/zlist/adapters/controllers/RefreshRecordsRequestedController.js +21 -0
  397. package/es/platform/zlist/adapters/controllers/SortController.js +2 -2
  398. package/es/platform/zlist/adapters/gateways/Repository.js +6 -11
  399. package/es/platform/zlist/adapters/gateways/Service.js +2 -0
  400. package/es/platform/zlist/adapters/presenters/TableTranslator.js +57 -13
  401. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +57 -49
  402. package/es/platform/zlist/adapters/presenters/translators/FieldVariations.js +25 -0
  403. package/es/platform/zlist/adapters/presenters/translators/Header.js +29 -21
  404. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -3
  405. package/es/platform/zlist/adapters/presenters/translators/Row.js +16 -2
  406. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +3 -1
  407. package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +87 -12
  408. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +66 -11
  409. package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +33 -8
  410. package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +33 -8
  411. package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +16 -9
  412. package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +29 -9
  413. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +23 -27
  414. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +106 -17
  415. package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +16 -9
  416. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +100 -26
  417. package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +16 -9
  418. package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +16 -9
  419. package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +32 -9
  420. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +167 -26
  421. package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +16 -9
  422. package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +32 -9
  423. package/es/platform/zlist/adapters/presenters/utils/DateAndTimeFormat.js +25 -0
  424. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +7 -4
  425. package/es/platform/zlist/adapters/presenters/utils/fieldSortLabels.js +38 -0
  426. package/es/platform/zlist/applications/entities-factory/ListFactory.js +2 -2
  427. package/es/platform/zlist/applications/interfaces/input/GetSortConfigUseCaseInputModel.js +1 -0
  428. package/es/platform/zlist/applications/interfaces/input/RefreshRecordsRequestedUseCaseInputModel.js +1 -0
  429. package/es/platform/zlist/applications/interfaces/input/SetSortConfigUseCaseInputModel.js +1 -0
  430. package/es/platform/zlist/applications/usecases/GetSortConfigUseCase.js +17 -0
  431. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -1
  432. package/es/platform/zlist/applications/usecases/RefreshRecordsRequestedUseCase.js +17 -0
  433. package/es/platform/zlist/applications/usecases/SetSortConfigUseCase.js +26 -0
  434. package/es/platform/zlist/applications/usecases/SortUseCase.js +6 -6
  435. package/es/platform/zlist/domain/entities/List.js +32 -16
  436. package/es/platform/zlist/domain/entities/interfaces/Properties.js +5 -5
  437. package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -4
  438. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +15 -13
  439. package/es/platform/zrecord/adapters/controllers/FilterRecordLocalController.js +28 -0
  440. package/es/platform/zrecord/adapters/controllers/UpdateRecordController.js +30 -0
  441. package/es/platform/zrecord/adapters/gateways/Repository.js +5 -2
  442. package/es/platform/zrecord/adapters/gateways/Service.js +4 -0
  443. package/es/platform/zrecord/applications/entities-factory/RecordsManagerFactory.js +2 -2
  444. package/es/platform/zrecord/applications/interfaces/input/ClearAllFiltersUseCaseInputModel.js +1 -0
  445. package/es/platform/zrecord/applications/interfaces/input/FilterRecordInputModel.js +1 -0
  446. package/es/platform/zrecord/applications/interfaces/input/GetFilterConditionUseCaseInputModel.js +1 -0
  447. package/es/platform/zrecord/applications/interfaces/input/GetFilterConfigUseCaseInputModel.js +1 -0
  448. package/es/platform/zrecord/applications/interfaces/input/RefreshRecordsUseCaseInputModel.js +1 -0
  449. package/es/platform/zrecord/applications/interfaces/input/SetFilterUseCaseInputModel.js +1 -0
  450. package/es/platform/zrecord/applications/interfaces/input/UpdateRecordInputModel.js +0 -0
  451. package/es/platform/zrecord/applications/usecases/ClearAllFiltersUseCase.js +24 -0
  452. package/es/platform/zrecord/applications/usecases/FilterRecordUseCase.js +21 -0
  453. package/es/platform/zrecord/applications/usecases/GetFilterConditionUseCase.js +15 -0
  454. package/es/platform/zrecord/applications/usecases/GetFilterConfigUseCase.js +15 -0
  455. package/es/platform/zrecord/applications/usecases/RefreshRecordsUseCase.js +14 -0
  456. package/es/platform/zrecord/applications/usecases/SetFilterUseCase.js +29 -0
  457. package/es/platform/zrecord/applications/usecases/UpdateRecordUseCase.js +30 -0
  458. package/es/platform/zrecord/domain/entities/Filter.js +247 -0
  459. package/es/platform/zrecord/domain/entities/RecordsManager.js +43 -1
  460. package/es/platform/zrecord/domain/entities/interfaces/IFilter.js +1 -0
  461. package/es/platform/zrecord/frameworks/ActionsHandlersFactory.js +7 -1
  462. package/es/platform/zrecord/frameworks/RecordBehaviourFactory.js +11 -1
  463. package/package.json +26 -28
  464. package/es/bc/sort-by/SortOrderEnum.js +0 -8
  465. package/es/library/behaviours/sort-by/frameworks/ui/DemoBehaviour.js +0 -20
  466. package/es/library/dot/components/table-list/adapters/controllers/SortByController.js +0 -25
  467. package/es/library/dot/components/table-list/adapters/controllers/SortedController.js +0 -18
  468. package/es/library/dot/components/table-list/frameworks/ui/handlers/HandleSortClick.js +0 -12
  469. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +0 -28
  470. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +0 -31
  471. package/es/platform/zlist/adapters/gateways/SortBy.js +0 -38
  472. package/es/platform/zlist/domain/entities/SortBy.js +0 -58
  473. /package/es/{library/behaviours/sort-by/applications/interfaces/output/SortByOutputModel.js → bc/float-pagination/types/FloatPaginationBehaviourState.js} +0 -0
  474. /package/es/{platform/zlist/applications/interfaces/gateways/ISortBy.js → bc/list-selection/Types.js} +0 -0
  475. /package/es/{platform/zlist/domain/entities/interfaces/ISortBy.js → bc/search-box/types/SearchBehaviourState.js} +0 -0
@@ -0,0 +1,23 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class ScrollBottomController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ scrollBottomUseCase
7
+ } = this.service;
8
+ let {
9
+ state,
10
+ updateState,
11
+ dispatch,
12
+ host
13
+ } = event;
14
+ scrollBottomUseCase.updateDependencies(state, updateState);
15
+ scrollBottomUseCase.execute({
16
+ dispatch,
17
+ host
18
+ });
19
+ }
20
+
21
+ }
22
+
23
+ export default ScrollBottomController;
@@ -0,0 +1,23 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class ScrollTopController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ scrollTopUseCase
7
+ } = this.service;
8
+ let {
9
+ state,
10
+ updateState,
11
+ dispatch,
12
+ host
13
+ } = event;
14
+ scrollTopUseCase.updateDependencies(state, updateState);
15
+ scrollTopUseCase.execute({
16
+ dispatch,
17
+ host
18
+ });
19
+ }
20
+
21
+ }
22
+
23
+ export default ScrollTopController;
@@ -0,0 +1,30 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class UpdateIndexController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ updateIndexUseCase
7
+ } = this.service;
8
+ let {
9
+ state,
10
+ updateState,
11
+ action,
12
+ dispatch,
13
+ host
14
+ } = event;
15
+ const {
16
+ currentIndex
17
+ } = action.payload;
18
+ let selector = 'tr';
19
+ updateIndexUseCase.updateDependencies(state, updateState);
20
+ updateIndexUseCase.execute({
21
+ dispatch,
22
+ host,
23
+ selector,
24
+ currentIndex
25
+ });
26
+ }
27
+
28
+ }
29
+
30
+ export default UpdateIndexController;
@@ -0,0 +1,27 @@
1
+ import FloatPagination from "../../domain/entities/FloatPagination";
2
+ export default class Repository {
3
+ init(state) {
4
+ this.state = state;
5
+ }
6
+
7
+ getFloatPaginationEntity() {
8
+ const {
9
+ behaviours,
10
+ properties
11
+ } = this.state;
12
+ const {
13
+ floatPaginationConfig
14
+ } = properties;
15
+ const isFloatPaginationConfig = floatPaginationConfig?.isEnabled;
16
+
17
+ if (!isFloatPaginationConfig) {
18
+ return null;
19
+ }
20
+
21
+ const {
22
+ floatPagination
23
+ } = behaviours;
24
+ return new FloatPagination(floatPagination.currentRecord, floatPagination.isVisible);
25
+ }
26
+
27
+ }
@@ -0,0 +1,20 @@
1
+ import FloatPagination from "../../applications/usecases/FloatPaginationUseCase";
2
+ import InitializeUsecase from "../../applications/usecases/InitializeUsecase";
3
+ import DestructUsecase from "../../applications/usecases/DestructUsecase";
4
+ import ScrollTopUseCase from "../../applications/usecases/ScrollTopUseCase";
5
+ import ScrollBottomUseCase from "../../applications/usecases/ScrollBottomUseCase";
6
+ import UpdateIndexUseCase from "../../applications/usecases/UpdateIndexUseCase";
7
+
8
+ class Service {
9
+ constructor(dependencies) {
10
+ this.InitializeUsecase = new InitializeUsecase(dependencies);
11
+ this.DestructUsecase = new DestructUsecase(dependencies);
12
+ this.floatPaginationUseCase = new FloatPagination(dependencies);
13
+ this.scrollTopUseCase = new ScrollTopUseCase(dependencies);
14
+ this.scrollBottomUseCase = new ScrollBottomUseCase(dependencies);
15
+ this.updateIndexUseCase = new UpdateIndexUseCase(dependencies);
16
+ }
17
+
18
+ }
19
+
20
+ export default Service;
@@ -0,0 +1,16 @@
1
+ export default class Presenter {
2
+ updateDependencies(state, updateState) {
3
+ this.state = state;
4
+ this.updateState = updateState;
5
+ }
6
+
7
+ updateFloatPagination(floatPagination) {
8
+ this.state = { ...this.state,
9
+ behaviours: { ...this.state.behaviours,
10
+ floatPagination: floatPagination
11
+ }
12
+ };
13
+ this.updateState(this.state);
14
+ }
15
+
16
+ }
@@ -0,0 +1,17 @@
1
+ class AbstractUseCase {
2
+ constructor(dependencies) {
3
+ this.dependencies = dependencies;
4
+ }
5
+
6
+ updateDependencies(state, updateState) {
7
+ const {
8
+ repository,
9
+ presenter
10
+ } = this.dependencies;
11
+ repository.init(state);
12
+ presenter.updateDependencies(state, updateState);
13
+ }
14
+
15
+ }
16
+
17
+ export default AbstractUseCase;
@@ -0,0 +1,15 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class DestructUsecase extends AbstractUseCase {
4
+ execute() {
5
+ const {
6
+ repository,
7
+ presenter
8
+ } = this.dependencies;
9
+ const floatPagination = repository.getFloatPaginationEntity();
10
+ floatPagination && presenter.updateFloatPagination(floatPagination.toObject());
11
+ }
12
+
13
+ }
14
+
15
+ export default DestructUsecase;
@@ -0,0 +1,31 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { FLOAT_PAGINATION_BEHAVIOUR_INDEX_UPDATED } from "../../../../../bc/float-pagination/Constants";
3
+
4
+ class FloatPaginationUseCase extends AbstractUseCase {
5
+ execute(input) {
6
+ const {
7
+ visiblityCheck,
8
+ repository
9
+ } = this.dependencies;
10
+ const {
11
+ host,
12
+ selector,
13
+ dispatch
14
+ } = input;
15
+ const floatPagination = repository.getFloatPaginationEntity();
16
+
17
+ if (floatPagination) {
18
+ visiblityCheck.init(host, selector, currentIndex => {
19
+ dispatch({
20
+ type: FLOAT_PAGINATION_BEHAVIOUR_INDEX_UPDATED,
21
+ payload: {
22
+ currentIndex
23
+ }
24
+ });
25
+ });
26
+ }
27
+ }
28
+
29
+ }
30
+
31
+ export default FloatPaginationUseCase;
@@ -0,0 +1,16 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class InitializeUsecase extends AbstractUseCase {
4
+ execute() {
5
+ const {
6
+ repository,
7
+ presenter,
8
+ visiblityCheck
9
+ } = this.dependencies;
10
+ const floatPagination = repository.getFloatPaginationEntity();
11
+ presenter.updateFloatPagination(floatPagination.toObject());
12
+ }
13
+
14
+ }
15
+
16
+ export default InitializeUsecase;
@@ -0,0 +1,23 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class ScrollBottomUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ host
7
+ } = input;
8
+
9
+ if (host) {
10
+ const el = host.children[1];
11
+
12
+ if (typeof el.scrollTo === "function") {
13
+ el.scrollTo({
14
+ top: el.scrollHeight,
15
+ behavior: "smooth"
16
+ });
17
+ }
18
+ }
19
+ }
20
+
21
+ }
22
+
23
+ export default ScrollBottomUseCase;
@@ -0,0 +1,23 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class ScrollTopUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ host
7
+ } = input;
8
+
9
+ if (host) {
10
+ const el = host.children[1];
11
+
12
+ if (typeof el.scrollTo === "function") {
13
+ el.scrollTo({
14
+ top: 0,
15
+ behavior: "smooth"
16
+ });
17
+ }
18
+ }
19
+ }
20
+
21
+ }
22
+
23
+ export default ScrollTopUseCase;
@@ -0,0 +1,28 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class UpdateIndexUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ repository,
7
+ presenter,
8
+ visiblityCheck
9
+ } = this.dependencies;
10
+ const {
11
+ host,
12
+ currentIndex
13
+ } = input; // Update the entity with the current record
14
+
15
+ const floatPagination = repository.getFloatPaginationEntity();
16
+
17
+ if (floatPagination && currentIndex !== floatPagination.getCurrentRecordIndex()) {
18
+ const recordIndex = visiblityCheck.getRowStartingIndex(host);
19
+ const isVisible = recordIndex > 0 ? true : false;
20
+ floatPagination.setCurrentRecordIndex(currentIndex);
21
+ floatPagination.setIsVisible(isVisible);
22
+ presenter.updateFloatPagination(floatPagination.toObject());
23
+ }
24
+ }
25
+
26
+ }
27
+
28
+ export default UpdateIndexUseCase;
@@ -0,0 +1,28 @@
1
+ class FloatPagination {
2
+ constructor(currentRecordIndex, isVisible) {
3
+ this.currentRecordIndex = currentRecordIndex;
4
+ this.isVisible = isVisible;
5
+ }
6
+
7
+ getCurrentRecordIndex() {
8
+ return this.currentRecordIndex;
9
+ }
10
+
11
+ setCurrentRecordIndex(currentRecordIndex) {
12
+ this.currentRecordIndex = currentRecordIndex;
13
+ }
14
+
15
+ setIsVisible(isVisible) {
16
+ this.isVisible = isVisible;
17
+ }
18
+
19
+ toObject() {
20
+ return {
21
+ currentRecord: this.currentRecordIndex,
22
+ isVisible: this.isVisible
23
+ };
24
+ }
25
+
26
+ }
27
+
28
+ export default FloatPagination;
@@ -0,0 +1,37 @@
1
+ import FloatPaginationController from "../../adapters/controllers/FloatPaginationController";
2
+ import Repository from "../../adapters/gateway/Repository";
3
+ import Service from "../../adapters/gateway/Service";
4
+ import Presenter from "../../adapters/presenter/Presenter";
5
+ import LifeCycleAction from "../../../../../cc/architecture/LifeCycleActionEnum";
6
+ import InitializeController from "../../adapters/controllers/InitializeController";
7
+ import DestructController from "../../adapters/controllers/DestructController";
8
+ import { FLOAT_PAGINATION_BEHAVIOUR_BOTTOM_UPDATED, FLOAT_PAGINATION_BEHAVIOUR_INDEX_UPDATED, FLOAT_PAGINATION_BEHAVIOUR_TOP_UPDATED, FLOAT_PAGINATION_BEHAVIOUR_UPDATE_REQUESTED } from "../../../../../bc/float-pagination/Constants";
9
+ import ElementVisibilityChecker from "../utils";
10
+ import ScrollTopController from "../../adapters/controllers/ScrollTopController";
11
+ import ScrollBottomController from "../../adapters/controllers/ScrollBottomController";
12
+ import UpdateIndexController from "../../adapters/controllers/UpdateIndexController"; // TODO: Rename as EventHandlersFactory
13
+
14
+ class ActionsHandlersFactory {
15
+ static create() {
16
+ const presenter = new Presenter();
17
+ const repository = new Repository();
18
+ const visiblityCheck = new ElementVisibilityChecker();
19
+ const service = new Service({
20
+ presenter,
21
+ repository,
22
+ visiblityCheck
23
+ });
24
+ const controller = new FloatPaginationController(service);
25
+ return {
26
+ [LifeCycleAction.MOUNT]: new InitializeController(service).handle,
27
+ [LifeCycleAction.UN_MOUNT]: new DestructController(service).handle,
28
+ [FLOAT_PAGINATION_BEHAVIOUR_UPDATE_REQUESTED]: controller.handle,
29
+ [FLOAT_PAGINATION_BEHAVIOUR_TOP_UPDATED]: new ScrollTopController(service).handle,
30
+ [FLOAT_PAGINATION_BEHAVIOUR_BOTTOM_UPDATED]: new ScrollBottomController(service).handle,
31
+ [FLOAT_PAGINATION_BEHAVIOUR_INDEX_UPDATED]: new UpdateIndexController(service).handle
32
+ };
33
+ }
34
+
35
+ }
36
+
37
+ export default ActionsHandlersFactory;
@@ -0,0 +1,21 @@
1
+ import properties from "../../../../../bc/float-pagination/Properties";
2
+ import ActionsHandlerFactory from "./ActionsHandlerFactory";
3
+
4
+ class FloatPaginationBehaviourFactory {
5
+ static create() {
6
+ return {
7
+ name: 'floatPagination',
8
+ setInitialState: () => {
9
+ return {
10
+ currentRecord: 0,
11
+ isVisible: false
12
+ };
13
+ },
14
+ properties,
15
+ eventHandlers: ActionsHandlerFactory.create()
16
+ };
17
+ }
18
+
19
+ }
20
+
21
+ export default FloatPaginationBehaviourFactory;
@@ -0,0 +1,70 @@
1
+ export default class ElementVisibilityChecker {
2
+ elements = [];
3
+ observer = null;
4
+
5
+ constructor() {}
6
+
7
+ init(containerEle, selector, callback) {
8
+ this.container = containerEle;
9
+ this.elements = Array.from(containerEle.querySelectorAll(selector));
10
+ this.onVisibleChange = callback;
11
+ this.initObserver();
12
+ }
13
+
14
+ getRowStartingIndex(host) {
15
+ const tbody = host.querySelector('table tbody');
16
+ const firstRow = tbody?.querySelector('tr:first-child');
17
+
18
+ if (firstRow) {
19
+ const rowHeight = firstRow.getBoundingClientRect().height;
20
+ const scrollTop = tbody.parentElement.scrollTop;
21
+ const startIndex = Math.floor(scrollTop / rowHeight);
22
+ return startIndex;
23
+ }
24
+
25
+ return 0;
26
+ }
27
+ /** Simple geometry-based visibility check */
28
+
29
+
30
+ isVisible(element, container) {
31
+ const rect = element.getBoundingClientRect();
32
+ const containerRect = container.getBoundingClientRect();
33
+ return rect.bottom < containerRect.bottom;
34
+ }
35
+ /** Start observing visibility */
36
+
37
+
38
+ initObserver() {
39
+ if (!this.elements.length) return;
40
+ this.observer = new IntersectionObserver(() => {
41
+ const newIndex = this.getCurrentVisibleIndex(); // Fire callback whenever visibility changes
42
+
43
+ if (this.onVisibleChange) {
44
+ this.onVisibleChange(newIndex);
45
+ }
46
+ }, {
47
+ threshold: [0.5]
48
+ });
49
+ this.elements.forEach(el => this.observer.observe(el));
50
+ }
51
+ /** Get the last visible element index */
52
+
53
+
54
+ getCurrentVisibleIndex() {
55
+ let lastVisibleIndex = -1;
56
+
57
+ for (let i = this.elements.length - 1; i >= 0; i--) {
58
+ if (this.isVisible(this.elements[i], this.container)) {
59
+ return i;
60
+ }
61
+ }
62
+
63
+ return lastVisibleIndex;
64
+ }
65
+
66
+ disconnect() {
67
+ this.observer?.disconnect();
68
+ }
69
+
70
+ }
@@ -13,6 +13,7 @@ class Repository {
13
13
  const {
14
14
  keyboardControlsConfig
15
15
  } = properties;
16
+ const selectionConfig = properties.selectionConfig;
16
17
  let isKeyboardControlEnabled = keyboardControlsConfig?.isEnabled;
17
18
 
18
19
  if (!isKeyboardControlEnabled) {
@@ -31,7 +32,7 @@ class Repository {
31
32
  /* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
32
33
 
33
34
  const totalRows = zrecord?.records?.length || 0;
34
- return new KeyboardControls(focussedIndex, totalRows);
35
+ return new KeyboardControls(focussedIndex, totalRows, selectionConfig.isEnabled);
35
36
  }
36
37
 
37
38
  }
@@ -11,7 +11,7 @@ class SpacePress extends AbstractUseCase {
11
11
  event
12
12
  } = inputModel;
13
13
  const data = keyboardControls.getSelectionEvent(event);
14
- dispatch(data);
14
+ data && dispatch(data);
15
15
  }
16
16
 
17
17
  }
@@ -1,9 +1,10 @@
1
1
  import { SMART_TABLE_ACTION_TRIGGERED, SMART_TABLE_SELECTION_TOGGLED } from "../../../../../cc/table-connected/constants/Events";
2
2
 
3
3
  class KeyboardControls {
4
- constructor(focussedIndex, totalLists) {
4
+ constructor(focussedIndex, totalLists, isSelectionEnabled) {
5
5
  this.focussedIndex = focussedIndex;
6
6
  this.totalLists = totalLists;
7
+ this.isSelectionEnabled = isSelectionEnabled;
7
8
  }
8
9
 
9
10
  setFocussedIndex(index) {
@@ -59,6 +60,10 @@ class KeyboardControls {
59
60
 
60
61
 
61
62
  getSelectionEvent(event) {
63
+ if (!this.isSelectionEnabled) {
64
+ return null;
65
+ }
66
+
62
67
  return {
63
68
  type: SMART_TABLE_SELECTION_TOGGLED,
64
69
  payload: {
@@ -2,6 +2,8 @@ import Event from "../../../../custom-component/domain/entities/Event";
2
2
  import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../../../bc/list-selection/Constants";
3
3
 
4
4
  class ListItemSelection {
5
+ previousSelected = [];
6
+
5
7
  constructor(selected, itemIds, maxSelectionCount) {
6
8
  let selectionStatus = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'na';
7
9
  this.selected = selected;
@@ -30,12 +32,19 @@ class ListItemSelection {
30
32
  }
31
33
 
32
34
  selectAllItems() {
33
- this.itemIds.forEach(id => !this.hasAllSelected() && this.selectItem(id));
35
+ for (const id of this.itemIds) {
36
+ if (this.hasAllSelected()) {
37
+ break;
38
+ }
39
+
40
+ this.selectItem(id);
41
+ }
34
42
  }
35
43
 
36
44
  deselectAllItems() {
45
+ this.previousSelected = [...this.selected];
37
46
  this.selected = [];
38
- this.selectionStatus = 'na';
47
+ this.selectionStatus = 'deselected';
39
48
  }
40
49
 
41
50
  toggleItems(ids) {
@@ -56,15 +65,7 @@ class ListItemSelection {
56
65
 
57
66
  toggleAll() {
58
67
  if (!this.hasAllSelected()) {
59
- for (let id of this.itemIds) {
60
- if (this.hasAllSelected()) {
61
- break;
62
- }
63
-
64
- if (!this.isSelected(id)) {
65
- this.selectItem(id);
66
- }
67
- }
68
+ this.selectAllItems();
68
69
  } else {
69
70
  this.deselectAllItems();
70
71
  }
@@ -95,23 +96,29 @@ class ListItemSelection {
95
96
 
96
97
  if (this.selectionStatus === 'deselected') {
97
98
  events.push(new Event(LIST_SELECTION_RECORDS_DESELECTED, {
98
- recordIds: ids
99
+ recordIds: ids ? ids : this.previousSelected
99
100
  }));
100
101
  }
101
102
 
102
103
  if (this.selectionStatus === 'na' && this.hasAllSelected()) {
103
- events.push(new Event(LIST_SELECTION_SELECTION_LIMIT_EXCEEDED));
104
+ events.push(new Event(LIST_SELECTION_SELECTION_LIMIT_EXCEEDED, {
105
+ maxSelectionAllowed: this.maxSelectionCount
106
+ }));
104
107
  }
105
108
 
106
109
  return events.map(event => event.toObject());
107
110
  }
108
111
 
109
112
  selectItem(id) {
110
- this.selected.push(id);
113
+ if (!this.isSelected(id)) {
114
+ this.selected.push(id);
115
+ }
116
+
111
117
  this.selectionStatus = 'selected';
112
118
  }
113
119
 
114
120
  deselectItem(id) {
121
+ this.previousSelected.push(id);
115
122
  this.selected = this.selected.filter(selectedId => selectedId !== id);
116
123
  this.selectionStatus = 'deselected';
117
124
  }
@@ -126,10 +133,6 @@ class ListItemSelection {
126
133
  return hasMaxSelected || allItemsSelected;
127
134
  }
128
135
 
129
- getStrategy(id) {
130
- return (this.isSelected(id) ? this.deselectItem : this.selectItem).bind(this);
131
- }
132
-
133
136
  toggleRange(startIndex, endIndex) {
134
137
  const isForward = startIndex < endIndex;
135
138
  const [start, end] = isForward ? [startIndex, endIndex] : [endIndex, startIndex];
@@ -0,0 +1,9 @@
1
+ class AbstractController {
2
+ constructor(service) {
3
+ this.service = service;
4
+ this.handle = this.handle.bind(this);
5
+ }
6
+
7
+ }
8
+
9
+ export default AbstractController;