@zohodesk/library-platform 1.1.9 → 1.1.10-exp.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/es/bc/app-context/Constants.js +0 -0
  2. package/es/bc/app-context/Event.js +1 -0
  3. package/es/bc/app-context/EventHandlers.js +0 -0
  4. package/es/bc/app-context/Properties.js +68 -0
  5. package/es/bc/sdk/ResourceNamesEnum.js +1 -0
  6. package/es/bc/zdata-source/Constants.js +6 -11
  7. package/es/bc/zform/Constants.js +11 -1
  8. package/es/bc/zform/Properties.js +29 -27
  9. package/es/bc/zform/Symbol.js +2 -3
  10. package/es/bc/zlist/Properties.js +0 -45
  11. package/es/bc/zrecord/Constants.js +11 -19
  12. package/es/cc/action-icon/Constants.js +3 -5
  13. package/es/cc/action-location/Constants.js +5 -9
  14. package/es/cc/avatar/Constants.js +3 -5
  15. package/es/cc/breadcrumb/Constants.js +3 -5
  16. package/es/cc/button/Constants.js +3 -5
  17. package/es/cc/checkbox/Constants.js +5 -9
  18. package/es/cc/component/ErrorStructure.js +9 -0
  19. package/es/cc/date/Constants.js +5 -9
  20. package/es/cc/email/Constants.js +3 -5
  21. package/es/cc/error-state/ErrorTypes.js +11 -0
  22. package/es/cc/error-state/Properties.js +31 -0
  23. package/es/cc/error-state/index.js +2 -0
  24. package/es/cc/fields/currency/Model.js +2 -0
  25. package/es/cc/fields/currency/Properties.js +2 -1
  26. package/es/cc/fields/field/Constants.js +9 -13
  27. package/es/cc/fields/field/FormDefaultUIType.js +1 -1
  28. package/es/cc/fields/field/Properties.js +14 -8
  29. package/es/cc/fields/lookup/Properties.js +34 -1
  30. package/es/cc/form/Constants.js +6 -11
  31. package/es/cc/form/Properties.js +8 -0
  32. package/es/cc/form-connected/ExternalConstants.js +14 -0
  33. package/es/cc/form-connected/Properties.js +21 -13
  34. package/es/cc/form-connected/index.js +1 -1
  35. package/es/cc/highlighted-value/Constants.js +3 -5
  36. package/es/cc/icon-button/Constants.js +3 -5
  37. package/es/cc/link/Constants.js +3 -5
  38. package/es/cc/list-item/Constants.js +3 -5
  39. package/es/cc/more-dropdown/Constants.js +3 -5
  40. package/es/cc/multi-select/Constants.js +5 -9
  41. package/es/cc/section/Constants.js +5 -9
  42. package/es/cc/select/Constants.js +6 -11
  43. package/es/cc/switch/Constants.js +3 -5
  44. package/es/cc/switch/Properties.js +2 -2
  45. package/es/cc/table-column-filter/Constants.js +5 -9
  46. package/es/cc/table-connected/Events.js +1 -1
  47. package/es/cc/table-connected/Properties.js +6 -0
  48. package/es/cc/table-connected/SdkContract.js +14 -0
  49. package/es/cc/table-connected/constants/Events.js +3 -9
  50. package/es/cc/table-connected/constants/ExternalConstants.js +9 -0
  51. package/es/cc/table-connected/constants/index.js +2 -1
  52. package/es/cc/table-list/Constants.js +14 -27
  53. package/es/cc/table-list/model/index.js +5 -9
  54. package/es/cc/table-list/row/Constants.js +5 -9
  55. package/es/cc/table-list/row/Properties.js +8 -0
  56. package/es/cc/tags/Constants.js +3 -5
  57. package/es/cc/tags/model/index.js +4 -7
  58. package/es/cc/text/Constants.js +3 -5
  59. package/es/cc/textarea/Constants.js +5 -9
  60. package/es/cc/textarea/Properties.js +11 -0
  61. package/es/cc/textbox/Constants.js +6 -11
  62. package/es/index.js +26 -5
  63. package/es/library/analytics/Analytics.js +36 -0
  64. package/es/library/analytics/AnalyticsContract.js +13 -0
  65. package/es/library/analytics/index.js +2 -0
  66. package/es/library/behaviours/field-focus/frameworks/ui/EventHandlersFactory.js +1 -3
  67. package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +0 -4
  68. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -10
  69. package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +0 -14
  70. package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +2 -11
  71. package/es/library/behaviours/list-selection/adapters/gateways/Repository.js +2 -8
  72. package/es/library/behaviours/list-selection/adapters/gateways/Service.js +0 -16
  73. package/es/library/behaviours/list-selection/adapters/presenters/Presenter.js +0 -8
  74. package/es/library/behaviours/local-storage/adapters/gateways/LocalStorageRepository.js +0 -6
  75. package/es/library/behaviours/local-storage/adapters/gateways/Service.js +0 -4
  76. package/es/library/behaviours/local-storage/adapters/presenters/Presenter.js +0 -8
  77. package/es/library/behaviours/local-storage/domain/entities/Storage.js +0 -4
  78. package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +0 -6
  79. package/es/library/behaviours/sort-by/adapters/gateway/Service.js +0 -4
  80. package/es/library/behaviours/sort-by/adapters/presenter/Presenter.js +0 -8
  81. package/es/library/behaviours/table-column-resizer/adapters/gateways/Repository.js +0 -6
  82. package/es/library/behaviours/table-column-resizer/adapters/gateways/Service.js +0 -10
  83. package/es/library/behaviours/table-column-resizer/adapters/gateways/TableElementService.js +0 -8
  84. package/es/library/behaviours/table-column-resizer/adapters/presenters/AutoScroll.js +0 -12
  85. package/es/library/behaviours/table-column-resizer/adapters/presenters/Presenter.js +0 -8
  86. package/es/library/behaviours/table-column-resizer/domain/entities/ColumnResizer.js +0 -12
  87. package/es/library/behaviours/table-column-resizer/domain/entities/Mouse.js +0 -6
  88. package/es/library/behaviours/table-column-resizer/domain/entities/ResizeColumnCalculator.js +0 -12
  89. package/es/library/behaviours/table-column-resizer/domain/entities/ResizerAutoScrollCalculator.js +0 -6
  90. package/es/library/behaviours/table-column-resizer/domain/entities/ResizingColumn.js +0 -13
  91. package/es/library/behaviours/table-column-resizer/domain/entities/Table.js +0 -11
  92. package/es/library/behaviours/text-to-field-click/adapters/gateway/Repository.js +0 -6
  93. package/es/library/custom-component/adapters/controllers/Controller.js +9 -0
  94. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +6 -7
  95. package/es/library/custom-component/adapters/gateways/repository/Repository.js +1 -5
  96. package/es/library/custom-component/adapters/gateways/service/Service.js +2 -14
  97. package/es/library/custom-component/adapters/presenters/Presenter.js +0 -5
  98. package/es/library/custom-component/applications/entities-factory/ComponentFactory.js +12 -9
  99. package/es/library/custom-component/applications/usecases/DispatchUseCase.js +28 -5
  100. package/es/library/custom-component/applications/usecases/InitializeUseCase.js +5 -4
  101. package/es/library/custom-component/applications/usecases/MountUseCase.js +10 -6
  102. package/es/library/custom-component/applications/usecases/SetRefUseCase.js +31 -0
  103. package/es/library/custom-component/applications/usecases/UnmountUseCase.js +6 -5
  104. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +23 -18
  105. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +4 -3
  106. package/es/library/custom-component/domain/entities/Behaviour.js +4 -11
  107. package/es/library/custom-component/domain/entities/Component.js +81 -99
  108. package/es/library/custom-component/domain/entities/ComponentProperties.js +120 -0
  109. package/es/library/custom-component/domain/entities/Event.js +0 -7
  110. package/es/library/custom-component/domain/entities/EventHandler.js +0 -6
  111. package/es/library/custom-component/domain/entities/LifeCycleAction.js +0 -10
  112. package/es/library/custom-component/domain/entities/Logger.js +93 -0
  113. package/es/library/custom-component/domain/entities/Payload.js +0 -6
  114. package/es/library/custom-component/domain/entities/Properties.js +10 -142
  115. package/es/library/custom-component/domain/entities/Property.js +29 -13
  116. package/es/library/custom-component/domain/entities/Schema.js +1 -5
  117. package/es/library/custom-component/domain/entities/State.js +0 -4
  118. package/es/library/custom-component/domain/entities/Style.js +0 -14
  119. package/es/library/custom-component/domain/entities/interfaces/IComponentProperties.js +0 -0
  120. package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +129 -31
  121. package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +3 -7
  122. package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +30 -34
  123. package/es/library/custom-component/frameworks/ui/CreateSlotComponent.js +4 -2
  124. package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +1 -1
  125. package/es/library/custom-component/frameworks/ui/DependencyFactory.js +1 -2
  126. package/es/library/dot/components/action-location/adapters/gateway/Repository.js +0 -8
  127. package/es/library/dot/components/action-location/adapters/presenters/Presenter.js +0 -8
  128. package/es/library/dot/components/action-location/entities/ActionLocationEntity.js +2 -6
  129. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +2 -1
  130. package/es/library/dot/components/actions-renderer/frameworks/ui/ActionsRendererView.js +6 -4
  131. package/es/library/dot/components/form/adapters/presenter/TransformState.js +3 -1
  132. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +12 -3
  133. package/es/library/dot/components/form/frameworks/ui/Form.js +2 -0
  134. package/es/library/dot/components/form/frameworks/ui/FormFallbackView.js +23 -0
  135. package/es/library/dot/components/form/frameworks/ui/FormView.js +9 -3
  136. package/es/library/dot/components/form/frameworks/ui/__test__/Form.test.js +14 -20
  137. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +13 -16
  138. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +7 -4
  139. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +7 -4
  140. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsWithRightPanelLayout.js +1 -2
  141. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +1 -3
  142. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  143. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +15 -3
  144. package/es/library/dot/components/form-fields/currency/frameworks/ui/EventHandlerFactory.js +8 -0
  145. package/es/library/dot/components/form-fields/field/__test__/common.js +18 -16
  146. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +2 -2
  147. package/es/library/dot/components/form-fields/index.js +2 -1
  148. package/es/library/dot/components/form-fields/lookup/frameworks/ui/EventHandlerFactory.js +70 -0
  149. package/es/library/dot/components/form-fields/lookup/frameworks/ui/Lookup.js +13 -0
  150. package/es/library/dot/components/form-fields/lookup/frameworks/ui/LookupView.js +51 -0
  151. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +4 -2
  152. package/es/library/dot/components/section/frameworks/ui/RenderField.js +5 -4
  153. package/es/library/dot/components/section/frameworks/ui/SectionView.js +12 -3
  154. package/es/library/dot/components/section/frameworks/ui/css/Section.module.css +3 -0
  155. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +2 -2
  156. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +1 -1
  157. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +1 -1
  158. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +14 -7
  159. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +16 -15
  160. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +4 -7
  161. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -6
  162. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +11 -9
  163. package/es/library/dot/components/table-list/frameworks/ui/sub-components/field/FieldComponent.js +1 -2
  164. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -5
  165. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/Headers.js +4 -2
  166. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +6 -4
  167. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Columns.js +4 -2
  168. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +14 -7
  169. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowActions.js +5 -4
  170. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +6 -4
  171. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +32 -7
  172. package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/css/Breadcrumb.module.css +4 -4
  173. package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/sub-components/BreadcrumbItem.js +1 -1
  174. package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/ButtonView.js +3 -3
  175. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +10 -5
  176. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +3 -0
  177. package/es/library/dot/legacy-to-new-arch/error-state/frameworks/ui/ErrorState.js +10 -0
  178. package/es/library/dot/legacy-to-new-arch/error-state/frameworks/ui/ErrorStateView.js +68 -0
  179. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +6 -8
  180. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +5 -7
  181. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +14 -4
  182. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +37 -0
  183. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +2 -2
  184. package/es/library/dot/legacy-to-new-arch/switch/frameworks/ui/SwitchView.js +5 -5
  185. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +5 -3
  186. package/es/library/dot/legacy-to-new-arch/table-field-components/currency-field/frameworks/ui/CurrencyFieldView.js +10 -2
  187. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +1 -0
  188. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +0 -1
  189. package/es/library/dot/legacy-to-new-arch/text/frameworks/ui/TextView.js +1 -1
  190. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +22 -4
  191. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +40 -0
  192. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +2 -2
  193. package/es/library/slot/frameworks/ui/ConvertSlotToComponent.js +5 -4
  194. package/es/library/translator-common/adapters/presenter/formatCurrency.js +42 -0
  195. package/es/library/translator-common/index.js +2 -1
  196. package/es/platform/app-context-behaviour/frameworks/AppContextBehaviourFactory.js +31 -0
  197. package/es/platform/client-actions/behaviour/zclient-actions/adapters/controllers/MountController.js +15 -18
  198. package/es/platform/client-actions/behaviour/zclient-actions/adapters/gateways/Repository.js +0 -6
  199. package/es/platform/client-actions/behaviour/zclient-actions/adapters/gateways/Service.js +0 -16
  200. package/es/platform/client-actions/behaviour/zclient-actions/adapters/presenters/Presenter.js +0 -8
  201. package/es/platform/client-actions/behaviour/zclient-actions/adapters/resources/ClientActionResource.js +2 -4
  202. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionLocationUseCase.js +1 -1
  203. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionUIComponentPropertiesUseCase.js +1 -1
  204. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionsUseCase.js +1 -1
  205. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/SetClientActionsUseCase.js +6 -1
  206. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/UpdateClientActionUIComponentPropertiesUseCase.js +1 -1
  207. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientAction.js +0 -26
  208. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActionManager.js +58 -19
  209. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActions.js +8 -17
  210. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/EventMapping.js +0 -12
  211. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/EventMappings.js +0 -4
  212. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/UIComponentMapping.js +0 -14
  213. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/interfaces/ClientActionResponse.js +1 -0
  214. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/interfaces/IClientActionFetchResponse.js +0 -0
  215. package/es/platform/client-actions/behaviour/zclient-actions/frameworks/sdk/ClientActionsSDKFactory.js +2 -2
  216. package/es/platform/client-actions/cc/action-event-mediator/Properties.js +75 -3
  217. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/MountController.js +1 -1
  218. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/PropertiesChangeController.js +2 -2
  219. package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js +2 -10
  220. package/es/platform/client-actions/components/action-event-mediator/adapters/presenters/Presenter.js +0 -8
  221. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/InitializeUseCase.js +15 -1
  222. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +3 -3
  223. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +43 -34
  224. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator.js +3 -1
  225. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +31 -14
  226. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ClientActionsAdapter.js +2 -48
  227. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +3 -11
  228. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +1 -0
  229. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRenderer.js +12 -0
  230. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRendererView.js +42 -0
  231. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRenderer.js +10 -0
  232. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRendererView.js +79 -0
  233. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/{RowActionsRenderer.js → RowActions/RowActionsRenderer.js} +3 -3
  234. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +19 -0
  235. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRendererView.js +37 -0
  236. package/es/platform/client-actions/translators/client-actions-translator/index.js +14 -2
  237. package/es/platform/client-actions/translators/condition-resolver/index.js +6 -1
  238. package/es/platform/client-scripts/bc/zclient-scripts-execution/Constants.js +11 -0
  239. package/es/platform/client-scripts/bc/zclient-scripts-execution/EventHandlers.js +1 -0
  240. package/es/platform/client-scripts/bc/zclient-scripts-fetch/Constants.js +11 -0
  241. package/es/platform/client-scripts/bc/zclient-scripts-fetch/EventHandlers.js +1 -0
  242. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/AbstractController.js +8 -0
  243. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/ClientScriptExecutionController.js +10 -0
  244. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/SetClientScriptsMappingController.js +10 -0
  245. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Repository.js +24 -0
  246. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Service.js +9 -0
  247. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/presenters/Presenter.js +21 -0
  248. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/InputDependencies.js +1 -0
  249. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IRepository.js +1 -0
  250. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IService.js +0 -0
  251. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/output/IPresenter.js +1 -0
  252. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/AbstractUseCase.js +15 -0
  253. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/ExecuteClientScriptsUseCase.js +23 -0
  254. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/SetClientScriptsMappingUseCase.js +16 -0
  255. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/ClientScriptExecutor.js +142 -0
  256. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/State.js +1 -0
  257. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/types/ClientScriptExectionTypeDefintions.js +7 -0
  258. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionBehaviourFactory.js +12 -0
  259. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionHandlersFactory.js +30 -0
  260. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils.js +25 -0
  261. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/AbstractController.js +8 -0
  262. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsController.js +27 -0
  263. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsFailureController.js +28 -0
  264. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsNoContentController.js +23 -0
  265. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsStopController.js +21 -0
  266. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsSuccessController.js +28 -0
  267. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/MountController.js +22 -0
  268. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/SetClientScriptsController.js +24 -0
  269. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Repository.js +22 -0
  270. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Service.js +19 -0
  271. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/presenters/Presenter.js +16 -0
  272. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsFactory.js +11 -0
  273. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsManagerFactory.js +10 -0
  274. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/InputDependencies.js +1 -0
  275. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IRepository.js +1 -0
  276. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IService.js +0 -0
  277. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/output/IPresenter.js +1 -0
  278. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/AbstractUseCase.js +17 -0
  279. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptUseCase.js +33 -0
  280. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsFailureUseCase.js +22 -0
  281. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsNoContentUseCase.js +27 -0
  282. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsStopUseCase.js +25 -0
  283. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsSuccessUseCase.js +22 -0
  284. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/InitializeUseCase.js +17 -0
  285. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/SetClientScriptsUseCase.js +21 -0
  286. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScript.js +24 -0
  287. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScripts.js +41 -0
  288. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/GetClientScriptsStrategy.js +44 -0
  289. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/State.js +1 -0
  290. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptEventMappingState.js +1 -0
  291. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptModel.js +1 -0
  292. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptsModel.js +1 -0
  293. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScript.js +0 -0
  294. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScripts.js +0 -0
  295. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IEvent.js +1 -0
  296. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsBehaviourFactory.js +12 -0
  297. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsHandlersFactory.js +47 -0
  298. package/es/platform/client-scripts/cc/zclient-scripts-execution/clientScriptsSchema.js +15 -0
  299. package/es/platform/column-chooser/adapters/gateways/Repository.js +0 -6
  300. package/es/platform/column-chooser/adapters/gateways/Service.js +0 -14
  301. package/es/platform/column-chooser/adapters/presenters/Presenter.js +0 -8
  302. package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +0 -5
  303. package/es/platform/components/app/adapters/resources/AppResource.js +25 -0
  304. package/es/platform/components/form-connected/adapters/resources/SmartFormResources.js +20 -4
  305. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +5 -4
  306. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +8 -2
  307. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +4 -2
  308. package/es/platform/components/form-connected/frameworks/FormSdkFactory.js +6 -4
  309. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +7 -1
  310. package/es/platform/components/table-connected/adapters/controllers/ResizeFinishController.js +3 -5
  311. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +52 -4
  312. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +222 -8
  313. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +6 -4
  314. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +7 -3
  315. package/es/platform/data-source/http-template/fetchLookupFields.js +24 -0
  316. package/es/platform/data-source/http-template/getClientScripts.js +23 -0
  317. package/es/platform/data-source/http-template/{fetchDependencyMappings.js → getDependencyMappings.js} +3 -3
  318. package/es/platform/data-source/http-template/{fetchLayoutRules.js → getLayoutRules.js} +3 -3
  319. package/es/platform/data-source/http-template/{fetchMyForm.js → getMyForm.js} +3 -3
  320. package/es/platform/data-source/http-template/{fetchMyFormLayout.js → getMyLayout.js} +3 -3
  321. package/es/platform/data-source/http-template/{fetchValidationRules.js → getValidationRules.js} +3 -3
  322. package/es/platform/data-source/http-template/updateSelectedFields.js +1 -1
  323. package/es/platform/data-source/index.js +15 -10
  324. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +7 -1
  325. package/es/platform/sdk/adapters/gateways/Repository.js +5 -9
  326. package/es/platform/sdk/adapters/gateways/Service.js +2 -12
  327. package/es/platform/sdk/adapters/presenters/Presenter.js +0 -6
  328. package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +0 -6
  329. package/es/platform/sdk/application/usecases/GetResourcesUseCase.js +12 -0
  330. package/es/platform/sdk/domain/entities/ResourceManager.js +24 -20
  331. package/es/platform/sdk/frameworks/Sdk.js +23 -2
  332. package/es/platform/sdk/frameworks/SdkRegistry.js +11 -8
  333. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +0 -4
  334. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +0 -8
  335. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +0 -6
  336. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +0 -8
  337. package/es/platform/zdata-source/adapters/controllers/FailureController.js +26 -29
  338. package/es/platform/zdata-source/adapters/controllers/NoContentController.js +21 -24
  339. package/es/platform/zdata-source/adapters/controllers/RegisterController.js +17 -20
  340. package/es/platform/zdata-source/adapters/controllers/SuccessController.js +26 -29
  341. package/es/platform/zdata-source/adapters/gateways/Repository.js +0 -6
  342. package/es/platform/zdata-source/adapters/gateways/Service.js +0 -12
  343. package/es/platform/zdata-source/adapters/presenters/Presenter.js +1 -9
  344. package/es/platform/zdata-source/domain/entities/APITemplate.js +3 -17
  345. package/es/platform/zfield/adapters/gateways/Repository.js +0 -6
  346. package/es/platform/zfield/adapters/gateways/Service.js +0 -14
  347. package/es/platform/zfield/adapters/presenters/Presenter.js +0 -8
  348. package/es/platform/zfield/applications/entities-factory/FieldBuilder.js +0 -30
  349. package/es/platform/zfield/applications/entities-factory/FieldsManagerBuilder.js +0 -12
  350. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +6 -1
  351. package/es/platform/zform/adapters/controllers/ApiFailureController.js +31 -0
  352. package/es/platform/zform/adapters/controllers/CreateRecordFailedController.js +21 -0
  353. package/es/platform/zform/adapters/controllers/CreateRecordSuccessController.js +21 -0
  354. package/es/platform/zform/adapters/controllers/IntializeController.js +4 -2
  355. package/es/platform/zform/adapters/controllers/LookupFieldController.js +23 -0
  356. package/es/platform/zform/adapters/controllers/MyLayoutSuccessController.js +4 -2
  357. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +5 -1
  358. package/es/platform/zform/adapters/gateway/FormRepository.js +6 -8
  359. package/es/platform/zform/adapters/gateway/Service.js +8 -36
  360. package/es/platform/zform/adapters/presenter/FormPresenter.js +0 -8
  361. package/es/platform/zform/adapters/presenter/FormTranslator.js +33 -22
  362. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +53 -37
  363. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +9 -1
  364. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +2 -1
  365. package/es/platform/zform/adapters/presenter/utils/DefaultClientActions.js +83 -73
  366. package/es/platform/zform/adapters/presenter/utils/sanitizeHtmlString.js +11 -0
  367. package/es/platform/zform/applications/interfaces/input/ApiFailureInputModel.js +1 -0
  368. package/es/platform/zform/applications/interfaces/input/CreateRecordFailedUseCaseInputModel.js +1 -0
  369. package/es/platform/zform/applications/interfaces/input/CreateRecordSuccessUseCaseInputModel.js +1 -0
  370. package/es/platform/zform/applications/interfaces/input/GetIsFieldValueChangedUseCaseInput.js +1 -0
  371. package/es/platform/zform/applications/interfaces/input/LookUpFieldSuccessUseCaseInputModel.js +1 -0
  372. package/es/platform/zform/applications/usecases/ApiFailureUseCase.js +30 -0
  373. package/es/platform/zform/applications/usecases/CreateRecordFailedUseCase.js +25 -0
  374. package/es/platform/zform/applications/usecases/CreateRecordSuccessUseCase.js +25 -0
  375. package/es/platform/zform/applications/usecases/FormSubmitUseCase.js +4 -1
  376. package/es/platform/zform/applications/usecases/GetFieldValueUseCase.js +1 -1
  377. package/es/platform/zform/applications/usecases/GetIsFieldValueChanged.js +35 -0
  378. package/es/platform/zform/applications/usecases/InitializeUseCase.js +54 -26
  379. package/es/platform/zform/applications/usecases/LookupFieldSuccessUseCase.js +33 -0
  380. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +41 -7
  381. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +61 -37
  382. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +14 -8
  383. package/es/platform/zform/domain/ZDependencyMapping.js +0 -17
  384. package/es/platform/zform/domain/ZField.js +16 -59
  385. package/es/platform/zform/domain/ZForm.js +74 -42
  386. package/es/platform/zform/domain/ZLayout.js +0 -14
  387. package/es/platform/zform/domain/ZLayoutRule.js +0 -31
  388. package/es/platform/zform/domain/ZSection.js +0 -19
  389. package/es/platform/zform/domain/ZValidationRule.js +0 -28
  390. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +26 -28
  391. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +1 -0
  392. package/es/platform/zform/frameworks/validation-rules/Validator.js +4 -8
  393. package/es/platform/zhttp/adapters/controllers/FetchController.js +5 -1
  394. package/es/platform/zlist/adapters/gateways/Repository.js +4 -8
  395. package/es/platform/zlist/adapters/gateways/Service.js +0 -33
  396. package/es/platform/zlist/adapters/presenters/Presenters.js +0 -8
  397. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +7 -6
  398. package/es/platform/zlist/adapters/presenters/TableTranslator.js +19 -12
  399. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +33 -26
  400. package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -6
  401. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +4 -2
  402. package/es/platform/zlist/adapters/presenters/translators/Row.js +6 -3
  403. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +8 -2
  404. package/es/platform/zlist/adapters/presenters/translators/actions/ActionsTranslator.js +4 -15
  405. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +7 -2
  406. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +7 -2
  407. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
  408. package/es/platform/zlist/adapters/presenters/utils/calculateFieldWidths.js +1 -3
  409. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +1 -3
  410. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +1 -3
  411. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +1 -1
  412. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -3
  413. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +1 -3
  414. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +1 -3
  415. package/es/platform/zlist/domain/entities/List.js +20 -5
  416. package/es/platform/zrecord/adapters/controllers/AppendRecordsController.js +20 -23
  417. package/es/platform/zrecord/adapters/controllers/DeleteMultipleRecordLocalController.js +20 -23
  418. package/es/platform/zrecord/adapters/controllers/FailureController.js +26 -29
  419. package/es/platform/zrecord/adapters/controllers/FetchStateStopController.js +17 -20
  420. package/es/platform/zrecord/adapters/controllers/MountController.js +15 -18
  421. package/es/platform/zrecord/adapters/controllers/NoContentController.js +21 -24
  422. package/es/platform/zrecord/adapters/controllers/RefetchController.js +26 -29
  423. package/es/platform/zrecord/adapters/controllers/SetRecordsController.js +24 -27
  424. package/es/platform/zrecord/adapters/controllers/SuccessController.js +26 -29
  425. package/es/platform/zrecord/adapters/gateways/Repository.js +0 -6
  426. package/es/platform/zrecord/adapters/gateways/Service.js +0 -30
  427. package/es/platform/zrecord/adapters/presenters/Presenter.js +0 -8
  428. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +1 -1
  429. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +1 -1
  430. package/es/platform/zrecord/domain/entities/CustomFieldValues.js +0 -4
  431. package/es/platform/zrecord/domain/entities/Record.js +0 -22
  432. package/es/platform/zrecord/domain/entities/Records.js +0 -11
  433. package/package.json +28 -29
  434. package/es/cc/form-connected/Constants.js +0 -21
  435. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelAction.js +0 -9
  436. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelActionView.js +0 -38
  437. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/css/LabelAction.module.css +0 -4
  438. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +0 -51
  439. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponent.js +0 -9
  440. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +0 -36
  441. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -15
  442. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +0 -33
  443. package/es/platform/zlist/adapters/presenters/translators/ColumnAlignmentTranslator.js +0 -11
  444. /package/es/{platform/client-actions/components/dynamic-component/domain/entities/interfaces/IState.js → library/custom-component/applications/interfaces/input/SetRefInputModel.js} +0 -0
@@ -1,19 +1,42 @@
1
+ /* eslint-disable max-lines-per-function */
2
+
3
+ /* eslint-disable complexity */
4
+ import { ACA_ERROR_OCCURRED } from "../../../../cc/component/ErrorStructure";
1
5
  import AbstractUseCase from "./AbstractUseCase";
2
6
 
3
7
  class DispatchUseCase extends AbstractUseCase {
4
8
  execute(input) {
5
- let {
9
+ const {
6
10
  repository,
7
11
  presenter,
8
12
  eventManager
9
13
  } = this.dependencies;
10
- let component = repository.getComponent();
14
+ const component = repository.getComponent();
15
+
16
+ if (component.canSkipDispatchingEvent(input.type)) {
17
+ return;
18
+ }
11
19
 
12
20
  try {
13
- let action = component.constructAction(input);
14
- eventManager.dispatch(action);
21
+ if (input.type === ACA_ERROR_OCCURRED) {
22
+ const {
23
+ payload
24
+ } = input;
25
+
26
+ if (payload.errorDetails?.isBreaking) {
27
+ component.setError(payload);
28
+ presenter.setError(payload);
29
+ }
30
+
31
+ const action = component.getPublicErrorEvent(payload);
32
+ eventManager.dispatch(action);
33
+ } else {
34
+ const action = component.constructAction(input);
35
+ eventManager.dispatch(action);
36
+ }
15
37
  } catch (e) {
16
- presenter.setError([e]);
38
+ component.setError(e);
39
+ presenter.setError(e);
17
40
  }
18
41
  }
19
42
 
@@ -6,17 +6,18 @@ class InitializeUseCase extends AbstractUseCase {
6
6
  let {
7
7
  presenter,
8
8
  jsonValidator,
9
- repository,
10
- schemaValidator
9
+ repository
11
10
  } = this.dependencies;
12
11
  let component = createComponent(input, input.helpers);
13
12
 
14
13
  try {
15
- component.init(jsonValidator, input.newProps, schemaValidator);
14
+ component.init(jsonValidator, input.newProps);
16
15
  let state = component.getState();
17
16
  presenter.render(state);
18
17
  } catch (e) {
19
- presenter.setError(e);
18
+ const error = component.getClassifiedErrorStructure(e);
19
+ component.setError(error);
20
+ presenter.setError(error);
20
21
  } finally {
21
22
  repository.save(component);
22
23
  }
@@ -2,20 +2,24 @@ import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class MountUsecase extends AbstractUseCase {
4
4
  execute() {
5
- let {
5
+ const {
6
6
  repository,
7
7
  presenter,
8
8
  eventManager
9
9
  } = this.dependencies;
10
- let component = repository.getComponent();
11
- let mountAction = component.getMountAction();
12
- let eventHandlers = component.getEventHandlersWrapper();
10
+ const component = repository.getComponent();
11
+ const mountAction = component.getMountAction();
12
+ const eventHandlers = component.getEventHandlersWrapper();
13
13
 
14
14
  try {
15
15
  eventManager.subscribe(eventHandlers);
16
- eventManager.dispatch(mountAction);
16
+
17
+ if (!component.hasBreakingError()) {
18
+ eventManager.dispatch(mountAction);
19
+ }
17
20
  } catch (e) {
18
- presenter.setError([e]);
21
+ component.setError(e);
22
+ presenter.setError(e);
19
23
  }
20
24
  }
21
25
 
@@ -0,0 +1,31 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class SetRefUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ ref
7
+ } = _ref;
8
+ const {
9
+ repository,
10
+ presenter,
11
+ eventManager
12
+ } = this.dependencies;
13
+ const component = repository.getComponent();
14
+ const eventHandlers = component.getEventHandlersWrapper();
15
+
16
+ try {
17
+ if (eventManager.isDifferentElement(ref)) {
18
+ eventManager.unSubscribe(eventHandlers);
19
+ eventManager.setElement(ref);
20
+ eventManager.subscribe(eventHandlers);
21
+ }
22
+ } catch (e) {
23
+ const error = component.getClassifiedErrorStructure(e);
24
+ component.setError(error);
25
+ presenter.setError(error);
26
+ }
27
+ }
28
+
29
+ }
30
+
31
+ export default SetRefUseCase;
@@ -2,21 +2,22 @@ import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class UnmountUsecase extends AbstractUseCase {
4
4
  execute() {
5
- let {
5
+ const {
6
6
  repository,
7
7
  presenter,
8
8
  eventManager
9
9
  } = this.dependencies;
10
- let component = repository.getComponent();
11
- let eventHanlders = component.getEventHandlers();
12
- let unmountAction = component.getUnmountAction();
10
+ const component = repository.getComponent();
11
+ const eventHanlders = component.getEventHandlers();
12
+ const unmountAction = component.getUnmountAction();
13
13
 
14
14
  try {
15
15
  eventManager.dispatch(unmountAction);
16
16
  eventManager.unSubscribe(eventHanlders);
17
17
  repository.clear();
18
18
  } catch (e) {
19
- presenter.setError([]);
19
+ component.setError(null);
20
+ presenter.setError(null);
20
21
  }
21
22
  }
22
23
 
@@ -2,29 +2,34 @@ import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class UpdatePropertyUseCase extends AbstractUseCase {
4
4
  execute(newProps) {
5
- let {
5
+ const {
6
6
  repository,
7
7
  jsonValidator,
8
8
  eventManager,
9
- presenter,
10
- schemaValidator
9
+ presenter
11
10
  } = this.dependencies;
12
- let component = repository.getComponent();
13
- let properties = component.getProperties();
14
- let isUpdated = component.updateProperties(jsonValidator, newProps, schemaValidator);
11
+ const component = repository.getComponent();
15
12
 
16
- if (isUpdated) {
17
- let updatedProperties = component.getProperties();
18
- let state = component.getState();
19
- presenter.render(state);
20
- let updatePropertyAction = component.getPropertyUpdateAction({
21
- currentProperties: updatedProperties,
22
- previousProperties: properties
23
- });
24
- eventManager.dispatch(updatePropertyAction);
25
- eventManager.dispatch(component.getStateUpdatedAction({
26
- state
27
- }));
13
+ try {
14
+ const properties = component.getProperties();
15
+ const isUpdated = component.updateProperties(jsonValidator, newProps);
16
+
17
+ if (isUpdated) {
18
+ const updatedProperties = component.getProperties();
19
+ const state = component.getState();
20
+ presenter.render(state);
21
+ const updatePropertyAction = component.getPropertyUpdateAction({
22
+ currentProperties: updatedProperties,
23
+ previousProperties: properties
24
+ });
25
+ eventManager.dispatch(updatePropertyAction);
26
+ eventManager.dispatch(component.getStateUpdatedAction({
27
+ state
28
+ }));
29
+ }
30
+ } catch (error) {
31
+ component.setError(error);
32
+ presenter.setError(error);
28
33
  }
29
34
  }
30
35
 
@@ -7,15 +7,16 @@ class UpdateStateUseCase extends AbstractUseCase {
7
7
  presenter,
8
8
  eventManager
9
9
  } = this.dependencies;
10
- let component = repository.getComponent(); // let preState=component.getState();
11
- // console.log(`preState ${component.getName()}`,preState)
10
+ let component = repository.getComponent();
11
+ let preState = component.getState(); // console.log(`preState ${component.getName()}`,preState)
12
12
 
13
13
  component.updateState(newState);
14
14
  let state = component.getState(); // console.log(`newState ${component.getName()}`,state)
15
15
 
16
16
  presenter.render(state);
17
17
  eventManager.dispatch(component.getStateUpdatedAction({
18
- state
18
+ state,
19
+ preState
19
20
  }));
20
21
  }
21
22
 
@@ -1,5 +1,3 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
1
  class Behaviour {
4
2
  constructor(_ref) {
5
3
  let {
@@ -8,15 +6,6 @@ class Behaviour {
8
6
  setIntialState,
9
7
  eventHandlers
10
8
  } = _ref;
11
-
12
- _defineProperty(this, "name", void 0);
13
-
14
- _defineProperty(this, "properties", void 0);
15
-
16
- _defineProperty(this, "setIntialState", void 0);
17
-
18
- _defineProperty(this, "eventHandlers", void 0);
19
-
20
9
  this.name = name;
21
10
  this.properties = properties;
22
11
  this.setIntialState = setIntialState;
@@ -31,6 +20,10 @@ class Behaviour {
31
20
  return this.properties;
32
21
  }
33
22
 
23
+ getPropertiesClone() {
24
+ return this.properties.getPropertiesClone();
25
+ }
26
+
34
27
  getEventHandlers() {
35
28
  return this.eventHandlers;
36
29
  }
@@ -1,47 +1,73 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ /* eslint-disable complexity */
3
2
  import EventHandler from "./EventHandler";
3
+ import { ERROR_OCCURRED_SUFFIX, ErrorCodes } from "../../../../cc/component/ErrorStructure";
4
4
  export default class Component {
5
- constructor() {
6
- _defineProperty(this, "_name", void 0);
5
+ currentError = null;
7
6
 
8
- _defineProperty(this, "_events", void 0);
7
+ constructor(componentProperties) {
8
+ this.componentProperties = componentProperties;
9
+ }
9
10
 
10
- _defineProperty(this, "_properties", void 0);
11
+ setLogger(logger) {
12
+ this.logger = logger;
13
+ }
11
14
 
12
- _defineProperty(this, "_lifeCycleAction", void 0);
15
+ mergeStateAndProps() {
16
+ return { ...this._state.getState(),
17
+ properties: this.componentProperties.getAllPropertiesValue()
18
+ };
19
+ }
13
20
 
14
- _defineProperty(this, "_eventHandlers", void 0);
21
+ hasBreakingError() {
22
+ return !!this.currentError?.errorDetails?.isBreaking;
23
+ }
15
24
 
16
- _defineProperty(this, "_tranformer", void 0);
25
+ canSkipDispatchingEvent(eventName) {
26
+ if (!this.hasBreakingError()) {
27
+ return false;
28
+ } // TODO: eventName.endsWith('UPDATE_PROPERTIES')
17
29
 
18
- _defineProperty(this, "_stateInitializer", void 0);
19
30
 
20
- _defineProperty(this, "_state", void 0);
31
+ if (eventName.endsWith(ERROR_OCCURRED_SUFFIX)) {
32
+ return false;
33
+ }
21
34
 
22
- _defineProperty(this, "_eventHandlersWrapper", void 0);
35
+ return true;
36
+ }
23
37
 
24
- _defineProperty(this, "_behaviours", void 0);
38
+ setError(error) {
39
+ error && this.logger.logError(error);
25
40
 
26
- _defineProperty(this, "_behavioursProperties", void 0);
41
+ if (this.hasBreakingError()) {
42
+ return;
43
+ }
27
44
 
28
- this._behavioursProperties = {};
45
+ this.currentError = error;
29
46
  }
30
47
 
31
- getAllBehavioursPropertiesWithValue() {
32
- let output = {};
33
- Object.keys(this._behavioursProperties).forEach((value, key) => {
34
- output[value] = this._behavioursProperties[value].getValue();
35
- });
36
- return output;
48
+ getClassifiedErrorStructure(error) {
49
+ if (error instanceof Error) {
50
+ return {
51
+ code: ErrorCodes.UNKNOWN_ERROR,
52
+ message: error.message,
53
+ errorDetails: {
54
+ isBreaking: true,
55
+ originalError: error
56
+ }
57
+ };
58
+ } // if ((error as ErrorStructure).code) {
59
+
60
+
61
+ return error; // }
62
+ // return this.currentError;
37
63
  }
38
64
 
39
- mergeStateAndProps() {
40
- return { ...this._state.getState(),
41
- properties: { ...this._properties.getAllPropertiesValue(),
42
- ...this.getAllBehavioursPropertiesWithValue()
43
- }
44
- };
65
+ getPublicErrorEvent(error) {
66
+ const payload = this.getClassifiedErrorStructure(error);
67
+ return this.constructAction({
68
+ type: `${this._name}${ERROR_OCCURRED_SUFFIX}`,
69
+ payload
70
+ });
45
71
  }
46
72
 
47
73
  getName() {
@@ -79,10 +105,6 @@ export default class Component {
79
105
  return state;
80
106
  }
81
107
 
82
- setProperties(properties) {
83
- this._properties = properties;
84
- }
85
-
86
108
  setEvents(_events) {
87
109
  this._events = _events;
88
110
  }
@@ -113,57 +135,10 @@ export default class Component {
113
135
 
114
136
  setBehaviours(behaviours) {
115
137
  this._behaviours = behaviours;
116
- /* store behaviour properties */
117
-
118
- this._behaviours.forEach(behaviour => {
119
- behaviour.getProperties().data && behaviour.getProperties().data.forEach(obj => {
120
- this._behavioursProperties[obj.getName()] = obj.clone();
121
- });
122
- });
123
138
  }
124
139
 
125
- updateProperties(jsonValidator, newProps, schemaValidator) {
126
- const entries = Object.fromEntries(this._properties.data.entries());
127
- let property = entries === undefined ? {} : entries;
128
- let propertyValue = newProps === undefined ? {} : newProps;
129
-
130
- let isBhvrErrorVisible = this._properties.validateRequiredProperty(schemaValidator, this._behavioursProperties, propertyValue);
131
-
132
- let isCompErrorVisible = this._properties.validateRequiredProperty(schemaValidator, property, propertyValue);
133
-
134
- let isChanged = false;
135
- Object.keys(newProps).forEach(key => {
136
- let property = null;
137
-
138
- if (this._behavioursProperties[key]) {
139
- property = this._behavioursProperties[key];
140
- } else if (this._properties.findProperty(key)) {
141
- property = this._properties.findProperty(key);
142
- }
143
-
144
- if (property) {
145
- const optionalSchema = property.getTypeMetadata().schema;
146
- const propertyValue = newProps[key] === undefined ? property.getDefaultValue() : newProps[key];
147
-
148
- const isValid = this._properties.validateSingleProperty(jsonValidator, key, propertyValue, optionalSchema);
149
-
150
- if (isValid) {
151
- isChanged = property.updateValue(newProps[key]) || isChanged;
152
- }
153
- /* return isValid */
154
-
155
- } else {
156
- throw new Error(`props '${key}' not exist `);
157
- }
158
- });
159
-
160
- if (isBhvrErrorVisible && isCompErrorVisible) {
161
- throw "";
162
- }
163
- /* return this._properties.updateAllPropertiesValue(jsonValidator, newProps); */
164
-
165
-
166
- return isChanged;
140
+ updateProperties(jsonValidator, newProps) {
141
+ return this.componentProperties.validateAndUpdateProperties(jsonValidator, newProps);
167
142
  }
168
143
 
169
144
  updateState(state) {
@@ -182,15 +157,9 @@ export default class Component {
182
157
  return allBehavioursInitialState;
183
158
  }
184
159
 
185
- init(jsonValidator, newProps, schemaValidator) {
186
- this.updateProperties(jsonValidator, newProps, schemaValidator);
187
-
188
- const properties = this._properties.getAllPropertiesValue();
189
-
190
- const behavioursProperties = this.getAllBehavioursPropertiesWithValue();
191
- let allProperties = { ...properties,
192
- ...behavioursProperties
193
- };
160
+ init(jsonValidator, newProps) {
161
+ this.updateProperties(jsonValidator, newProps);
162
+ const allProperties = this.componentProperties.getAllPropertiesValue();
194
163
  const behaviours = this.getAllBehavioursInitialState(allProperties);
195
164
 
196
165
  const initialState = this._stateInitializer({
@@ -203,9 +172,7 @@ export default class Component {
203
172
  }
204
173
 
205
174
  getProperties() {
206
- return { ...this._properties.getAllPropertiesValue(),
207
- ...this.getAllBehavioursPropertiesWithValue()
208
- };
175
+ return this.componentProperties.getAllPropertiesValue();
209
176
  }
210
177
 
211
178
  getEventHandlersWrapper() {
@@ -234,12 +201,27 @@ export default class Component {
234
201
  let eventHandler = new EventHandler(key, event => {
235
202
  let state = this.getHandlerState();
236
203
  let action = event.detail;
237
- actionHandler({
238
- action,
239
- host: event.currentTarget,
240
- state,
241
- ...helpers
242
- });
204
+
205
+ try {
206
+ actionHandler({
207
+ action,
208
+ host: event.currentTarget,
209
+ state,
210
+ ...helpers
211
+ });
212
+ } catch (e) {
213
+ const error = {
214
+ code: ErrorCodes.EVENT_HANDLER_FAILED,
215
+ message: 'Error occurred in event handler for event ' + key,
216
+ errorDetails: {
217
+ isBreaking: false,
218
+ eventName: key,
219
+ event: action,
220
+ originalError: e instanceof Error ? e : undefined
221
+ }
222
+ };
223
+ helpers.dispatch(this.getPublicErrorEvent(error));
224
+ }
243
225
  });
244
226
 
245
227
  if (!eventHandlerMap.has(key)) {
@@ -265,7 +247,7 @@ export default class Component {
265
247
  constructAction(input) {
266
248
  let action = { ...input,
267
249
  payload: { ...input.payload,
268
- ...this._properties.getAppendToActionPayloadProperty()
250
+ ...this.componentProperties.getAppendToActionPayloadProperty()
269
251
  }
270
252
  };
271
253
  return action;
@@ -0,0 +1,120 @@
1
+ /* eslint-disable complexity */
2
+ import { ErrorCodes } from "../../../../cc/component/ErrorStructure";
3
+ export default class ComponentProperties {
4
+ constructor(componentName, properties, behaviours) {
5
+ this.componentName = componentName;
6
+ this.properties = properties;
7
+ this.behaviours = behaviours;
8
+ this.behavioursProperties = {};
9
+ /* store behaviour properties */
10
+
11
+ this.behaviours.forEach(behaviour => {
12
+ const cloneMap = behaviour.getPropertiesClone();
13
+ this.behavioursProperties = { ...this.behavioursProperties,
14
+ ...cloneMap
15
+ };
16
+ });
17
+ }
18
+
19
+ getAllBehavioursPropertiesWithValue() {
20
+ const output = {};
21
+ Object.keys(this.behavioursProperties).forEach(propertyName => {
22
+ output[propertyName] = this.behavioursProperties[propertyName].getValue();
23
+ });
24
+ return output;
25
+ }
26
+
27
+ getAllPropertiesValue() {
28
+ return { ...this.properties.getAllPropertiesValue(),
29
+ ...this.getAllBehavioursPropertiesWithValue()
30
+ };
31
+ }
32
+
33
+ getAllPropertiesKeys() {
34
+ const propKeys = this.properties.getAllPropertiesKeys();
35
+ const bhvrKeys = Object.keys(this.behavioursProperties);
36
+ return [...propKeys, ...bhvrKeys];
37
+ }
38
+
39
+ validateAndUpdateProperties(jsonValidator, newProps) {
40
+ const {
41
+ isValid,
42
+ validationResults
43
+ } = this.validateProperties(jsonValidator, newProps);
44
+
45
+ if (!isValid) {
46
+ // console.log({ isValid, componentName: this.componentName, validationResults });
47
+ throw {
48
+ code: ErrorCodes.PROPERTY_VALIDATION_FAILED,
49
+ message: `Properties validation failed for component ${this.componentName}`,
50
+ errorDetails: {
51
+ isBreaking: true,
52
+ validationResults: validationResults.filter(result => result.errors?.length > 0 || result.warnings?.length > 0)
53
+ }
54
+ };
55
+ }
56
+
57
+ return this.updateProperties(newProps);
58
+ }
59
+
60
+ updateProperties(newProps) {
61
+ const allProperties = this.getAllPropertiesKeys();
62
+ let isChanged = false;
63
+ allProperties.forEach(key => {
64
+ const property = this.findProperty(key);
65
+
66
+ if (property) {
67
+ isChanged = property.updateValue(newProps[key]) || isChanged;
68
+ }
69
+ });
70
+ return isChanged;
71
+ }
72
+
73
+ getExtraPropertiesError(propertyName) {
74
+ return {
75
+ key: propertyName,
76
+ isValid: false,
77
+ warnings: [{
78
+ keyword: 'extra',
79
+ message: 'Property is not allowed',
80
+ params: {}
81
+ }],
82
+ errors: [],
83
+ value: undefined,
84
+ schema: {}
85
+ };
86
+ }
87
+
88
+ validateProperties(validator, newProps) {
89
+ const allProperties = this.getAllPropertiesKeys();
90
+ const validationResults = [];
91
+ allProperties.forEach(propertyName => {
92
+ const property = this.findProperty(propertyName);
93
+
94
+ if (property) {
95
+ const result = property.validateProperty(validator, newProps[propertyName]);
96
+ validationResults.push(result);
97
+ } else {
98
+ validationResults.push(this.getExtraPropertiesError(propertyName));
99
+ }
100
+ });
101
+ const isValid = validationResults.every(result => result.isValid);
102
+ return {
103
+ isValid,
104
+ validationResults
105
+ };
106
+ }
107
+
108
+ findProperty(propertyName) {
109
+ if (this.behavioursProperties[propertyName]) {
110
+ return this.behavioursProperties[propertyName];
111
+ }
112
+
113
+ return this.properties.findProperty(propertyName);
114
+ }
115
+
116
+ getAppendToActionPayloadProperty() {
117
+ return this.properties.getAppendToActionPayloadProperty();
118
+ }
119
+
120
+ }
@@ -1,13 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
1
  class Event {
4
2
  constructor(type) {
5
3
  let payload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6
-
7
- _defineProperty(this, "type", void 0);
8
-
9
- _defineProperty(this, "payload", void 0);
10
-
11
4
  this.type = type;
12
5
  this.payload = payload;
13
6
  }
@@ -1,11 +1,5 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
1
  export default class EventHandler {
4
2
  constructor(key, handler) {
5
- _defineProperty(this, "handler", void 0);
6
-
7
- _defineProperty(this, "key", void 0);
8
-
9
3
  this.key = key;
10
4
  this.handler = handler;
11
5
  }
@@ -1,16 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
1
  import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
4
2
  export default class LifeCycleAction {
5
3
  constructor(name) {
6
- _defineProperty(this, "mount", void 0);
7
-
8
- _defineProperty(this, "unmount", void 0);
9
-
10
- _defineProperty(this, "name", void 0);
11
-
12
- _defineProperty(this, "contructUpdatePropertiesAction", void 0);
13
-
14
4
  this.name = name;
15
5
  this.mount = {
16
6
  type: `${name}#${LifeCycleEvents.MOUNT}`