@zohodesk/library-platform 1.1.7 → 1.1.8-exp.1

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 (281) 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 +6 -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/Properties.js +63 -0
  10. package/es/cc/fields/multi-select/Properties.js +9 -0
  11. package/es/cc/fields/pick-list/Properties.js +9 -0
  12. package/es/cc/form/Properties.js +71 -0
  13. package/es/cc/form-connected/Constants.js +8 -0
  14. package/es/cc/form-connected/Properties.js +87 -0
  15. package/es/cc/form-connected/SdkContract.js +61 -0
  16. package/es/cc/form-connected/index.js +2 -0
  17. package/es/cc/highlighted-value/Properties.js +10 -0
  18. package/es/cc/index.js +1 -1
  19. package/es/cc/multi-select/Properties.js +9 -0
  20. package/es/cc/select/Properties.js +12 -0
  21. package/es/cc/table-connected/Properties.js +8 -0
  22. package/es/cc/table-connected/constants/Events.js +1 -0
  23. package/es/cc/textbox/Properties.js +11 -0
  24. package/es/index.js +2 -1
  25. package/es/library/behaviours/field-focus/frameworks/ui/EventHandlersFactory.js +26 -0
  26. package/es/library/behaviours/field-focus/frameworks/ui/FocusFieldBehaviourFactory.js +20 -0
  27. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
  28. package/es/library/dot/components/action-location/usecases/interactors/PropertiesChangeUseCase.js +1 -1
  29. package/es/library/dot/components/form/adapters/presenter/TransformState.js +14 -54
  30. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +0 -4
  31. package/es/library/dot/components/form/frameworks/ui/FormView.js +21 -39
  32. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +29 -1
  33. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +27 -0
  34. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +24 -0
  35. package/es/library/dot/components/form/frameworks/ui/sub-components/MiddleSection.js +24 -0
  36. package/es/library/dot/components/form/frameworks/ui/sub-components/Sections.js +7 -2
  37. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsLayout.js +20 -0
  38. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsWithRightPanelLayout.js +42 -0
  39. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/Checkbox.js +4 -3
  40. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +18 -14
  41. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  42. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +20 -17
  43. package/es/library/dot/components/form-fields/date/frameworks/ui/Date.js +2 -3
  44. package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +22 -19
  45. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTime.js +2 -3
  46. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +21 -18
  47. package/es/library/dot/components/form-fields/decimal/frameworks/ui/Decimal.js +2 -3
  48. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +22 -19
  49. package/es/library/dot/components/form-fields/email/frameworks/ui/Email.js +2 -3
  50. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +22 -19
  51. package/es/library/dot/components/form-fields/field/FieldItem.js +36 -0
  52. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +13 -0
  53. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelect.js +2 -3
  54. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +21 -18
  55. package/es/library/dot/components/form-fields/number/frameworks/ui/Number.js +2 -3
  56. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +22 -19
  57. package/es/library/dot/components/form-fields/percentage/frameworks/ui/Percentage.js +2 -3
  58. package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +22 -19
  59. package/es/library/dot/components/form-fields/phone/frameworks/ui/Phone.js +2 -3
  60. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +22 -19
  61. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickList.js +2 -3
  62. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +21 -18
  63. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextArea.js +4 -3
  64. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +18 -17
  65. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBox.js +2 -3
  66. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +21 -18
  67. package/es/library/dot/components/form-fields/url/frameworks/ui/Url.js +2 -3
  68. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +22 -19
  69. package/es/library/dot/components/section/frameworks/ui/SectionView.js +1 -1
  70. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +3 -3
  71. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +1 -1
  72. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +13 -1
  73. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  74. 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
  75. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +13 -7
  76. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +12 -2
  77. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +16 -4
  78. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +1 -1
  79. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +13 -3
  80. package/es/platform/client-actions/bc/zclient-actions/SdkContract.js +35 -0
  81. package/es/platform/client-actions/behaviour/zclient-actions/adapters/resources/ClientActionResource.js +105 -0
  82. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionLocationUseCase.js +20 -0
  83. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionUIComponentPropertiesUseCase.js +20 -0
  84. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionsUseCase.js +18 -0
  85. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/UpdateClientActionUIComponentPropertiesUseCase.js +32 -0
  86. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientAction.js +12 -0
  87. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActionManager.js +45 -0
  88. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/UIComponentMapping.js +10 -0
  89. package/es/platform/client-actions/behaviour/zclient-actions/frameworks/sdk/ClientActionsSDKFactory.js +29 -0
  90. package/es/platform/client-actions/cc/action-event-mediator/Properties.js +9 -0
  91. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +1 -1
  92. package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +1 -1
  93. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +7 -3
  94. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +3 -1
  95. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +4 -2
  96. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +4 -1
  97. package/es/platform/components/form-connected/adapters/resources/SmartFormResources.js +88 -6
  98. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +29 -56
  99. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +6 -9
  100. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +16 -2
  101. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +15 -1
  102. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +6 -1
  103. package/es/platform/data-source/http-template/deleteRecords.js +1 -1
  104. package/es/platform/data-source/http-template/fetchValidationRules.js +2 -1
  105. package/es/platform/data-source/http-template/getClientActions.js +2 -2
  106. package/es/platform/data-source/http-template/moveToTrash.js +28 -0
  107. package/es/platform/data-source/index.js +2 -0
  108. package/es/platform/data-source/utils/validation-rules/FieldConditions.js +167 -0
  109. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +93 -0
  110. package/es/platform/sdk/frameworks/Sdk.js +7 -0
  111. package/es/platform/zdata-source/applications/usecases/SuccessUseCase.js +1 -1
  112. package/es/platform/zform/adapters/controllers/FieldBlurController.js +26 -0
  113. package/es/platform/zform/adapters/controllers/MyFromSuccessController.js +8 -2
  114. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +21 -0
  115. package/es/platform/zform/adapters/controllers/ValidateFieldRequestController.js +10 -5
  116. package/es/platform/zform/adapters/controllers/ValidationRulesExecutionResultController.js +23 -0
  117. package/es/platform/zform/adapters/controllers/ValidationRulesRequestController.js +2 -4
  118. package/es/platform/zform/adapters/controllers/ValidationRulesSuccessController.js +2 -4
  119. package/es/platform/zform/adapters/gateway/Service.js +15 -7
  120. package/es/platform/zform/adapters/presenter/FormTranslator.js +87 -5
  121. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +61 -4
  122. package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +7 -3
  123. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +5 -9
  124. package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +7 -3
  125. package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +7 -3
  126. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +6 -9
  127. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +6 -9
  128. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +5 -9
  129. package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +6 -3
  130. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +6 -9
  131. package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +6 -9
  132. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +6 -9
  133. package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +6 -3
  134. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +5 -9
  135. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +8 -8
  136. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +6 -9
  137. package/es/platform/zform/adapters/presenter/utils/DefaultClientActions.js +129 -0
  138. package/es/platform/zform/applications/usecases/AbstractUseCase.js +3 -1
  139. package/es/platform/zform/applications/usecases/FieldBlurUseCase.js +39 -0
  140. package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +9 -13
  141. package/es/platform/zform/applications/usecases/FocusFieldUseCase.js +19 -0
  142. package/es/platform/zform/applications/usecases/FormSubmitUseCase.js +19 -38
  143. package/es/platform/zform/applications/usecases/GetFieldErrorMessageUseCase.js +16 -0
  144. package/es/platform/zform/applications/usecases/InitializeUseCase.js +16 -0
  145. package/es/platform/zform/applications/usecases/InsertValidationRuleSuccessUseCase.js +22 -0
  146. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +63 -13
  147. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +4 -33
  148. package/es/platform/zform/applications/usecases/SetFieldErrorMessageUseCase.js +4 -4
  149. package/es/platform/zform/applications/usecases/SetFieldValueUseCase.js +4 -21
  150. package/es/platform/zform/applications/usecases/SetFieldsValuesUseCase.js +4 -26
  151. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +62 -0
  152. package/es/platform/zform/applications/usecases/ValidateFieldUseCase.js +33 -0
  153. package/es/platform/zform/applications/usecases/ValidationRulesExecutionResultUseCase.js +23 -0
  154. package/es/platform/zform/domain/ZField.js +20 -1
  155. package/es/platform/zform/domain/ZForm.js +114 -45
  156. package/es/platform/zform/domain/interfaces/IZForm.js +5 -1
  157. package/es/platform/zform/domain/interfaces/ValidationConditions.js +142 -0
  158. package/es/platform/zform/frameworks/layout-rules/calculateLayoutRulesResult.js +1 -1
  159. package/es/platform/zform/frameworks/layout-rules/runSingleFieldCondition.js +1 -1
  160. package/es/platform/zform/frameworks/layout-rules/validator.js +0 -1
  161. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +38 -137
  162. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +4 -9
  163. package/es/platform/zform/frameworks/validation-rules/DefaultCustomValidators.js +340 -0
  164. package/es/platform/zform/frameworks/validation-rules/Validator.js +98 -16
  165. package/es/platform/zform/frameworks/validation-rules/formUtils.js +7 -0
  166. package/es/platform/zform/frameworks/validation-rules/localization_utils.js +15 -0
  167. package/es/platform/zform/frameworks/validation-rules/utils.js +402 -351
  168. package/es/platform/zform/frameworks/validation-rules/validationRules.js +80 -79
  169. package/es/platform/zlist/adapters/presenters/TableTranslator.js +3 -2
  170. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +4 -1
  171. package/es/platform/zlist/domain/entities/List.js +11 -4
  172. package/es/platform/zrecord/adapters/controllers/SetRecordsController.js +7 -3
  173. package/es/platform/zrecord/applications/usecases/SetRecordsUseCase.js +11 -1
  174. package/package.json +5 -4
  175. package/es/bc/field-validation/Constants.js +0 -4
  176. package/es/bc/field-validation/EventHandlers.js +0 -1
  177. package/es/bc/field-validation/Events.js +0 -106
  178. package/es/bc/field-validation/FieldTypes.js +0 -20
  179. package/es/bc/field-validation/Properties.js +0 -11
  180. package/es/bc/field-validation/index.js +0 -5
  181. package/es/cc/ephi-tag/Properties.js +0 -1
  182. package/es/cc/ephi-tag/index.js +0 -1
  183. package/es/cc/info-icon/Properties.js +0 -10
  184. package/es/cc/info-icon/index.js +0 -1
  185. package/es/library/behaviours/field-validation/adapters/controllers/AbstractController.js +0 -9
  186. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldController.js +0 -32
  187. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldsController.js +0 -31
  188. package/es/library/behaviours/field-validation/adapters/gateway/Repository.js +0 -23
  189. package/es/library/behaviours/field-validation/adapters/gateway/Service.js +0 -18
  190. package/es/library/behaviours/field-validation/applications/interfaces/input/FieldData.js +0 -17
  191. package/es/library/behaviours/field-validation/applications/usecases/AbstractUseCase.js +0 -15
  192. package/es/library/behaviours/field-validation/applications/usecases/ValidateField.js +0 -29
  193. package/es/library/behaviours/field-validation/applications/usecases/ValidateFields.js +0 -28
  194. package/es/library/behaviours/field-validation/domain/FieldValidation.js +0 -94
  195. package/es/library/behaviours/field-validation/domain/field-vise-validations/BooleanValidation.js +0 -28
  196. package/es/library/behaviours/field-validation/domain/field-vise-validations/CurrencyValidation.js +0 -49
  197. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateTimeValidation.js +0 -24
  198. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateValidation.js +0 -24
  199. package/es/library/behaviours/field-validation/domain/field-vise-validations/DecimalValidation.js +0 -49
  200. package/es/library/behaviours/field-validation/domain/field-vise-validations/EmailValidation.js +0 -28
  201. package/es/library/behaviours/field-validation/domain/field-vise-validations/IntegerValidation.js +0 -39
  202. package/es/library/behaviours/field-validation/domain/field-vise-validations/LookUpValidation.js +0 -24
  203. package/es/library/behaviours/field-validation/domain/field-vise-validations/MultiSelectValidation.js +0 -26
  204. package/es/library/behaviours/field-validation/domain/field-vise-validations/PercentValidation.js +0 -28
  205. package/es/library/behaviours/field-validation/domain/field-vise-validations/PhoneValidation.js +0 -39
  206. package/es/library/behaviours/field-validation/domain/field-vise-validations/PicklistValidation.js +0 -24
  207. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextAreaValidation.js +0 -39
  208. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextBoxValidation.js +0 -39
  209. package/es/library/behaviours/field-validation/domain/field-vise-validations/URLValidation.js +0 -28
  210. package/es/library/behaviours/field-validation/domain/interfaces/FieldTypes.js +0 -20
  211. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsEnum.js +0 -22
  212. package/es/library/behaviours/field-validation/domain/interfaces/fields/IBooleanField.js +0 -0
  213. package/es/library/behaviours/field-validation/domain/interfaces/fields/ICurrencyField.js +0 -0
  214. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateField.js +0 -0
  215. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateTimeField.js +0 -0
  216. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDecimalField.js +0 -0
  217. package/es/library/behaviours/field-validation/domain/interfaces/fields/IEmailField.js +0 -0
  218. package/es/library/behaviours/field-validation/domain/interfaces/fields/IIntegerField.js +0 -0
  219. package/es/library/behaviours/field-validation/domain/interfaces/fields/ILookUpField.js +0 -0
  220. package/es/library/behaviours/field-validation/domain/interfaces/fields/IMultiSelectField.js +0 -0
  221. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPercentField.js +0 -0
  222. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPhoneField.js +0 -0
  223. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPicklistField.js +0 -0
  224. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextAreaField.js +0 -0
  225. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextBoxField.js +0 -0
  226. package/es/library/behaviours/field-validation/domain/interfaces/fields/IURLField.js +0 -0
  227. package/es/library/behaviours/field-validation/frameworks/ui/EventHandlerFactory.js +0 -23
  228. package/es/library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory.js +0 -27
  229. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/BooleanFieldValidation.test.js +0 -137
  230. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/CurrencyFieldValidation.test.js +0 -228
  231. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateFieldValidation.test.js +0 -108
  232. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateTimeFieldValidation.test.js +0 -108
  233. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DecimalFieldValidation.test.js +0 -257
  234. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/EmailFieldValidation.test.js +0 -139
  235. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/FieldValidationBehaviour.test.js +0 -171
  236. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/IntegerFieldValidation.test.js +0 -168
  237. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/LookUpFieldValidation.test.js +0 -108
  238. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/MultiSelectFieldValidation.test.js +0 -79
  239. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PercentFieldValidation.test.js +0 -108
  240. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PhoneFieldValidation.test.js +0 -168
  241. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PicklistFieldValidation.test.js +0 -79
  242. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextAreaFieldValidation.test.js +0 -170
  243. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextBoxFieldValidation.test.js +0 -170
  244. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/URLFieldValidation.test.js +0 -108
  245. package/es/library/behaviours/field-validation/frameworks/utils/FormBasicValidationAdaptor.js +0 -228
  246. package/es/library/behaviours/field-validation/frameworks/utils/__tests__/formValidate.test.js +0 -284
  247. package/es/library/behaviours/field-validation/frameworks/utils/formValidate.js +0 -334
  248. package/es/library/dot/components/form-fields/checkbox/adapters/presenter/TransformState.js +0 -22
  249. package/es/library/dot/components/form-fields/currency/adapters/presenter/TransformState.js +0 -81
  250. package/es/library/dot/components/form-fields/date/adapters/presenter/TransformState.js +0 -22
  251. package/es/library/dot/components/form-fields/datetime/adapters/presenter/TransformState.js +0 -22
  252. package/es/library/dot/components/form-fields/decimal/adapters/presenter/TransformState.js +0 -31
  253. package/es/library/dot/components/form-fields/email/adapters/presenter/TransformState.js +0 -23
  254. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITag.js +0 -10
  255. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITagView.js +0 -21
  256. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIcon.js +0 -10
  257. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIconView.js +0 -21
  258. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/css/InfoIcon.module.css +0 -3
  259. package/es/library/dot/components/form-fields/multi-select/adapters/presenter/TransformState.js +0 -31
  260. package/es/library/dot/components/form-fields/number/adapters/presenter/TransformState.js +0 -31
  261. package/es/library/dot/components/form-fields/percentage/adapters/presenter/TransformState.js +0 -31
  262. package/es/library/dot/components/form-fields/phone/adapters/presenter/TransformState.js +0 -31
  263. package/es/library/dot/components/form-fields/pick-list/adapters/presenter/TransformState.js +0 -23
  264. package/es/library/dot/components/form-fields/textarea/adapters/presenter/TransformState.js +0 -23
  265. package/es/library/dot/components/form-fields/textbox/adapters/presenter/TransformState.js +0 -32
  266. package/es/library/dot/components/form-fields/url/adapters/presenter/TransformState.js +0 -31
  267. package/es/platform/zform/adapters/controllers/ValidateErrorMessageController.js +0 -22
  268. package/es/platform/zform/applications/interfaces/input/ValidateErrorMessageInputModel.js +0 -1
  269. package/es/platform/zform/applications/usecases/ValidateErrorMessageUseCase.js +0 -33
  270. package/es/platform/zform/applications/usecases/ValidateFieldRequestUseCase.js +0 -56
  271. /package/es/{library/behaviours/field-validation/applications/interfaces/UseCaseDependencies.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/IClientActionResource.js} +0 -0
  272. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IRepository.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionLocationInputModel.js} +0 -0
  273. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IService.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionUIComponentPropertiesInputModel.js} +0 -0
  274. /package/es/{library/behaviours/field-validation/applications/interfaces/input/FieldValidationInputModel.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/GetClientActionsInputModel.js} +0 -0
  275. /package/es/{library/behaviours/field-validation/applications/interfaces/input/ValidateFieldsInputModel.js → platform/client-actions/behaviour/zclient-actions/applications/interfaces/input/UpdateClientActionUIComponentPropertiesInputModel.js} +0 -0
  276. /package/es/{library/behaviours/field-validation/domain/interfaces/IFieldValidation.js → platform/zform/applications/interfaces/input/FieldBlurUsecaseInputModel.js} +0 -0
  277. /package/es/{library/behaviours/field-validation/domain/interfaces/IFieldViseValidation.js → platform/zform/applications/interfaces/input/FocusFieldUseCaseInputModel.js} +0 -0
  278. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationResult.js → platform/zform/applications/interfaces/input/GetFieldErrorMessageInputModel.js} +0 -0
  279. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationsArray.js → platform/zform/applications/interfaces/input/InsertValidationRuleInputModel.js} +0 -0
  280. /package/es/{library/behaviours/field-validation/domain/interfaces/IField.js → platform/zform/applications/interfaces/input/SubmitValidationCompletedUsecaseInputModel.js} +0 -0
  281. /package/es/{library/behaviours/field-validation/domain/interfaces/ValidationsMap.js → platform/zform/applications/interfaces/input/ValidateFieldUseCaseInputModel.js} +0 -0
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import ActionEventMediator from "../../../../../../platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator";
2
3
  import TextBox from "@zohodesk/components/es/TextBoxIcon/TextBoxIcon";
3
4
  import TextBoxConstants from "../../../../../../cc/textbox/Constants";
4
5
 
@@ -19,8 +20,16 @@ function TextBoxView(_ref, ref) {
19
20
  value,
20
21
  required,
21
22
  disabled,
22
- readonly
23
+ readonly,
24
+ actions
23
25
  } = state.properties;
26
+
27
+ const renderRightFieldActions = () => {
28
+ return actions !== null && actions !== void 0 && actions.length ? /*#__PURE__*/React.createElement(ActionEventMediator, {
29
+ actions: actions
30
+ }) : null;
31
+ };
32
+
24
33
  return /*#__PURE__*/React.createElement(TextBox, {
25
34
  inputRef: ref,
26
35
  htmlId: id,
@@ -40,7 +49,7 @@ function TextBoxView(_ref, ref) {
40
49
  }),
41
50
  customProps: {
42
51
  TextBoxProps: {
43
- required
52
+ 'aria-required': required
44
53
  }
45
54
  },
46
55
  onChange: value => dispatch({
@@ -48,7 +57,8 @@ function TextBoxView(_ref, ref) {
48
57
  payload: {
49
58
  value
50
59
  }
51
- })
60
+ }),
61
+ renderRightPlaceholderNode: renderRightFieldActions()
52
62
  });
53
63
  }
54
64
 
@@ -0,0 +1,35 @@
1
+ export const SdkContracts = {
2
+ getLocationMeta: {
3
+ type: 'object',
4
+ properties: {
5
+ clientActionId: {
6
+ type: 'string',
7
+ minLength: 1
8
+ }
9
+ },
10
+ required: ['clientActionId']
11
+ },
12
+ getComponentPropertiesMeta: {
13
+ type: 'object',
14
+ properties: {
15
+ clientActionId: {
16
+ type: 'string',
17
+ minLength: 1
18
+ }
19
+ },
20
+ required: ['clientActionId']
21
+ },
22
+ updateComponentPropertiesMeta: {
23
+ type: 'object',
24
+ properties: {
25
+ clientActionId: {
26
+ type: 'string',
27
+ minLength: 1
28
+ },
29
+ newComponentProperties: {
30
+ type: 'object'
31
+ }
32
+ },
33
+ required: ['clientActionId', 'newComponentProperties']
34
+ }
35
+ };
@@ -0,0 +1,105 @@
1
+ import { AbstractResource } from "../../../../../sdk/application/interfaces/gateways/AbstractResource";
2
+ import Repository from "../gateways/Repository";
3
+ import Presenter from "../presenters/Presenter";
4
+ import GetClientActionLocationUseCase from "../../applications/usecases/GetClientActionLocationUseCase";
5
+ import GetClientActionUIComponentPropertiesUseCase from "../../applications/usecases/GetClientActionUIComponentPropertiesUseCase";
6
+ import UpdateClientActionUIComponentPropertiesUseCase from "../../applications/usecases/UpdateClientActionUIComponentPropertiesUseCase";
7
+ import GetClientActionsUseCase from "../../applications/usecases/GetClientActionsUseCase";
8
+ import { SdkContracts } from "../../../../bc/zclient-actions/SdkContract";
9
+ export class ClientActionResource extends AbstractResource {
10
+ initialize() {}
11
+
12
+ destroy() {}
13
+
14
+ getClientActionDependencies() {
15
+ const dependencies = {
16
+ repository: new Repository(),
17
+ presenter: new Presenter()
18
+ };
19
+ return dependencies;
20
+ }
21
+
22
+ createUseCase(dependencies, UseCaseClass) {
23
+ var _usecase$updateDepend, _usecase$updateDepend2;
24
+
25
+ const {
26
+ state,
27
+ updateState
28
+ } = this.dependencies;
29
+ const usecase = new UseCaseClass(dependencies);
30
+ (_usecase$updateDepend = usecase.updateDependency) === null || _usecase$updateDepend === void 0 ? void 0 : _usecase$updateDepend.call(usecase, state, updateState);
31
+ (_usecase$updateDepend2 = usecase.updateDependencies) === null || _usecase$updateDepend2 === void 0 ? void 0 : _usecase$updateDepend2.call(usecase, state, updateState);
32
+ return usecase;
33
+ }
34
+
35
+ getLocation(id) {
36
+ this.validateInput('getLocation', {
37
+ clientActionId: id
38
+ }, SdkContracts.getLocationMeta);
39
+ const {
40
+ getData,
41
+ setData
42
+ } = this.createCallback();
43
+ const dependencies = this.getClientActionDependencies();
44
+ const useCase = this.createUseCase(dependencies, GetClientActionLocationUseCase);
45
+ useCase.execute({
46
+ id,
47
+ callback: setData
48
+ });
49
+ return getData();
50
+ }
51
+
52
+ getUIComponentProperties(id) {
53
+ this.validateInput('getUIComponentProperties', {
54
+ clientActionId: id
55
+ }, SdkContracts.getComponentPropertiesMeta);
56
+ const {
57
+ getData,
58
+ setData
59
+ } = this.createCallback();
60
+ const dependencies = this.getClientActionDependencies();
61
+ const useCase = this.createUseCase(dependencies, GetClientActionUIComponentPropertiesUseCase);
62
+ useCase.execute({
63
+ id,
64
+ callback: setData
65
+ });
66
+ return getData();
67
+ }
68
+
69
+ getClientActions() {
70
+ const {
71
+ getData,
72
+ setData
73
+ } = this.createCallback();
74
+ const dependencies = this.getClientActionDependencies();
75
+ const useCase = this.createUseCase(dependencies, GetClientActionsUseCase);
76
+ useCase.execute({
77
+ callback: setData
78
+ });
79
+ return getData();
80
+ }
81
+
82
+ updateUIComponentProperties(id, newComponentProperties) {
83
+ this.validateInput('updateUIComponentProperties', {
84
+ clientActionId: id,
85
+ newComponentProperties
86
+ }, SdkContracts.updateComponentPropertiesMeta);
87
+ const {
88
+ getData,
89
+ setData
90
+ } = this.createCallback();
91
+ const dependencies = this.getClientActionDependencies();
92
+ const {
93
+ dispatch
94
+ } = this.dependencies;
95
+ const useCase = this.createUseCase(dependencies, UpdateClientActionUIComponentPropertiesUseCase);
96
+ useCase.execute({
97
+ id,
98
+ newComponentProperties,
99
+ dispatch,
100
+ callback: setData
101
+ });
102
+ return getData();
103
+ }
104
+
105
+ }
@@ -0,0 +1,20 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class GetClientActionLocationUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ id,
7
+ callback
8
+ } = _ref;
9
+ const {
10
+ repository
11
+ } = this.dependencies;
12
+ const clientActionManager = repository.getClientActionsManagerEntity();
13
+ clientActionManager.validateClientActionId(id);
14
+ const clientAction = clientActionManager.getClientAction(id);
15
+ callback === null || callback === void 0 ? void 0 : callback(clientAction.getLocation());
16
+ }
17
+
18
+ }
19
+
20
+ export default GetClientActionLocationUseCase;
@@ -0,0 +1,20 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class GetClientActionUIComponentPropertiesUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ id,
7
+ callback
8
+ } = _ref;
9
+ const {
10
+ repository
11
+ } = this.dependencies;
12
+ const clientActionManager = repository.getClientActionsManagerEntity();
13
+ clientActionManager.validateClientActionId(id);
14
+ const clientAction = clientActionManager.getClientAction(id);
15
+ callback === null || callback === void 0 ? void 0 : callback(clientAction.getUIComponentProperties());
16
+ }
17
+
18
+ }
19
+
20
+ export default GetClientActionUIComponentPropertiesUseCase;
@@ -0,0 +1,18 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class GetClientActionsUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ callback
7
+ } = _ref;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const clientActionManager = repository.getClientActionsManagerEntity();
12
+ const clientActions = clientActionManager.getClientActionModels();
13
+ callback === null || callback === void 0 ? void 0 : callback(clientActions);
14
+ }
15
+
16
+ }
17
+
18
+ export default GetClientActionsUseCase;
@@ -0,0 +1,32 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ import { SET_CLIENTACTIONS } from "../../../../bc/zclient-actions/Constants";
3
+
4
+ class UpdateClientActionUIComponentPropertiesUseCase extends AbstractUseCase {
5
+ execute(_ref) {
6
+ let {
7
+ id,
8
+ newComponentProperties,
9
+ dispatch,
10
+ callback
11
+ } = _ref;
12
+ const {
13
+ repository
14
+ } = this.dependencies;
15
+ const clientActionManager = repository.getClientActionsManagerEntity();
16
+ clientActionManager.validateClientActionId(id);
17
+ const {
18
+ updatedClientAction,
19
+ updatedClientActions
20
+ } = clientActionManager.updateClientActionComponentProperties(id, newComponentProperties);
21
+ dispatch({
22
+ type: SET_CLIENTACTIONS,
23
+ payload: {
24
+ clientActions: updatedClientActions
25
+ }
26
+ });
27
+ callback === null || callback === void 0 ? void 0 : callback(updatedClientAction.getUIComponentProperties());
28
+ }
29
+
30
+ }
31
+
32
+ export default UpdateClientActionUIComponentPropertiesUseCase;
@@ -41,6 +41,18 @@ export default class ClientAction {
41
41
  this.conditionMeta = clientActionObj.conditions;
42
42
  }
43
43
 
44
+ getLocation() {
45
+ return this.location;
46
+ }
47
+
48
+ getUIComponentProperties() {
49
+ return this.uiComponentMapping.getPropertiesValueMapping();
50
+ }
51
+
52
+ updateUIComponentProperties(newProperties) {
53
+ this.uiComponentMapping.updatePropertiesValueMapping(newProperties);
54
+ }
55
+
44
56
  toObject() {
45
57
  return {
46
58
  id: this.id,
@@ -114,6 +114,32 @@ export default class ClientActionManager {
114
114
  this.clientActions.setIsFetching(false);
115
115
  }
116
116
 
117
+ getClientAction(id) {
118
+ return this.clientActions.getClientAction(id);
119
+ }
120
+
121
+ getClientActionModels() {
122
+ const clientActionModels = this.clientActions.toObject();
123
+ return clientActionModels.data;
124
+ }
125
+
126
+ updateClientActionComponentProperties(id, newComponentProperties) {
127
+ const clientActions = this.getClientActionModels();
128
+ const updatedClientAction = this.getClientAction(id);
129
+ updatedClientAction.updateUIComponentProperties(newComponentProperties);
130
+ const updatedClientActions = clientActions.map(clientAction => {
131
+ if (clientAction.id === updatedClientAction.getId()) {
132
+ return updatedClientAction.toObject();
133
+ }
134
+
135
+ return clientAction;
136
+ });
137
+ return {
138
+ updatedClientAction,
139
+ updatedClientActions
140
+ };
141
+ }
142
+
117
143
  setClientActions(clientActions) {
118
144
  this.clientActions.setClientActions(clientActions);
119
145
  }
@@ -130,6 +156,25 @@ export default class ClientActionManager {
130
156
  return apiName === 'clientActions';
131
157
  }
132
158
 
159
+ validateClientActionId(id) {
160
+ const isValidClientActionIdFormat = id !== '' && id !== null && !isNaN(Number(id)) && typeof id === 'string';
161
+
162
+ if (!isValidClientActionIdFormat) {
163
+ throw new Error(`ClientActionResource: Invalid value '${id}' passed as client action id.`);
164
+ }
165
+
166
+ this.doesClientActionExist(id);
167
+ }
168
+
169
+ doesClientActionExist(id) {
170
+ const clientActions = this.getClientActionModels();
171
+ const doesClientActionExist = clientActions.find(clientAction => clientAction.id === id);
172
+
173
+ if (doesClientActionExist === undefined) {
174
+ throw new Error(`ClientActionResource: No client action exists for the ID '${id}'.`);
175
+ }
176
+ }
177
+
133
178
  toObject() {
134
179
  const clientActionsObj = this.clientActions.toObject();
135
180
  return {
@@ -23,6 +23,16 @@ export default class UIComponentMapping {
23
23
  this.eventMappings = new EventMappings(uiComponentMappingObj.eventMappings);
24
24
  }
25
25
 
26
+ getPropertiesValueMapping() {
27
+ return this.propertiesValueMapping;
28
+ }
29
+
30
+ updatePropertiesValueMapping(newProperties) {
31
+ this.propertiesValueMapping = { ...this.propertiesValueMapping,
32
+ ...newProperties
33
+ };
34
+ }
35
+
26
36
  toObject() {
27
37
  return {
28
38
  id: this.id,
@@ -0,0 +1,29 @@
1
+ import ResourceNamesEnum from "../../../../../../bc/sdk/ResourceNamesEnum";
2
+ import { platformSDK } from "../../../../../sdk/frameworks/Sdk";
3
+ export default class ClientActionsSDKFactory {
4
+ static getClientActionSDK(clientActionResource) {
5
+ return {
6
+ getLocation: id => clientActionResource.getLocation(id),
7
+ getUIComponentProperties: id => clientActionResource.getUIComponentProperties(id),
8
+ getClientActions: () => clientActionResource.getClientActions(),
9
+ updateUIComponentProperties: (id, newComponentProperties) => clientActionResource.updateUIComponentProperties(id, newComponentProperties)
10
+ };
11
+ }
12
+
13
+ static create(_ref) {
14
+ let {
15
+ instanceName
16
+ } = _ref;
17
+ const clientActionResource = platformSDK[ResourceNamesEnum.CLIENT_ACTION](instanceName);
18
+ const clientActionSDK = ClientActionsSDKFactory.getClientActionSDK(clientActionResource);
19
+ return {
20
+ clientAction: {
21
+ getLocation: clientActionSDK.getLocation,
22
+ getUIComponentProperties: clientActionSDK.getUIComponentProperties,
23
+ getClientActions: clientActionSDK.getClientActions,
24
+ updateUIComponentProperties: clientActionSDK.updateUIComponentProperties
25
+ }
26
+ };
27
+ }
28
+
29
+ }
@@ -6,6 +6,15 @@ export const actionsSchema = {
6
6
  items: actionSchema
7
7
  };
8
8
  export default {
9
+ testId: {
10
+ required: false,
11
+ typeMetadata: {
12
+ schema: {
13
+ type: 'string'
14
+ }
15
+ },
16
+ defaultValue: ''
17
+ },
9
18
  actions: {
10
19
  required: true,
11
20
  typeMetadata: {
@@ -35,7 +35,7 @@ export const actionSchema = {
35
35
  type: 'string'
36
36
  }
37
37
  },
38
- required: ['sourceEvent', 'id']
38
+ required: ['id']
39
39
  }
40
40
  }
41
41
  },
@@ -10,7 +10,7 @@ export default class PropertiesChangeUseCase extends AbstractUseCase {
10
10
  currentActions,
11
11
  previousActions
12
12
  } = input;
13
- actionLocation.processActionsChange(currentActions, previousActions);
13
+ actionLocation.processActionsChange(previousActions, currentActions);
14
14
  presenter.updateActionEventMediator(actionLocation.toObject());
15
15
  }
16
16
 
@@ -16,6 +16,7 @@ export default class ActionEventMediatorEntity {
16
16
  return e => {
17
17
  const {
18
18
  eventMappings,
19
+ actionId,
19
20
  ...payloadItems
20
21
  } = e.detail.payload;
21
22
  const eventMapping = eventMappings.find(eventMapping => eventMapping.sourceEvent === event);
@@ -25,14 +26,17 @@ export default class ActionEventMediatorEntity {
25
26
  }
26
27
 
27
28
  const dispatchEvent = eventMapping.targetEvent;
28
- const payload = eventMapping.payload;
29
+ const eventMappingPayload = eventMapping.payload;
29
30
  const replacementContext = {
30
31
  "@payload": payloadItems
31
32
  };
32
- const resolvedPayload = TemplateResolver.replaceContextVariablesInObject(payload, replacementContext);
33
+ const resolvedPayload = TemplateResolver.replaceContextVariablesInObject(eventMappingPayload, replacementContext);
33
34
  this.dispatch({
34
35
  type: dispatchEvent,
35
- payload: resolvedPayload
36
+ payload: resolvedPayload,
37
+ metaData: {
38
+ clientActionId: actionId
39
+ }
36
40
  });
37
41
  };
38
42
  }
@@ -8,10 +8,12 @@ export default function ActionEventMediatorView(_ref, ref) {
8
8
  const {
9
9
  actions,
10
10
  renderComponentType,
11
- gap
11
+ gap,
12
+ testId
12
13
  } = state.properties;
13
14
  const ActionRenderComponent = ComponentRegistry.get(renderComponentType) || RowActionsRenderer;
14
15
  return /*#__PURE__*/React.createElement(ActionRenderComponent, {
16
+ testId: testId,
15
17
  actions: actions,
16
18
  gap: gap,
17
19
  getRef: ref
@@ -12,7 +12,8 @@ function DynamicComponentView(_ref, ref) {
12
12
  const {
13
13
  component,
14
14
  properties,
15
- eventMappings
15
+ eventMappings,
16
+ id: actionId
16
17
  } = action;
17
18
  const Component = ComponentRegistry.get(component) || ActionComponentMapping[component];
18
19
 
@@ -26,7 +27,8 @@ function DynamicComponentView(_ref, ref) {
26
27
  getRef: ref,
27
28
  ...properties,
28
29
  appendToActionPayload: {
29
- eventMappings
30
+ eventMappings,
31
+ actionId
30
32
  }
31
33
  });
32
34
  }
@@ -11,10 +11,13 @@ function RowActionsRendererView(_ref, ref) {
11
11
  } = _ref;
12
12
  const {
13
13
  actions,
14
- gap
14
+ gap,
15
+ testId
15
16
  } = state.properties;
16
17
  return /*#__PURE__*/React.createElement(Flex, {
17
18
  ref: ref,
19
+ testId: testId,
20
+ customId: testId,
18
21
  $ui_displayMode: "inline",
19
22
  $ui_alignItems: "center",
20
23
  $ui_className: `${style.wrapper} ${gap !== ActionViewGap.NONE ? style[`gap_${gap}`] : ''}`
@@ -16,7 +16,11 @@ import SubmitUseCase from "../../../../zform/applications/usecases/SubmitUseCase
16
16
  import { AbstractResource } from "../../../../sdk/application/interfaces/gateways/AbstractResource";
17
17
  import { SdkContracts } from "../../../../../cc/form-connected/SdkContract"; // hack
18
18
 
19
- import { validations as defaultFieldValidations } from "../../../../../library/behaviours/field-validation/frameworks/utils/FormBasicValidationAdaptor";
19
+ import ValidateFieldUseCase from "../../../../zform/applications/usecases/ValidateFieldUseCase";
20
+ import SetFieldErrorMessageUseCase from "../../../../zform/applications/usecases/SetFieldErrorMessageUseCase";
21
+ import FocusFieldUseCase from "../../../../zform/applications/usecases/FocusFieldUseCase";
22
+ import InsertValidationRuleUseCase from "../../../../zform/applications/usecases/InsertValidationRuleSuccessUseCase";
23
+ import GetFieldErrorMessageUseCase from "../../../../zform/applications/usecases/GetFieldErrorMessageUseCase";
20
24
  export class SmartFormResources extends AbstractResource {
21
25
  initialize() {}
22
26
 
@@ -48,8 +52,7 @@ export class SmartFormResources extends AbstractResource {
48
52
  const dependencies = {
49
53
  repository: new ZFormRepository(),
50
54
  presenter: new ZFormPresenter(),
51
- validator: new ZFormValidator(defaultFieldValidations),
52
- // Hack Need to pass customValidators
55
+ validator: new ZFormValidator(),
53
56
  layoutRuleApplier: new ZFormLayoutRuleApplier()
54
57
  };
55
58
  return dependencies;
@@ -176,13 +179,13 @@ export class SmartFormResources extends AbstractResource {
176
179
  }
177
180
 
178
181
  getFieldValue(fieldName) {
182
+ this.validateInput('getFieldValue', {
183
+ fieldName
184
+ }, SdkContracts.getFieldValueInputMeta);
179
185
  const {
180
186
  getData,
181
187
  setData
182
188
  } = this.createCallback();
183
- this.validateInput('getFieldValue', {
184
- fieldName
185
- }, SdkContracts.getFieldValueInputMeta);
186
189
  const {
187
190
  dispatch
188
191
  } = this.dependencies;
@@ -196,6 +199,85 @@ export class SmartFormResources extends AbstractResource {
196
199
  return getData();
197
200
  }
198
201
 
202
+ validateField(fieldName, eventName) {
203
+ this.validateInput('validateField', {
204
+ fieldName,
205
+ eventName
206
+ }, SdkContracts.validateFieldInputMeta);
207
+ const {
208
+ dispatch
209
+ } = this.dependencies;
210
+ const dependencies = this.getFormDependencies();
211
+ const usecase = this.createUseCase(dependencies, ValidateFieldUseCase);
212
+ usecase.execute({
213
+ fieldName,
214
+ dispatch
215
+ });
216
+ }
217
+
218
+ insertValidationRule(index, validationRule) {
219
+ this.validateInput('insertValidationRule', {
220
+ index,
221
+ validationRule
222
+ }, SdkContracts.insertValidationRuleInputMeta);
223
+ InsertValidationRuleUseCase;
224
+ const dependencies = this.getFormDependencies();
225
+ const usecase = this.createUseCase(dependencies, InsertValidationRuleUseCase);
226
+ usecase.execute({
227
+ index,
228
+ validationRule
229
+ });
230
+ }
231
+
232
+ getFieldErrorMessage(fieldName) {
233
+ this.validateInput('getFieldErrorMessage', {
234
+ fieldName
235
+ }, SdkContracts.getFieldErrorMessageInputMeta);
236
+ const {
237
+ getData,
238
+ setData
239
+ } = this.createCallback();
240
+ const {
241
+ dispatch
242
+ } = this.dependencies;
243
+ const dependencies = this.getFormDependencies();
244
+ const usecase = this.createUseCase(dependencies, GetFieldErrorMessageUseCase);
245
+ usecase.execute({
246
+ fieldName,
247
+ callback: setData,
248
+ dispatch
249
+ });
250
+ return getData();
251
+ }
252
+
253
+ setFieldErrorMessage(fieldName, errorMessage) {
254
+ this.validateInput('setFieldErrorMessage', {
255
+ fieldName,
256
+ errorMessage
257
+ }, SdkContracts.setFieldErrorMessageInputMeta);
258
+ const {
259
+ dispatch
260
+ } = this.dependencies;
261
+ const dependencies = this.getFormDependencies();
262
+ const usecase = this.createUseCase(dependencies, SetFieldErrorMessageUseCase);
263
+ usecase.execute({
264
+ fieldApiName: fieldName,
265
+ errorMessage,
266
+ dispatch
267
+ });
268
+ }
269
+
270
+ focusField(fieldName) {
271
+ this.validateInput('focusField', {
272
+ fieldName
273
+ }, SdkContracts.focusFieldInputMeta);
274
+ const dependencies = this.getFormDependencies();
275
+ const usecase = this.createUseCase(dependencies, FocusFieldUseCase);
276
+ usecase.execute({
277
+ fieldName
278
+ });
279
+ }
280
+
199
281
  submit() {
200
282
  const {
201
283
  dispatch