@zohodesk/library-platform 1.1.10-exp.1 → 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 (227) hide show
  1. package/es/bc/app-context/Properties.js +12 -2
  2. package/es/bc/sdk/ResourceNamesEnum.js +1 -0
  3. package/es/bc/zform/Constants.js +11 -1
  4. package/es/bc/zform/Properties.js +29 -33
  5. package/es/bc/zform/Symbol.js +1 -3
  6. package/es/bc/zlist/Properties.js +0 -51
  7. package/es/bc/zrecord/Constants.js +1 -0
  8. package/es/cc/fields/currency/Properties.js +2 -1
  9. package/es/cc/fields/field/Properties.js +14 -8
  10. package/es/cc/fields/lookup/Properties.js +34 -1
  11. package/es/cc/fields/text/Properties.js +0 -9
  12. package/es/cc/form/Properties.js +8 -0
  13. package/es/cc/form-connected/ExternalConstants.js +3 -0
  14. package/es/cc/form-connected/Properties.js +19 -11
  15. package/es/cc/table-connected/SdkContract.js +14 -0
  16. package/es/cc/table-connected/constants/Events.js +2 -1
  17. package/es/cc/table-list/row/Properties.js +8 -0
  18. package/es/index.js +13 -3
  19. package/es/library/analytics/Analytics.js +36 -0
  20. package/es/library/analytics/AnalyticsContract.js +13 -0
  21. package/es/library/analytics/index.js +2 -0
  22. package/es/library/custom-component/adapters/controllers/Controller.js +9 -0
  23. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +4 -0
  24. package/es/library/custom-component/adapters/gateways/service/Service.js +2 -0
  25. package/es/library/custom-component/applications/entities-factory/ComponentFactory.js +12 -9
  26. package/es/library/custom-component/applications/usecases/DispatchUseCase.js +28 -5
  27. package/es/library/custom-component/applications/usecases/InitializeUseCase.js +5 -4
  28. package/es/library/custom-component/applications/usecases/MountUseCase.js +10 -6
  29. package/es/library/custom-component/applications/usecases/UnmountUseCase.js +6 -5
  30. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +23 -18
  31. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +4 -3
  32. package/es/library/custom-component/domain/entities/Behaviour.js +4 -0
  33. package/es/library/custom-component/domain/entities/Component.js +89 -83
  34. package/es/library/custom-component/domain/entities/Properties.js +10 -137
  35. package/es/library/custom-component/domain/entities/Property.js +29 -0
  36. package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +65 -28
  37. package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +26 -13
  38. package/es/library/custom-component/frameworks/ui/DependencyFactory.js +1 -2
  39. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +2 -1
  40. package/es/library/dot/components/form/adapters/presenter/TransformState.js +3 -1
  41. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +10 -2
  42. package/es/library/dot/components/form/frameworks/ui/Form.js +2 -0
  43. package/es/library/dot/components/form/frameworks/ui/FormView.js +8 -4
  44. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +13 -13
  45. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +7 -4
  46. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +7 -4
  47. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  48. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +2 -2
  49. package/es/library/dot/components/form-fields/lookup/frameworks/ui/Lookup.js +1 -1
  50. package/es/library/dot/components/section/frameworks/ui/SectionView.js +12 -4
  51. package/es/library/dot/components/section/frameworks/ui/css/Section.module.css +3 -0
  52. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +14 -7
  53. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +15 -15
  54. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +4 -7
  55. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -6
  56. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +6 -4
  57. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +6 -4
  58. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/Headers.js +4 -2
  59. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +6 -4
  60. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Columns.js +4 -2
  61. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +14 -7
  62. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowActions.js +5 -4
  63. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +5 -3
  64. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +32 -7
  65. package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/css/Breadcrumb.module.css +4 -4
  66. package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/sub-components/BreadcrumbItem.js +1 -1
  67. package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/ButtonView.js +2 -2
  68. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +4 -4
  69. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +1 -1
  70. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +2 -2
  71. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +4 -4
  72. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +2 -2
  73. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +9 -9
  74. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +2 -2
  75. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +1 -0
  76. package/es/library/dot/legacy-to-new-arch/text/frameworks/ui/TextView.js +1 -1
  77. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +2 -2
  78. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +9 -9
  79. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +2 -2
  80. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/SetClientActionsUseCase.js +6 -1
  81. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActionManager.js +58 -19
  82. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActions.js +8 -8
  83. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/interfaces/IClientActionFetchResponse.js +0 -0
  84. package/es/platform/client-actions/cc/action-event-mediator/Properties.js +75 -3
  85. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/MountController.js +1 -1
  86. package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/PropertiesChangeController.js +2 -2
  87. package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js +2 -2
  88. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/InitializeUseCase.js +15 -1
  89. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +3 -3
  90. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +41 -24
  91. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator.js +3 -1
  92. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +31 -14
  93. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ClientActionsAdapter.js +2 -48
  94. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +3 -11
  95. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRenderer.js +12 -0
  96. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRendererView.js +42 -0
  97. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRenderer.js +10 -0
  98. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRendererView.js +79 -0
  99. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/{RowActionsRenderer.js → RowActions/RowActionsRenderer.js} +3 -3
  100. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +19 -0
  101. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRendererView.js +37 -0
  102. package/es/platform/client-actions/translators/client-actions-translator/index.js +14 -2
  103. package/es/platform/client-actions/translators/condition-resolver/index.js +6 -1
  104. package/es/platform/client-scripts/bc/zclient-scripts-execution/Constants.js +11 -0
  105. package/es/platform/client-scripts/bc/zclient-scripts-execution/EventHandlers.js +1 -0
  106. package/es/platform/client-scripts/bc/zclient-scripts-fetch/Constants.js +11 -0
  107. package/es/platform/client-scripts/bc/zclient-scripts-fetch/EventHandlers.js +1 -0
  108. package/es/platform/{app-context-behaviour → client-scripts/behaviour/zclient-scripts-execution}/adapters/controllers/AbstractController.js +2 -1
  109. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/ClientScriptExecutionController.js +10 -0
  110. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/SetClientScriptsMappingController.js +10 -0
  111. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Repository.js +24 -0
  112. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Service.js +9 -0
  113. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/presenters/Presenter.js +21 -0
  114. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IService.js +0 -0
  115. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/AbstractUseCase.js +15 -0
  116. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/ExecuteClientScriptsUseCase.js +23 -0
  117. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/SetClientScriptsMappingUseCase.js +16 -0
  118. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/ClientScriptExecutor.js +142 -0
  119. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/types/ClientScriptExectionTypeDefintions.js +7 -0
  120. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionBehaviourFactory.js +12 -0
  121. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionHandlersFactory.js +30 -0
  122. package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils.js +25 -0
  123. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/AbstractController.js +8 -0
  124. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsController.js +27 -0
  125. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsFailureController.js +28 -0
  126. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsNoContentController.js +23 -0
  127. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsStopController.js +21 -0
  128. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsSuccessController.js +28 -0
  129. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/MountController.js +22 -0
  130. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/SetClientScriptsController.js +24 -0
  131. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Repository.js +22 -0
  132. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Service.js +19 -0
  133. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/presenters/Presenter.js +16 -0
  134. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsFactory.js +11 -0
  135. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsManagerFactory.js +10 -0
  136. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IService.js +0 -0
  137. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/AbstractUseCase.js +17 -0
  138. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptUseCase.js +33 -0
  139. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsFailureUseCase.js +22 -0
  140. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsNoContentUseCase.js +27 -0
  141. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsStopUseCase.js +25 -0
  142. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsSuccessUseCase.js +22 -0
  143. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/InitializeUseCase.js +17 -0
  144. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/SetClientScriptsUseCase.js +21 -0
  145. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScript.js +24 -0
  146. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScripts.js +41 -0
  147. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/GetClientScriptsStrategy.js +44 -0
  148. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptEventMappingState.js +1 -0
  149. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptModel.js +1 -0
  150. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptsModel.js +1 -0
  151. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScript.js +0 -0
  152. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScripts.js +0 -0
  153. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IEvent.js +1 -0
  154. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsBehaviourFactory.js +12 -0
  155. package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsHandlersFactory.js +47 -0
  156. package/es/platform/client-scripts/cc/zclient-scripts-execution/clientScriptsSchema.js +15 -0
  157. package/es/platform/components/app/adapters/resources/AppResource.js +13 -3
  158. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +7 -1
  159. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +4 -2
  160. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +7 -1
  161. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +50 -0
  162. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +216 -2
  163. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +4 -2
  164. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +6 -2
  165. package/es/platform/data-source/http-template/getClientScripts.js +23 -0
  166. package/es/platform/data-source/http-template/updateSelectedFields.js +1 -1
  167. package/es/platform/data-source/index.js +14 -11
  168. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +1 -0
  169. package/es/platform/sdk/frameworks/Sdk.js +1 -1
  170. package/es/platform/zdata-source/domain/entities/APITemplate.js +2 -1
  171. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +6 -1
  172. package/es/platform/zform/adapters/controllers/IntializeController.js +4 -2
  173. package/es/platform/zform/adapters/controllers/MyLayoutSuccessController.js +4 -2
  174. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +5 -1
  175. package/es/platform/zform/adapters/gateway/FormRepository.js +4 -2
  176. package/es/platform/zform/adapters/gateway/Service.js +2 -0
  177. package/es/platform/zform/adapters/presenter/FormTranslator.js +21 -15
  178. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +5 -3
  179. package/es/platform/zform/applications/usecases/InitializeUseCase.js +54 -26
  180. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +7 -7
  181. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +60 -36
  182. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +12 -8
  183. package/es/platform/zform/domain/ZForm.js +65 -0
  184. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +11 -2
  185. package/es/platform/zhttp/adapters/controllers/FetchController.js +5 -1
  186. package/es/platform/zlist/adapters/gateways/Repository.js +4 -2
  187. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +6 -3
  188. package/es/platform/zlist/adapters/presenters/TableTranslator.js +15 -6
  189. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +30 -19
  190. package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -6
  191. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +4 -2
  192. package/es/platform/zlist/adapters/presenters/translators/Row.js +5 -3
  193. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +6 -2
  194. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
  195. package/es/platform/zlist/domain/entities/List.js +17 -2
  196. package/package.json +3 -3
  197. package/es/cc/form-connected/Constants.js +0 -12
  198. package/es/library/custom-component/applications/usecases/MountUseCase copy.js +0 -28
  199. package/es/platform/app-context-behaviour/adapters/controllers/InitializeController.js +0 -19
  200. package/es/platform/app-context-behaviour/adapters/gateways/Service.js +0 -7
  201. package/es/platform/app-context-behaviour/adapters/presenters/Presenter.js +0 -18
  202. package/es/platform/app-context-behaviour/adapters/resources/AppResource.js +0 -25
  203. package/es/platform/app-context-behaviour/applications/AbstractUseCase.js +0 -6
  204. package/es/platform/app-context-behaviour/applications/usecases/InitializeUseCase.js +0 -15
  205. package/es/platform/app-context-behaviour/frameworks/EventHandlerFactory.js +0 -25
  206. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +0 -51
  207. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponent.js +0 -9
  208. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +0 -38
  209. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -19
  210. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +0 -33
  211. package/es/platform/components/form-connected/frameworks/FallbackView.js +0 -23
  212. package/es/platform/components/form-connected/frameworks/FormFallbackView.js +0 -23
  213. package/es/platform/data-source/http-template/fetchDependencyMappings.js +0 -18
  214. package/es/platform/data-source/http-template/fetchLayoutRules.js +0 -29
  215. package/es/platform/data-source/http-template/fetchMyForm.js +0 -19
  216. package/es/platform/data-source/http-template/fetchMyFormLayout.js +0 -43
  217. package/es/platform/data-source/http-template/fetchValidationRules.js +0 -30
  218. package/es/platform/zlist/adapters/presenters/translators/ColumnAlignmentTranslator.js +0 -11
  219. /package/es/platform/{app-context-behaviour/applications/interfaces/UsecaseDependencies.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ClientActionResponse.js} +0 -0
  220. /package/es/platform/{app-context-behaviour/applications/interfaces/gateways/IService.js → client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/InputDependencies.js} +0 -0
  221. /package/es/platform/{app-context-behaviour/applications/interfaces/input/InitializeUseCaseInputModel.js → client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IRepository.js} +0 -0
  222. /package/es/platform/{app-context-behaviour → client-scripts/behaviour/zclient-scripts-execution}/applications/interfaces/output/IPresenter.js +0 -0
  223. /package/es/platform/{app-context-behaviour/applications/interfaces/output/BehaviourState.js → client-scripts/behaviour/zclient-scripts-execution/domain/entities/State.js} +0 -0
  224. /package/es/platform/{app-context-behaviour/applications/interfaces/resources/ApiHeaderContract.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/InputDependencies.js} +0 -0
  225. /package/es/platform/{app-context-behaviour/applications/interfaces/resources/ContextContract.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IRepository.js} +0 -0
  226. /package/es/platform/{app-context-behaviour/applications/interfaces/resources/IAppResource.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/output/IPresenter.js} +0 -0
  227. /package/es/platform/{client-actions/components/dynamic-component/domain/entities/interfaces/IState.js → client-scripts/behaviour/zclient-scripts-fetch/domain/entities/State.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
 
@@ -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
 
@@ -20,6 +20,10 @@ class Behaviour {
20
20
  return this.properties;
21
21
  }
22
22
 
23
+ getPropertiesClone() {
24
+ return this.properties.getPropertiesClone();
25
+ }
26
+
23
27
  getEventHandlers() {
24
28
  return this.eventHandlers;
25
29
  }
@@ -1,25 +1,75 @@
1
+ /* eslint-disable complexity */
1
2
  import EventHandler from "./EventHandler";
3
+ import { ERROR_OCCURRED_SUFFIX, ErrorCodes } from "../../../../cc/component/ErrorStructure";
2
4
  export default class Component {
3
- constructor() {
4
- this._behavioursProperties = {};
5
+ currentError = null;
6
+
7
+ constructor(componentProperties) {
8
+ this.componentProperties = componentProperties;
5
9
  }
6
10
 
7
- getAllBehavioursPropertiesWithValue() {
8
- let output = {};
9
- Object.keys(this._behavioursProperties).forEach((value, key) => {
10
- output[value] = this._behavioursProperties[value].getValue();
11
- });
12
- return output;
11
+ setLogger(logger) {
12
+ this.logger = logger;
13
13
  }
14
14
 
15
15
  mergeStateAndProps() {
16
16
  return { ...this._state.getState(),
17
- properties: { ...this._properties.getAllPropertiesValue(),
18
- ...this.getAllBehavioursPropertiesWithValue()
19
- }
17
+ properties: this.componentProperties.getAllPropertiesValue()
20
18
  };
21
19
  }
22
20
 
21
+ hasBreakingError() {
22
+ return !!this.currentError?.errorDetails?.isBreaking;
23
+ }
24
+
25
+ canSkipDispatchingEvent(eventName) {
26
+ if (!this.hasBreakingError()) {
27
+ return false;
28
+ } // TODO: eventName.endsWith('UPDATE_PROPERTIES')
29
+
30
+
31
+ if (eventName.endsWith(ERROR_OCCURRED_SUFFIX)) {
32
+ return false;
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ setError(error) {
39
+ error && this.logger.logError(error);
40
+
41
+ if (this.hasBreakingError()) {
42
+ return;
43
+ }
44
+
45
+ this.currentError = error;
46
+ }
47
+
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;
63
+ }
64
+
65
+ getPublicErrorEvent(error) {
66
+ const payload = this.getClassifiedErrorStructure(error);
67
+ return this.constructAction({
68
+ type: `${this._name}${ERROR_OCCURRED_SUFFIX}`,
69
+ payload
70
+ });
71
+ }
72
+
23
73
  getName() {
24
74
  return this._name;
25
75
  }
@@ -55,10 +105,6 @@ export default class Component {
55
105
  return state;
56
106
  }
57
107
 
58
- setProperties(properties) {
59
- this._properties = properties;
60
- }
61
-
62
108
  setEvents(_events) {
63
109
  this._events = _events;
64
110
  }
@@ -89,57 +135,10 @@ export default class Component {
89
135
 
90
136
  setBehaviours(behaviours) {
91
137
  this._behaviours = behaviours;
92
- /* store behaviour properties */
93
-
94
- this._behaviours.forEach(behaviour => {
95
- behaviour.getProperties().data && behaviour.getProperties().data.forEach(obj => {
96
- this._behavioursProperties[obj.getName()] = obj.clone();
97
- });
98
- });
99
138
  }
100
139
 
101
- updateProperties(jsonValidator, newProps, schemaValidator) {
102
- const entries = Object.fromEntries(this._properties.data.entries());
103
- let property = entries === undefined ? {} : entries;
104
- let propertyValue = newProps === undefined ? {} : newProps;
105
-
106
- let isBhvrErrorVisible = this._properties.validateRequiredProperty(schemaValidator, this._behavioursProperties, propertyValue);
107
-
108
- let isCompErrorVisible = this._properties.validateRequiredProperty(schemaValidator, property, propertyValue);
109
-
110
- let isChanged = false;
111
- Object.keys(newProps).forEach(key => {
112
- let property = null;
113
-
114
- if (this._behavioursProperties[key]) {
115
- property = this._behavioursProperties[key];
116
- } else if (this._properties.findProperty(key)) {
117
- property = this._properties.findProperty(key);
118
- }
119
-
120
- if (property) {
121
- const optionalSchema = property.getTypeMetadata().schema;
122
- const propertyValue = newProps[key] === undefined ? property.getDefaultValue() : newProps[key];
123
-
124
- const isValid = this._properties.validateSingleProperty(jsonValidator, key, propertyValue, optionalSchema);
125
-
126
- if (isValid) {
127
- isChanged = property.updateValue(newProps[key]) || isChanged;
128
- }
129
- /* return isValid */
130
-
131
- } else {
132
- throw new Error(`props '${key}' not exist `);
133
- }
134
- });
135
-
136
- if (isBhvrErrorVisible && isCompErrorVisible) {
137
- throw "";
138
- }
139
- /* return this._properties.updateAllPropertiesValue(jsonValidator, newProps); */
140
-
141
-
142
- return isChanged;
140
+ updateProperties(jsonValidator, newProps) {
141
+ return this.componentProperties.validateAndUpdateProperties(jsonValidator, newProps);
143
142
  }
144
143
 
145
144
  updateState(state) {
@@ -158,15 +157,9 @@ export default class Component {
158
157
  return allBehavioursInitialState;
159
158
  }
160
159
 
161
- init(jsonValidator, newProps, schemaValidator) {
162
- this.updateProperties(jsonValidator, newProps, schemaValidator);
163
-
164
- const properties = this._properties.getAllPropertiesValue();
165
-
166
- const behavioursProperties = this.getAllBehavioursPropertiesWithValue();
167
- let allProperties = { ...properties,
168
- ...behavioursProperties
169
- };
160
+ init(jsonValidator, newProps) {
161
+ this.updateProperties(jsonValidator, newProps);
162
+ const allProperties = this.componentProperties.getAllPropertiesValue();
170
163
  const behaviours = this.getAllBehavioursInitialState(allProperties);
171
164
 
172
165
  const initialState = this._stateInitializer({
@@ -179,9 +172,7 @@ export default class Component {
179
172
  }
180
173
 
181
174
  getProperties() {
182
- return { ...this._properties.getAllPropertiesValue(),
183
- ...this.getAllBehavioursPropertiesWithValue()
184
- };
175
+ return this.componentProperties.getAllPropertiesValue();
185
176
  }
186
177
 
187
178
  getEventHandlersWrapper() {
@@ -210,12 +201,27 @@ export default class Component {
210
201
  let eventHandler = new EventHandler(key, event => {
211
202
  let state = this.getHandlerState();
212
203
  let action = event.detail;
213
- actionHandler({
214
- action,
215
- host: event.currentTarget,
216
- state,
217
- ...helpers
218
- });
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
+ }
219
225
  });
220
226
 
221
227
  if (!eventHandlerMap.has(key)) {
@@ -241,7 +247,7 @@ export default class Component {
241
247
  constructAction(input) {
242
248
  let action = { ...input,
243
249
  payload: { ...input.payload,
244
- ...this._properties.getAppendToActionPayloadProperty()
250
+ ...this.componentProperties.getAppendToActionPayloadProperty()
245
251
  }
246
252
  };
247
253
  return action;
@@ -8,7 +8,7 @@ export default class Properties {
8
8
  this.data = properties;
9
9
  this.data.set('appendToActionPayload', new Property(defaultAppendToActionPayload));
10
10
  this.data.set('getRef', new Property(getRefPropertySchema));
11
- typeof properties.get("slotName") === "undefined" && this.data.set('slotName', new Property(defaultSlotNameAppend));
11
+ typeof properties.get('slotName') === 'undefined' && this.data.set('slotName', new Property(defaultSlotNameAppend));
12
12
  }
13
13
 
14
14
  getAllPropertiesValue() {
@@ -20,152 +20,25 @@ export default class Properties {
20
20
 
21
21
  return convertedObject;
22
22
  }
23
- /* break value object*/
24
23
 
25
-
26
- updateAllPropertiesValue(validator, propertyValue) {
27
- // this.validateProperties(validator, propertyValue);
28
- if (!this.isEqual(propertyValue)) {
29
- let isChanged = false;
30
- Object.keys(propertyValue).forEach(key => {
31
- let property = this.findProperty(key);
32
-
33
- if (property.getValue() == null || property.getValue() == undefined) {
34
- // property.updateValue(propertyValue[key]);
35
- isChanged = true;
36
- } else if (property.getValue() != propertyValue[key]) {
37
- // property.updateValue(propertyValue[key]);
38
- isChanged = true;
39
- }
40
- });
41
- return isChanged;
42
- }
43
-
44
- return false;
24
+ getAllPropertiesKeys() {
25
+ return Array.from(this.data.keys());
45
26
  }
46
27
 
47
- isEqual(newProps) {
48
- let isShallow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
49
-
50
- if (isShallow) {
51
- return this.shallowCompareWithNewObject(newProps);
52
- }
53
-
54
- return false;
28
+ findProperty(key) {
29
+ return this.data.get(key);
55
30
  }
56
31
 
57
- validateProperties(validator, newProps) {
58
- let errors = [];
59
- Object.keys(newProps).forEach(key => {
60
- this.validate(validator, key, newProps[key], errors);
32
+ getPropertiesClone() {
33
+ const clonedMap = {};
34
+ this.data.forEach(obj => {
35
+ clonedMap[obj.getName()] = obj.clone();
61
36
  });
62
-
63
- if (errors.length > 0) {
64
- this.handleValidationErrors(errors);
65
- }
66
-
67
- return true;
68
- }
69
-
70
- validate(validator, key, value, errors) {
71
- if (!this.data.has(key)) {
72
- throw new Error(this.componentName + ` props '${key}' not exist `);
73
- }
74
-
75
- let property = this.data.get(key);
76
- let schema = property.getTypeMetadata().schema;
77
- let isValid;
78
-
79
- try {
80
- isValid = validator(schema, value);
81
- } catch (error) {
82
- isValid = false;
83
- }
84
-
85
- if (!isValid) {
86
- const error = {
87
- key: key,
88
- componentName: this.componentName,
89
- value: value,
90
- schema: schema
91
- };
92
- errors.push(error);
93
- }
94
- }
95
-
96
- handleValidationErrors(errors) {
97
- console.log('Property validation failed', this.componentName, errors);
98
- throw new Error('Property validation failed');
99
- }
100
-
101
- getSchema(key, optionalSchema) {
102
- if (optionalSchema) {
103
- return optionalSchema;
104
- }
105
-
106
- return this.data.get(key).getTypeMetadata().schema;
107
- }
108
-
109
- validateRequiredProperty(validator, properties, newProps) {
110
- let errorWarn = validator(properties, newProps);
111
- let isErrorVisible = false;
112
-
113
- if (errorWarn.warnings && errorWarn.warnings.length > 0) {
114
- errorWarn.warnings.forEach(warning => {
115
- console.warn(`%c Property Validation Warnings in %c ${this.componentName}%c :\n${warning}`, 'font-weight: initial', 'color: #FF6F61;font-weight: bold', 'color: #FFA500;font-weight: initial');
116
- });
117
- }
118
-
119
- if (errorWarn.errors && errorWarn.errors.length > 0) {
120
- console.error(`%c Property Validation Errors in %c ${this.componentName}%c :\n${errorWarn.errors.join('\n')}`, 'font-weight: initial', 'color: #FF6F61;font-weight: bold', 'color: #FFF;font-weight: initial');
121
- isErrorVisible = true;
122
- }
123
-
124
- return isErrorVisible;
125
- }
126
-
127
- validateSingleProperty(validator, onePropKey, onePropValue, optionalSchema) {
128
- let schema = this.getSchema(onePropKey, optionalSchema); // INFO: Validate the property adheres to its schema
129
-
130
- const {
131
- isValid,
132
- errors
133
- } = validator(schema, onePropValue);
134
-
135
- if (!isValid) {
136
- const error = {
137
- key: onePropKey,
138
- componentName: this.componentName,
139
- value: onePropValue,
140
- isValid,
141
- errors,
142
- schema: schema
143
- };
144
- console.error('Property validation failed', error);
145
- throw new Error('Property validation failed');
146
- }
147
-
148
- return true;
149
- }
150
-
151
- findProperty(key) {
152
- return this.data.get(key);
37
+ return clonedMap;
153
38
  }
154
39
 
155
40
  getAppendToActionPayloadProperty() {
156
41
  return this.data.get('appendToActionPayload').getValue();
157
42
  }
158
43
 
159
- shallowCompareWithNewObject(obj1) {
160
- const keys1 = Object.keys(obj1);
161
-
162
- for (let key of keys1) {
163
- if (!this.data.has(key) || obj1[key] !== this.data.get(key).getValue()) {
164
- return false;
165
- }
166
- }
167
-
168
- return true;
169
- }
170
-
171
44
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable complexity */
1
2
  export default class Property {
2
3
  constructor(_ref) {
3
4
  let {
@@ -40,6 +41,34 @@ export default class Property {
40
41
  return isChanged;
41
42
  }
42
43
 
44
+ getSchemaForValidation(value) {
45
+ return {
46
+ required: this.required,
47
+ isValueProvided: value !== undefined,
48
+ defaultValue: this.defaultValue,
49
+ name: this.name,
50
+ schema: this.getTypeMetadata().schema
51
+ };
52
+ }
53
+
54
+ validateProperty(validator, value) {
55
+ const propertySchema = this.getSchemaForValidation(value);
56
+ const propertyValue = !propertySchema.isValueProvided ? this.getDefaultValue() : value;
57
+ const {
58
+ isValid,
59
+ errors,
60
+ warnings
61
+ } = validator(propertySchema, propertyValue);
62
+ return {
63
+ key: this.name,
64
+ isValid,
65
+ errors,
66
+ warnings,
67
+ schema: propertySchema,
68
+ value: propertyValue
69
+ };
70
+ }
71
+
43
72
  clone() {
44
73
  return new Property({
45
74
  name: this.name,