@zohodesk/library-platform 1.1.8 → 1.1.9

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 (246) hide show
  1. package/es/bc/zfield/FieldApiTypes.js +20 -0
  2. package/es/bc/zform/Properties.js +9 -0
  3. package/es/bc/zform/Symbol.js +5 -0
  4. package/es/bc/zlist/Properties.js +3 -0
  5. package/es/bc/zrecord/Constants.js +2 -0
  6. package/es/cc/date/Properties.js +9 -0
  7. package/es/cc/fields/field/Properties.js +63 -0
  8. package/es/cc/fields/multi-select/Properties.js +9 -0
  9. package/es/cc/fields/pick-list/Properties.js +9 -0
  10. package/es/cc/form/Properties.js +17 -0
  11. package/es/cc/form-connected/Properties.js +35 -0
  12. package/es/cc/form-connected/SdkContract.js +61 -0
  13. package/es/cc/form-connected/index.js +2 -0
  14. package/es/cc/highlighted-value/Properties.js +10 -0
  15. package/es/cc/index.js +1 -1
  16. package/es/cc/multi-select/Properties.js +9 -0
  17. package/es/cc/select/Properties.js +12 -0
  18. package/es/cc/textbox/Properties.js +11 -0
  19. package/es/index.js +2 -1
  20. package/es/library/behaviours/field-focus/frameworks/ui/EventHandlersFactory.js +26 -0
  21. package/es/library/behaviours/field-focus/frameworks/ui/FocusFieldBehaviourFactory.js +20 -0
  22. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
  23. package/es/library/dot/components/form/adapters/presenter/TransformState.js +5 -58
  24. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +0 -4
  25. package/es/library/dot/components/form/frameworks/ui/FormView.js +18 -42
  26. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +29 -1
  27. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +27 -0
  28. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +24 -0
  29. package/es/library/dot/components/form/frameworks/ui/sub-components/MiddleSection.js +24 -0
  30. package/es/library/dot/components/form/frameworks/ui/sub-components/Sections.js +7 -2
  31. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsLayout.js +20 -0
  32. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsWithRightPanelLayout.js +42 -0
  33. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/Checkbox.js +4 -3
  34. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +18 -14
  35. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  36. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +20 -17
  37. package/es/library/dot/components/form-fields/date/frameworks/ui/Date.js +2 -3
  38. package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +22 -19
  39. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTime.js +2 -3
  40. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +21 -18
  41. package/es/library/dot/components/form-fields/decimal/frameworks/ui/Decimal.js +2 -3
  42. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +22 -19
  43. package/es/library/dot/components/form-fields/email/frameworks/ui/Email.js +2 -3
  44. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +22 -19
  45. package/es/library/dot/components/form-fields/field/FieldItem.js +36 -0
  46. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +13 -0
  47. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelect.js +2 -3
  48. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +21 -18
  49. package/es/library/dot/components/form-fields/number/frameworks/ui/Number.js +2 -3
  50. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +22 -19
  51. package/es/library/dot/components/form-fields/percentage/frameworks/ui/Percentage.js +2 -3
  52. package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +22 -19
  53. package/es/library/dot/components/form-fields/phone/frameworks/ui/Phone.js +2 -3
  54. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +22 -19
  55. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickList.js +2 -3
  56. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +21 -18
  57. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextArea.js +4 -3
  58. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +18 -17
  59. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBox.js +2 -3
  60. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +21 -18
  61. package/es/library/dot/components/form-fields/url/frameworks/ui/Url.js +2 -3
  62. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +22 -19
  63. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +3 -3
  64. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +1 -1
  65. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +13 -1
  66. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  67. 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
  68. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +13 -7
  69. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +12 -2
  70. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +16 -4
  71. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +1 -1
  72. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +13 -3
  73. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +1 -1
  74. package/es/platform/components/form-connected/adapters/resources/SmartFormResources.js +88 -6
  75. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +28 -56
  76. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +1 -5
  77. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +3 -1
  78. package/es/platform/data-source/http-template/deleteRecords.js +1 -1
  79. package/es/platform/data-source/http-template/fetchValidationRules.js +2 -1
  80. package/es/platform/data-source/http-template/moveToTrash.js +28 -0
  81. package/es/platform/data-source/index.js +2 -0
  82. package/es/platform/data-source/utils/validation-rules/FieldConditions.js +167 -0
  83. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +93 -0
  84. package/es/platform/zdata-source/applications/usecases/SuccessUseCase.js +1 -1
  85. package/es/platform/zform/adapters/controllers/FieldBlurController.js +26 -0
  86. package/es/platform/zform/adapters/controllers/MyFromSuccessController.js +8 -2
  87. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +21 -0
  88. package/es/platform/zform/adapters/controllers/ValidateFieldRequestController.js +10 -5
  89. package/es/platform/zform/adapters/controllers/ValidationRulesExecutionResultController.js +23 -0
  90. package/es/platform/zform/adapters/controllers/ValidationRulesRequestController.js +2 -4
  91. package/es/platform/zform/adapters/controllers/ValidationRulesSuccessController.js +2 -4
  92. package/es/platform/zform/adapters/gateway/Service.js +15 -7
  93. package/es/platform/zform/adapters/presenter/FormTranslator.js +28 -3
  94. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +54 -3
  95. package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +7 -3
  96. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +5 -9
  97. package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +7 -3
  98. package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +7 -3
  99. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +6 -9
  100. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +6 -9
  101. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +5 -9
  102. package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +6 -3
  103. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +6 -9
  104. package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +6 -9
  105. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +6 -9
  106. package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +6 -3
  107. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +5 -9
  108. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +8 -8
  109. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +6 -9
  110. package/es/platform/zform/adapters/presenter/utils/DefaultClientActions.js +92 -22
  111. package/es/platform/zform/applications/usecases/AbstractUseCase.js +3 -1
  112. package/es/platform/zform/applications/usecases/FieldBlurUseCase.js +39 -0
  113. package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +9 -13
  114. package/es/platform/zform/applications/usecases/FocusFieldUseCase.js +19 -0
  115. package/es/platform/zform/applications/usecases/FormSubmitUseCase.js +19 -38
  116. package/es/platform/zform/applications/usecases/GetFieldErrorMessageUseCase.js +16 -0
  117. package/es/platform/zform/applications/usecases/InsertValidationRuleSuccessUseCase.js +22 -0
  118. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +63 -13
  119. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +4 -33
  120. package/es/platform/zform/applications/usecases/SetFieldErrorMessageUseCase.js +4 -4
  121. package/es/platform/zform/applications/usecases/SetFieldValueUseCase.js +4 -21
  122. package/es/platform/zform/applications/usecases/SetFieldsValuesUseCase.js +4 -26
  123. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +62 -0
  124. package/es/platform/zform/applications/usecases/ValidateFieldUseCase.js +33 -0
  125. package/es/platform/zform/applications/usecases/ValidationRulesExecutionResultUseCase.js +23 -0
  126. package/es/platform/zform/domain/ZField.js +20 -1
  127. package/es/platform/zform/domain/ZForm.js +114 -45
  128. package/es/platform/zform/domain/interfaces/IZForm.js +5 -1
  129. package/es/platform/zform/domain/interfaces/ValidationConditions.js +142 -0
  130. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +22 -143
  131. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +4 -9
  132. package/es/platform/zform/frameworks/validation-rules/DefaultCustomValidators.js +340 -0
  133. package/es/platform/zform/frameworks/validation-rules/Validator.js +98 -16
  134. package/es/platform/zform/frameworks/validation-rules/formUtils.js +7 -0
  135. package/es/platform/zform/frameworks/validation-rules/localization_utils.js +15 -0
  136. package/es/platform/zform/frameworks/validation-rules/utils.js +402 -351
  137. package/es/platform/zform/frameworks/validation-rules/validationRules.js +80 -79
  138. package/es/platform/zlist/domain/entities/List.js +2 -1
  139. package/package.json +4 -4
  140. package/es/bc/field-validation/Constants.js +0 -4
  141. package/es/bc/field-validation/EventHandlers.js +0 -1
  142. package/es/bc/field-validation/Events.js +0 -106
  143. package/es/bc/field-validation/FieldTypes.js +0 -20
  144. package/es/bc/field-validation/Properties.js +0 -11
  145. package/es/bc/field-validation/index.js +0 -5
  146. package/es/cc/ephi-tag/Properties.js +0 -1
  147. package/es/cc/ephi-tag/index.js +0 -1
  148. package/es/cc/info-icon/Properties.js +0 -10
  149. package/es/cc/info-icon/index.js +0 -1
  150. package/es/library/behaviours/field-validation/adapters/controllers/AbstractController.js +0 -9
  151. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldController.js +0 -32
  152. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldsController.js +0 -31
  153. package/es/library/behaviours/field-validation/adapters/gateway/Repository.js +0 -23
  154. package/es/library/behaviours/field-validation/adapters/gateway/Service.js +0 -18
  155. package/es/library/behaviours/field-validation/applications/interfaces/input/FieldData.js +0 -17
  156. package/es/library/behaviours/field-validation/applications/usecases/AbstractUseCase.js +0 -15
  157. package/es/library/behaviours/field-validation/applications/usecases/ValidateField.js +0 -29
  158. package/es/library/behaviours/field-validation/applications/usecases/ValidateFields.js +0 -28
  159. package/es/library/behaviours/field-validation/domain/FieldValidation.js +0 -94
  160. package/es/library/behaviours/field-validation/domain/field-vise-validations/BooleanValidation.js +0 -28
  161. package/es/library/behaviours/field-validation/domain/field-vise-validations/CurrencyValidation.js +0 -49
  162. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateTimeValidation.js +0 -24
  163. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateValidation.js +0 -24
  164. package/es/library/behaviours/field-validation/domain/field-vise-validations/DecimalValidation.js +0 -49
  165. package/es/library/behaviours/field-validation/domain/field-vise-validations/EmailValidation.js +0 -28
  166. package/es/library/behaviours/field-validation/domain/field-vise-validations/IntegerValidation.js +0 -39
  167. package/es/library/behaviours/field-validation/domain/field-vise-validations/LookUpValidation.js +0 -24
  168. package/es/library/behaviours/field-validation/domain/field-vise-validations/MultiSelectValidation.js +0 -26
  169. package/es/library/behaviours/field-validation/domain/field-vise-validations/PercentValidation.js +0 -28
  170. package/es/library/behaviours/field-validation/domain/field-vise-validations/PhoneValidation.js +0 -39
  171. package/es/library/behaviours/field-validation/domain/field-vise-validations/PicklistValidation.js +0 -24
  172. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextAreaValidation.js +0 -39
  173. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextBoxValidation.js +0 -39
  174. package/es/library/behaviours/field-validation/domain/field-vise-validations/URLValidation.js +0 -28
  175. package/es/library/behaviours/field-validation/domain/interfaces/FieldTypes.js +0 -20
  176. package/es/library/behaviours/field-validation/domain/interfaces/IFieldValidation.js +0 -1
  177. package/es/library/behaviours/field-validation/domain/interfaces/IFieldViseValidation.js +0 -1
  178. package/es/library/behaviours/field-validation/domain/interfaces/ValidationResult.js +0 -1
  179. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsArray.js +0 -1
  180. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsEnum.js +0 -22
  181. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsMap.js +0 -1
  182. package/es/library/behaviours/field-validation/domain/interfaces/fields/IBooleanField.js +0 -0
  183. package/es/library/behaviours/field-validation/domain/interfaces/fields/ICurrencyField.js +0 -0
  184. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateField.js +0 -0
  185. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateTimeField.js +0 -0
  186. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDecimalField.js +0 -0
  187. package/es/library/behaviours/field-validation/domain/interfaces/fields/IEmailField.js +0 -0
  188. package/es/library/behaviours/field-validation/domain/interfaces/fields/IIntegerField.js +0 -0
  189. package/es/library/behaviours/field-validation/domain/interfaces/fields/ILookUpField.js +0 -0
  190. package/es/library/behaviours/field-validation/domain/interfaces/fields/IMultiSelectField.js +0 -0
  191. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPercentField.js +0 -0
  192. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPhoneField.js +0 -0
  193. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPicklistField.js +0 -0
  194. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextAreaField.js +0 -0
  195. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextBoxField.js +0 -0
  196. package/es/library/behaviours/field-validation/domain/interfaces/fields/IURLField.js +0 -0
  197. package/es/library/behaviours/field-validation/frameworks/ui/EventHandlerFactory.js +0 -23
  198. package/es/library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory.js +0 -27
  199. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/BooleanFieldValidation.test.js +0 -137
  200. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/CurrencyFieldValidation.test.js +0 -228
  201. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateFieldValidation.test.js +0 -108
  202. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateTimeFieldValidation.test.js +0 -108
  203. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DecimalFieldValidation.test.js +0 -257
  204. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/EmailFieldValidation.test.js +0 -139
  205. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/FieldValidationBehaviour.test.js +0 -171
  206. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/IntegerFieldValidation.test.js +0 -168
  207. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/LookUpFieldValidation.test.js +0 -108
  208. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/MultiSelectFieldValidation.test.js +0 -79
  209. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PercentFieldValidation.test.js +0 -108
  210. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PhoneFieldValidation.test.js +0 -168
  211. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PicklistFieldValidation.test.js +0 -79
  212. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextAreaFieldValidation.test.js +0 -170
  213. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextBoxFieldValidation.test.js +0 -170
  214. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/URLFieldValidation.test.js +0 -108
  215. package/es/library/behaviours/field-validation/frameworks/utils/FormBasicValidationAdaptor.js +0 -228
  216. package/es/library/behaviours/field-validation/frameworks/utils/__tests__/formValidate.test.js +0 -284
  217. package/es/library/behaviours/field-validation/frameworks/utils/formValidate.js +0 -334
  218. package/es/library/dot/components/form-fields/checkbox/adapters/presenter/TransformState.js +0 -22
  219. package/es/library/dot/components/form-fields/currency/adapters/presenter/TransformState.js +0 -81
  220. package/es/library/dot/components/form-fields/date/adapters/presenter/TransformState.js +0 -22
  221. package/es/library/dot/components/form-fields/datetime/adapters/presenter/TransformState.js +0 -22
  222. package/es/library/dot/components/form-fields/decimal/adapters/presenter/TransformState.js +0 -31
  223. package/es/library/dot/components/form-fields/email/adapters/presenter/TransformState.js +0 -23
  224. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITag.js +0 -10
  225. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITagView.js +0 -21
  226. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIcon.js +0 -10
  227. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIconView.js +0 -21
  228. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/css/InfoIcon.module.css +0 -3
  229. package/es/library/dot/components/form-fields/multi-select/adapters/presenter/TransformState.js +0 -31
  230. package/es/library/dot/components/form-fields/number/adapters/presenter/TransformState.js +0 -31
  231. package/es/library/dot/components/form-fields/percentage/adapters/presenter/TransformState.js +0 -31
  232. package/es/library/dot/components/form-fields/phone/adapters/presenter/TransformState.js +0 -31
  233. package/es/library/dot/components/form-fields/pick-list/adapters/presenter/TransformState.js +0 -23
  234. package/es/library/dot/components/form-fields/textarea/adapters/presenter/TransformState.js +0 -23
  235. package/es/library/dot/components/form-fields/textbox/adapters/presenter/TransformState.js +0 -32
  236. package/es/library/dot/components/form-fields/url/adapters/presenter/TransformState.js +0 -31
  237. package/es/platform/zform/adapters/controllers/ValidateErrorMessageController.js +0 -22
  238. package/es/platform/zform/applications/interfaces/input/ValidateErrorMessageInputModel.js +0 -1
  239. package/es/platform/zform/applications/usecases/ValidateErrorMessageUseCase.js +0 -33
  240. package/es/platform/zform/applications/usecases/ValidateFieldRequestUseCase.js +0 -56
  241. /package/es/{library/behaviours/field-validation/applications/interfaces/UseCaseDependencies.js → platform/zform/applications/interfaces/input/FieldBlurUsecaseInputModel.js} +0 -0
  242. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IRepository.js → platform/zform/applications/interfaces/input/FocusFieldUseCaseInputModel.js} +0 -0
  243. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IService.js → platform/zform/applications/interfaces/input/GetFieldErrorMessageInputModel.js} +0 -0
  244. /package/es/{library/behaviours/field-validation/applications/interfaces/input/FieldValidationInputModel.js → platform/zform/applications/interfaces/input/InsertValidationRuleInputModel.js} +0 -0
  245. /package/es/{library/behaviours/field-validation/domain/interfaces/IField.js → platform/zform/applications/interfaces/input/SubmitValidationCompletedUsecaseInputModel.js} +0 -0
  246. /package/es/{library/behaviours/field-validation/applications/interfaces/input/ValidateFieldsInputModel.js → platform/zform/applications/interfaces/input/ValidateFieldUseCaseInputModel.js} +0 -0
@@ -1,170 +0,0 @@
1
- import { VALIDATE_FIELD, FIELD_VALIDATION_RESULT } from "../../../../../../bc/field-validation/Constants";
2
- import FieldValidationBehaviourFactory from "../FieldValidationBehaviourFactory";
3
- import { validations } from "../../utils/FormBasicValidationAdaptor";
4
- import FieldTypes from "../../../../../../bc/field-validation/FieldTypes";
5
- describe('TextArea FieldValidationBehaviour ', () => {
6
- let behaviour;
7
- let state;
8
- let updateState;
9
- let dispatch;
10
- beforeEach(() => {
11
- behaviour = FieldValidationBehaviourFactory.create();
12
- state = {
13
- properties: {
14
- validations
15
- }
16
- };
17
- updateState = jest.fn();
18
- dispatch = jest.fn();
19
- });
20
- it('should validate TextArea mandatory field and return error', () => {
21
- const field = {
22
- id: 'textarea',
23
- type: FieldTypes.TextArea,
24
- required: true
25
- };
26
- const event = {
27
- state,
28
- updateState,
29
- action: {
30
- type: VALIDATE_FIELD,
31
- payload: {
32
- field,
33
- value: ''
34
- }
35
- },
36
- dispatch
37
- };
38
- behaviour.eventHandlers[VALIDATE_FIELD](event);
39
- expect(dispatch).toHaveBeenCalledWith({
40
- type: FIELD_VALIDATION_RESULT,
41
- payload: {
42
- validationResult: {
43
- isValid: false,
44
- message: 'This field is required.'
45
- },
46
- field
47
- }
48
- });
49
- });
50
- it('should validate TextArea mandatory field with empty space and return error', () => {
51
- const field = {
52
- id: 'textarea',
53
- type: FieldTypes.TextArea,
54
- required: true
55
- };
56
- const event = {
57
- state,
58
- updateState,
59
- action: {
60
- type: VALIDATE_FIELD,
61
- payload: {
62
- field,
63
- value: ' '
64
- }
65
- },
66
- dispatch
67
- };
68
- behaviour.eventHandlers[VALIDATE_FIELD](event);
69
- expect(dispatch).toHaveBeenCalledWith({
70
- type: FIELD_VALIDATION_RESULT,
71
- payload: {
72
- validationResult: {
73
- isValid: false,
74
- message: 'This field is required.'
75
- },
76
- field
77
- }
78
- });
79
- });
80
- it('should validate TextArea valid value and return no error', () => {
81
- const field = {
82
- id: 'textarea',
83
- type: FieldTypes.TextArea,
84
- required: true
85
- };
86
- const event = {
87
- state,
88
- updateState,
89
- action: {
90
- type: VALIDATE_FIELD,
91
- payload: {
92
- field,
93
- value: 'Sample Text'
94
- }
95
- },
96
- dispatch
97
- };
98
- behaviour.eventHandlers[VALIDATE_FIELD](event);
99
- expect(dispatch).toHaveBeenCalledWith({
100
- type: FIELD_VALIDATION_RESULT,
101
- payload: {
102
- validationResult: {
103
- isValid: true,
104
- message: ''
105
- },
106
- field
107
- }
108
- });
109
- });
110
- it('should validate TextArea max length and return error', () => {
111
- const field = {
112
- id: 'textarea',
113
- type: FieldTypes.TextArea,
114
- maxLength: 10
115
- };
116
- const event = {
117
- state,
118
- updateState,
119
- action: {
120
- type: VALIDATE_FIELD,
121
- payload: {
122
- field,
123
- value: 'This text is too long'
124
- }
125
- },
126
- dispatch
127
- };
128
- behaviour.eventHandlers[VALIDATE_FIELD](event);
129
- expect(dispatch).toHaveBeenCalledWith({
130
- type: FIELD_VALIDATION_RESULT,
131
- payload: {
132
- validationResult: {
133
- isValid: false,
134
- message: 'Field exceeds max length'
135
- },
136
- field
137
- }
138
- });
139
- });
140
- it('should validate TextArea valid max length and return no error', () => {
141
- const field = {
142
- id: 'textarea',
143
- type: FieldTypes.TextArea,
144
- maxLength: 20
145
- };
146
- const event = {
147
- state,
148
- updateState,
149
- action: {
150
- type: VALIDATE_FIELD,
151
- payload: {
152
- field,
153
- value: 'Sample Text'
154
- }
155
- },
156
- dispatch
157
- };
158
- behaviour.eventHandlers[VALIDATE_FIELD](event);
159
- expect(dispatch).toHaveBeenCalledWith({
160
- type: FIELD_VALIDATION_RESULT,
161
- payload: {
162
- validationResult: {
163
- isValid: true,
164
- message: ''
165
- },
166
- field
167
- }
168
- });
169
- });
170
- });
@@ -1,170 +0,0 @@
1
- import { VALIDATE_FIELD, FIELD_VALIDATION_RESULT } from "../../../../../../bc/field-validation/Constants";
2
- import FieldValidationBehaviourFactory from "../FieldValidationBehaviourFactory";
3
- import { validations } from "../../utils/FormBasicValidationAdaptor";
4
- import FieldTypes from "../../../../../../bc/field-validation/FieldTypes";
5
- describe('TextBox FieldValidationBehaviour ', () => {
6
- let behaviour;
7
- let state;
8
- let updateState;
9
- let dispatch;
10
- beforeEach(() => {
11
- behaviour = FieldValidationBehaviourFactory.create();
12
- state = {
13
- properties: {
14
- validations
15
- }
16
- };
17
- updateState = jest.fn();
18
- dispatch = jest.fn();
19
- });
20
- it('should validate TextBox mandatory field and return error', () => {
21
- const field = {
22
- id: 'text',
23
- type: FieldTypes.TextBox,
24
- required: true
25
- };
26
- const event = {
27
- state,
28
- updateState,
29
- action: {
30
- type: VALIDATE_FIELD,
31
- payload: {
32
- field,
33
- value: ''
34
- }
35
- },
36
- dispatch
37
- };
38
- behaviour.eventHandlers[VALIDATE_FIELD](event);
39
- expect(dispatch).toHaveBeenCalledWith({
40
- type: FIELD_VALIDATION_RESULT,
41
- payload: {
42
- validationResult: {
43
- isValid: false,
44
- message: 'This field is required.'
45
- },
46
- field
47
- }
48
- });
49
- });
50
- it('should validate TextBox mandatory field with empty space and return error', () => {
51
- const field = {
52
- id: 'text',
53
- type: FieldTypes.TextBox,
54
- required: true
55
- };
56
- const event = {
57
- state,
58
- updateState,
59
- action: {
60
- type: VALIDATE_FIELD,
61
- payload: {
62
- field,
63
- value: ' '
64
- }
65
- },
66
- dispatch
67
- };
68
- behaviour.eventHandlers[VALIDATE_FIELD](event);
69
- expect(dispatch).toHaveBeenCalledWith({
70
- type: FIELD_VALIDATION_RESULT,
71
- payload: {
72
- validationResult: {
73
- isValid: false,
74
- message: 'This field is required.'
75
- },
76
- field
77
- }
78
- });
79
- });
80
- it('should validate TextBox valid value and return no error', () => {
81
- const field = {
82
- id: 'text',
83
- type: FieldTypes.TextBox,
84
- required: true
85
- };
86
- const event = {
87
- state,
88
- updateState,
89
- action: {
90
- type: VALIDATE_FIELD,
91
- payload: {
92
- field,
93
- value: 'Sample Text'
94
- }
95
- },
96
- dispatch
97
- };
98
- behaviour.eventHandlers[VALIDATE_FIELD](event);
99
- expect(dispatch).toHaveBeenCalledWith({
100
- type: FIELD_VALIDATION_RESULT,
101
- payload: {
102
- validationResult: {
103
- isValid: true,
104
- message: ''
105
- },
106
- field
107
- }
108
- });
109
- });
110
- it('should validate TextBox max length and return error', () => {
111
- const field = {
112
- id: 'text',
113
- type: FieldTypes.TextBox,
114
- maxLength: 10
115
- };
116
- const event = {
117
- state,
118
- updateState,
119
- action: {
120
- type: VALIDATE_FIELD,
121
- payload: {
122
- field,
123
- value: 'This text is too long'
124
- }
125
- },
126
- dispatch
127
- };
128
- behaviour.eventHandlers[VALIDATE_FIELD](event);
129
- expect(dispatch).toHaveBeenCalledWith({
130
- type: FIELD_VALIDATION_RESULT,
131
- payload: {
132
- validationResult: {
133
- isValid: false,
134
- message: 'Field exceeds max length'
135
- },
136
- field
137
- }
138
- });
139
- });
140
- it('should validate TextBox valid max length and return no error', () => {
141
- const field = {
142
- id: 'text',
143
- type: FieldTypes.TextBox,
144
- maxLength: 20
145
- };
146
- const event = {
147
- state,
148
- updateState,
149
- action: {
150
- type: VALIDATE_FIELD,
151
- payload: {
152
- field,
153
- value: 'Sample Text'
154
- }
155
- },
156
- dispatch
157
- };
158
- behaviour.eventHandlers[VALIDATE_FIELD](event);
159
- expect(dispatch).toHaveBeenCalledWith({
160
- type: FIELD_VALIDATION_RESULT,
161
- payload: {
162
- validationResult: {
163
- isValid: true,
164
- message: ''
165
- },
166
- field
167
- }
168
- });
169
- });
170
- });
@@ -1,108 +0,0 @@
1
- import { VALIDATE_FIELD, FIELD_VALIDATION_RESULT } from "../../../../../../bc/field-validation/Constants";
2
- import FieldValidationBehaviourFactory from "../FieldValidationBehaviourFactory";
3
- import { validations } from "../../utils/FormBasicValidationAdaptor";
4
- import FieldTypes from "../../../../../../bc/field-validation/FieldTypes";
5
- describe('URL FieldValidationBehaviour', () => {
6
- let behaviour;
7
- let state;
8
- let updateState;
9
- let dispatch;
10
- beforeEach(() => {
11
- behaviour = FieldValidationBehaviourFactory.create();
12
- state = {
13
- properties: {
14
- validations
15
- }
16
- };
17
- updateState = jest.fn();
18
- dispatch = jest.fn();
19
- });
20
- it('should validate URL mandatory field and return error', () => {
21
- const field = {
22
- id: 'url',
23
- type: FieldTypes.URL,
24
- required: true
25
- };
26
- const event = {
27
- state,
28
- updateState,
29
- action: {
30
- type: VALIDATE_FIELD,
31
- payload: {
32
- field,
33
- value: ''
34
- }
35
- },
36
- dispatch
37
- };
38
- behaviour.eventHandlers[VALIDATE_FIELD](event);
39
- expect(dispatch).toHaveBeenCalledWith({
40
- type: FIELD_VALIDATION_RESULT,
41
- payload: {
42
- validationResult: {
43
- isValid: false,
44
- message: 'This field is required.'
45
- },
46
- field
47
- }
48
- });
49
- });
50
- it('should validate valid URL and return true', () => {
51
- const field = {
52
- id: 'url',
53
- type: FieldTypes.URL
54
- };
55
- const event = {
56
- state,
57
- updateState,
58
- action: {
59
- type: VALIDATE_FIELD,
60
- payload: {
61
- field,
62
- value: 'http://example.com'
63
- }
64
- },
65
- dispatch
66
- };
67
- behaviour.eventHandlers[VALIDATE_FIELD](event);
68
- expect(dispatch).toHaveBeenCalledWith({
69
- type: FIELD_VALIDATION_RESULT,
70
- payload: {
71
- validationResult: {
72
- isValid: true,
73
- message: ''
74
- },
75
- field
76
- }
77
- });
78
- });
79
- xit('should validate invalid URL and return false', () => {
80
- const field = {
81
- id: 'url',
82
- type: FieldTypes.URL
83
- };
84
- const event = {
85
- state,
86
- updateState,
87
- action: {
88
- type: VALIDATE_FIELD,
89
- payload: {
90
- field,
91
- value: 'invalid-url'
92
- }
93
- },
94
- dispatch
95
- };
96
- behaviour.eventHandlers[VALIDATE_FIELD](event);
97
- expect(dispatch).toHaveBeenCalledWith({
98
- type: FIELD_VALIDATION_RESULT,
99
- payload: {
100
- validationResult: {
101
- isValid: false,
102
- message: 'Invalid URL format'
103
- },
104
- field
105
- }
106
- });
107
- });
108
- });
@@ -1,228 +0,0 @@
1
- // @ts-ignore
2
- import { fieldValidate } from "./formValidate";
3
- import ValidationsEnum from "../../domain/interfaces/ValidationsEnum";
4
- export const validations = {
5
- // NOTE: special validations
6
- [ValidationsEnum.mandatory]: mandatory,
7
- [ValidationsEnum.maxLength]: maxLength,
8
- [ValidationsEnum.decimalPlaces]: decimalPlaces,
9
- // NOTE: type based validations
10
- [ValidationsEnum.text]: text,
11
- [ValidationsEnum.textArea]: textArea,
12
- [ValidationsEnum.email]: email,
13
- [ValidationsEnum.phone]: phone,
14
- [ValidationsEnum.integer]: integer,
15
- [ValidationsEnum.decimal]: decimal,
16
- [ValidationsEnum.date]: date,
17
- [ValidationsEnum.dateTime]: dateTime,
18
- [ValidationsEnum.boolean]: boolean,
19
- [ValidationsEnum.multiSelect]: multiSelect,
20
- [ValidationsEnum.picklist]: picklist,
21
- [ValidationsEnum.percent]: percent,
22
- [ValidationsEnum.currency]: currency,
23
- [ValidationsEnum.url]: url
24
- };
25
-
26
- function mandatory(value, _ref) {
27
- let {
28
- type
29
- } = _ref;
30
- const fieldDetails = {
31
- type,
32
- isMandatory: true
33
- };
34
- const result = fieldValidate(value, fieldDetails);
35
- return {
36
- isValid: !result.isError,
37
- message: 'This field is required.'
38
- };
39
- }
40
-
41
- function maxLength(value, _ref2) {
42
- let {
43
- maxLength
44
- } = _ref2;
45
- const fieldDetails = {
46
- type: 'Text',
47
- maxLength
48
- };
49
- const result = fieldValidate(value, fieldDetails);
50
- return {
51
- isValid: !result.isError,
52
- message: 'Field exceeds max length'
53
- };
54
- }
55
-
56
- function decimalPlaces(value, _ref3) {
57
- let {
58
- decimalPlaces
59
- } = _ref3;
60
- const fieldDetails = {
61
- type: 'Decimal',
62
- decimalPlaces
63
- };
64
- const result = fieldValidate(value, fieldDetails);
65
- return {
66
- isValid: !result.isError,
67
- message: 'Invalid decimal places'
68
- };
69
- }
70
-
71
- function text(value) {
72
- const fieldDetails = {
73
- type: 'Text'
74
- };
75
- const result = fieldValidate(value, fieldDetails);
76
- return {
77
- isValid: !result.isError,
78
- message: result.message
79
- };
80
- }
81
-
82
- function textArea(value) {
83
- const fieldDetails = {
84
- type: 'Textarea'
85
- };
86
- const result = fieldValidate(value, fieldDetails);
87
- return {
88
- isValid: !result.isError,
89
- message: result.message
90
- };
91
- }
92
-
93
- function email(value) {
94
- const fieldDetails = {
95
- type: 'Email'
96
- };
97
- const result = fieldValidate(value, fieldDetails);
98
- return {
99
- isValid: !result.isError,
100
- message: 'Invalid email format'
101
- };
102
- }
103
-
104
- function phone(value) {
105
- const fieldDetails = {
106
- type: 'Phone'
107
- };
108
- const result = fieldValidate(value, fieldDetails);
109
- return {
110
- isValid: !result.isError,
111
- message: 'Invalid phone number format'
112
- };
113
- }
114
-
115
- function integer(value) {
116
- const fieldDetails = {
117
- type: 'Number'
118
- };
119
- const result = fieldValidate(value, fieldDetails);
120
- return {
121
- isValid: !result.isError,
122
- message: 'Invalid integer format'
123
- };
124
- }
125
-
126
- function decimal(value) {
127
- // NOTE: for Decimal, decimalPlaces is must in fieldValidate. So we handled in adaptor side
128
- const fieldDetails = {
129
- type: 'Decimal',
130
- decimalPlaces: 1000
131
- };
132
- const result = fieldValidate(value, fieldDetails);
133
- return {
134
- isValid: !result.isError,
135
- message: 'Invalid decimal format'
136
- };
137
- }
138
-
139
- function date(value) {
140
- const fieldDetails = {
141
- type: 'Date'
142
- };
143
- const result = fieldValidate(value, fieldDetails); // NOTE: data field returns true even for invalid date format
144
-
145
- return {
146
- isValid: !result.isError,
147
- message: 'Invalid date format'
148
- };
149
- }
150
-
151
- function dateTime(value) {
152
- const fieldDetails = {
153
- type: 'DateTime'
154
- };
155
- const result = fieldValidate(value, fieldDetails); // NOTE: data field returns true even for invalid date time format
156
-
157
- return {
158
- isValid: !result.isError,
159
- message: 'Invalid datetime format'
160
- };
161
- }
162
-
163
- function boolean(value) {
164
- const fieldDetails = {
165
- type: 'Boolean'
166
- };
167
- const result = fieldValidate(value, fieldDetails); // NOTE: need to fix invalid value
168
-
169
- return {
170
- isValid: !result.isError,
171
- message: 'Invalid boolean format'
172
- };
173
- }
174
-
175
- function multiSelect(value) {
176
- const fieldDetails = {
177
- type: 'Multiselect'
178
- };
179
- const result = fieldValidate(value, fieldDetails);
180
- return {
181
- isValid: !result.isError,
182
- message: result.message
183
- };
184
- }
185
-
186
- function picklist(value) {
187
- const fieldDetails = {
188
- type: 'Picklist'
189
- };
190
- const result = fieldValidate(value, fieldDetails);
191
- return {
192
- isValid: !result.isError,
193
- message: result.message
194
- };
195
- }
196
-
197
- function percent(value) {
198
- const fieldDetails = {
199
- type: 'Percent'
200
- };
201
- const result = fieldValidate(value, fieldDetails);
202
- return {
203
- isValid: !result.isError,
204
- message: "Invalid percent value"
205
- };
206
- }
207
-
208
- function currency(value) {
209
- const fieldDetails = {
210
- type: 'Currency'
211
- };
212
- const result = fieldValidate(value, fieldDetails);
213
- return {
214
- isValid: !result.isError,
215
- message: result.message
216
- };
217
- }
218
-
219
- function url(value) {
220
- const fieldDetails = {
221
- type: 'URL'
222
- };
223
- const result = fieldValidate(value, fieldDetails);
224
- return {
225
- isValid: !result.isError,
226
- message: result.message
227
- };
228
- }