@zohodesk/library-platform 1.1.7 → 1.1.8-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 (307) hide show
  1. package/es/bc/sdk/ResourceNamesEnum.js +1 -0
  2. package/es/bc/zfield/FieldApiTypes.js +20 -0
  3. package/es/bc/zform/Properties.js +9 -0
  4. package/es/bc/zform/Symbol.js +7 -0
  5. package/es/bc/zlist/Constants.js +3 -1
  6. package/es/bc/zlist/Properties.js +3 -0
  7. package/es/bc/zrecord/Constants.js +3 -0
  8. package/es/cc/date/Properties.js +9 -0
  9. package/es/cc/fields/field/FormDefaultUIType.js +1 -1
  10. package/es/cc/fields/field/Properties.js +63 -0
  11. package/es/cc/fields/multi-select/Properties.js +9 -0
  12. package/es/cc/fields/pick-list/Properties.js +9 -0
  13. package/es/cc/fields/text/Properties.js +9 -0
  14. package/es/cc/form/Properties.js +71 -0
  15. package/es/cc/form-connected/Constants.js +8 -0
  16. package/es/cc/form-connected/Properties.js +87 -0
  17. package/es/cc/form-connected/SdkContract.js +61 -0
  18. package/es/cc/form-connected/index.js +2 -0
  19. package/es/cc/highlighted-value/Properties.js +10 -0
  20. package/es/cc/index.js +1 -1
  21. package/es/cc/multi-select/Properties.js +9 -0
  22. package/es/cc/select/Properties.js +12 -0
  23. package/es/cc/table-connected/Properties.js +8 -0
  24. package/es/cc/table-connected/constants/Events.js +1 -0
  25. package/es/cc/textarea/Properties.js +11 -0
  26. package/es/cc/textbox/Properties.js +11 -0
  27. package/es/index.js +4 -2
  28. package/es/library/behaviours/field-focus/frameworks/ui/EventHandlersFactory.js +26 -0
  29. package/es/library/behaviours/field-focus/frameworks/ui/FocusFieldBehaviourFactory.js +20 -0
  30. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
  31. package/es/library/dot/components/action-location/usecases/interactors/PropertiesChangeUseCase.js +1 -1
  32. package/es/library/dot/components/form/adapters/presenter/TransformState.js +14 -54
  33. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +2 -5
  34. package/es/library/dot/components/form/frameworks/ui/FormView.js +21 -39
  35. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +29 -4
  36. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +27 -0
  37. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +24 -0
  38. package/es/library/dot/components/form/frameworks/ui/sub-components/MiddleSection.js +24 -0
  39. package/es/library/dot/components/form/frameworks/ui/sub-components/Sections.js +7 -2
  40. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsLayout.js +20 -0
  41. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsWithRightPanelLayout.js +42 -0
  42. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/Checkbox.js +4 -3
  43. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +19 -17
  44. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  45. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +20 -17
  46. package/es/library/dot/components/form-fields/date/frameworks/ui/Date.js +2 -3
  47. package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +22 -19
  48. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTime.js +2 -3
  49. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +21 -18
  50. package/es/library/dot/components/form-fields/decimal/frameworks/ui/Decimal.js +2 -3
  51. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +22 -19
  52. package/es/library/dot/components/form-fields/email/frameworks/ui/Email.js +2 -3
  53. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +22 -19
  54. package/es/library/dot/components/form-fields/field/FieldItem.js +36 -0
  55. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +13 -0
  56. package/es/library/dot/components/form-fields/index.js +2 -1
  57. package/es/library/dot/components/form-fields/lookup/frameworks/ui/EventHandlerFactory.js +70 -0
  58. package/es/library/dot/components/form-fields/lookup/frameworks/ui/Lookup.js +13 -0
  59. package/es/library/dot/components/form-fields/lookup/frameworks/ui/LookupView.js +51 -0
  60. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelect.js +2 -3
  61. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +21 -18
  62. package/es/library/dot/components/form-fields/number/frameworks/ui/Number.js +2 -3
  63. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +22 -19
  64. package/es/library/dot/components/form-fields/percentage/frameworks/ui/Percentage.js +2 -3
  65. package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +22 -19
  66. package/es/library/dot/components/form-fields/phone/frameworks/ui/Phone.js +2 -3
  67. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +22 -19
  68. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickList.js +2 -3
  69. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +21 -18
  70. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextArea.js +4 -3
  71. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +21 -18
  72. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBox.js +2 -3
  73. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +21 -18
  74. package/es/library/dot/components/form-fields/url/frameworks/ui/Url.js +2 -3
  75. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +22 -19
  76. package/es/library/dot/components/section/frameworks/ui/SectionView.js +1 -1
  77. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +3 -3
  78. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +1 -1
  79. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +18 -1
  80. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +3 -0
  81. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  82. package/es/library/dot/{components/form-fields/ephi-tag/frameworks/ui/css/EPHITag.module.css → legacy-to-new-arch/highlighted-value/frameworks/ui/css/HighlightedValue.module.css} +1 -1
  83. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +16 -12
  84. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +3 -5
  85. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +23 -3
  86. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +37 -0
  87. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +16 -4
  88. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +23 -5
  89. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +40 -0
  90. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +13 -3
  91. package/es/platform/client-actions/bc/zclient-actions/SdkContract.js +35 -0
  92. package/es/platform/client-actions/behaviour/zclient-actions/adapters/resources/ClientActionResource.js +105 -0
  93. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionLocationUseCase.js +20 -0
  94. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionUIComponentPropertiesUseCase.js +20 -0
  95. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionsUseCase.js +18 -0
  96. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/UpdateClientActionUIComponentPropertiesUseCase.js +32 -0
  97. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientAction.js +12 -0
  98. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActionManager.js +45 -0
  99. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/UIComponentMapping.js +10 -0
  100. package/es/platform/client-actions/behaviour/zclient-actions/frameworks/sdk/ClientActionsSDKFactory.js +29 -0
  101. package/es/platform/client-actions/cc/action-event-mediator/Properties.js +9 -0
  102. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +1 -1
  103. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +1 -1
  104. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +7 -3
  105. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +3 -1
  106. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +4 -2
  107. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +1 -0
  108. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +5 -1
  109. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +4 -1
  110. package/es/platform/components/app/adapters/resources/AppResource.js +13 -0
  111. package/es/platform/components/form-connected/adapters/resources/SmartFormResources.js +88 -6
  112. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +31 -58
  113. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +6 -9
  114. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +16 -2
  115. package/es/platform/components/form-connected/frameworks/FormSdkFactory.js +2 -2
  116. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +17 -3
  117. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +2 -2
  118. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +6 -1
  119. package/es/platform/data-source/http-template/deleteRecords.js +1 -1
  120. package/es/platform/data-source/http-template/fetchLookupFields.js +24 -0
  121. package/es/platform/data-source/http-template/fetchValidationRules.js +2 -1
  122. package/es/platform/data-source/http-template/getClientActions.js +2 -2
  123. package/es/platform/data-source/http-template/moveToTrash.js +28 -0
  124. package/es/platform/data-source/index.js +5 -1
  125. package/es/platform/data-source/utils/validation-rules/FieldConditions.js +167 -0
  126. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +98 -0
  127. package/es/platform/sdk/adapters/gateways/Service.js +4 -0
  128. package/es/platform/sdk/application/usecases/GetResourcesUseCase.js +12 -0
  129. package/es/platform/sdk/domain/entities/ResourceManager.js +21 -11
  130. package/es/platform/sdk/frameworks/Sdk.js +20 -2
  131. package/es/platform/sdk/frameworks/SdkRegistry.js +9 -0
  132. package/es/platform/zdata-source/applications/usecases/SuccessUseCase.js +1 -1
  133. package/es/platform/zform/adapters/controllers/FieldBlurController.js +26 -0
  134. package/es/platform/zform/adapters/controllers/LookupFieldController.js +23 -0
  135. package/es/platform/zform/adapters/controllers/MyFromSuccessController.js +8 -2
  136. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +21 -0
  137. package/es/platform/zform/adapters/controllers/ValidateFieldRequestController.js +10 -5
  138. package/es/platform/zform/adapters/controllers/ValidationRulesExecutionResultController.js +23 -0
  139. package/es/platform/zform/adapters/controllers/ValidationRulesRequestController.js +2 -4
  140. package/es/platform/zform/adapters/controllers/ValidationRulesSuccessController.js +2 -4
  141. package/es/platform/zform/adapters/gateway/Service.js +19 -7
  142. package/es/platform/zform/adapters/presenter/FormTranslator.js +87 -5
  143. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +61 -4
  144. package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +7 -3
  145. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +5 -9
  146. package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +7 -3
  147. package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +7 -3
  148. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +6 -9
  149. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +6 -9
  150. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +7 -10
  151. package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +6 -3
  152. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +6 -9
  153. package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +6 -9
  154. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +6 -9
  155. package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +6 -3
  156. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +5 -9
  157. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +8 -8
  158. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +6 -9
  159. package/es/platform/zform/adapters/presenter/utils/DefaultClientActions.js +130 -0
  160. package/es/platform/zform/applications/usecases/AbstractUseCase.js +3 -1
  161. package/es/platform/zform/applications/usecases/FieldBlurUseCase.js +39 -0
  162. package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +9 -13
  163. package/es/platform/zform/applications/usecases/FocusFieldUseCase.js +19 -0
  164. package/es/platform/zform/applications/usecases/FormSubmitUseCase.js +19 -38
  165. package/es/platform/zform/applications/usecases/GetFieldErrorMessageUseCase.js +16 -0
  166. package/es/platform/zform/applications/usecases/InitializeUseCase.js +16 -0
  167. package/es/platform/zform/applications/usecases/InsertValidationRuleSuccessUseCase.js +22 -0
  168. package/es/platform/zform/applications/usecases/LookupFieldSuccessUseCase.js +40 -0
  169. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +97 -13
  170. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +4 -33
  171. package/es/platform/zform/applications/usecases/SetFieldErrorMessageUseCase.js +4 -4
  172. package/es/platform/zform/applications/usecases/SetFieldValueUseCase.js +4 -21
  173. package/es/platform/zform/applications/usecases/SetFieldsValuesUseCase.js +4 -26
  174. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +62 -0
  175. package/es/platform/zform/applications/usecases/ValidateFieldUseCase.js +33 -0
  176. package/es/platform/zform/applications/usecases/ValidationRulesExecutionResultUseCase.js +23 -0
  177. package/es/platform/zform/domain/ZField.js +32 -7
  178. package/es/platform/zform/domain/ZForm.js +114 -45
  179. package/es/platform/zform/domain/interfaces/IZForm.js +5 -1
  180. package/es/platform/zform/domain/interfaces/ValidationConditions.js +142 -0
  181. package/es/platform/zform/frameworks/layout-rules/calculateLayoutRulesResult.js +1 -1
  182. package/es/platform/zform/frameworks/layout-rules/runSingleFieldCondition.js +1 -1
  183. package/es/platform/zform/frameworks/layout-rules/validator.js +0 -1
  184. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +42 -138
  185. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +4 -9
  186. package/es/platform/zform/frameworks/validation-rules/DefaultCustomValidators.js +340 -0
  187. package/es/platform/zform/frameworks/validation-rules/Validator.js +98 -16
  188. package/es/platform/zform/frameworks/validation-rules/formUtils.js +7 -0
  189. package/es/platform/zform/frameworks/validation-rules/localization_utils.js +15 -0
  190. package/es/platform/zform/frameworks/validation-rules/utils.js +402 -351
  191. package/es/platform/zform/frameworks/validation-rules/validationRules.js +80 -79
  192. package/es/platform/zlist/adapters/presenters/TableTranslator.js +3 -2
  193. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +4 -1
  194. package/es/platform/zlist/domain/entities/List.js +11 -4
  195. package/es/platform/zrecord/adapters/controllers/SetRecordsController.js +7 -3
  196. package/es/platform/zrecord/applications/usecases/SetRecordsUseCase.js +11 -1
  197. package/package.json +4 -4
  198. package/es/bc/field-validation/Constants.js +0 -4
  199. package/es/bc/field-validation/EventHandlers.js +0 -1
  200. package/es/bc/field-validation/Events.js +0 -106
  201. package/es/bc/field-validation/FieldTypes.js +0 -20
  202. package/es/bc/field-validation/Properties.js +0 -11
  203. package/es/bc/field-validation/index.js +0 -5
  204. package/es/cc/ephi-tag/Properties.js +0 -1
  205. package/es/cc/ephi-tag/index.js +0 -1
  206. package/es/cc/info-icon/Properties.js +0 -10
  207. package/es/cc/info-icon/index.js +0 -1
  208. package/es/library/behaviours/field-validation/adapters/controllers/AbstractController.js +0 -9
  209. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldController.js +0 -32
  210. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldsController.js +0 -31
  211. package/es/library/behaviours/field-validation/adapters/gateway/Repository.js +0 -23
  212. package/es/library/behaviours/field-validation/adapters/gateway/Service.js +0 -18
  213. package/es/library/behaviours/field-validation/applications/interfaces/input/FieldData.js +0 -17
  214. package/es/library/behaviours/field-validation/applications/usecases/AbstractUseCase.js +0 -15
  215. package/es/library/behaviours/field-validation/applications/usecases/ValidateField.js +0 -29
  216. package/es/library/behaviours/field-validation/applications/usecases/ValidateFields.js +0 -28
  217. package/es/library/behaviours/field-validation/domain/FieldValidation.js +0 -94
  218. package/es/library/behaviours/field-validation/domain/field-vise-validations/BooleanValidation.js +0 -28
  219. package/es/library/behaviours/field-validation/domain/field-vise-validations/CurrencyValidation.js +0 -49
  220. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateTimeValidation.js +0 -24
  221. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateValidation.js +0 -24
  222. package/es/library/behaviours/field-validation/domain/field-vise-validations/DecimalValidation.js +0 -49
  223. package/es/library/behaviours/field-validation/domain/field-vise-validations/EmailValidation.js +0 -28
  224. package/es/library/behaviours/field-validation/domain/field-vise-validations/IntegerValidation.js +0 -39
  225. package/es/library/behaviours/field-validation/domain/field-vise-validations/LookUpValidation.js +0 -24
  226. package/es/library/behaviours/field-validation/domain/field-vise-validations/MultiSelectValidation.js +0 -26
  227. package/es/library/behaviours/field-validation/domain/field-vise-validations/PercentValidation.js +0 -28
  228. package/es/library/behaviours/field-validation/domain/field-vise-validations/PhoneValidation.js +0 -39
  229. package/es/library/behaviours/field-validation/domain/field-vise-validations/PicklistValidation.js +0 -24
  230. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextAreaValidation.js +0 -39
  231. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextBoxValidation.js +0 -39
  232. package/es/library/behaviours/field-validation/domain/field-vise-validations/URLValidation.js +0 -28
  233. package/es/library/behaviours/field-validation/domain/interfaces/FieldTypes.js +0 -20
  234. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsEnum.js +0 -22
  235. package/es/library/behaviours/field-validation/domain/interfaces/fields/IBooleanField.js +0 -0
  236. package/es/library/behaviours/field-validation/domain/interfaces/fields/ICurrencyField.js +0 -0
  237. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateField.js +0 -0
  238. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateTimeField.js +0 -0
  239. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDecimalField.js +0 -0
  240. package/es/library/behaviours/field-validation/domain/interfaces/fields/IEmailField.js +0 -0
  241. package/es/library/behaviours/field-validation/domain/interfaces/fields/IIntegerField.js +0 -0
  242. package/es/library/behaviours/field-validation/domain/interfaces/fields/ILookUpField.js +0 -0
  243. package/es/library/behaviours/field-validation/domain/interfaces/fields/IMultiSelectField.js +0 -0
  244. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPercentField.js +0 -0
  245. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPhoneField.js +0 -0
  246. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPicklistField.js +0 -0
  247. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextAreaField.js +0 -0
  248. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextBoxField.js +0 -0
  249. package/es/library/behaviours/field-validation/domain/interfaces/fields/IURLField.js +0 -0
  250. package/es/library/behaviours/field-validation/frameworks/ui/EventHandlerFactory.js +0 -23
  251. package/es/library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory.js +0 -27
  252. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/BooleanFieldValidation.test.js +0 -137
  253. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/CurrencyFieldValidation.test.js +0 -228
  254. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateFieldValidation.test.js +0 -108
  255. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateTimeFieldValidation.test.js +0 -108
  256. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DecimalFieldValidation.test.js +0 -257
  257. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/EmailFieldValidation.test.js +0 -139
  258. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/FieldValidationBehaviour.test.js +0 -171
  259. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/IntegerFieldValidation.test.js +0 -168
  260. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/LookUpFieldValidation.test.js +0 -108
  261. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/MultiSelectFieldValidation.test.js +0 -79
  262. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PercentFieldValidation.test.js +0 -108
  263. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PhoneFieldValidation.test.js +0 -168
  264. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PicklistFieldValidation.test.js +0 -79
  265. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextAreaFieldValidation.test.js +0 -170
  266. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextBoxFieldValidation.test.js +0 -170
  267. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/URLFieldValidation.test.js +0 -108
  268. package/es/library/behaviours/field-validation/frameworks/utils/FormBasicValidationAdaptor.js +0 -228
  269. package/es/library/behaviours/field-validation/frameworks/utils/__tests__/formValidate.test.js +0 -284
  270. package/es/library/behaviours/field-validation/frameworks/utils/formValidate.js +0 -334
  271. package/es/library/dot/components/form-fields/checkbox/adapters/presenter/TransformState.js +0 -22
  272. package/es/library/dot/components/form-fields/currency/adapters/presenter/TransformState.js +0 -81
  273. package/es/library/dot/components/form-fields/date/adapters/presenter/TransformState.js +0 -22
  274. package/es/library/dot/components/form-fields/datetime/adapters/presenter/TransformState.js +0 -22
  275. package/es/library/dot/components/form-fields/decimal/adapters/presenter/TransformState.js +0 -31
  276. package/es/library/dot/components/form-fields/email/adapters/presenter/TransformState.js +0 -23
  277. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITag.js +0 -10
  278. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITagView.js +0 -21
  279. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIcon.js +0 -10
  280. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIconView.js +0 -21
  281. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/css/InfoIcon.module.css +0 -3
  282. package/es/library/dot/components/form-fields/multi-select/adapters/presenter/TransformState.js +0 -31
  283. package/es/library/dot/components/form-fields/number/adapters/presenter/TransformState.js +0 -31
  284. package/es/library/dot/components/form-fields/percentage/adapters/presenter/TransformState.js +0 -31
  285. package/es/library/dot/components/form-fields/phone/adapters/presenter/TransformState.js +0 -31
  286. package/es/library/dot/components/form-fields/pick-list/adapters/presenter/TransformState.js +0 -23
  287. package/es/library/dot/components/form-fields/textarea/adapters/presenter/TransformState.js +0 -23
  288. package/es/library/dot/components/form-fields/textbox/adapters/presenter/TransformState.js +0 -32
  289. package/es/library/dot/components/form-fields/url/adapters/presenter/TransformState.js +0 -31
  290. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelAction.js +0 -9
  291. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelActionView.js +0 -38
  292. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/css/LabelAction.module.css +0 -4
  293. package/es/platform/zform/adapters/controllers/ValidateErrorMessageController.js +0 -22
  294. package/es/platform/zform/applications/usecases/ValidateErrorMessageUseCase.js +0 -33
  295. package/es/platform/zform/applications/usecases/ValidateFieldRequestUseCase.js +0 -56
  296. /package/es/{library/behaviours/field-validation/applications/interfaces/UseCaseDependencies.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/IClientActionResource.js} +0 -0
  297. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IRepository.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionLocationInputModel.js} +0 -0
  298. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IService.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionUIComponentPropertiesInputModel.js} +0 -0
  299. /package/es/{library/behaviours/field-validation/applications/interfaces/input/FieldValidationInputModel.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionsInputModel.js} +0 -0
  300. /package/es/{library/behaviours/field-validation/applications/interfaces/input/ValidateFieldsInputModel.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/UpdateClientActionUIComponentPropertiesInputModel.js} +0 -0
  301. /package/es/{library/behaviours/field-validation/domain/interfaces/IFieldValidation.js → platform/zform/applications/interfaces/input/FieldBlurUsecaseInputModel.js} +0 -0
  302. /package/es/{library/behaviours/field-validation/domain/interfaces/IFieldViseValidation.js → platform/zform/applications/interfaces/input/FocusFieldUseCaseInputModel.js} +0 -0
  303. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationResult.js → platform/zform/applications/interfaces/input/GetFieldErrorMessageInputModel.js} +0 -0
  304. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationsArray.js → platform/zform/applications/interfaces/input/InsertValidationRuleInputModel.js} +0 -0
  305. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationsMap.js → platform/zform/applications/interfaces/input/LookUpFieldSuccessUseCaseInputModel.js} +0 -0
  306. /package/es/{library/behaviours/field-validation/domain/interfaces/IField.js → platform/zform/applications/interfaces/input/SubmitValidationCompletedUsecaseInputModel.js} +0 -0
  307. /package/es/platform/zform/applications/interfaces/input/{ValidateErrorMessageInputModel.js → ValidateFieldUseCaseInputModel.js} +0 -0
@@ -18,10 +18,15 @@ import SdkBehaviourFactory from "../../../sdk-behaviour/frameworks/SdkBehaviourF
18
18
  import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
19
19
  import { sdkRegistry } from "../../../sdk/frameworks/SdkRegistry";
20
20
  import { SmartTableResource } from "../adapters/resources/SmartTableResource";
21
+ import { ClientActionResource } from "../../../client-actions/behaviour/zclient-actions/adapters/resources/ClientActionResource";
21
22
  sdkRegistry.registerResource({
22
23
  resourceName: ResourceNamesEnum.SMART_TABLE,
23
24
  resource: SmartTableResource
24
25
  });
26
+ sdkRegistry.registerResource({
27
+ resourceName: ResourceNamesEnum.CLIENT_ACTION,
28
+ resource: ClientActionResource
29
+ });
25
30
  import KeyboardControlBehaviourFactory from "../../../../library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory";
26
31
 
27
32
  function combineDataSourceWithDefault(dataSource) {
@@ -62,7 +67,7 @@ export default class TableConnectedFactory {
62
67
  }
63
68
 
64
69
  static getBehaviours(_dataSource) {
65
- return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
70
+ return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE, ResourceNamesEnum.CLIENT_ACTION]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
66
71
  }
67
72
 
68
73
  static getPlatformBehaviours(_dataSource) {
@@ -1,6 +1,6 @@
1
1
  const deleteRecords = {
2
2
  name: 'records',
3
- api: '/{{servicePrefix}}/{{orgName}}/api/v1/{{moduleName}}/moveToTrash',
3
+ api: '/{{servicePrefix}}/{{orgName}}/api/v1/records/deleteMany',
4
4
  parameters: `{}`,
5
5
  type: 'POST',
6
6
  transformer: data => data,
@@ -0,0 +1,24 @@
1
+ const fetchLookupFields = {
2
+ name: 'fetchLookupFields',
3
+ api: '/{{servicePrefix}}/{{orgName}}/api/v1/layouts/{{layoutId}}/lookupFields',
4
+ parameters: `{}`,
5
+ type: 'GET',
6
+ transformer: data => data,
7
+ getResponse: async _ref => {
8
+ let {
9
+ params,
10
+ payload
11
+ } = _ref;
12
+ },
13
+ properties: {
14
+ layoutId: {
15
+ required: true,
16
+ typeMetadata: {
17
+ schema: {
18
+ type: 'string'
19
+ }
20
+ }
21
+ }
22
+ }
23
+ };
24
+ export default fetchLookupFields;
@@ -1,10 +1,11 @@
1
1
  // Assuming GetTemplate interface is similar to PatchTemplate
2
+ import { transFormValidationRules } from "../utils/validation-rules/TransFormValidationRules";
2
3
  const fetchValidationRules = {
3
4
  name: 'fetchValidationRules',
4
5
  api: '/{{servicePrefix}}/{{orgName}}/api/v1/layouts/{{layoutId}}/validationRules',
5
6
  parameters: `{"activeRulesOnly":{{activeRulesOnly}}}`,
6
7
  type: 'GET',
7
- transformer: data => data,
8
+ transformer: transFormValidationRules,
8
9
  properties: {
9
10
  layoutId: {
10
11
  required: true,
@@ -4,8 +4,8 @@ let getClientActions = {
4
4
  parameters: `{
5
5
  "from":{{from}},
6
6
  "limit":{{limit}},
7
- "component": "{{component}}",
8
- "module": "{{moduleName}}"
7
+ "components": "{{components}}",
8
+ "modules": "{{modules}}"
9
9
  }`,
10
10
  type: 'GET',
11
11
  transformer: data => data,
@@ -0,0 +1,28 @@
1
+ const moveToTrash = {
2
+ name: 'records',
3
+ api: '/{{servicePrefix}}/{{orgName}}/api/v1/{{moduleName}}/moveToTrash',
4
+ parameters: `{}`,
5
+ type: 'POST',
6
+ transformer: data => data,
7
+ requestBody: '{ "recordIds": {{recordIds}} }',
8
+ // REVIEW: Is `entityIds` applicable to all modules? To be confirmed with backend team
9
+ properties: {
10
+ moduleName: {
11
+ required: true,
12
+ typeMetadata: {
13
+ schema: {
14
+ type: 'string'
15
+ }
16
+ }
17
+ },
18
+ recordIds: {
19
+ required: true,
20
+ typeMetadata: {
21
+ schema: {
22
+ type: 'array'
23
+ }
24
+ }
25
+ }
26
+ }
27
+ };
28
+ export default moveToTrash;
@@ -8,6 +8,7 @@ import getClientActions from "./http-template/getClientActions";
8
8
  import reOrderRecord from "./http-template/reOrderRecord";
9
9
  import { RecordApiActionName } from "../../bc/zrecord/Constants";
10
10
  import deleteRecord from "./http-template/deleteRecord";
11
+ import moveToTrash from "./http-template/moveToTrash";
11
12
  import fetchMyLayouts from "./http-template/fetchMyFormLayout";
12
13
  import fetchMyForm from "./http-template/fetchMyForm";
13
14
  import fetchLayoutRules from "./http-template/fetchLayoutRules";
@@ -15,10 +16,12 @@ import fetchDependencyMappings from "./http-template/fetchDependencyMappings";
15
16
  import fetchValidationRules from "./http-template/fetchValidationRules";
16
17
  import createRecord from "./http-template/createRecord";
17
18
  import updateSelectedFields from "./http-template/updateSelectedFields";
19
+ import fetchLookupFields from "./http-template/fetchLookupFields";
18
20
  let dataSource = {
19
21
  httpTemplates: {
20
22
  [RecordApiActionName.GET_RECORDS]: getRecords,
21
23
  [RecordApiActionName.UPDATE_RECORD]: updateRecord,
24
+ [RecordApiActionName.MOVE_TO_TRASH]: moveToTrash,
22
25
  [RecordApiActionName.DELETE_RECORDS]: deleteRecords,
23
26
  [RecordApiActionName.DELETE_RECORD]: deleteRecord,
24
27
  [RecordApiActionName.CREATE_RECORD]: createRecord,
@@ -31,7 +34,8 @@ let dataSource = {
31
34
  fetchMyForm,
32
35
  fetchLayoutRules,
33
36
  fetchDependencyMappings,
34
- fetchValidationRules
37
+ fetchValidationRules,
38
+ fetchLookupFields
35
39
  }
36
40
  };
37
41
  export default dataSource; // let ticketsRecordSerice = createRecord(tickets, () => {});
@@ -0,0 +1,167 @@
1
+ import { BooleanValidationConditions, TextValidationConditions } from "../../../zform/domain/interfaces/ValidationConditions";
2
+ import { i18NProviderUtils } from '@zohodesk/i18n';
3
+ import { ValidationEvents } from "../../../zform/domain/interfaces/IZForm";
4
+ export function MandatoryCondition(field) {
5
+ const {
6
+ apiName,
7
+ i18NLabel,
8
+ isMandatory
9
+ } = field;
10
+ const mandatoryCondition = {
11
+ name: 'Field - Cannot be empty',
12
+ executeOn: [ValidationEvents.blur],
13
+ pattern: '1',
14
+ conditions: [{
15
+ condition: TextValidationConditions.IsEmpty,
16
+ // ["${NOTEMPTY}"]
17
+ fieldName: apiName,
18
+ value: ['${EMPTY}']
19
+ }],
20
+ actions: {
21
+ alert: i18NProviderUtils.getI18NValue('crm.field.empty.check', [i18NLabel])
22
+ }
23
+ };
24
+ return isMandatory ? mandatoryCondition : null;
25
+ }
26
+ export function BooleanMandatoryCondition(field) {
27
+ const {
28
+ apiName,
29
+ i18NLabel,
30
+ isMandatory
31
+ } = field;
32
+ const mandatoryCondition = {
33
+ name: 'Boolean Field - Cannot be empty',
34
+ executeOn: [ValidationEvents.blur],
35
+ pattern: '1',
36
+ conditions: [{
37
+ condition: BooleanValidationConditions.Is,
38
+ fieldName: apiName,
39
+ value: ['false']
40
+ }],
41
+ actions: {
42
+ alert: i18NProviderUtils.getI18NValue('crm.field.empty.check', [i18NLabel])
43
+ }
44
+ };
45
+ return isMandatory ? mandatoryCondition : null;
46
+ }
47
+ export function MaxLengthCondition(field) {
48
+ const {
49
+ apiName,
50
+ i18NLabel,
51
+ maxLength
52
+ } = field;
53
+ const maxLengthCondition = {
54
+ name: 'Field - Max Length Exceeded',
55
+ executeOn: [ValidationEvents.blur],
56
+ pattern: '1',
57
+ conditions: [{
58
+ condition: TextValidationConditions.IsNot,
59
+ fieldName: apiName,
60
+ value: [`maxLength:/(${btoa(`.{0,${maxLength}}`)})/`]
61
+ }],
62
+ actions: {
63
+ alert: i18NProviderUtils.getI18NValue('support.form.more.than.max.length', [i18NLabel, maxLength])
64
+ }
65
+ };
66
+ return maxLength ? maxLengthCondition : null;
67
+ }
68
+ export function CustomMaxLengthCondition(field) {
69
+ const {
70
+ maxLength
71
+ } = field;
72
+ const maxLengthCondition = {
73
+ executeOn: [ValidationEvents.blur],
74
+ validator: {
75
+ scriptId: 'maxLengthValidation'
76
+ }
77
+ };
78
+ return maxLength ? maxLengthCondition : null;
79
+ }
80
+ export function EmailCondition() {
81
+ return {
82
+ executeOn: [ValidationEvents.blur],
83
+ validator: {
84
+ scriptId: 'emailValidation'
85
+ }
86
+ };
87
+ }
88
+ export function PhoneCondition() {
89
+ return {
90
+ executeOn: [ValidationEvents.blur],
91
+ validator: {
92
+ scriptId: 'phoneValidation'
93
+ }
94
+ };
95
+ }
96
+ export function NumberCondition() {
97
+ return {
98
+ executeOn: [ValidationEvents.blur],
99
+ validator: {
100
+ scriptId: 'numberValidation'
101
+ }
102
+ };
103
+ }
104
+ export function DecimalCondition() {
105
+ return {
106
+ executeOn: [ValidationEvents.blur],
107
+ validator: {
108
+ scriptId: 'decimalValidation'
109
+ }
110
+ };
111
+ }
112
+ export function DecimalPlacesCondition(field) {
113
+ const {
114
+ decimalPlaces
115
+ } = field;
116
+ const decimalPlacesCondition = {
117
+ executeOn: [ValidationEvents.blur],
118
+ validator: {
119
+ scriptId: 'decimalPlacesValidation'
120
+ }
121
+ };
122
+ return decimalPlaces ? decimalPlacesCondition : null;
123
+ }
124
+ export function DateCondition() {
125
+ return {
126
+ executeOn: [ValidationEvents.blur],
127
+ validator: {
128
+ scriptId: 'dateValidation'
129
+ }
130
+ };
131
+ }
132
+ export function CustomMandatoryCondition(field) {
133
+ const {
134
+ isMandatory
135
+ } = field;
136
+ const mandatoryCondition = {
137
+ executeOn: [ValidationEvents.blur],
138
+ validator: {
139
+ scriptId: 'customMandatoryValidation'
140
+ }
141
+ };
142
+ return isMandatory ? mandatoryCondition : null;
143
+ }
144
+ export function PicklistMandatoryCondition(field) {
145
+ const {
146
+ isMandatory
147
+ } = field;
148
+ const mandatoryCondition = {
149
+ executeOn: [ValidationEvents.blur],
150
+ validator: {
151
+ scriptId: 'picklistMandatoryValidation'
152
+ }
153
+ };
154
+ return isMandatory ? mandatoryCondition : null;
155
+ }
156
+ export function MultiSelectMandatoryCondition(field) {
157
+ const {
158
+ isMandatory
159
+ } = field;
160
+ const mandatoryCondition = {
161
+ executeOn: [ValidationEvents.blur],
162
+ validator: {
163
+ scriptId: 'multiSelectMandatoryValidation'
164
+ }
165
+ };
166
+ return isMandatory ? mandatoryCondition : null;
167
+ }
@@ -0,0 +1,98 @@
1
+ import { BooleanMandatoryCondition, CustomMandatoryCondition, CustomMaxLengthCondition, DateCondition, DecimalCondition, DecimalPlacesCondition, EmailCondition, MandatoryCondition, MaxLengthCondition, MultiSelectMandatoryCondition, NumberCondition, PhoneCondition, PicklistMandatoryCondition } from "./FieldConditions";
2
+ export function transFormValidationRules(validationRulesRes, _ref) {
3
+ let {
4
+ fields
5
+ } = _ref;
6
+ const validationRules = validationRulesRes.data;
7
+ const fieldValidationRules = fields.map(getBasicValidationRulesForField);
8
+ return {
9
+ data: [...fieldValidationRules, ...validationRules]
10
+ };
11
+ }
12
+ const map = {
13
+ Text: TextFieldConditions,
14
+ Textarea: TextFieldConditions,
15
+ Email: EmailFieldConditions,
16
+ URL: URLFieldConditions,
17
+ Phone: PhoneFieldConditions,
18
+ Boolean: BooleanFieldConditions,
19
+ Number: NumberFieldConditions,
20
+ Percent: PercentFieldConditions,
21
+ Currency: CurrencyFieldConditions,
22
+ Decimal: DecimalFieldConditions,
23
+ Date: DateFieldConditions,
24
+ DateTime: DateTimeFieldConditions,
25
+ Picklist: PicklistFieldConditions,
26
+ Multiselect: MultiSelectFieldConditions,
27
+ LookUp: LookupFieldConditions
28
+ };
29
+ export function getBasicValidationRulesForField(field) {
30
+ const {
31
+ apiName,
32
+ type
33
+ } = field;
34
+ const getFieldConditions = map[type];
35
+ return {
36
+ fieldName: apiName,
37
+ id: `vr_${apiName}_1`,
38
+ layoutId: '',
39
+ status: 'ACTIVE',
40
+ fieldConditions: getFieldConditions(field).filter(Boolean)
41
+ };
42
+ }
43
+
44
+ function LookupFieldConditions(field) {
45
+ return [MandatoryCondition(field)];
46
+ }
47
+
48
+ function TextFieldConditions(field) {
49
+ return [MandatoryCondition(field), MaxLengthCondition(field)];
50
+ }
51
+
52
+ function EmailFieldConditions(field) {
53
+ return [MandatoryCondition(field), MaxLengthCondition(field), EmailCondition()];
54
+ }
55
+
56
+ function URLFieldConditions(field) {
57
+ return [MandatoryCondition(field), MaxLengthCondition(field)];
58
+ }
59
+
60
+ function PhoneFieldConditions(field) {
61
+ return [MandatoryCondition(field), MaxLengthCondition(field), PhoneCondition()];
62
+ }
63
+
64
+ function BooleanFieldConditions(field) {
65
+ return [BooleanMandatoryCondition(field)];
66
+ }
67
+
68
+ function NumberFieldConditions(field) {
69
+ return [CustomMandatoryCondition(field), CustomMaxLengthCondition(field), NumberCondition()];
70
+ }
71
+
72
+ function DecimalFieldConditions(field) {
73
+ return [CustomMandatoryCondition(field), CustomMaxLengthCondition(field), DecimalCondition(), DecimalPlacesCondition(field)];
74
+ }
75
+
76
+ function CurrencyFieldConditions(field) {
77
+ return [CustomMandatoryCondition(field), CustomMaxLengthCondition(field), DecimalCondition(), DecimalPlacesCondition(field)];
78
+ }
79
+
80
+ function PercentFieldConditions(field) {
81
+ return [CustomMandatoryCondition(field), CustomMaxLengthCondition(field), DecimalCondition(), DecimalPlacesCondition(field)];
82
+ }
83
+
84
+ function DateFieldConditions(field) {
85
+ return [CustomMandatoryCondition(field), DateCondition()];
86
+ }
87
+
88
+ function DateTimeFieldConditions(field) {
89
+ return [CustomMandatoryCondition(field), DateCondition()];
90
+ }
91
+
92
+ function PicklistFieldConditions(field) {
93
+ return [PicklistMandatoryCondition(field)];
94
+ }
95
+
96
+ function MultiSelectFieldConditions(field) {
97
+ return [MultiSelectMandatoryCondition(field)];
98
+ }
@@ -1,5 +1,6 @@
1
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
2
 
3
+ import { GetResourcesUseCase } from "../../application/usecases/GetResourcesUseCase";
3
4
  import { CreateResourceInstanceUseCase } from "../../application/usecases/CreateResourceInstanceUseCase";
4
5
  import { DestructResourceInstanceUseCase } from "../../application/usecases/DestructResourceInstanceUseCase";
5
6
  import { GetResourceInstanceUseCase } from "../../application/usecases/GetResourceInstanceUseCase";
@@ -7,6 +8,8 @@ import { RegisterResourceUseCase } from "../../application/usecases/RegisterReso
7
8
  import { SyncStateWithResourceUseCase } from "../../application/usecases/SyncStateWithResourceUseCase";
8
9
  export class Service {
9
10
  constructor(dependencies) {
11
+ _defineProperty(this, "getResourcesUseCase", void 0);
12
+
10
13
  _defineProperty(this, "createResourceInstanceUseCase", void 0);
11
14
 
12
15
  _defineProperty(this, "destructResourceInstanceUseCase", void 0);
@@ -17,6 +20,7 @@ export class Service {
17
20
 
18
21
  _defineProperty(this, "getResourceInstanceUseCase", void 0);
19
22
 
23
+ this.getResourcesUseCase = new GetResourcesUseCase(dependencies);
20
24
  this.createResourceInstanceUseCase = new CreateResourceInstanceUseCase(dependencies);
21
25
  this.destructResourceInstanceUseCase = new DestructResourceInstanceUseCase(dependencies);
22
26
  this.syncStateWithResourceUseCase = new SyncStateWithResourceUseCase(dependencies);
@@ -0,0 +1,12 @@
1
+ import { AbstractUseCase } from "./AbstractUseCase";
2
+ export class GetResourcesUseCase extends AbstractUseCase {
3
+ execute() {
4
+ const {
5
+ repository,
6
+ presenter
7
+ } = this.dependencies;
8
+ const resourceManager = repository.getResourceManager();
9
+ presenter.presentData(resourceManager.getResources());
10
+ }
11
+
12
+ }
@@ -1,3 +1,4 @@
1
+ const DEFAULT_INSTANCE_NAME = '__default__';
1
2
  export class ResourceManager {
2
3
  constructor() {
3
4
  let resources = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -15,6 +16,14 @@ export class ResourceManager {
15
16
  return ((_resourceInstances$re = resourceInstances[resourceName]) === null || _resourceInstances$re === void 0 ? void 0 : _resourceInstances$re[instanceName]) || null;
16
17
  }
17
18
 
19
+ getResources() {
20
+ return Object.fromEntries(Object.entries(this.resourceInstances).map(_ref => {
21
+ let [resourceName, instance] = _ref;
22
+ const instanceName = Object.keys(instance)[0];
23
+ return [resourceName, instanceName === DEFAULT_INSTANCE_NAME ? this.getResourceInstance(resourceName, '__default__') : instanceName => this.getResourceInstance(resourceName, instanceName)];
24
+ }));
25
+ }
26
+
18
27
  createResourceInstance(resourceName, instanceName) {
19
28
  const {
20
29
  resourceInstances,
@@ -22,18 +31,19 @@ export class ResourceManager {
22
31
  } = this;
23
32
  const ResourceClass = resources[resourceName];
24
33
 
25
- if (ResourceClass) {
26
- const instance = new ResourceClass();
27
- instance.initialize();
34
+ if (!ResourceClass) {
35
+ console.warn(`Resource class not found for: ${resourceName}`);
36
+ return;
37
+ }
28
38
 
29
- if (!resourceInstances[resourceName]) {
30
- resourceInstances[resourceName] = {};
31
- }
39
+ const instance = new ResourceClass();
40
+ instance.initialize();
32
41
 
33
- resourceInstances[resourceName][instanceName] = instance;
34
- } else {
35
- console.warn(`Resource class not found for: ${resourceName}`);
42
+ if (!resourceInstances[resourceName]) {
43
+ resourceInstances[resourceName] = {};
36
44
  }
45
+
46
+ resourceInstances[resourceName][instanceName || DEFAULT_INSTANCE_NAME] = instance;
37
47
  }
38
48
 
39
49
  destructResourceInstance(resourceName, instanceName) {
@@ -64,7 +74,7 @@ export class ResourceManager {
64
74
  resources[resourceName] = resource;
65
75
  }
66
76
 
67
- syncStateWithResource(_ref) {
77
+ syncStateWithResource(_ref2) {
68
78
  var _resourceInstances$re3;
69
79
 
70
80
  let {
@@ -73,7 +83,7 @@ export class ResourceManager {
73
83
  state,
74
84
  dispatch,
75
85
  updateState
76
- } = _ref;
86
+ } = _ref2;
77
87
  const {
78
88
  resourceInstances
79
89
  } = this;
@@ -1,6 +1,10 @@
1
1
  import ResourceNamesEnum from "../../../bc/sdk/ResourceNamesEnum";
2
2
  import { sdkRegistry } from "./SdkRegistry";
3
- export const platformSDK = {
3
+
4
+ /**
5
+ * @deprecated
6
+ */
7
+ export const platformSDK_old = {
4
8
  [ResourceNamesEnum.SMART_TABLE](instanceName) {
5
9
  return sdkRegistry.getResourceInstance({
6
10
  resourceName: ResourceNamesEnum.SMART_TABLE,
@@ -8,11 +12,25 @@ export const platformSDK = {
8
12
  });
9
13
  },
10
14
 
15
+ // ['app']: sdkRegistry.getResourceInstance({ resourceName: 'app' }),
11
16
  [ResourceNamesEnum.SMART_FORM](instanceName) {
12
17
  return sdkRegistry.getResourceInstance({
13
18
  resourceName: ResourceNamesEnum.SMART_FORM,
14
19
  instanceName: instanceName
15
20
  });
21
+ },
22
+
23
+ [ResourceNamesEnum.CLIENT_ACTION](instanceName) {
24
+ return sdkRegistry.getResourceInstance({
25
+ resourceName: ResourceNamesEnum.CLIENT_ACTION,
26
+ instanceName
27
+ });
28
+ }
29
+
30
+ };
31
+ export const platformSDK = new Proxy({}, {
32
+ get(_, prop) {
33
+ return sdkRegistry.getResources()[prop];
16
34
  }
17
35
 
18
- };
36
+ });
@@ -35,6 +35,15 @@ export class SdkManager {
35
35
  createResourceInstanceUseCase.execute(input);
36
36
  }
37
37
 
38
+ getResources() {
39
+ const {
40
+ getResourcesUseCase
41
+ } = this.service;
42
+ getResourcesUseCase.updateDependencies(this.state, this.setPresentedData);
43
+ getResourcesUseCase.execute(null);
44
+ return this.presentedData;
45
+ }
46
+
38
47
  destructResourceInstance(input) {
39
48
  const {
40
49
  destructResourceInstanceUseCase
@@ -18,7 +18,7 @@ class SuccessUseCase extends AbstractUseCase {
18
18
 
19
19
  if (dataSource.isMetaHasDataSourceSignature(metaData)) {
20
20
  const transformer = dataSource.getTransformer(actionName);
21
- const transformedResponse = transformer(response);
21
+ const transformedResponse = transformer(response, metaData.transformerArg);
22
22
  const events = dataSource.createSuccessEvents(transformedResponse, metaData);
23
23
  events.forEach(action => {
24
24
  dispatch(action);
@@ -0,0 +1,26 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class FieldBlurController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ fieldBlurUseCase
7
+ } = this.service;
8
+ const {
9
+ state,
10
+ updateState,
11
+ action,
12
+ dispatch
13
+ } = event;
14
+ const {
15
+ fieldName
16
+ } = action.payload;
17
+ fieldBlurUseCase.updateDependency(state, updateState);
18
+ fieldBlurUseCase.execute({
19
+ fieldName,
20
+ dispatch
21
+ });
22
+ }
23
+
24
+ }
25
+
26
+ export default FieldBlurController;
@@ -0,0 +1,23 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class LookupFieldController extends AbstractController {
4
+ handle(event) {
5
+ let {
6
+ lookupFieldSuccessUseCase
7
+ } = this.service;
8
+ let {
9
+ state,
10
+ updateState,
11
+ action,
12
+ dispatch
13
+ } = event;
14
+ lookupFieldSuccessUseCase.updateDependency(state, updateState);
15
+ lookupFieldSuccessUseCase.execute({
16
+ dispatch,
17
+ fieldMetadataResponse: action.payload.response
18
+ });
19
+ }
20
+
21
+ }
22
+
23
+ export default LookupFieldController;
@@ -5,16 +5,22 @@ class MyFormSuccessController extends AbstractController {
5
5
  const {
6
6
  myFormSuccessUseCase
7
7
  } = this.service;
8
- let {
8
+ const {
9
9
  state,
10
10
  updateState,
11
11
  action,
12
12
  dispatch
13
13
  } = event;
14
+ const {
15
+ disableValidationRule,
16
+ disableLayoutRule
17
+ } = state.properties;
14
18
  myFormSuccessUseCase.updateDependency(state, updateState);
15
19
  myFormSuccessUseCase.execute({
16
20
  dispatch,
17
- myForm: action.payload.response
21
+ myForm: action.payload.response,
22
+ disableValidationRule,
23
+ disableLayoutRule
18
24
  });
19
25
  }
20
26
 
@@ -0,0 +1,21 @@
1
+ import AbstractController from "./AbstractController";
2
+
3
+ class SubmitValidationCompletedController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ submitValidationCompletedUseCase
7
+ } = this.service;
8
+ const {
9
+ state,
10
+ updateState,
11
+ dispatch
12
+ } = event;
13
+ submitValidationCompletedUseCase.updateDependency(state, updateState);
14
+ submitValidationCompletedUseCase.execute({
15
+ dispatch
16
+ });
17
+ }
18
+
19
+ }
20
+
21
+ export default SubmitValidationCompletedController;