@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
@@ -0,0 +1,340 @@
1
+ import { i18NProviderUtils } from '@zohodesk/i18n';
2
+ export function maxLengthValidation(_ref) {
3
+ let {
4
+ field,
5
+ value
6
+ } = _ref;
7
+ return new Promise(res => {
8
+ const {
9
+ i18NLabel,
10
+ maxLength
11
+ } = field;
12
+ const regexp = new RegExp(`^.{0,${maxLength}}$`);
13
+
14
+ if (!value || regexp.test(value)) {
15
+ res({
16
+ type: 'success'
17
+ });
18
+ } else {
19
+ res({
20
+ type: 'fail',
21
+ action: {
22
+ message: i18NProviderUtils.getI18NValue('support.form.more.than.max.length', [i18NLabel, maxLength])
23
+ }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ export function emailValidation(_ref2) {
29
+ let {
30
+ field,
31
+ value
32
+ } = _ref2;
33
+ return new Promise(res => {
34
+ const {
35
+ i18NLabel
36
+ } = field;
37
+ const regexp = new RegExp(`^[\\wÀ-ž]([\\wÀ-ž\\-\\.\\+\\'\\&\\/]*)@([\\wÀ-ž\\-\\.]*)(\\.[a-zA-ZÀ-ž]{2,22}(\\.[a-zA-ZÀ-ž]{2}){0,2})$`);
38
+
39
+ if (!value || regexp.test(value)) {
40
+ res({
41
+ type: 'success'
42
+ });
43
+ } else {
44
+ res({
45
+ type: 'fail',
46
+ action: {
47
+ message: i18NProviderUtils.getI18NValue('crm.field.valid.check', [i18NLabel])
48
+ }
49
+ });
50
+ }
51
+ });
52
+ }
53
+ export function phoneValidation(_ref3) {
54
+ let {
55
+ field,
56
+ value
57
+ } = _ref3;
58
+ return new Promise(res => {
59
+ const {
60
+ i18NLabel
61
+ } = field;
62
+ const regexp = new RegExp(`^[0-9a-zA-Z_()\\+\\-\\.\\$@\\?\\,\\:\\'\\/\\!\\s]*$`);
63
+
64
+ if (!value || regexp.test(value)) {
65
+ res({
66
+ type: 'success'
67
+ });
68
+ } else {
69
+ res({
70
+ type: 'fail',
71
+ action: {
72
+ message: i18NProviderUtils.getI18NValue('crm.field.valid.check', [i18NLabel])
73
+ }
74
+ });
75
+ }
76
+ });
77
+ }
78
+ export function numberValidation(_ref4) {
79
+ let {
80
+ field,
81
+ value
82
+ } = _ref4;
83
+ return new Promise(res => {
84
+ const {
85
+ i18NLabel
86
+ } = field;
87
+ const regexp = new RegExp(`^-?\\d\\d*$`);
88
+
89
+ if (!value || regexp.test(value)) {
90
+ res({
91
+ type: 'success'
92
+ });
93
+ } else {
94
+ res({
95
+ type: 'fail',
96
+ action: {
97
+ message: i18NProviderUtils.getI18NValue('crm.field.valid.check', [i18NLabel])
98
+ }
99
+ });
100
+ }
101
+ });
102
+ }
103
+ export function decimalValidation(_ref5) {
104
+ let {
105
+ field,
106
+ value
107
+ } = _ref5;
108
+ return new Promise(res => {
109
+ const {
110
+ i18NLabel
111
+ } = field;
112
+ const regexp = new RegExp(`^-?[0-9]\\d*(|\\.\\d[0-9]*)$`);
113
+
114
+ if (!value || regexp.test(value)) {
115
+ res({
116
+ type: 'success'
117
+ });
118
+ } else {
119
+ res({
120
+ type: 'fail',
121
+ action: {
122
+ message: i18NProviderUtils.getI18NValue('crm.field.valid.check', [i18NLabel])
123
+ }
124
+ });
125
+ }
126
+ });
127
+ }
128
+ export function decimalPlacesValidation(_ref6) {
129
+ let {
130
+ field,
131
+ value
132
+ } = _ref6;
133
+ return new Promise(res => {
134
+ const {
135
+ decimalPlaces
136
+ } = field;
137
+ const regexp = new RegExp(`^\\d+(\\.\\d{0,${decimalPlaces}})?$`);
138
+
139
+ if (!value || regexp.test(value)) {
140
+ res({
141
+ type: 'success'
142
+ });
143
+ } else {
144
+ res({
145
+ type: 'fail',
146
+ action: {
147
+ message: i18NProviderUtils.getI18NValue('support.form.decimal.places.length.error.message', [decimalPlaces])
148
+ }
149
+ });
150
+ }
151
+ });
152
+ }
153
+ export function dateValidation(_ref7) {
154
+ let {
155
+ field,
156
+ value
157
+ } = _ref7;
158
+
159
+ function isValidDate(dateObj) {
160
+ if (dateObj == 'Invalid Date') {
161
+ return false;
162
+ }
163
+
164
+ if (dateObj || dateObj instanceof Date && dateObj.getFullYear() > 1000) {
165
+ return true;
166
+ }
167
+
168
+ return false;
169
+ }
170
+
171
+ return new Promise(res => {
172
+ const {
173
+ i18NLabel
174
+ } = field;
175
+
176
+ if (!value || isValidDate(value)) {
177
+ res({
178
+ type: 'success'
179
+ });
180
+ } else {
181
+ res({
182
+ type: 'fail',
183
+ action: {
184
+ message: i18NProviderUtils.getI18NValue('crm.field.valid.check', [i18NLabel])
185
+ }
186
+ });
187
+ }
188
+ });
189
+ }
190
+ const validator = {
191
+ isEmpty(value) {
192
+ const valueType = typeof value;
193
+
194
+ if (valueType === 'string') {
195
+ return this.isEmptyString(value);
196
+ }
197
+
198
+ if (Array.isArray(value)) {
199
+ return this.isEmptyArr(value);
200
+ }
201
+
202
+ if (valueType === 'object') {
203
+ return this.isEmptyObj(value);
204
+ }
205
+
206
+ if (valueType === 'boolean' || value) {
207
+ return false;
208
+ }
209
+
210
+ return true;
211
+ },
212
+
213
+ isEmptyString(value) {
214
+ if (value && typeof value === 'string' && value.trim()) {
215
+ return false;
216
+ }
217
+
218
+ return true;
219
+ },
220
+
221
+ isEmptyArr(value) {
222
+ if (Array.isArray(value) && value.length > 0) {
223
+ return false;
224
+ }
225
+
226
+ return true;
227
+ },
228
+
229
+ isEmptyMultiSelect(value) {
230
+ if (!this.isEmpty(value) && !(value.length <= 2 && value.every(val => this.isNoneValue(val)))) {
231
+ return false;
232
+ }
233
+
234
+ return true;
235
+ },
236
+
237
+ isEmptyPicklist(value) {
238
+ if (!this.isEmpty(value) && !this.isNoneValue(value)) {
239
+ return false;
240
+ }
241
+
242
+ return true;
243
+ },
244
+
245
+ isEmptyObj(value) {
246
+ for (const key in value) {
247
+ if (value.hasOwnProperty(key)) {
248
+ return false;
249
+ }
250
+ }
251
+
252
+ return true;
253
+ },
254
+
255
+ isNoneValue() {
256
+ let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
257
+ const inpVal = value.trim && value.trim();
258
+ const noneText = '-None-';
259
+ const i18nNoneValue = i18NProviderUtils.getI18NValue('-None-');
260
+
261
+ if (typeof inpVal === 'string' && (inpVal === noneText || inpVal === i18nNoneValue)) {
262
+ return true;
263
+ }
264
+
265
+ return false;
266
+ }
267
+
268
+ };
269
+ export function customMandatoryValidation(_ref8) {
270
+ let {
271
+ field,
272
+ value
273
+ } = _ref8;
274
+ return new Promise(res => {
275
+ const {
276
+ i18NLabel
277
+ } = field;
278
+
279
+ if (!validator.isEmpty(value)) {
280
+ res({
281
+ type: 'success'
282
+ });
283
+ } else {
284
+ res({
285
+ type: 'fail',
286
+ action: {
287
+ message: i18NProviderUtils.getI18NValue('crm.field.empty.check', [i18NLabel])
288
+ }
289
+ });
290
+ }
291
+ });
292
+ }
293
+ export function picklistMandatoryValidation(_ref9) {
294
+ let {
295
+ field,
296
+ value
297
+ } = _ref9;
298
+ return new Promise(res => {
299
+ const {
300
+ i18NLabel
301
+ } = field;
302
+
303
+ if (!validator.isEmptyPicklist(value)) {
304
+ res({
305
+ type: 'success'
306
+ });
307
+ } else {
308
+ res({
309
+ type: 'fail',
310
+ action: {
311
+ message: i18NProviderUtils.getI18NValue('crm.field.empty.check', [i18NLabel])
312
+ }
313
+ });
314
+ }
315
+ });
316
+ }
317
+ export function multiSelectMandatoryValidation(_ref10) {
318
+ let {
319
+ field,
320
+ value
321
+ } = _ref10;
322
+ return new Promise(res => {
323
+ const {
324
+ i18NLabel
325
+ } = field;
326
+
327
+ if (!validator.isEmptyMultiSelect(value)) {
328
+ res({
329
+ type: 'success'
330
+ });
331
+ } else {
332
+ res({
333
+ type: 'fail',
334
+ action: {
335
+ message: i18NProviderUtils.getI18NValue('crm.field.empty.check', [i18NLabel])
336
+ }
337
+ });
338
+ }
339
+ });
340
+ }
@@ -1,23 +1,85 @@
1
- import getValidationRuleActionsData from "./validationRules"; //need to move to gateway in adapter
1
+ import getValidationRuleActionsData from "./validationRules";
2
+ import * as defaultCustomValidators from "./DefaultCustomValidators"; //need to move to gateway in adapter
2
3
 
3
4
  export default class Validator {
4
- constructor(customValidators) {
5
- this.customValidators = customValidators;
5
+ customValidators = defaultCustomValidators;
6
+
7
+ constructor() {}
8
+
9
+ init(state) {
10
+ this.customValidators = { ...defaultCustomValidators,
11
+ ...state.properties.customValidators
12
+ };
13
+ }
14
+
15
+ customValidationRunner(_ref) {
16
+ let {
17
+ fieldCondition,
18
+ fieldName,
19
+ formValues,
20
+ fieldDetails,
21
+ fieldNameMap2Field
22
+ } = _ref;
23
+ const {
24
+ customValidators
25
+ } = this;
26
+ const {
27
+ validator
28
+ } = fieldCondition;
29
+ const {
30
+ scriptId
31
+ } = validator;
32
+ const field = fieldNameMap2Field[fieldName];
33
+
34
+ if (scriptId && customValidators[scriptId]) {
35
+ const script = customValidators[scriptId];
36
+
37
+ function handleResult(result) {
38
+ if (result && result.type === 'fail') {
39
+ const errorMessage = typeof result.message === 'string' ? result.message : result.action?.message;
40
+ return {
41
+ fieldName,
42
+ actions: {
43
+ alert: errorMessage
44
+ }
45
+ };
46
+ }
47
+
48
+ return null;
49
+ }
50
+
51
+ const arg = {
52
+ value: formValues[fieldName],
53
+ fieldId: field.id,
54
+ fieldCondition,
55
+ fieldName,
56
+ field
57
+ };
58
+ return script(arg).then(handleResult).catch(handleResult);
59
+ } else {
60
+ console.warn(`Custom validator "${scriptId}" not found in customValidators`, customValidators);
61
+ }
62
+
63
+ return null;
6
64
  }
7
65
 
8
- validateAsync(_ref) {
66
+ validateAsync(_ref2) {
9
67
  let {
10
68
  formData,
11
69
  myForm,
12
70
  validationRules
13
- } = _ref;
14
- let fieldDetails = {};
15
- let fieldMapper = {};
71
+ } = _ref2;
72
+ const fieldDetails = {};
73
+ const fieldMapper = {};
74
+ const fieldNameMap2Field = {};
16
75
  const formUIData = {};
76
+ const formValues = {};
17
77
  myForm.sections.forEach(section => {
18
78
  section.fields.forEach(field => {
19
79
  fieldDetails[field.id] = field;
80
+ fieldNameMap2Field[field.apiName] = field;
20
81
  fieldMapper[field.apiName] = field.id;
82
+ formValues[field.apiName] = formData[field.apiName].value;
21
83
  formUIData[field.id] = { ...field,
22
84
  value: formData[field.apiName].value || null,
23
85
  isShowOnLayoutRuleApplied: true //hack
@@ -29,16 +91,32 @@ export default class Validator {
29
91
  fieldDetails,
30
92
  fieldMapper
31
93
  };
32
- let result = getValidationRuleActionsData(validationRules, formUIData, formFields, this.customValidators);
33
- let output = {};
34
- Object.keys(result.data).forEach(key => {
35
- if (!output[fieldDetails[key].apiName]) {
36
- output[fieldDetails[key].apiName] = {};
37
- }
38
94
 
39
- output[fieldDetails[key].apiName].errorMessage = result.data[key].validationRuleMessage;
40
- });
41
- return Promise.resolve(output); // throw new Error("Method not implemented.");
95
+ const customValidationRunnerWrapper = _ref3 => {
96
+ let {
97
+ fieldCondition,
98
+ fieldName
99
+ } = _ref3;
100
+ return this.customValidationRunner({
101
+ fieldCondition,
102
+ fieldName,
103
+ formValues,
104
+ fieldDetails,
105
+ fieldNameMap2Field
106
+ });
107
+ };
108
+
109
+ return getValidationRuleActionsData(validationRules, formUIData, formFields, customValidationRunnerWrapper).then(result => {
110
+ const output = {};
111
+ Object.keys(result.data).forEach(key => {
112
+ if (!output[fieldDetails[key].apiName]) {
113
+ output[fieldDetails[key].apiName] = {};
114
+ }
115
+
116
+ output[fieldDetails[key].apiName].errorMessage = result.data[key].validationRuleMessage;
117
+ });
118
+ return Promise.resolve(output);
119
+ }); // throw new Error("Method not implemented.");
42
120
  }
43
121
 
44
122
  }
@@ -0,0 +1,7 @@
1
+ import { i18NProviderUtils } from '@zohodesk/i18n';
2
+ export function getNoneText() {
3
+ const valueNoneText = i18NProviderUtils.getI18NValue('-None-');
4
+ return {
5
+ valueNoneText
6
+ };
7
+ }
@@ -0,0 +1,15 @@
1
+ export function getLocalizedFunction() {
2
+ let initialArg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3
+ return function () {
4
+ let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5
+ return getLocalizedValue({ ...args,
6
+ ...initialArg
7
+ });
8
+ };
9
+ }
10
+ export function getLocalizedValue() {
11
+ let {
12
+ fieldValue
13
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ return fieldValue;
15
+ }