@zohodesk/library-platform 1.1.3 → 1.1.6

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 (261) hide show
  1. package/README.md +3 -3
  2. package/es/bc/sdk/EventHandlers.js +1 -0
  3. package/es/bc/sdk/Properties.js +10 -0
  4. package/es/bc/sdk/ResourceNamesEnum.js +6 -0
  5. package/es/bc/zform/Symbol.js +1 -0
  6. package/es/bc/zhttp/Errors.js +14 -0
  7. package/es/bc/zhttp/index.js +3 -1
  8. package/es/bc/zlist/Constants.js +8 -1
  9. package/es/bc/zlist/Events.js +140 -0
  10. package/es/bc/zlist/index.js +2 -1
  11. package/es/bc/zrecord/Constants.js +3 -1
  12. package/es/cc/action-icon/Properties.js +19 -1
  13. package/es/cc/action-location/Constants.js +5 -3
  14. package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
  15. package/es/cc/button/Constants.js +7 -0
  16. package/es/cc/button/Events.js +5 -0
  17. package/es/cc/button/Properties.js +77 -0
  18. package/es/cc/button/index.js +3 -0
  19. package/es/cc/component/FallbackView.js +1 -0
  20. package/es/cc/component/LifeCycleEventsEnum.js +9 -0
  21. package/es/cc/fields/currency/Model.js +2 -0
  22. package/es/cc/fields/field/Properties.js +1 -1
  23. package/es/cc/fields/formula/Model.js +5 -0
  24. package/es/cc/form/Constants.js +2 -0
  25. package/es/cc/form/Events.js +20 -0
  26. package/es/cc/form-connected/Constants.js +13 -0
  27. package/es/cc/index.js +3 -0
  28. package/es/cc/link/Properties.js +0 -1
  29. package/es/cc/list-item/Constants.js +7 -0
  30. package/es/cc/list-item/Events.js +14 -0
  31. package/es/cc/list-item/Properties.js +131 -0
  32. package/es/cc/list-item/index.js +3 -0
  33. package/es/cc/more-dropdown/Constants.js +7 -0
  34. package/es/cc/more-dropdown/Events.js +14 -0
  35. package/es/cc/more-dropdown/Properties.js +66 -0
  36. package/es/cc/more-dropdown/index.js +3 -0
  37. package/es/cc/section/Constants.js +2 -0
  38. package/es/cc/section/Events.js +20 -0
  39. package/es/cc/table-connected/ErrorEventType.js +32 -0
  40. package/es/cc/table-connected/Events.js +96 -0
  41. package/es/cc/table-connected/Properties.js +16 -0
  42. package/es/cc/table-connected/SdkContract.js +132 -0
  43. package/es/cc/table-connected/constants/Events.js +2 -0
  44. package/es/cc/table-connected/index.js +3 -1
  45. package/es/cc/table-list/Constants.js +4 -0
  46. package/es/cc/table-list/Properties.js +25 -0
  47. package/es/cc/table-list/row/Properties.js +44 -0
  48. package/es/index.js +6 -2
  49. package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +5 -2
  50. package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
  51. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +116 -4
  52. package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
  53. package/es/library/custom-component/applications/interfaces/gateways/ISchemaValidator.js +1 -0
  54. package/es/library/custom-component/applications/usecases/InitializeUseCase.js +3 -2
  55. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +6 -2
  56. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
  57. package/es/library/custom-component/domain/entities/Component.js +20 -3
  58. package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
  59. package/es/library/custom-component/domain/entities/Properties.js +19 -1
  60. package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +36 -1
  61. package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +23 -11
  62. package/es/library/custom-component/frameworks/ui/DependencyFactory.js +4 -3
  63. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +6 -0
  64. package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
  65. package/es/library/dot/components/form/frameworks/ui/EventHandlerFactory.js +23 -3
  66. package/es/library/dot/components/form/frameworks/ui/FormView.js +6 -3
  67. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +4 -0
  68. package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +1 -0
  69. package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +1 -0
  70. package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +1 -0
  71. package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +1 -0
  72. package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +1 -0
  73. package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +1 -0
  74. package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +1 -0
  75. package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +1 -0
  76. package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +1 -0
  77. package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +1 -0
  78. package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +1 -0
  79. package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +1 -0
  80. package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +1 -0
  81. package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +1 -0
  82. package/es/library/dot/components/section/frameworks/ui/EventHandlerFactory.js +26 -3
  83. package/es/library/dot/components/table-list/frameworks/hooks/useDropIndicator.js +8 -0
  84. package/es/library/dot/components/table-list/frameworks/hooks/useRowData.js +15 -0
  85. package/es/library/dot/components/table-list/frameworks/hooks/useTableRowReorder.js +105 -0
  86. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +85 -15
  87. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +240 -1
  88. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +28 -4
  89. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +25 -9
  90. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +11 -2
  91. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +50 -8
  92. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +7 -1
  93. package/es/library/dot/components/table-list/frameworks/utils/getHeaderClasses.js +37 -0
  94. package/es/library/dot/components/table-list/frameworks/utils/getTableListClassName.js +37 -0
  95. package/es/library/dot/components/table-list/frameworks/utils/reOrder.js +90 -0
  96. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +10 -1
  97. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/css/ActionIconView.module.css +3 -0
  98. package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/Button.js +12 -0
  99. package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/ButtonView.js +41 -0
  100. package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItem.js +12 -0
  101. package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItemView.js +122 -0
  102. package/es/library/dot/legacy-to-new-arch/more-dropdown/frameworks/ui/MoreDropdown.js +12 -0
  103. package/es/library/dot/legacy-to-new-arch/more-dropdown/frameworks/ui/MoreDropdownView.js +43 -0
  104. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +8 -4
  105. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +1 -1
  106. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ClientActionsAdapter.js +96 -0
  107. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +12 -3
  108. package/es/platform/client-actions/template-resolver/index.js +1 -0
  109. package/es/platform/client-actions/translators/client-actions-translator/index.js +5 -2
  110. package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +3 -2
  111. package/es/platform/client-actions/translators/context-resolver/index.js +7 -10
  112. package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +91 -0
  113. package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +33 -0
  114. package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnectedView.js +1 -1
  115. package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormSdkFactory.js +3 -14
  116. package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +28 -0
  117. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ColumnChooserUpdateController.js +5 -5
  118. package/es/platform/components/table-connected/adapters/controllers/ReOrderFinishController.js +21 -0
  119. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeByMouseController.js +1 -1
  120. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeEndController.js +1 -1
  121. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeFinishController.js +1 -1
  122. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeStartController.js +2 -2
  123. package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ScrollController.js +1 -1
  124. package/es/platform/components/table-connected/adapters/resources/ErrorPrinter.js +20 -0
  125. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +326 -0
  126. package/es/platform/components/table-connected/application/interfaces/ISmartTableResource.js +1 -0
  127. package/es/platform/components/table-connected/frameworks/ErrorEventHandlersFactory.js +126 -0
  128. package/es/{desk-frameworks → platform/components}/table-connected/frameworks/EventHandlersFactory.js +58 -17
  129. package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +57 -0
  130. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +78 -0
  131. package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js +10 -4
  132. package/es/platform/data-source/http-template/reOrderRecord.js +44 -0
  133. package/es/platform/data-source/index.js +2 -0
  134. package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
  135. package/es/platform/sdk/adapters/gateways/Service.js +27 -0
  136. package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
  137. package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
  138. package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +13 -0
  139. package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
  140. package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
  141. package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
  142. package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  143. package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  144. package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
  145. package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
  146. package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
  147. package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
  148. package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
  149. package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
  150. package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
  151. package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
  152. package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
  153. package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
  154. package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
  155. package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
  156. package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
  157. package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
  158. package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
  159. package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
  160. package/es/platform/sdk/frameworks/Sdk.js +11 -0
  161. package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
  162. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
  163. package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
  164. package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
  165. package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
  166. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
  167. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
  168. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
  169. package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
  170. package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
  171. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
  172. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
  173. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
  174. package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  175. package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  176. package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
  177. package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
  178. package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
  179. package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
  180. package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
  181. package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
  182. package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
  183. package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
  184. package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
  185. package/es/platform/zdata-source/domain/entities/DataSource.js +18 -12
  186. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +7 -1
  187. package/es/platform/zform/adapters/controllers/FieldValueChangeController.js +10 -3
  188. package/es/platform/zform/adapters/presenter/FormTranslator.js +6 -127
  189. package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +32 -0
  190. package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +20 -0
  191. package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +29 -0
  192. package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +20 -0
  193. package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +21 -0
  194. package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +29 -0
  195. package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +30 -0
  196. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +30 -0
  197. package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +29 -0
  198. package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +30 -0
  199. package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +30 -0
  200. package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +29 -0
  201. package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +29 -0
  202. package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +30 -0
  203. package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +27 -0
  204. package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +30 -0
  205. package/es/platform/zform/adapters/presenter/translators/fields/index.js +15 -0
  206. package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +13 -1
  207. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +3 -1
  208. package/es/platform/zform/domain/ZField.js +61 -16
  209. package/es/platform/zform/domain/ZSection.js +20 -7
  210. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +10 -4
  211. package/es/platform/zhttp/applications/usecases/FetchUseCase.js +111 -66
  212. package/es/platform/zlist/adapters/controllers/FieldExecuteFailedController.js +25 -0
  213. package/es/platform/zlist/adapters/controllers/ReOrderController.js +25 -0
  214. package/es/platform/zlist/adapters/controllers/ReOrderFailedController.js +26 -0
  215. package/es/platform/zlist/adapters/gateways/Repository.js +12 -2
  216. package/es/platform/zlist/adapters/gateways/Service.js +8 -0
  217. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +3 -1
  218. package/es/platform/zlist/adapters/presenters/TableTranslator.js +19 -5
  219. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +11 -12
  220. package/es/platform/zlist/adapters/presenters/translators/EmptyViewModel.js +2 -1
  221. package/es/platform/zlist/adapters/presenters/translators/Header.js +8 -4
  222. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -2
  223. package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
  224. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +1 -0
  225. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +3 -0
  226. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
  227. package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
  228. package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
  229. package/es/platform/zlist/applications/interfaces/input/ReOrderRecordUseCaseInput.js +1 -0
  230. package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
  231. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
  232. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
  233. package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +1 -1
  234. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
  235. package/es/platform/zlist/applications/usecases/ReOrderFailedUseCase.js +22 -0
  236. package/es/platform/zlist/applications/usecases/ReOrderUseCase.js +25 -0
  237. package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -2
  238. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -3
  239. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
  240. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
  241. package/es/platform/zlist/domain/entities/List.js +73 -48
  242. package/es/platform/zlist/domain/entities/ListErrorState.js +167 -0
  243. package/es/platform/zlist/frameworks/EventHandlersFactory.js +16 -6
  244. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +6 -0
  245. package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
  246. package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
  247. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
  248. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
  249. package/es/platform/zrecord/domain/entities/GetReOrderRecordsStrategy.js +40 -0
  250. package/es/platform/zrecord/domain/entities/Records.js +9 -4
  251. package/es/platform/zrecord/domain/entities/RecordsManager.js +11 -1
  252. package/package.json +10 -8
  253. package/es/desk-frameworks/form-connected/frameworks/EventHandlersFactory.js +0 -24
  254. package/es/desk-frameworks/form-connected/frameworks/FormConnectedFactory.js +0 -33
  255. package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +0 -36
  256. package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +0 -172
  257. package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +0 -56
  258. /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnected.js +0 -0
  259. /package/es/{desk-frameworks → platform/components}/index.js +0 -0
  260. /package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/AbstractController.js +0 -0
  261. /package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnected.js +0 -0
@@ -0,0 +1,91 @@
1
+ import SmartFormConstants from "../../../../cc/form-connected/Constants";
2
+ import FormSdkFactory from "./FormSdkFactory";
3
+ import FormConstants from "../../../../cc/form/Constants";
4
+ import { ZFORM_FIELD_VALUE_CHANGED } from "../../../../bc/zform/Symbol";
5
+ const {
6
+ SMART_FORM_FIELD_FOCUSED,
7
+ SMART_FORM_FIELD_BLURRED,
8
+ SMART_FORM_FIELD_VALUE_CHANGED
9
+ } = SmartFormConstants;
10
+
11
+ function createHandlerWithSdk(handler) {
12
+ return input => {
13
+ const {
14
+ state,
15
+ dispatch
16
+ } = input;
17
+ handler(input, FormSdkFactory.create({
18
+ state,
19
+ dispatch
20
+ }));
21
+ };
22
+ }
23
+
24
+ export default class EventHandlersFactory {
25
+ static createWrapped(eventHandlers) {
26
+ return Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
27
+ const handler = createHandlerWithSdk(eventHandlers[eventName]);
28
+ return [eventName, handler];
29
+ }));
30
+ }
31
+
32
+ static create(eventHandlers) {
33
+ const wrapped = EventHandlersFactory.createWrapped(eventHandlers);
34
+ return { ...wrapped,
35
+ [FormConstants.FORM_FIELD_FOCUSED]: _ref => {
36
+ let {
37
+ action,
38
+ dispatch
39
+ } = _ref;
40
+ const {
41
+ sectionId,
42
+ fieldName
43
+ } = action.payload;
44
+ dispatch({
45
+ type: SMART_FORM_FIELD_FOCUSED,
46
+ payload: {
47
+ sectionId,
48
+ fieldName
49
+ }
50
+ });
51
+ },
52
+ [FormConstants.FORM_FIELD_BLURRED]: _ref2 => {
53
+ let {
54
+ action,
55
+ dispatch
56
+ } = _ref2;
57
+ const {
58
+ sectionId,
59
+ fieldName
60
+ } = action.payload;
61
+ dispatch({
62
+ type: SMART_FORM_FIELD_BLURRED,
63
+ payload: {
64
+ sectionId,
65
+ fieldName
66
+ }
67
+ });
68
+ },
69
+ [ZFORM_FIELD_VALUE_CHANGED]: _ref3 => {
70
+ let {
71
+ action,
72
+ dispatch
73
+ } = _ref3;
74
+ const {
75
+ sectionId,
76
+ fieldName,
77
+ value
78
+ } = action.payload;
79
+ dispatch({
80
+ type: SMART_FORM_FIELD_VALUE_CHANGED,
81
+ payload: {
82
+ sectionId,
83
+ fieldName,
84
+ value
85
+ }
86
+ });
87
+ }
88
+ };
89
+ }
90
+
91
+ }
@@ -0,0 +1,33 @@
1
+ import Properties from "../../../../cc/form-connected/Properties";
2
+ import { createCustomComponent } from "../../../../library/custom-component";
3
+ import ZHttpBehaviourFactory from "../../../zhttp/frameworks/ZHttpBehaviourFactory";
4
+ import RecordBehaviourFactory from "../../../zrecord/frameworks/RecordBehaviourFactory";
5
+ import FormConnectedView from "./FormConnectedView";
6
+ import defaultDataBroker from "../../../data-source";
7
+ import DataBrokerBehaviourFactory from "../../../zdata-source/frameworks/DataBrokerBehaviourFactory";
8
+ import FormTranslator from "../../../zform/adapters/presenter/FormTranslator";
9
+ import ZFormBehaviourFactory from "../../../zform/frameworks/ui/ZFormBehaviourFactory";
10
+ import FieldValidationBehaviourFactory from "../../../../library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory";
11
+ import EventHandlersfactory from "./EventHandlersFactory";
12
+ export default class FormConnectedFactory {
13
+ static create(_ref) {
14
+ let {
15
+ name,
16
+ customValidators,
17
+ dataBroker = defaultDataBroker,
18
+ eventHandlers = {},
19
+ View = FormConnectedView
20
+ } = _ref;
21
+ return createCustomComponent({
22
+ name: name,
23
+ View: View,
24
+ properties: Properties,
25
+ eventHandlers: EventHandlersfactory.create(eventHandlers),
26
+ transformState: FormTranslator.transformState,
27
+ behaviours: [ZHttpBehaviourFactory.create(), DataBrokerBehaviourFactory.create(), RecordBehaviourFactory.create(dataBroker.httpTemplates), FieldValidationBehaviourFactory.create(), ZFormBehaviourFactory.create({
28
+ customValidators
29
+ })]
30
+ });
31
+ }
32
+
33
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import Form from "../../../library/dot/components/form/frameworks/ui/Form";
3
+ import Form from "../../../../library/dot/components/form/frameworks/ui/Form";
4
4
 
5
5
  function View(_ref, ref) {
6
6
  let {
@@ -2,8 +2,7 @@
2
2
  export default class FormSdkFactory {
3
3
  static create(_ref) {
4
4
  let {
5
- state,
6
- dispatch
5
+ state
7
6
  } = _ref;
8
7
  return {
9
8
  zform: {
@@ -12,21 +11,11 @@ export default class FormSdkFactory {
12
11
  },
13
12
  getFieldValue: name => {
14
13
  let field = state.behaviours.zform.sections.flatMap(section => section.fields).find(field => field.name === name);
15
-
16
- if (field) {
17
- return field.value;
18
- }
19
-
20
- return null;
14
+ return field ? field.value : null;
21
15
  },
22
16
  getFieldValidationResult: name => {
23
17
  let field = state.behaviours.zform.sections.flatMap(section => section.fields).find(field => field.name === name);
24
-
25
- if (field) {
26
- return field.errorMessage;
27
- }
28
-
29
- return null;
18
+ return field ? field.errorMessage : null;
30
19
  }
31
20
  }
32
21
  };
@@ -0,0 +1,28 @@
1
+ import AbstractController from "./AbstractController";
2
+ import { COLUMN_CHOOSER_BEHAVIOUR_OPENED } from "../../../../../bc/column-chooser/Constants";
3
+ export default class ColumnChooserOpenedController extends AbstractController {
4
+ handle(event) {
5
+ const state = event.state;
6
+ const {
7
+ zfield
8
+ } = state.behaviours;
9
+ const {
10
+ fields: availableFields,
11
+ selectedFields
12
+ } = zfield;
13
+ const columnChooserOptionsOrder = [...selectedFields];
14
+ availableFields.forEach(field => {
15
+ if (!selectedFields.includes(field.name)) {
16
+ columnChooserOptionsOrder.push(field.name);
17
+ }
18
+ });
19
+ event.dispatch({
20
+ type: COLUMN_CHOOSER_BEHAVIOUR_OPENED,
21
+ payload: {
22
+ order: columnChooserOptionsOrder,
23
+ selectedArray: selectedFields
24
+ }
25
+ });
26
+ }
27
+
28
+ }
@@ -1,15 +1,16 @@
1
1
  import AbstractController from "./AbstractController";
2
- import { FIELD_EXECUTE } from "../../../../bc/zfield/Constants";
2
+ import { FIELD_EXECUTE } from "../../../../../bc/zfield/Constants";
3
3
  export default class ColumnChooserUpdateController extends AbstractController {
4
4
  handle(event) {
5
5
  const {
6
- state
6
+ state,
7
+ dispatch
7
8
  } = event;
8
9
  const {
9
10
  context
10
11
  } = state.properties;
11
12
  const fields = event.action.payload.selectedArray;
12
- const action = {
13
+ dispatch({
13
14
  type: FIELD_EXECUTE,
14
15
  payload: {
15
16
  actionName: 'updateSelectedFields',
@@ -18,8 +19,7 @@ export default class ColumnChooserUpdateController extends AbstractController {
18
19
  },
19
20
  apiName: 'updateSelectedFields'
20
21
  }
21
- };
22
- event.dispatch(action);
22
+ });
23
23
  }
24
24
 
25
25
  }
@@ -0,0 +1,21 @@
1
+ import AbstractController from "./AbstractController";
2
+ import { ZLIST_RECORD_REORDER } from "../../../../../bc/zlist/Constants";
3
+ export class ReOrderFinishController extends AbstractController {
4
+ handle(event) {
5
+ const {
6
+ dispatch
7
+ } = event;
8
+ const {
9
+ oldIndex,
10
+ newIndex
11
+ } = event.action.payload;
12
+ dispatch({
13
+ type: ZLIST_RECORD_REORDER,
14
+ payload: {
15
+ oldIndex,
16
+ newIndex
17
+ }
18
+ });
19
+ }
20
+
21
+ }
@@ -1,4 +1,4 @@
1
- import { RESIZE_MOUSE } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_MOUSE } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeByMouseController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { RESIZE_ENDED } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_ENDED } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeEndController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { STORE_REQUESTED } from "../../../../bc/local-storage/Constants";
1
+ import { STORE_REQUESTED } from "../../../../../bc/local-storage/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export class ResizeFinishController extends AbstractController {
4
4
  handle(event) {
@@ -1,4 +1,4 @@
1
- import { RESIZE_STARTED } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_STARTED } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ResizeStartController extends AbstractController {
4
4
  handle(event) {
@@ -11,7 +11,7 @@ export default class ResizeStartController extends AbstractController {
11
11
  mouseEvent
12
12
  } = event.action.payload;
13
13
  const mouseX = mouseEvent.clientX;
14
- const lineClientRect = lineElement.getBoundingClientRect(); // HACK: calculate the initial position of the line element because of lineElement will not be read form entity because of clean architecture.
14
+ const lineClientRect = lineElement.getBoundingClientRect(); // HACK: calculate the initial position of the line element because of lineElement will not be read form entity because of clean architecture.
15
15
  // lineElement is not part of the entity, it is part of the view.
16
16
  // Note: the reason for this (lineClientRect.width / 2) is , Even line is 2 or 3 px thick we need to take center position.
17
17
 
@@ -1,4 +1,4 @@
1
- import { RESIZE_SCROLL } from "../../../../bc/table-column-resizer/Constants";
1
+ import { RESIZE_SCROLL } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
3
  export default class ScrollController extends AbstractController {
4
4
  handle(event) {
@@ -0,0 +1,20 @@
1
+ export default class ErrorPrinter {
2
+ static printError(error) {
3
+ console.error('Error occurred:', error);
4
+ }
5
+
6
+ static displaySchemaErrors(title, errors) {
7
+ let dataName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '(root)';
8
+ console.group(title.msg, ...title.styles);
9
+ errors.forEach((_ref, i) => {
10
+ let {
11
+ dataPath,
12
+ keyword,
13
+ message
14
+ } = _ref;
15
+ console.error(`%c${i + 1}. %c${dataName + dataPath}%c → ${keyword} ${message}`, 'color: initial;', 'color: #FF6F61; font-weight: bold;', 'color: #FFA500;');
16
+ });
17
+ console.groupEnd();
18
+ }
19
+
20
+ }
@@ -0,0 +1,326 @@
1
+ import { AbstractResource } from "../../../../sdk/application/interfaces/gateways/AbstractResource";
2
+ import ZListRepository from "../../../../zlist/adapters/gateways/Repository";
3
+ import ZListSortBy from "../../../../zlist/adapters/gateways/SortBy";
4
+ import ZListPresenters from "../../../../zlist/adapters/presenters/Presenters";
5
+ import ZRecordRepository from "../../../../zrecord/adapters/gateways/Repository";
6
+ import ZRecordPresenter from "../../../../zrecord/adapters/presenters/Presenter";
7
+ import ListSelectRepository from "../../../../../library/behaviours/list-selection/adapters/gateways/Repository";
8
+ import ListSelectPresenter from "../../../../../library/behaviours/list-selection/adapters/presenters/Presenter";
9
+ import ListSelectSelectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Select";
10
+ import ListSelectDeselectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Deselect";
11
+ import GetMultipleRecordUseCase from "../../../../zrecord/applications/usecases/GetMultipleRecordUseCase";
12
+ import GetSingleRecordUseCase from "../../../../zrecord/applications/usecases/GetSingleRecordUseCase";
13
+ import DeleteSingleRecordUseCase from "../../../../zlist/applications/usecases/DeleteSingleRecordUseCase";
14
+ import DeleteMultipleRecordUseCase from "../../../../zlist/applications/usecases/DeleteMultipleRecordUseCase";
15
+ import RecordUpdateUseCase from "../../../../zlist/applications/usecases/RecordUpdateUseCase";
16
+ import UpdateMultipleRecordUseCase from "../../../../zlist/applications/usecases/UpdateMultipleRecordUseCase";
17
+ import GetContextUseCase from "../../../../zlist/applications/usecases/GetContextUseCase";
18
+ import ReOrderUseCase from "../../../../zlist/applications/usecases/ReOrderUseCase";
19
+ import { SdkContracts } from "../../../../../cc/table-connected/SdkContract";
20
+ import Validator from "../../../../../library/custom-component/frameworks/json-schema-validator/Validator";
21
+ import ErrorPrinter from "./ErrorPrinter";
22
+ export class SmartTableResource extends AbstractResource {
23
+ initialize() {}
24
+
25
+ destroy() {}
26
+
27
+ safeValidateInput(meta, input) {
28
+ try {
29
+ const result = Validator.validate(meta, input);
30
+ return result;
31
+ } catch (error) {
32
+ return {
33
+ isValid: false,
34
+ errors: [{
35
+ dataPath: '',
36
+ keyword: 'internal',
37
+ message: 'invalid schema'
38
+ }]
39
+ };
40
+ }
41
+ }
42
+
43
+ validateInput(methodName, input, meta) {
44
+ const {
45
+ isValid,
46
+ errors
47
+ } = this.safeValidateInput(meta, input);
48
+
49
+ if (!isValid) {
50
+ const title = `%c Invalid sdk input for %c${methodName}`;
51
+ const styles = ['color: red; font-weight: bold;', 'color: #FF6F61; font-weight: bold;'];
52
+ ErrorPrinter.displaySchemaErrors({
53
+ msg: title,
54
+ styles
55
+ }, errors, '');
56
+ throw {
57
+ code: 'ValidationError',
58
+ message: `Invalid input for ${methodName}`,
59
+ details: {
60
+ methodName,
61
+ errors
62
+ }
63
+ };
64
+ }
65
+ }
66
+
67
+ getRecordDependencies() {
68
+ const dependencies = {
69
+ repository: new ZRecordRepository(),
70
+ presenter: new ZRecordPresenter()
71
+ };
72
+ return dependencies;
73
+ }
74
+
75
+ getListDependencies() {
76
+ const dependencies = {
77
+ repository: new ZListRepository(),
78
+ presenter: new ZListPresenters(),
79
+ sortBy: new ZListSortBy()
80
+ };
81
+ return dependencies;
82
+ }
83
+
84
+ getListSelectDependencies() {
85
+ const dependencies = {
86
+ repository: new ListSelectRepository(),
87
+ presenter: new ListSelectPresenter()
88
+ };
89
+ return dependencies;
90
+ }
91
+
92
+ createUseCase(dependencies, UseCaseClass) {
93
+ var _usecase$updateDepend, _usecase$updateDepend2;
94
+
95
+ const {
96
+ state,
97
+ updateState
98
+ } = this.dependencies;
99
+ const usecase = new UseCaseClass(dependencies);
100
+ (_usecase$updateDepend = usecase.updateDependency) === null || _usecase$updateDepend === void 0 ? void 0 : _usecase$updateDepend.call(usecase, state, updateState);
101
+ (_usecase$updateDepend2 = usecase.updateDependencies) === null || _usecase$updateDepend2 === void 0 ? void 0 : _usecase$updateDepend2.call(usecase, state, updateState);
102
+ return usecase;
103
+ }
104
+
105
+ createCallback() {
106
+ let temp = null;
107
+ return {
108
+ setData: data => {
109
+ temp = data;
110
+ },
111
+ getData: () => temp
112
+ };
113
+ }
114
+
115
+ getRecords() {
116
+ const {
117
+ getData,
118
+ setData
119
+ } = this.createCallback();
120
+ const dependencies = this.getRecordDependencies();
121
+ const usecase = this.createUseCase(dependencies, GetMultipleRecordUseCase);
122
+ usecase.execute({
123
+ callback: setData
124
+ });
125
+ return getData();
126
+ }
127
+
128
+ getRecord(recordId) {
129
+ this.validateInput('getRecord', {
130
+ recordId
131
+ }, SdkContracts.getRecordInputMeta);
132
+ const {
133
+ getData,
134
+ setData
135
+ } = this.createCallback();
136
+ const dependencies = this.getRecordDependencies();
137
+ const usecase = this.createUseCase(dependencies, GetSingleRecordUseCase);
138
+ usecase.execute({
139
+ recordId,
140
+ callback: setData
141
+ });
142
+ return getData();
143
+ }
144
+
145
+ getContext(variableName) {
146
+ this.validateInput('getContext', {
147
+ variableName
148
+ }, SdkContracts.getContextInputMeta);
149
+ const {
150
+ getData,
151
+ setData
152
+ } = this.createCallback();
153
+ const dependencies = this.getListDependencies();
154
+ const usecase = this.createUseCase(dependencies, GetContextUseCase);
155
+ usecase.execute({
156
+ variableName,
157
+ callback: setData
158
+ });
159
+ return getData();
160
+ }
161
+
162
+ deleteRecord(recordId) {
163
+ this.validateInput('deleteRecord', {
164
+ recordId
165
+ }, SdkContracts.deleteRecordInputMeta);
166
+ const {
167
+ dispatch
168
+ } = this.dependencies;
169
+ const {
170
+ getData,
171
+ setData
172
+ } = this.createCallback();
173
+ const dependencies = this.getListDependencies();
174
+ const usecase = this.createUseCase(dependencies, DeleteSingleRecordUseCase);
175
+ usecase.execute({
176
+ recordId,
177
+ dispatch,
178
+ callback: setData
179
+ });
180
+ return getData();
181
+ }
182
+
183
+ deleteRecords(recordIds) {
184
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
185
+ this.validateInput('deleteRecords', {
186
+ recordIds,
187
+ shouldFetch
188
+ }, SdkContracts.deleteRecordsInputMeta);
189
+ const {
190
+ dispatch
191
+ } = this.dependencies;
192
+ const {
193
+ getData,
194
+ setData
195
+ } = this.createCallback();
196
+ const dependencies = this.getListDependencies();
197
+ const usecase = this.createUseCase(dependencies, DeleteMultipleRecordUseCase);
198
+ usecase.execute({
199
+ recordIds,
200
+ dispatch,
201
+ callback: setData,
202
+ shouldFetch
203
+ });
204
+ return getData();
205
+ }
206
+
207
+ updateRecord(recordId, record) {
208
+ let shouldFetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
209
+ this.validateInput('updateRecord', {
210
+ recordId,
211
+ record,
212
+ shouldFetch
213
+ }, SdkContracts.updateRecordInputMeta);
214
+ const {
215
+ dispatch
216
+ } = this.dependencies;
217
+ const {
218
+ getData,
219
+ setData
220
+ } = this.createCallback();
221
+ const dependencies = this.getListDependencies();
222
+ const usecase = this.createUseCase(dependencies, RecordUpdateUseCase);
223
+ usecase.execute({
224
+ recordId,
225
+ dispatch,
226
+ callback: setData,
227
+ record,
228
+ shouldFetch
229
+ });
230
+ return getData();
231
+ }
232
+
233
+ updateRecords(recordsMap) {
234
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
235
+ this.validateInput('updateRecords', {
236
+ recordsMap,
237
+ shouldFetch
238
+ }, SdkContracts.updateRecordsInputMeta);
239
+ const {
240
+ dispatch
241
+ } = this.dependencies;
242
+ const {
243
+ getData,
244
+ setData
245
+ } = this.createCallback();
246
+ const dependencies = this.getListDependencies();
247
+ const usecase = this.createUseCase(dependencies, UpdateMultipleRecordUseCase);
248
+ usecase.execute({
249
+ recordsMap,
250
+ dispatch,
251
+ callback: setData,
252
+ shouldFetch
253
+ });
254
+ return getData();
255
+ }
256
+
257
+ selectRecords(ids) {
258
+ this.validateInput('selectRecords', {
259
+ ids
260
+ }, SdkContracts.selectRecordsInputMeta);
261
+ const {
262
+ dispatch
263
+ } = this.dependencies;
264
+ const dependencies = this.getListSelectDependencies();
265
+ const usecase = this.createUseCase(dependencies, ListSelectSelectUsecase);
266
+ usecase.execute({
267
+ ids,
268
+ dispatch
269
+ });
270
+ }
271
+
272
+ deselectRecords(ids) {
273
+ this.validateInput('deselectRecords', {
274
+ ids
275
+ }, SdkContracts.deselectRecordsInputMeta);
276
+ const {
277
+ dispatch
278
+ } = this.dependencies;
279
+ const dependencies = this.getListSelectDependencies();
280
+ const usecase = this.createUseCase(dependencies, ListSelectDeselectUsecase);
281
+ usecase.execute({
282
+ ids,
283
+ dispatch
284
+ });
285
+ }
286
+
287
+ selectAllRecords() {
288
+ const {
289
+ dispatch
290
+ } = this.dependencies;
291
+ const dependencies = this.getListSelectDependencies();
292
+ const usecase = this.createUseCase(dependencies, ListSelectSelectUsecase);
293
+ usecase.execute({
294
+ dispatch
295
+ });
296
+ }
297
+
298
+ deselectAllRecords() {
299
+ const {
300
+ dispatch
301
+ } = this.dependencies;
302
+ const dependencies = this.getListSelectDependencies();
303
+ const usecase = this.createUseCase(dependencies, ListSelectDeselectUsecase);
304
+ usecase.execute({
305
+ dispatch
306
+ });
307
+ }
308
+
309
+ reOrderRecord(fromIndex, toIndex) {
310
+ this.validateInput('reOrderRecord', {
311
+ fromIndex,
312
+ toIndex
313
+ }, SdkContracts.reOrderRecordInputMeta);
314
+ const {
315
+ dispatch
316
+ } = this.dependencies;
317
+ const dependencies = this.getListDependencies();
318
+ const usecase = this.createUseCase(dependencies, ReOrderUseCase);
319
+ usecase.execute({
320
+ newIndex: toIndex,
321
+ oldIndex: fromIndex,
322
+ dispatch
323
+ });
324
+ }
325
+
326
+ }