@zohodesk/library-platform 1.1.8 → 1.1.9-alpha.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 (450) hide show
  1. package/es/bc/zdata-source/Constants.js +6 -11
  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/Properties.js +3 -0
  6. package/es/bc/zrecord/Constants.js +10 -17
  7. package/es/cc/action-icon/Constants.js +3 -5
  8. package/es/cc/action-location/Constants.js +5 -9
  9. package/es/cc/avatar/Constants.js +3 -5
  10. package/es/cc/breadcrumb/Constants.js +3 -5
  11. package/es/cc/button/Constants.js +3 -5
  12. package/es/cc/checkbox/Constants.js +5 -9
  13. package/es/cc/date/Constants.js +5 -9
  14. package/es/cc/date/Properties.js +9 -0
  15. package/es/cc/email/Constants.js +3 -5
  16. package/es/cc/fields/field/Constants.js +9 -13
  17. package/es/cc/fields/field/FormDefaultUIType.js +1 -1
  18. package/es/cc/fields/field/Properties.js +63 -0
  19. package/es/cc/fields/multi-select/Properties.js +9 -0
  20. package/es/cc/fields/pick-list/Properties.js +9 -0
  21. package/es/cc/fields/text/Properties.js +9 -0
  22. package/es/cc/form/Constants.js +6 -11
  23. package/es/cc/form/Properties.js +17 -0
  24. package/es/cc/form-connected/Constants.js +10 -19
  25. package/es/cc/form-connected/Properties.js +35 -0
  26. package/es/cc/form-connected/SdkContract.js +61 -0
  27. package/es/cc/form-connected/index.js +2 -0
  28. package/es/cc/highlighted-value/Constants.js +3 -5
  29. package/es/cc/highlighted-value/Properties.js +10 -0
  30. package/es/cc/icon-button/Constants.js +3 -5
  31. package/es/cc/index.js +1 -1
  32. package/es/cc/link/Constants.js +3 -5
  33. package/es/cc/list-item/Constants.js +3 -5
  34. package/es/cc/more-dropdown/Constants.js +3 -5
  35. package/es/cc/multi-select/Constants.js +5 -9
  36. package/es/cc/multi-select/Properties.js +9 -0
  37. package/es/cc/section/Constants.js +5 -9
  38. package/es/cc/select/Constants.js +6 -11
  39. package/es/cc/select/Properties.js +12 -0
  40. package/es/cc/switch/Constants.js +3 -5
  41. package/es/cc/table-column-filter/Constants.js +5 -9
  42. package/es/cc/table-list/Constants.js +14 -27
  43. package/es/cc/table-list/model/index.js +5 -9
  44. package/es/cc/table-list/row/Constants.js +5 -9
  45. package/es/cc/tags/Constants.js +3 -5
  46. package/es/cc/tags/model/index.js +4 -7
  47. package/es/cc/text/Constants.js +3 -5
  48. package/es/cc/textarea/Constants.js +5 -9
  49. package/es/cc/textarea/Properties.js +11 -0
  50. package/es/cc/textbox/Constants.js +6 -11
  51. package/es/cc/textbox/Properties.js +11 -0
  52. package/es/index.js +4 -2
  53. package/es/library/behaviours/field-focus/frameworks/ui/EventHandlersFactory.js +24 -0
  54. package/es/library/behaviours/field-focus/frameworks/ui/FocusFieldBehaviourFactory.js +20 -0
  55. package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +0 -4
  56. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -10
  57. package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +0 -14
  58. package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +2 -11
  59. package/es/library/behaviours/list-selection/adapters/gateways/Repository.js +2 -8
  60. package/es/library/behaviours/list-selection/adapters/gateways/Service.js +0 -16
  61. package/es/library/behaviours/list-selection/adapters/presenters/Presenter.js +0 -8
  62. package/es/library/behaviours/local-storage/adapters/gateways/LocalStorageRepository.js +0 -6
  63. package/es/library/behaviours/local-storage/adapters/gateways/Service.js +0 -4
  64. package/es/library/behaviours/local-storage/adapters/presenters/Presenter.js +0 -8
  65. package/es/library/behaviours/local-storage/domain/entities/Storage.js +0 -4
  66. package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +0 -6
  67. package/es/library/behaviours/sort-by/adapters/gateway/Service.js +0 -4
  68. package/es/library/behaviours/sort-by/adapters/presenter/Presenter.js +0 -8
  69. package/es/library/behaviours/table-column-resizer/adapters/gateways/Repository.js +0 -6
  70. package/es/library/behaviours/table-column-resizer/adapters/gateways/Service.js +0 -10
  71. package/es/library/behaviours/table-column-resizer/adapters/gateways/TableElementService.js +0 -8
  72. package/es/library/behaviours/table-column-resizer/adapters/presenters/AutoScroll.js +0 -12
  73. package/es/library/behaviours/table-column-resizer/adapters/presenters/Presenter.js +0 -8
  74. package/es/library/behaviours/table-column-resizer/domain/entities/ColumnResizer.js +0 -12
  75. package/es/library/behaviours/table-column-resizer/domain/entities/Mouse.js +0 -6
  76. package/es/library/behaviours/table-column-resizer/domain/entities/ResizeColumnCalculator.js +0 -12
  77. package/es/library/behaviours/table-column-resizer/domain/entities/ResizerAutoScrollCalculator.js +0 -6
  78. package/es/library/behaviours/table-column-resizer/domain/entities/ResizingColumn.js +0 -13
  79. package/es/library/behaviours/table-column-resizer/domain/entities/Table.js +0 -11
  80. package/es/library/behaviours/text-to-field-click/adapters/gateway/Repository.js +0 -6
  81. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +2 -7
  82. package/es/library/custom-component/adapters/gateways/repository/Repository.js +1 -5
  83. package/es/library/custom-component/adapters/gateways/service/Service.js +0 -14
  84. package/es/library/custom-component/adapters/presenters/Presenter.js +0 -5
  85. package/es/library/custom-component/domain/entities/Behaviour.js +0 -11
  86. package/es/library/custom-component/domain/entities/Component.js +0 -24
  87. package/es/library/custom-component/domain/entities/Event.js +0 -7
  88. package/es/library/custom-component/domain/entities/EventHandler.js +0 -6
  89. package/es/library/custom-component/domain/entities/LifeCycleAction.js +0 -10
  90. package/es/library/custom-component/domain/entities/Payload.js +0 -6
  91. package/es/library/custom-component/domain/entities/Properties.js +0 -5
  92. package/es/library/custom-component/domain/entities/Property.js +0 -13
  93. package/es/library/custom-component/domain/entities/Schema.js +1 -5
  94. package/es/library/custom-component/domain/entities/State.js +0 -4
  95. package/es/library/custom-component/domain/entities/Style.js +0 -14
  96. package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +3 -7
  97. package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +9 -26
  98. package/es/library/custom-component/frameworks/ui/CreateSlotComponent.js +4 -2
  99. package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +1 -1
  100. package/es/library/dot/components/action-location/adapters/gateway/Repository.js +0 -8
  101. package/es/library/dot/components/action-location/adapters/presenters/Presenter.js +0 -8
  102. package/es/library/dot/components/action-location/entities/ActionLocationEntity.js +2 -6
  103. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
  104. package/es/library/dot/components/actions-renderer/frameworks/ui/ActionsRendererView.js +6 -4
  105. package/es/library/dot/components/form/adapters/presenter/TransformState.js +5 -58
  106. package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +2 -5
  107. package/es/library/dot/components/form/frameworks/ui/FormView.js +18 -42
  108. package/es/library/dot/components/form/frameworks/ui/__test__/Form.test.js +14 -20
  109. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +29 -4
  110. package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +27 -0
  111. package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +24 -0
  112. package/es/library/dot/components/form/frameworks/ui/sub-components/MiddleSection.js +24 -0
  113. package/es/library/dot/components/form/frameworks/ui/sub-components/Sections.js +7 -2
  114. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsLayout.js +20 -0
  115. package/es/library/dot/components/form/frameworks/ui/sub-components/SectionsWithRightPanelLayout.js +41 -0
  116. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/Checkbox.js +4 -3
  117. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +19 -17
  118. package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
  119. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +20 -17
  120. package/es/library/dot/components/form-fields/date/frameworks/ui/Date.js +2 -3
  121. package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +22 -19
  122. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTime.js +2 -3
  123. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +21 -18
  124. package/es/library/dot/components/form-fields/decimal/frameworks/ui/Decimal.js +2 -3
  125. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +22 -19
  126. package/es/library/dot/components/form-fields/email/frameworks/ui/Email.js +2 -3
  127. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +22 -19
  128. package/es/library/dot/components/form-fields/field/FieldItem.js +36 -0
  129. package/es/library/dot/components/form-fields/field/__test__/common.js +18 -16
  130. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +13 -0
  131. package/es/library/dot/components/form-fields/index.js +2 -1
  132. package/es/library/dot/components/form-fields/lookup/frameworks/ui/EventHandlerFactory.js +70 -0
  133. package/es/library/dot/components/form-fields/lookup/frameworks/ui/Lookup.js +13 -0
  134. package/es/library/dot/components/form-fields/lookup/frameworks/ui/LookupView.js +51 -0
  135. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelect.js +2 -3
  136. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +21 -18
  137. package/es/library/dot/components/form-fields/number/frameworks/ui/Number.js +2 -3
  138. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +22 -19
  139. package/es/library/dot/components/form-fields/percentage/frameworks/ui/Percentage.js +2 -3
  140. package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +22 -19
  141. package/es/library/dot/components/form-fields/phone/frameworks/ui/Phone.js +2 -3
  142. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +22 -19
  143. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickList.js +2 -3
  144. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +21 -18
  145. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextArea.js +4 -3
  146. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +21 -18
  147. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBox.js +2 -3
  148. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +21 -18
  149. package/es/library/dot/components/form-fields/url/frameworks/ui/Url.js +2 -3
  150. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +22 -19
  151. package/es/library/dot/components/section/frameworks/ui/RenderField.js +5 -4
  152. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +1 -1
  153. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +1 -1
  154. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +1 -1
  155. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +3 -3
  156. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +6 -6
  157. package/es/library/dot/components/table-list/frameworks/ui/sub-components/field/FieldComponent.js +1 -2
  158. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +1 -1
  159. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +1 -1
  160. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +1 -1
  161. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +18 -1
  162. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +3 -0
  163. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  164. 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
  165. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +16 -12
  166. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +3 -5
  167. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +23 -3
  168. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +37 -0
  169. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +16 -4
  170. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +5 -3
  171. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +23 -5
  172. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +40 -0
  173. package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +13 -3
  174. package/es/library/slot/frameworks/ui/ConvertSlotToComponent.js +5 -4
  175. package/es/platform/client-actions/behaviour/zclient-actions/adapters/controllers/MountController.js +15 -18
  176. package/es/platform/client-actions/behaviour/zclient-actions/adapters/gateways/Repository.js +0 -6
  177. package/es/platform/client-actions/behaviour/zclient-actions/adapters/gateways/Service.js +0 -16
  178. package/es/platform/client-actions/behaviour/zclient-actions/adapters/presenters/Presenter.js +0 -8
  179. package/es/platform/client-actions/behaviour/zclient-actions/adapters/resources/ClientActionResource.js +2 -4
  180. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionLocationUseCase.js +1 -1
  181. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionUIComponentPropertiesUseCase.js +1 -1
  182. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/GetClientActionsUseCase.js +1 -1
  183. package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/UpdateClientActionUIComponentPropertiesUseCase.js +1 -1
  184. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientAction.js +0 -26
  185. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActions.js +0 -9
  186. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/EventMapping.js +0 -12
  187. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/EventMappings.js +0 -4
  188. package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/UIComponentMapping.js +0 -14
  189. package/es/platform/client-actions/behaviour/zclient-actions/frameworks/sdk/ClientActionsSDKFactory.js +2 -2
  190. package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +1 -1
  191. package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js +0 -8
  192. package/es/platform/client-actions/components/action-event-mediator/adapters/presenters/Presenter.js +0 -8
  193. package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +2 -10
  194. package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +6 -4
  195. package/es/platform/client-actions/components/interfaces/ActionViewModel.js +1 -0
  196. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +5 -1
  197. package/es/platform/column-chooser/adapters/gateways/Repository.js +0 -6
  198. package/es/platform/column-chooser/adapters/gateways/Service.js +0 -14
  199. package/es/platform/column-chooser/adapters/presenters/Presenter.js +0 -8
  200. package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +0 -5
  201. package/es/platform/components/app/adapters/resources/AppResource.js +15 -0
  202. package/es/platform/components/form-connected/adapters/resources/SmartFormResources.js +90 -10
  203. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +30 -58
  204. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +2 -6
  205. package/es/platform/components/form-connected/frameworks/FormConnectedView.js +3 -1
  206. package/es/platform/components/form-connected/frameworks/FormSdkFactory.js +2 -2
  207. package/es/platform/components/table-connected/adapters/controllers/ResizeFinishController.js +3 -5
  208. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +2 -4
  209. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +2 -2
  210. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +2 -2
  211. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +1 -1
  212. package/es/platform/data-source/http-template/deleteRecords.js +1 -1
  213. package/es/platform/data-source/http-template/fetchLookupFields.js +24 -0
  214. package/es/platform/data-source/http-template/fetchValidationRules.js +2 -1
  215. package/es/platform/data-source/http-template/moveToTrash.js +28 -0
  216. package/es/platform/data-source/index.js +5 -1
  217. package/es/platform/data-source/utils/validation-rules/FieldConditions.js +167 -0
  218. package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +98 -0
  219. package/es/platform/sdk/adapters/gateways/Repository.js +5 -9
  220. package/es/platform/sdk/adapters/gateways/Service.js +2 -12
  221. package/es/platform/sdk/adapters/presenters/Presenter.js +0 -6
  222. package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +0 -6
  223. package/es/platform/sdk/application/usecases/GetResourcesUseCase.js +12 -0
  224. package/es/platform/sdk/domain/entities/ResourceManager.js +24 -20
  225. package/es/platform/sdk/frameworks/Sdk.js +23 -2
  226. package/es/platform/sdk/frameworks/SdkRegistry.js +11 -8
  227. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +0 -4
  228. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +0 -8
  229. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +0 -6
  230. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +0 -8
  231. package/es/platform/zdata-source/adapters/controllers/FailureController.js +26 -29
  232. package/es/platform/zdata-source/adapters/controllers/NoContentController.js +21 -24
  233. package/es/platform/zdata-source/adapters/controllers/RegisterController.js +17 -20
  234. package/es/platform/zdata-source/adapters/controllers/SuccessController.js +26 -29
  235. package/es/platform/zdata-source/adapters/gateways/Repository.js +0 -6
  236. package/es/platform/zdata-source/adapters/gateways/Service.js +0 -12
  237. package/es/platform/zdata-source/adapters/presenters/Presenter.js +1 -9
  238. package/es/platform/zdata-source/applications/usecases/SuccessUseCase.js +1 -1
  239. package/es/platform/zdata-source/domain/entities/APITemplate.js +0 -16
  240. package/es/platform/zfield/adapters/gateways/Repository.js +0 -6
  241. package/es/platform/zfield/adapters/gateways/Service.js +0 -14
  242. package/es/platform/zfield/adapters/presenters/Presenter.js +0 -8
  243. package/es/platform/zfield/applications/entities-factory/FieldBuilder.js +0 -30
  244. package/es/platform/zfield/applications/entities-factory/FieldsManagerBuilder.js +0 -12
  245. package/es/platform/zform/adapters/controllers/FieldBlurController.js +26 -0
  246. package/es/platform/zform/adapters/controllers/LookupFieldController.js +23 -0
  247. package/es/platform/zform/adapters/controllers/MyFromSuccessController.js +8 -2
  248. package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +21 -0
  249. package/es/platform/zform/adapters/controllers/ValidateFieldRequestController.js +10 -5
  250. package/es/platform/zform/adapters/controllers/ValidationRulesExecutionResultController.js +23 -0
  251. package/es/platform/zform/adapters/controllers/ValidationRulesRequestController.js +2 -4
  252. package/es/platform/zform/adapters/controllers/ValidationRulesSuccessController.js +2 -4
  253. package/es/platform/zform/adapters/gateway/FormRepository.js +0 -6
  254. package/es/platform/zform/adapters/gateway/Service.js +10 -36
  255. package/es/platform/zform/adapters/presenter/FormPresenter.js +0 -8
  256. package/es/platform/zform/adapters/presenter/FormTranslator.js +28 -3
  257. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +70 -10
  258. package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +7 -3
  259. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +5 -9
  260. package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +7 -3
  261. package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +7 -3
  262. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +6 -9
  263. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +6 -9
  264. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +7 -10
  265. package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +6 -3
  266. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +6 -9
  267. package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +6 -9
  268. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +6 -9
  269. package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +6 -3
  270. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +5 -9
  271. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +8 -8
  272. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +6 -9
  273. package/es/platform/zform/adapters/presenter/utils/DefaultClientActions.js +114 -36
  274. package/es/platform/zform/applications/usecases/AbstractUseCase.js +3 -1
  275. package/es/platform/zform/applications/usecases/FieldBlurUseCase.js +39 -0
  276. package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +9 -13
  277. package/es/platform/zform/applications/usecases/FocusFieldUseCase.js +19 -0
  278. package/es/platform/zform/applications/usecases/FormSubmitUseCase.js +19 -38
  279. package/es/platform/zform/applications/usecases/GetFieldErrorMessageUseCase.js +16 -0
  280. package/es/platform/zform/applications/usecases/GetFieldValueUseCase.js +1 -1
  281. package/es/platform/zform/applications/usecases/InsertValidationRuleSuccessUseCase.js +22 -0
  282. package/es/platform/zform/applications/usecases/LookupFieldSuccessUseCase.js +33 -0
  283. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +97 -13
  284. package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +4 -33
  285. package/es/platform/zform/applications/usecases/SetFieldErrorMessageUseCase.js +4 -4
  286. package/es/platform/zform/applications/usecases/SetFieldValueUseCase.js +4 -21
  287. package/es/platform/zform/applications/usecases/SetFieldsValuesUseCase.js +4 -26
  288. package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +62 -0
  289. package/es/platform/zform/applications/usecases/ValidateFieldUseCase.js +33 -0
  290. package/es/platform/zform/applications/usecases/ValidationRulesExecutionResultUseCase.js +23 -0
  291. package/es/platform/zform/domain/ZDependencyMapping.js +0 -17
  292. package/es/platform/zform/domain/ZField.js +26 -54
  293. package/es/platform/zform/domain/ZForm.js +110 -82
  294. package/es/platform/zform/domain/ZLayout.js +0 -14
  295. package/es/platform/zform/domain/ZLayoutRule.js +0 -31
  296. package/es/platform/zform/domain/ZSection.js +0 -19
  297. package/es/platform/zform/domain/ZValidationRule.js +0 -28
  298. package/es/platform/zform/domain/interfaces/IZForm.js +5 -1
  299. package/es/platform/zform/domain/interfaces/ValidationConditions.js +142 -0
  300. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +27 -145
  301. package/es/platform/zform/frameworks/ui/ZFormBehaviourFactory.js +4 -9
  302. package/es/platform/zform/frameworks/validation-rules/DefaultCustomValidators.js +340 -0
  303. package/es/platform/zform/frameworks/validation-rules/Validator.js +94 -16
  304. package/es/platform/zform/frameworks/validation-rules/formUtils.js +7 -0
  305. package/es/platform/zform/frameworks/validation-rules/localization_utils.js +15 -0
  306. package/es/platform/zform/frameworks/validation-rules/utils.js +402 -351
  307. package/es/platform/zform/frameworks/validation-rules/validationRules.js +80 -79
  308. package/es/platform/zlist/adapters/gateways/Repository.js +0 -6
  309. package/es/platform/zlist/adapters/gateways/Service.js +0 -33
  310. package/es/platform/zlist/adapters/presenters/Presenters.js +0 -8
  311. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +1 -3
  312. package/es/platform/zlist/adapters/presenters/TableTranslator.js +4 -6
  313. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +2 -6
  314. package/es/platform/zlist/adapters/presenters/translators/actions/ActionsTranslator.js +4 -15
  315. package/es/platform/zlist/adapters/presenters/utils/calculateFieldWidths.js +1 -3
  316. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +1 -3
  317. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +1 -3
  318. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +1 -1
  319. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -3
  320. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +1 -3
  321. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +1 -3
  322. package/es/platform/zlist/domain/entities/List.js +3 -2
  323. package/es/platform/zrecord/adapters/controllers/AppendRecordsController.js +20 -23
  324. package/es/platform/zrecord/adapters/controllers/DeleteMultipleRecordLocalController.js +20 -23
  325. package/es/platform/zrecord/adapters/controllers/FailureController.js +26 -29
  326. package/es/platform/zrecord/adapters/controllers/FetchStateStopController.js +17 -20
  327. package/es/platform/zrecord/adapters/controllers/MountController.js +15 -18
  328. package/es/platform/zrecord/adapters/controllers/NoContentController.js +21 -24
  329. package/es/platform/zrecord/adapters/controllers/RefetchController.js +26 -29
  330. package/es/platform/zrecord/adapters/controllers/SetRecordsController.js +24 -27
  331. package/es/platform/zrecord/adapters/controllers/SuccessController.js +26 -29
  332. package/es/platform/zrecord/adapters/gateways/Repository.js +0 -6
  333. package/es/platform/zrecord/adapters/gateways/Service.js +0 -30
  334. package/es/platform/zrecord/adapters/presenters/Presenter.js +0 -8
  335. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +1 -1
  336. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +1 -1
  337. package/es/platform/zrecord/domain/entities/CustomFieldValues.js +0 -4
  338. package/es/platform/zrecord/domain/entities/Record.js +0 -22
  339. package/es/platform/zrecord/domain/entities/Records.js +0 -11
  340. package/package.json +12 -17
  341. package/es/bc/field-validation/Constants.js +0 -4
  342. package/es/bc/field-validation/EventHandlers.js +0 -1
  343. package/es/bc/field-validation/Events.js +0 -106
  344. package/es/bc/field-validation/FieldTypes.js +0 -20
  345. package/es/bc/field-validation/Properties.js +0 -11
  346. package/es/bc/field-validation/index.js +0 -5
  347. package/es/cc/ephi-tag/Properties.js +0 -1
  348. package/es/cc/ephi-tag/index.js +0 -1
  349. package/es/cc/info-icon/Properties.js +0 -10
  350. package/es/cc/info-icon/index.js +0 -1
  351. package/es/library/behaviours/field-validation/adapters/controllers/AbstractController.js +0 -9
  352. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldController.js +0 -32
  353. package/es/library/behaviours/field-validation/adapters/controllers/ValidateFieldsController.js +0 -31
  354. package/es/library/behaviours/field-validation/adapters/gateway/Repository.js +0 -23
  355. package/es/library/behaviours/field-validation/adapters/gateway/Service.js +0 -18
  356. package/es/library/behaviours/field-validation/applications/interfaces/input/FieldData.js +0 -17
  357. package/es/library/behaviours/field-validation/applications/usecases/AbstractUseCase.js +0 -15
  358. package/es/library/behaviours/field-validation/applications/usecases/ValidateField.js +0 -29
  359. package/es/library/behaviours/field-validation/applications/usecases/ValidateFields.js +0 -28
  360. package/es/library/behaviours/field-validation/domain/FieldValidation.js +0 -94
  361. package/es/library/behaviours/field-validation/domain/field-vise-validations/BooleanValidation.js +0 -28
  362. package/es/library/behaviours/field-validation/domain/field-vise-validations/CurrencyValidation.js +0 -49
  363. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateTimeValidation.js +0 -24
  364. package/es/library/behaviours/field-validation/domain/field-vise-validations/DateValidation.js +0 -24
  365. package/es/library/behaviours/field-validation/domain/field-vise-validations/DecimalValidation.js +0 -49
  366. package/es/library/behaviours/field-validation/domain/field-vise-validations/EmailValidation.js +0 -28
  367. package/es/library/behaviours/field-validation/domain/field-vise-validations/IntegerValidation.js +0 -39
  368. package/es/library/behaviours/field-validation/domain/field-vise-validations/LookUpValidation.js +0 -24
  369. package/es/library/behaviours/field-validation/domain/field-vise-validations/MultiSelectValidation.js +0 -26
  370. package/es/library/behaviours/field-validation/domain/field-vise-validations/PercentValidation.js +0 -28
  371. package/es/library/behaviours/field-validation/domain/field-vise-validations/PhoneValidation.js +0 -39
  372. package/es/library/behaviours/field-validation/domain/field-vise-validations/PicklistValidation.js +0 -24
  373. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextAreaValidation.js +0 -39
  374. package/es/library/behaviours/field-validation/domain/field-vise-validations/TextBoxValidation.js +0 -39
  375. package/es/library/behaviours/field-validation/domain/field-vise-validations/URLValidation.js +0 -28
  376. package/es/library/behaviours/field-validation/domain/interfaces/FieldTypes.js +0 -20
  377. package/es/library/behaviours/field-validation/domain/interfaces/IFieldViseValidation.js +0 -1
  378. package/es/library/behaviours/field-validation/domain/interfaces/ValidationResult.js +0 -1
  379. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsArray.js +0 -1
  380. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsEnum.js +0 -22
  381. package/es/library/behaviours/field-validation/domain/interfaces/ValidationsMap.js +0 -1
  382. package/es/library/behaviours/field-validation/domain/interfaces/fields/IBooleanField.js +0 -0
  383. package/es/library/behaviours/field-validation/domain/interfaces/fields/ICurrencyField.js +0 -0
  384. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateField.js +0 -0
  385. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDateTimeField.js +0 -0
  386. package/es/library/behaviours/field-validation/domain/interfaces/fields/IDecimalField.js +0 -0
  387. package/es/library/behaviours/field-validation/domain/interfaces/fields/IEmailField.js +0 -0
  388. package/es/library/behaviours/field-validation/domain/interfaces/fields/IIntegerField.js +0 -0
  389. package/es/library/behaviours/field-validation/domain/interfaces/fields/ILookUpField.js +0 -0
  390. package/es/library/behaviours/field-validation/domain/interfaces/fields/IMultiSelectField.js +0 -0
  391. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPercentField.js +0 -0
  392. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPhoneField.js +0 -0
  393. package/es/library/behaviours/field-validation/domain/interfaces/fields/IPicklistField.js +0 -0
  394. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextAreaField.js +0 -0
  395. package/es/library/behaviours/field-validation/domain/interfaces/fields/ITextBoxField.js +0 -0
  396. package/es/library/behaviours/field-validation/domain/interfaces/fields/IURLField.js +0 -0
  397. package/es/library/behaviours/field-validation/frameworks/ui/EventHandlerFactory.js +0 -23
  398. package/es/library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory.js +0 -27
  399. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/BooleanFieldValidation.test.js +0 -137
  400. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/CurrencyFieldValidation.test.js +0 -228
  401. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateFieldValidation.test.js +0 -108
  402. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DateTimeFieldValidation.test.js +0 -108
  403. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/DecimalFieldValidation.test.js +0 -257
  404. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/EmailFieldValidation.test.js +0 -139
  405. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/FieldValidationBehaviour.test.js +0 -171
  406. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/IntegerFieldValidation.test.js +0 -168
  407. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/LookUpFieldValidation.test.js +0 -108
  408. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/MultiSelectFieldValidation.test.js +0 -79
  409. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PercentFieldValidation.test.js +0 -108
  410. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PhoneFieldValidation.test.js +0 -168
  411. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/PicklistFieldValidation.test.js +0 -79
  412. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextAreaFieldValidation.test.js +0 -170
  413. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/TextBoxFieldValidation.test.js +0 -170
  414. package/es/library/behaviours/field-validation/frameworks/ui/__tests__/URLFieldValidation.test.js +0 -108
  415. package/es/library/behaviours/field-validation/frameworks/utils/FormBasicValidationAdaptor.js +0 -228
  416. package/es/library/behaviours/field-validation/frameworks/utils/__tests__/formValidate.test.js +0 -284
  417. package/es/library/behaviours/field-validation/frameworks/utils/formValidate.js +0 -334
  418. package/es/library/dot/components/form-fields/checkbox/adapters/presenter/TransformState.js +0 -22
  419. package/es/library/dot/components/form-fields/currency/adapters/presenter/TransformState.js +0 -81
  420. package/es/library/dot/components/form-fields/date/adapters/presenter/TransformState.js +0 -22
  421. package/es/library/dot/components/form-fields/datetime/adapters/presenter/TransformState.js +0 -22
  422. package/es/library/dot/components/form-fields/decimal/adapters/presenter/TransformState.js +0 -31
  423. package/es/library/dot/components/form-fields/email/adapters/presenter/TransformState.js +0 -23
  424. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITag.js +0 -10
  425. package/es/library/dot/components/form-fields/ephi-tag/frameworks/ui/EPHITagView.js +0 -21
  426. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIcon.js +0 -10
  427. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/InfoIconView.js +0 -21
  428. package/es/library/dot/components/form-fields/info-icon/frameworks/ui/css/InfoIcon.module.css +0 -3
  429. package/es/library/dot/components/form-fields/multi-select/adapters/presenter/TransformState.js +0 -31
  430. package/es/library/dot/components/form-fields/number/adapters/presenter/TransformState.js +0 -31
  431. package/es/library/dot/components/form-fields/percentage/adapters/presenter/TransformState.js +0 -31
  432. package/es/library/dot/components/form-fields/phone/adapters/presenter/TransformState.js +0 -31
  433. package/es/library/dot/components/form-fields/pick-list/adapters/presenter/TransformState.js +0 -23
  434. package/es/library/dot/components/form-fields/textarea/adapters/presenter/TransformState.js +0 -23
  435. package/es/library/dot/components/form-fields/textbox/adapters/presenter/TransformState.js +0 -32
  436. package/es/library/dot/components/form-fields/url/adapters/presenter/TransformState.js +0 -31
  437. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelAction.js +0 -9
  438. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/LabelActionView.js +0 -38
  439. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/sub-components/ui/css/LabelAction.module.css +0 -4
  440. package/es/platform/zform/adapters/controllers/ValidateErrorMessageController.js +0 -22
  441. package/es/platform/zform/applications/interfaces/input/ValidateErrorMessageInputModel.js +0 -1
  442. package/es/platform/zform/applications/usecases/ValidateErrorMessageUseCase.js +0 -33
  443. package/es/platform/zform/applications/usecases/ValidateFieldRequestUseCase.js +0 -56
  444. /package/es/{library/behaviours/field-validation/applications/interfaces/UseCaseDependencies.js → platform/zform/applications/interfaces/input/FieldBlurUsecaseInputModel.js} +0 -0
  445. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IRepository.js → platform/zform/applications/interfaces/input/FocusFieldUseCaseInputModel.js} +0 -0
  446. /package/es/{library/behaviours/field-validation/applications/interfaces/gateways/IService.js → platform/zform/applications/interfaces/input/GetFieldErrorMessageInputModel.js} +0 -0
  447. /package/es/{library/behaviours/field-validation/applications/interfaces/input/FieldValidationInputModel.js → platform/zform/applications/interfaces/input/InsertValidationRuleInputModel.js} +0 -0
  448. /package/es/{library/behaviours/field-validation/applications/interfaces/input/ValidateFieldsInputModel.js → platform/zform/applications/interfaces/input/LookUpFieldSuccessUseCaseInputModel.js} +0 -0
  449. /package/es/{library/behaviours/field-validation/domain/interfaces/IField.js → platform/zform/applications/interfaces/input/SubmitValidationCompletedUsecaseInputModel.js} +0 -0
  450. /package/es/{library/behaviours/field-validation/domain/interfaces/IFieldValidation.js → platform/zform/applications/interfaces/input/ValidateFieldUseCaseInputModel.js} +0 -0
@@ -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
- }
@@ -1,284 +0,0 @@
1
- // import { fieldValidate, validator } from '../../utils/fieldValidate';
2
- import { fieldValidate } from "../formValidate";
3
- describe('fieldValidate', () => {
4
- test('Validate empty string', () => {
5
- const fieldDetails = {
6
- type: 'Text',
7
- isMandatory: true
8
- };
9
- const result = fieldValidate('', fieldDetails);
10
- expect(result.isError).toBe(true);
11
- expect(result.message).toBe('crm.field.empty.check');
12
- });
13
- test('Validate non-empty string', () => {
14
- const fieldDetails = {
15
- type: 'Text',
16
- isMandatory: true
17
- };
18
- const result = fieldValidate('test', fieldDetails);
19
- expect(result.isError).toBe(false);
20
- });
21
- test('Validate empty array', () => {
22
- const fieldDetails = {
23
- type: 'Multiselect',
24
- isMandatory: true
25
- };
26
- const result = fieldValidate([], fieldDetails);
27
- expect(result.isError).toBe(true);
28
- expect(result.message).toBe('crm.field.empty.check');
29
- });
30
- test('Validate non-empty array', () => {
31
- const fieldDetails = {
32
- type: 'Multiselect',
33
- isMandatory: true
34
- };
35
- const result = fieldValidate(['item'], fieldDetails);
36
- expect(result.isError).toBe(false);
37
- });
38
- test('Validate empty object', () => {
39
- const fieldDetails = {
40
- type: 'Object',
41
- isMandatory: true
42
- };
43
- const result = fieldValidate({}, fieldDetails);
44
- expect(result.isError).toBe(true);
45
- expect(result.message).toBe('crm.field.empty.check');
46
- });
47
- test('Validate non-empty object', () => {
48
- const fieldDetails = {
49
- type: 'Object',
50
- isMandatory: true
51
- };
52
- const result = fieldValidate({
53
- key: 'value'
54
- }, fieldDetails);
55
- expect(result.isError).toBe(false);
56
- });
57
- test('Validate valid email', () => {
58
- const fieldDetails = {
59
- type: 'Email'
60
- };
61
- const result = fieldValidate('test@example.com', fieldDetails);
62
- expect(result.isError).toBe(false);
63
- });
64
- test('Validate invalid email', () => {
65
- const fieldDetails = {
66
- type: 'Email'
67
- };
68
- const result = fieldValidate('invalid-email', fieldDetails);
69
- expect(result.isError).toBe(true);
70
- expect(result.message).toBe('crm.field.valid.check');
71
- });
72
- test('Validate valid phone number', () => {
73
- const fieldDetails = {
74
- type: 'Phone'
75
- };
76
- const result = fieldValidate('+1234567890', fieldDetails);
77
- expect(result.isError).toBe(false);
78
- });
79
- test('Validate invalid phone number', () => {
80
- const fieldDetails = {
81
- type: 'Phone'
82
- };
83
- const result = fieldValidate('***-***-****', fieldDetails);
84
- expect(result.isError).toBe(true);
85
- expect(result.message).toBe('crm.field.valid.check');
86
- });
87
- test('Validate valid integer', () => {
88
- const fieldDetails = {
89
- type: 'Number'
90
- };
91
- const result = fieldValidate(123, fieldDetails);
92
- expect(result.isError).toBe(false);
93
- });
94
- test('Validate invalid integer', () => {
95
- const fieldDetails = {
96
- type: 'Number'
97
- };
98
- const result = fieldValidate('123.45', fieldDetails);
99
- expect(result.isError).toBe(true);
100
- expect(result.message).toBe('crm.field.valid.check');
101
- });
102
- test('Validate valid decimal', () => {
103
- const fieldDetails = {
104
- type: 'Decimal',
105
- decimalPlaces: 2
106
- }; // NOTE: as per formValidate.js, the decimalPlaces is must for Decimal Field
107
-
108
- const result = fieldValidate(123.45, fieldDetails);
109
- expect(result.isError).toBe(false);
110
- });
111
- test('Validate invalid decimal', () => {
112
- const fieldDetails = {
113
- type: 'Decimal'
114
- };
115
- const result = fieldValidate('invalid-decimal', fieldDetails);
116
- expect(result.isError).toBe(true);
117
- expect(result.message).toBe('crm.field.valid.check');
118
- });
119
- test('Validate valid date', () => {
120
- const fieldDetails = {
121
- type: 'Date'
122
- };
123
- const result = fieldValidate('2025-02-11T00:00:00Z', fieldDetails);
124
- expect(result.isError).toBe(false);
125
- });
126
- test.skip('Validate invalid date', () => {
127
- const fieldDetails = {
128
- type: 'Date'
129
- };
130
- const result = fieldValidate('invalid-date', fieldDetails);
131
- expect(result.isError).toBe(true);
132
- expect(result.message).toBe('crm.field.valid.check');
133
- });
134
- test('Validate mandatory field', () => {
135
- const fieldDetails = {
136
- type: 'Text',
137
- isMandatory: true
138
- };
139
- const result = fieldValidate('', fieldDetails);
140
- expect(result.isError).toBe(true);
141
- expect(result.message).toBe('crm.field.empty.check');
142
- });
143
- test('Validate field with max length', () => {
144
- const fieldDetails = {
145
- type: 'Text',
146
- maxLength: 3
147
- };
148
- const result = fieldValidate('test', fieldDetails);
149
- expect(result.isError).toBe(true);
150
- expect(result.message).toBe('support.form.more.than.max.length');
151
- });
152
- test('Validate field with valid length', () => {
153
- const fieldDetails = {
154
- type: 'Text',
155
- maxLength: 5
156
- };
157
- const result = fieldValidate('test', fieldDetails);
158
- expect(result.isError).toBe(false);
159
- });
160
- test('Validate valid decimal places', () => {
161
- const fieldDetails = {
162
- type: 'Decimal',
163
- decimalPlaces: 2
164
- };
165
- const result = fieldValidate(123.45, fieldDetails);
166
- expect(result.isError).toBe(false);
167
- });
168
- test('Validate invalid decimal places', () => {
169
- const fieldDetails = {
170
- type: 'Decimal',
171
- decimalPlaces: 2
172
- };
173
- const result = fieldValidate(123.456, fieldDetails);
174
- expect(result.isError).toBe(true);
175
- expect(result.message).toBe('support.form.decimal.places.length.error.message');
176
- });
177
- test('Validate empty multi-select', () => {
178
- const fieldDetails = {
179
- type: 'Multiselect',
180
- isMandatory: true
181
- };
182
- const result = fieldValidate([], fieldDetails);
183
- expect(result.isError).toBe(true);
184
- expect(result.message).toBe('crm.field.empty.check');
185
- });
186
- test('Validate non-empty multi-select', () => {
187
- const fieldDetails = {
188
- type: 'Multiselect',
189
- isMandatory: true
190
- };
191
- const result = fieldValidate(['item'], fieldDetails);
192
- expect(result.isError).toBe(false);
193
- });
194
- test('Validate empty multi-select with -None- value', () => {
195
- const fieldDetails = {
196
- type: 'Multiselect',
197
- isMandatory: true
198
- };
199
- const result = fieldValidate(['-None-'], fieldDetails);
200
- expect(result.isError).toBe(true);
201
- expect(result.message).toBe('crm.field.empty.check');
202
- });
203
- test('Validate non-empty multi-select with -None- value', () => {
204
- const fieldDetails = {
205
- type: 'Multiselect',
206
- isMandatory: true
207
- };
208
- const result = fieldValidate(['item', '-None-'], fieldDetails);
209
- expect(result.isError).toBe(false);
210
- });
211
- test('Validate empty picklist', () => {
212
- const fieldDetails = {
213
- type: 'Picklist',
214
- isMandatory: true
215
- };
216
- const result = fieldValidate('', fieldDetails);
217
- expect(result.isError).toBe(true);
218
- expect(result.message).toBe('crm.field.empty.check');
219
- });
220
- test('Validate non-empty picklist', () => {
221
- const fieldDetails = {
222
- type: 'Picklist',
223
- isMandatory: true
224
- };
225
- const result = fieldValidate('item', fieldDetails);
226
- expect(result.isError).toBe(false);
227
- });
228
- test('Validate empty picklist with -None- value', () => {
229
- const fieldDetails = {
230
- type: 'Picklist',
231
- isMandatory: true
232
- };
233
- const result = fieldValidate('-None-', fieldDetails);
234
- expect(result.isError).toBe(true);
235
- expect(result.message).toBe('crm.field.empty.check');
236
- });
237
- test('Validate non-empty picklist with -None- value', () => {
238
- const fieldDetails = {
239
- type: 'Picklist',
240
- isMandatory: true
241
- };
242
- const result = fieldValidate('item', fieldDetails);
243
- expect(result.isError).toBe(false);
244
- });
245
- test('Validate empty boolean field', () => {
246
- const fieldDetails = {
247
- type: 'Boolean',
248
- isMandatory: true
249
- };
250
- const result = fieldValidate(false, fieldDetails);
251
- expect(result.isError).toBe(true);
252
- expect(result.message).toBe('crm.field.empty.check');
253
- });
254
- test('Validate valid website', () => {
255
- const fieldDetails = {
256
- type: 'URL'
257
- };
258
- const result = fieldValidate('htt' + 'p://example.com', fieldDetails);
259
- expect(result.isError).toBe(false);
260
- });
261
- test.skip('Validate invalid website', () => {
262
- const fieldDetails = {
263
- type: 'URL'
264
- };
265
- const result = fieldValidate('invalid-url', fieldDetails);
266
- expect(result.isError).toBe(true);
267
- expect(result.message).toBe('crm.field.valid.check');
268
- });
269
- test('Validate valid URL', () => {
270
- const fieldDetails = {
271
- type: 'URL'
272
- };
273
- const result = fieldValidate('htt' + 'p://example.com', fieldDetails);
274
- expect(result.isError).toBe(false);
275
- });
276
- test.skip('Validate invalid URL', () => {
277
- const fieldDetails = {
278
- type: 'URL'
279
- };
280
- const result = fieldValidate('invalid-url', fieldDetails);
281
- expect(result.isError).toBe(true);
282
- expect(result.message).toBe('crm.field.valid.check');
283
- });
284
- });