@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
@@ -1,7 +1,10 @@
1
1
  import React from 'react';
2
- import FormConstants from "../../../../../../cc/form/Constants";
2
+ import Loader from '@zohodesk/svg/es/v1/Loader/Loader';
3
3
  import SectionsWrapper from '@zohodesk-private/desk-components/es/form/SectionsWrapper/SectionsWrapper';
4
4
  import Sections from "./sub-components/Sections";
5
+ import FormConstants from "../../../../../../cc/form/Constants"; // @ts-ignore
6
+
7
+ import style from "./css/Form.module.css";
5
8
 
6
9
  function FormView(_ref, ref) {
7
10
  let {
@@ -24,12 +27,12 @@ function FormView(_ref, ref) {
24
27
  };
25
28
 
26
29
  return /*#__PURE__*/React.createElement("div", {
30
+ className: style.formWrapper,
27
31
  ref: ref
28
32
  }, isLoading ?
29
33
  /*#__PURE__*/
30
34
  // Check for loading state
31
- React.createElement("div", null, "Loading...") // Display loading indicator
32
- : /*#__PURE__*/React.createElement(SectionsWrapper, null, /*#__PURE__*/React.createElement("button", {
35
+ React.createElement(Loader, null) : /*#__PURE__*/React.createElement(SectionsWrapper, null, /*#__PURE__*/React.createElement("button", {
33
36
  type: "submit",
34
37
  onClick: handleSubmit
35
38
  }, "Submit"), /*#__PURE__*/React.createElement(Sections, {
@@ -1,3 +1,7 @@
1
+ .formWrapper {
2
+ height: 100% ;
3
+ }
4
+
1
5
  .fieldWrapper {
2
6
  position: relative
3
7
  }
@@ -37,6 +37,7 @@ function CheckboxView(_ref2, ref) {
37
37
  } = state.viewModel;
38
38
  const isEditable = !disabled && !readonly;
39
39
  return /*#__PURE__*/React.createElement("div", {
40
+ "data-test-id": "smart_form_field_checkbox",
40
41
  ref: ref,
41
42
  className: style.fieldWrapper
42
43
  }, /*#__PURE__*/React.createElement(FieldController, {
@@ -21,6 +21,7 @@ function CurrencyView(_ref, ref) {
21
21
  actions
22
22
  } = state.properties;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_currency",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -20,6 +20,7 @@ function DateView(_ref, ref) {
20
20
  required
21
21
  } = state.viewModel;
22
22
  return /*#__PURE__*/React.createElement("div", {
23
+ "data-test-id": "smart_form_field_date",
23
24
  ref: ref,
24
25
  className: style.fieldWrapper
25
26
  }, /*#__PURE__*/React.createElement(Label, {
@@ -20,6 +20,7 @@ function DateView(_ref, ref) {
20
20
  required
21
21
  } = state.viewModel;
22
22
  return /*#__PURE__*/React.createElement("div", {
23
+ "data-test-id": "smart_form_field_datetime",
23
24
  ref: ref,
24
25
  className: style.fieldWrapper
25
26
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function DecimalView(_ref, ref) {
21
21
  required
22
22
  } = state.viewModel;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_decimal",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function EmailView(_ref, ref) {
21
21
  required
22
22
  } = state.properties;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_email",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -27,6 +27,7 @@ function MultiSelectView(_ref, ref) {
27
27
  actions
28
28
  } = state.properties;
29
29
  return /*#__PURE__*/React.createElement("div", {
30
+ "data-test-id": "smart_form_field_multiselect",
30
31
  ref: ref,
31
32
  className: style.fieldWrapper
32
33
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function NumberView(_ref, ref) {
21
21
  required
22
22
  } = state.viewModel;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_number",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function PercentageView(_ref, ref) {
21
21
  required
22
22
  } = state.viewModel;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_percentage",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function PhoneView(_ref, ref) {
21
21
  required
22
22
  } = state.viewModel;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_phone",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -27,6 +27,7 @@ function PickListView(_ref, ref) {
27
27
  actions
28
28
  } = state.properties;
29
29
  return /*#__PURE__*/React.createElement("div", {
30
+ "data-test-id": "smart_form_field_picklist",
30
31
  ref: ref,
31
32
  className: style.fieldWrapper
32
33
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function TextAreaView(_ref, ref) {
21
21
  required
22
22
  } = state.properties;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_textarea",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function TextBoxView(_ref, ref) {
21
21
  required
22
22
  } = state.properties;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_textbox",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -21,6 +21,7 @@ function UrlView(_ref, ref) {
21
21
  required
22
22
  } = state.viewModel;
23
23
  return /*#__PURE__*/React.createElement("div", {
24
+ "data-test-id": "smart_form_field_url",
24
25
  ref: ref,
25
26
  className: style.fieldWrapper
26
27
  }, /*#__PURE__*/React.createElement(Label, {
@@ -4,12 +4,13 @@ import FieldConstants from "../../../../../../cc/fields/field/Constants";
4
4
  class EventHandlersFactory {
5
5
  static create() {
6
6
  return {
7
+ [FieldConstants.FIELD_FOCUSED]: this.handleFieldFocused,
7
8
  [FieldConstants.FIELD_BLURRED]: this.handleFieldBlurred,
8
9
  [FieldConstants.FIELD_CHANGED]: this.handleFieldChanged
9
10
  };
10
11
  }
11
12
 
12
- static handleFieldBlurred(_ref) {
13
+ static handleFieldFocused(_ref) {
13
14
  let {
14
15
  action,
15
16
  state,
@@ -22,7 +23,7 @@ class EventHandlersFactory {
22
23
  fieldName
23
24
  } = action.payload;
24
25
  dispatch({
25
- type: SectionConstants.SECTION_FIELD_BLURRED,
26
+ type: SectionConstants.SECTION_FIELD_FOCUSED,
26
27
  payload: {
27
28
  id,
28
29
  fieldName
@@ -31,7 +32,7 @@ class EventHandlersFactory {
31
32
  });
32
33
  }
33
34
 
34
- static handleFieldChanged(_ref2) {
35
+ static handleFieldBlurred(_ref2) {
35
36
  let {
36
37
  action,
37
38
  state,
@@ -40,6 +41,28 @@ class EventHandlersFactory {
40
41
  const {
41
42
  id
42
43
  } = state.properties;
44
+ const {
45
+ fieldName
46
+ } = action.payload;
47
+ dispatch({
48
+ type: SectionConstants.SECTION_FIELD_BLURRED,
49
+ payload: {
50
+ id,
51
+ fieldName
52
+ },
53
+ metaData: {}
54
+ });
55
+ }
56
+
57
+ static handleFieldChanged(_ref3) {
58
+ let {
59
+ action,
60
+ state,
61
+ dispatch
62
+ } = _ref3;
63
+ const {
64
+ id
65
+ } = state.properties;
43
66
  const {
44
67
  fieldName,
45
68
  value
@@ -0,0 +1,8 @@
1
+ import { useState } from 'react';
2
+ export function useDropIndicator() {
3
+ const [dropIndicator, setDropIndicator] = useState({
4
+ index: null,
5
+ position: ''
6
+ });
7
+ return [dropIndicator, setDropIndicator];
8
+ }
@@ -0,0 +1,15 @@
1
+ import { useState, useMemo, useRef } from 'react';
2
+ export function useRowData(rows) {
3
+ const rowRef = useRef(null);
4
+ useMemo(() => {
5
+ rowRef.current = rows;
6
+ }, [rows]);
7
+ const [, forceUpdate] = useState(rows);
8
+
9
+ function setRowData(rows) {
10
+ rowRef.current = rows;
11
+ forceUpdate(rows);
12
+ }
13
+
14
+ return [rowRef.current, setRowData];
15
+ }
@@ -0,0 +1,105 @@
1
+ import { useCallback } from 'react';
2
+ import TableListEventConstants from "../../../../../../cc/table-list/Constants";
3
+ import { useRowData } from "./useRowData";
4
+ import { useDropIndicator } from "./useDropIndicator";
5
+ import { reorderArray, setTableInteractionClass, adjustHelperElementPosition, getDropIndicator } from "../utils/reOrder"; // @ts-ignore
6
+
7
+ import style from "./../ui/css/TableList.module.css";
8
+ export function useTableRowReorder(_ref) {
9
+ let {
10
+ rows,
11
+ TableRef,
12
+ dispatch
13
+ } = _ref;
14
+ const [rowData, setRowData] = useRowData(rows);
15
+ const [dropIndicator, setDropIndicator] = useDropIndicator();
16
+ const {
17
+ TABLE_LIST_ROW_DRAG_START,
18
+ TABLE_LIST_ROW_DRAG_END
19
+ } = TableListEventConstants;
20
+
21
+ const handleSortStart = _ref2 => {
22
+ let {
23
+ index
24
+ } = _ref2;
25
+ setTableInteractionClass(TableRef, style.preventTextSelection, true);
26
+ setTableInteractionClass(TableRef, style.preventPointerEvents, true);
27
+ adjustHelperElementPosition(TableRef, getHelperClass());
28
+ dispatch({
29
+ type: TABLE_LIST_ROW_DRAG_START,
30
+ payload: {
31
+ index
32
+ }
33
+ });
34
+ };
35
+
36
+ const handleSortEnd = _ref3 => {
37
+ let {
38
+ oldIndex,
39
+ newIndex
40
+ } = _ref3;
41
+ setTableInteractionClass(TableRef, style.preventTextSelection, false);
42
+ setTableInteractionClass(TableRef, style.preventPointerEvents, false);
43
+ let arr = reorderArray(rowData, oldIndex, newIndex);
44
+ setRowData(arr);
45
+ setDropIndicator({
46
+ index: null,
47
+ position: ''
48
+ });
49
+ dispatch({
50
+ type: TABLE_LIST_ROW_DRAG_END,
51
+ payload: {
52
+ oldIndex,
53
+ newIndex
54
+ }
55
+ });
56
+ };
57
+
58
+ const handleSortOver = _ref4 => {
59
+ let {
60
+ index,
61
+ oldIndex,
62
+ newIndex
63
+ } = _ref4;
64
+ const dropIndicatorData = getDropIndicator({
65
+ index,
66
+ oldIndex,
67
+ newIndex,
68
+ rowsLength: rows.length
69
+ });
70
+ setDropIndicator({
71
+ index: dropIndicatorData.index,
72
+ position: dropIndicatorData.position
73
+ });
74
+ };
75
+
76
+ const getHelperDimensions = useCallback(_ref5 => {
77
+ let {
78
+ node
79
+ } = _ref5;
80
+ return {
81
+ height: node.offsetHeight,
82
+ width: TableRef.current.offsetWidth
83
+ };
84
+ }, [TableRef]);
85
+ const getHelperContainer = useCallback(() => {
86
+ return TableRef.current;
87
+ }, [TableRef]);
88
+
89
+ const getHelperClass = () => {
90
+ return style.dragging;
91
+ };
92
+
93
+ return {
94
+ rowData,
95
+ dropIndicator,
96
+ handleSortStart,
97
+ handleSortEnd,
98
+ handleSortOver,
99
+ getHelperDimensions,
100
+ setRowData,
101
+ setDropIndicator,
102
+ getHelperContainer,
103
+ getHelperClass
104
+ };
105
+ }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import Table from '@zohodesk-private/desk-components/es/table/Table/Table';
3
3
  import Header from "./sub-components/Header";
4
4
  import Body from "./sub-components/Body";
@@ -7,7 +7,10 @@ import NoData from "./sub-components/NoData";
7
7
  import ErrorState from "./sub-components/ErrorState";
8
8
  import Loading from "./sub-components/Loading";
9
9
  import ColumnResizingLine from "./sub-components/ColumnResizingLine";
10
- import handleScroll from "./handlers/HandleScroll"; // @ts-ignore
10
+ import handleScroll from "./handlers/HandleScroll";
11
+ import { useTableRowReorder } from "../hooks/useTableRowReorder";
12
+ import { SortableContainer } from 'react-sortable-hoc';
13
+ import getTableListClassName from "../utils/getTableListClassName"; // @ts-ignore
11
14
 
12
15
  import style from "./css/TableList.module.css";
13
16
 
@@ -16,13 +19,16 @@ function TableListView(_ref2, _ref) {
16
19
  state,
17
20
  helpers
18
21
  } = _ref2;
22
+ const TableRef = useRef(null);
19
23
  const {
20
24
  dispatch
21
25
  } = helpers;
22
26
  const {
23
27
  data,
24
28
  isLoading,
29
+ isReOrderLoading,
25
30
  resizerState,
31
+ reOrderConfig,
26
32
  selectionConfig,
27
33
  isFlexibleColumns,
28
34
  rowCursor,
@@ -45,17 +51,26 @@ function TableListView(_ref2, _ref) {
45
51
  const isDataEmpty = !hasRows && !isLoading && !isError; // TODO: derive from state.properties
46
52
 
47
53
  const isKeyboardControlsEnabled = keyboardControlsConfig.isEnabled;
54
+ const isReorderEnabled = reOrderConfig.isEnabled;
55
+ const isSelectionEnabled = selectionConfig.isEnabled;
56
+ const className = getTableListClassName({
57
+ isKeyboardControlsEnabled,
58
+ isReorderEnabled,
59
+ isSelectionEnabled
60
+ });
48
61
  return /*#__PURE__*/React.createElement("div", {
49
- className: style.wrapper,
62
+ className: `${style.wrapper} ${style[className]}`,
50
63
  ref: _ref
51
64
  }, /*#__PURE__*/React.createElement(Table, {
65
+ ref: TableRef,
52
66
  $event_onScroll: e => handleScroll(dispatch, {
53
67
  scrollEvent: e
54
68
  })
55
69
  }, renderHeader({
56
70
  headers,
57
71
  resizerState,
58
- selectionConfig,
72
+ isReorderEnabled,
73
+ isSelectionEnabled,
59
74
  selection,
60
75
  isKeyboardControlsEnabled,
61
76
  isFlexibleColumns,
@@ -63,15 +78,19 @@ function TableListView(_ref2, _ref) {
63
78
  rowActionsColumnWidth,
64
79
  dispatch
65
80
  }), renderBody({
81
+ TableRef,
82
+ dispatch,
66
83
  headers,
67
84
  rows,
68
85
  isFlexibleColumns,
69
- selectionConfig,
86
+ isReorderEnabled,
87
+ isSelectionEnabled,
70
88
  isKeyboardControlsEnabled,
71
89
  rowCursor,
72
90
  hasRowActions,
73
91
  rowActionsColumnWidth,
74
- hasRows
92
+ hasRows,
93
+ isReOrderLoading
75
94
  }), /*#__PURE__*/React.createElement(NoData, {
76
95
  isDataEmpty: isDataEmpty,
77
96
  emptyStateUiType: emptyStateUiType
@@ -87,7 +106,8 @@ function renderHeader(_ref3) {
87
106
  let {
88
107
  headers,
89
108
  resizerState,
90
- selectionConfig,
109
+ isReorderEnabled,
110
+ isSelectionEnabled,
91
111
  selection,
92
112
  isKeyboardControlsEnabled,
93
113
  isFlexibleColumns,
@@ -96,7 +116,8 @@ function renderHeader(_ref3) {
96
116
  dispatch
97
117
  } = _ref3;
98
118
  return /*#__PURE__*/React.createElement(Header, {
99
- isSelectionEnabled: selectionConfig.isEnabled,
119
+ isReorderEnabled: isReorderEnabled,
120
+ isSelectionEnabled: isSelectionEnabled,
100
121
  isResizerEnabled: resizerState.isEnabled,
101
122
  isKeyboardControlsEnabled: isKeyboardControlsEnabled,
102
123
  currentlyResizingColumn: resizerState.currentlyResizingColumn,
@@ -111,30 +132,79 @@ function renderHeader(_ref3) {
111
132
  });
112
133
  }
113
134
 
135
+ const SortableTableContainer = SortableContainer(props => {
136
+ const {
137
+ hasRows,
138
+ isFlexibleColumns,
139
+ children
140
+ } = props;
141
+ return /*#__PURE__*/React.createElement(Body, {
142
+ hasRows: hasRows,
143
+ isFlexibleColumns: isFlexibleColumns
144
+ }, children);
145
+ });
146
+
114
147
  function renderBody(_ref4) {
115
148
  let {
149
+ TableRef,
150
+ dispatch,
116
151
  headers,
117
152
  rows,
118
153
  isFlexibleColumns,
119
- selectionConfig,
154
+ isReorderEnabled,
155
+ isSelectionEnabled,
120
156
  isKeyboardControlsEnabled,
121
157
  rowCursor,
122
158
  hasRowActions,
123
159
  rowActionsColumnWidth,
124
- hasRows
160
+ hasRows,
161
+ isReOrderLoading
125
162
  } = _ref4;
126
- return /*#__PURE__*/React.createElement(Body, {
163
+ const {
164
+ rowData,
165
+ dropIndicator,
166
+ handleSortStart,
167
+ handleSortEnd,
168
+ handleSortOver,
169
+ getHelperDimensions,
170
+ getHelperContainer,
171
+ getHelperClass
172
+ } = useTableRowReorder({
173
+ rows,
174
+ TableRef,
175
+ dispatch
176
+ });
177
+
178
+ if (!hasRows) {
179
+ return null;
180
+ }
181
+
182
+ return /*#__PURE__*/React.createElement(SortableTableContainer, {
127
183
  hasRows: hasRows,
128
- isFlexibleColumns: isFlexibleColumns
184
+ isFlexibleColumns: isFlexibleColumns,
185
+ helperClass: getHelperClass(),
186
+ useDragHandle: true,
187
+ helperContainer: getHelperContainer,
188
+ onSortStart: handleSortStart,
189
+ onSortEnd: handleSortEnd,
190
+ onSortOver: handleSortOver,
191
+ getHelperDimensions: getHelperDimensions,
192
+ axis: "y",
193
+ lockAxis: "y",
194
+ lockToContainerEdges: true,
195
+ distance: 1
129
196
  }, /*#__PURE__*/React.createElement(Rows, {
130
197
  headers: headers,
131
- rows: rows,
198
+ rows: rowData,
132
199
  isFlexibleColumns: isFlexibleColumns,
133
- isSelectionEnabled: selectionConfig.isEnabled,
200
+ isReorderEnabled: isReorderEnabled,
201
+ isSelectionEnabled: isSelectionEnabled,
134
202
  rowCursor: rowCursor,
135
203
  hasRowActions: hasRowActions,
136
204
  rowActionsColumnWidth: rowActionsColumnWidth,
137
- isKeyboardControlsEnabled: isKeyboardControlsEnabled
205
+ isKeyboardControlsEnabled: isKeyboardControlsEnabled,
206
+ dropIndicator: dropIndicator,
207
+ isReOrderLoading: isReOrderLoading
138
208
  }));
139
209
  }
140
210