@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,126 @@
1
+ import { ZLIST_FETCH_MORE_RECORDS_FAILED, ZLIST_INITIAL_AVAILABLE_FIELDS_FETCH_FAILED, ZLIST_INITIAL_CLIENT_ACTIONS_FETCH_FAILED, ZLIST_INITIAL_RECORDS_FETCH_FAILED, ZLIST_INITIAL_SELECTED_FIELDS_FETCH_FAILED, ZLIST_RECORD_DELETE_FAILED, ZLIST_RECORD_UPDATE_FAILED } from "../../../../bc/zlist/Constants";
2
+ import { ERROR_OCCURRED } from "../../../../cc/table-connected/constants/Events";
3
+ import { ErrorCode } from "../../../../cc/table-connected/ErrorEventType";
4
+ export default class ErrorEventHandlersFactory {
5
+ static create() {
6
+ return {
7
+ [ZLIST_FETCH_MORE_RECORDS_FAILED]: _ref => {
8
+ let {
9
+ action,
10
+ dispatch
11
+ } = _ref;
12
+ return dispatch({
13
+ type: ERROR_OCCURRED,
14
+ payload: {
15
+ code: ErrorCode.FETCH_MORE_RECORDS_FAILED,
16
+ message: action.payload.error.message,
17
+ errorDetails: {
18
+ from: action.payload.from,
19
+ limit: action.payload.limit,
20
+ error: action.payload.error
21
+ }
22
+ }
23
+ });
24
+ },
25
+ [ZLIST_INITIAL_AVAILABLE_FIELDS_FETCH_FAILED]: _ref2 => {
26
+ let {
27
+ action,
28
+ dispatch
29
+ } = _ref2;
30
+ return dispatch({
31
+ type: ERROR_OCCURRED,
32
+ payload: {
33
+ code: ErrorCode.INITIAL_AVAILABLE_FIELDS_FETCH_FAILED,
34
+ message: action.payload.error.message,
35
+ errorDetails: {
36
+ error: action.payload.error
37
+ }
38
+ }
39
+ });
40
+ },
41
+ [ZLIST_INITIAL_CLIENT_ACTIONS_FETCH_FAILED]: _ref3 => {
42
+ let {
43
+ action,
44
+ dispatch
45
+ } = _ref3;
46
+ return dispatch({
47
+ type: ERROR_OCCURRED,
48
+ payload: {
49
+ code: ErrorCode.INITIAL_CLIENT_ACTIONS_FETCH_FAILED,
50
+ message: action.payload.error.message,
51
+ errorDetails: {
52
+ error: action.payload.error
53
+ }
54
+ }
55
+ });
56
+ },
57
+ [ZLIST_INITIAL_RECORDS_FETCH_FAILED]: _ref4 => {
58
+ let {
59
+ action,
60
+ dispatch
61
+ } = _ref4;
62
+ return dispatch({
63
+ type: ERROR_OCCURRED,
64
+ payload: {
65
+ code: ErrorCode.INITIAL_RECORDS_FETCH_FAILED,
66
+ message: action.payload.error.message,
67
+ errorDetails: {
68
+ error: action.payload.error
69
+ }
70
+ }
71
+ });
72
+ },
73
+ [ZLIST_INITIAL_SELECTED_FIELDS_FETCH_FAILED]: _ref5 => {
74
+ let {
75
+ action,
76
+ dispatch
77
+ } = _ref5;
78
+ return dispatch({
79
+ type: ERROR_OCCURRED,
80
+ payload: {
81
+ code: ErrorCode.INITIAL_SELECTED_FIELDS_FETCH_FAILED,
82
+ message: action.payload.error.message,
83
+ errorDetails: {
84
+ error: action.payload.error
85
+ }
86
+ }
87
+ });
88
+ },
89
+ [ZLIST_RECORD_DELETE_FAILED]: _ref6 => {
90
+ let {
91
+ action,
92
+ dispatch
93
+ } = _ref6;
94
+ return dispatch({
95
+ type: ERROR_OCCURRED,
96
+ payload: {
97
+ code: ErrorCode.RECORD_DELETE_FAILED,
98
+ message: action.payload.error.message,
99
+ errorDetails: {
100
+ recordId: action.payload.recordId,
101
+ error: action.payload.error
102
+ }
103
+ }
104
+ });
105
+ },
106
+ [ZLIST_RECORD_UPDATE_FAILED]: _ref7 => {
107
+ let {
108
+ action,
109
+ dispatch
110
+ } = _ref7;
111
+ return dispatch({
112
+ type: ERROR_OCCURRED,
113
+ payload: {
114
+ code: ErrorCode.RECORD_UPDATE_FAILED,
115
+ message: action.payload.error.message,
116
+ errorDetails: {
117
+ recordId: action.payload.recordId,
118
+ error: action.payload.error
119
+ }
120
+ }
121
+ });
122
+ }
123
+ };
124
+ }
125
+
126
+ }
@@ -1,45 +1,54 @@
1
- import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../bc/list-selection/Constants";
2
- import { RESIZE_FINISHED } from "../../../bc/table-column-resizer/Constants";
3
- import { ZLIST_SORT } from "../../../bc/zlist/Constants";
4
- import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../bc/column-chooser/Constants";
5
- import { COLUMN_CHOOSER_OPEN_REQUESTED } from "../../../cc/table-column-chooser/Constants";
1
+ import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../../bc/list-selection/Constants";
2
+ import { RESIZE_FINISHED } from "../../../../bc/table-column-resizer/Constants";
3
+ import { ZLIST_SORT } from "../../../../bc/zlist/Constants";
4
+ import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../../bc/column-chooser/Constants";
5
+ import { COLUMN_CHOOSER_OPEN_REQUESTED } from "../../../../cc/table-column-chooser/Constants";
6
6
  import ListSdkFactory from "./ListSdkFactory";
7
- import { SmartTableConstants } from "../../../cc/table-connected";
8
- import TableListEventConstants from "../../../cc/table-list/Constants";
7
+ import { SmartTableConstants } from "../../../../cc/table-connected";
8
+ import TableListEventConstants from "../../../../cc/table-list/Constants";
9
9
  import ResizeStartController from "../adapters/controllers/ResizeStartController";
10
10
  import ResizeByMouseController from "../adapters/controllers/ResizeByMouseController";
11
11
  import ResizeEndController from "../adapters/controllers/ResizeEndController";
12
12
  import { ResizeFinishController } from "../adapters/controllers/ResizeFinishController";
13
+ import { ReOrderFinishController } from "../adapters/controllers/ReOrderFinishController";
13
14
  import ScrollController from "../adapters/controllers/ScrollController";
14
15
  import ColumnChooserUpdateController from "../adapters/controllers/ColumnChooserUpdateController";
15
16
  import ColumnChooserOpenedController from "../adapters/controllers/ColumnChooserOpenedController";
17
+ import { platformSDK } from "../../../sdk/frameworks/Sdk";
18
+ import ErrorEventHandlersFactory from "./ErrorEventHandlersFactory";
16
19
  const {
17
20
  TABLE_LIST_RESIZE_START_REQUESTED,
18
21
  TABLE_LIST_RESIZE_MOVE_REQUESTED,
19
22
  TABLE_LIST_RESIZE_END_REQUESTED,
20
- TABLE_LIST_SCROLLED
23
+ TABLE_LIST_SCROLLED,
24
+ TABLE_LIST_ROW_DRAG_END
21
25
  } = TableListEventConstants;
22
26
 
23
27
  function createHandlerWithSdk(handler) {
24
28
  return input => {
25
29
  const {
26
- state,
27
- dispatch
30
+ state
28
31
  } = input;
29
- handler(input, ListSdkFactory.create({
30
- state,
31
- dispatch
32
+ const instanceName = state.properties.instanceName;
33
+ handler({ ...input,
34
+ platformSDK
35
+ }, ListSdkFactory.create({
36
+ instanceName
32
37
  }));
33
38
  };
34
39
  }
35
40
 
36
41
  export default class EventHandlersFactory {
37
- static create(eventHandlers) {
38
- const wrapped = Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
42
+ static getSdkWrappedEventHandler(eventHandlers) {
43
+ return Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
39
44
  const handler = createHandlerWithSdk(eventHandlers[eventName]);
40
45
  return [eventName, handler];
41
46
  }));
42
- return { ...wrapped,
47
+ }
48
+
49
+ static create(eventHandlers) {
50
+ const wrapped = EventHandlersFactory.getSdkWrappedEventHandler(eventHandlers);
51
+ const defaultEventHandlers = {
43
52
  NAVIGATION: NavigationHandler,
44
53
  [RESIZE_FINISHED]: new ResizeFinishController().handle,
45
54
  [TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
@@ -87,10 +96,42 @@ export default class EventHandlersFactory {
87
96
  type: SmartTableConstants.Events.SELECTION_LIMIT_EXCEEDED,
88
97
  payload: action.payload
89
98
  });
90
- }
99
+ },
100
+ [TABLE_LIST_ROW_DRAG_END]: new ReOrderFinishController().handle
91
101
  };
102
+ return mergeEventHandlers([defaultEventHandlers, ErrorEventHandlersFactory.create(), wrapped]);
103
+ }
104
+
105
+ }
106
+
107
+ function mergeEventHandlers(eventHandlersList) {
108
+ const mergedEventHandlers = {};
109
+ const allEventNames = new Set();
110
+
111
+ for (const handlers of eventHandlersList) {
112
+ Object.keys(handlers).forEach(eventName => allEventNames.add(eventName));
92
113
  }
93
114
 
115
+ for (const eventName of allEventNames) {
116
+ mergedEventHandlers[eventName] = createMergedHandler(eventHandlersList, eventName);
117
+ }
118
+
119
+ return mergedEventHandlers;
120
+ }
121
+
122
+ function createMergedHandler(eventHandlersList, eventName) {
123
+ return function () {
124
+ for (const handlers of eventHandlersList) {
125
+ const handler = handlers[eventName];
126
+
127
+ if (typeof handler === 'function') {
128
+ try {
129
+ handler(...arguments);
130
+ } catch {// Silently ignore errors
131
+ }
132
+ }
133
+ }
134
+ };
94
135
  }
95
136
 
96
137
  function NavigationHandler(event) {
@@ -0,0 +1,57 @@
1
+ import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
2
+ import { platformSDK } from "../../../sdk/frameworks/Sdk";
3
+ export default class ListSdkFactory {
4
+ static getRecordSdks(smartTable) {
5
+ return {
6
+ getRecords: () => smartTable.getRecords(),
7
+ getRecord: recordId => smartTable.getRecord(recordId),
8
+ getContext: variableName => smartTable.getContext(variableName),
9
+ deleteRecord: recordId => smartTable.deleteRecord(recordId),
10
+ deleteRecords: function (recordIds) {
11
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
12
+ return smartTable.deleteRecords(recordIds, shouldFetch);
13
+ },
14
+ updateRecord: (recordId, record) => smartTable.updateRecord(recordId, record),
15
+ updateRecords: function (recordsMap) {
16
+ let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
17
+ return smartTable.updateRecords(recordsMap, shouldFetch);
18
+ },
19
+ reOrderRecord: (fromIndex, toIndex) => smartTable.reOrderRecord(fromIndex, toIndex)
20
+ };
21
+ }
22
+
23
+ static getSelectionSdks(smartTable) {
24
+ return {
25
+ selectRecords: ids => smartTable.selectRecords(ids),
26
+ deselectRecords: ids => smartTable.deselectRecords(ids),
27
+ selectAllRecords: () => smartTable.selectAllRecords(),
28
+ deselectAllRecords: () => smartTable.deselectAllRecords()
29
+ };
30
+ }
31
+
32
+ static create(_ref) {
33
+ let {
34
+ instanceName
35
+ } = _ref;
36
+ const smartTable = platformSDK[ResourceNamesEnum.SMART_TABLE](instanceName);
37
+ const recordSdks = ListSdkFactory.getRecordSdks(smartTable);
38
+ const selectionSdks = ListSdkFactory.getSelectionSdks(smartTable);
39
+ return {
40
+ zlist: {
41
+ getRecords: recordSdks.getRecords,
42
+ getRecord: recordSdks.getRecord,
43
+ getContext: recordSdks.getContext,
44
+ deleteRecord: recordSdks.deleteRecord,
45
+ deleteRecords: recordSdks.deleteRecords,
46
+ updateRecord: recordSdks.updateRecord,
47
+ updateRecords: recordSdks.updateRecords,
48
+ selectRecords: selectionSdks.selectRecords,
49
+ deselectRecords: selectionSdks.deselectRecords,
50
+ selectAllRecords: selectionSdks.selectAllRecords,
51
+ deselectAllRecords: selectionSdks.deselectAllRecords,
52
+ reOrderRecord: recordSdks.reOrderRecord
53
+ }
54
+ };
55
+ }
56
+
57
+ }
@@ -0,0 +1,78 @@
1
+ import Properties from "../../../../cc/table-connected/Properties";
2
+ import { createCustomComponent } from "../../../../library/custom-component";
3
+ import ZFieldBehaviourFactory from "../../../zfield/frameworks/ZFieldBehaviourFactory";
4
+ import ZHttpBehaviourFactory from "../../../zhttp/frameworks/ZHttpBehaviourFactory";
5
+ import TableTranslator from "../../../zlist/adapters/presenters/TableTranslator";
6
+ import ZListBehaviourFactory from "../../../zlist/frameworks/ZListBehaviourFactory";
7
+ import RecordBehaviourFactory from "../../../zrecord/frameworks/RecordBehaviourFactory";
8
+ import EventHandlersFactory from "./EventHandlersFactory";
9
+ import TableConnectedView from "./TableConnectedView";
10
+ import defaultDataSource from "../../../data-source";
11
+ import DataSourceBehaviourFactory from "../../../zdata-source/frameworks/DataBrokerBehaviourFactory";
12
+ import ClientActionsBehaviourFactory from "../../../client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
13
+ import LocalStorageBehaviourFactory from "../../../../library/behaviours/local-storage/frameworks/LocalStorageBehaviourFactory";
14
+ import TableColumnResizerBehaviorFactory from "../../../../library/behaviours/table-column-resizer/frameworks/TableColumnResizerBehaviorFactory";
15
+ import ListItemSelectionBehaviourFactory from "../../../../library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory";
16
+ import ColumnChooserBehaviourFactory from "../../../column-chooser/frameworks/ColumnChooserBehaviourFactory";
17
+ import SdkBehaviourFactory from "../../../sdk-behaviour/frameworks/SdkBehaviourFactory";
18
+ import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
19
+ import { sdkRegistry } from "../../../sdk/frameworks/SdkRegistry";
20
+ import { SmartTableResource } from "../adapters/resources/SmartTableResource";
21
+ sdkRegistry.registerResource({
22
+ resourceName: ResourceNamesEnum.SMART_TABLE,
23
+ resource: SmartTableResource
24
+ });
25
+ import KeyboardControlBehaviourFactory from "../../../../library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory";
26
+
27
+ function combineDataSourceWithDefault(dataSource) {
28
+ return { ...defaultDataSource,
29
+ ...dataSource,
30
+ httpTemplates: { ...defaultDataSource.httpTemplates,
31
+ ...(dataSource === null || dataSource === void 0 ? void 0 : dataSource.httpTemplates)
32
+ }
33
+ };
34
+ }
35
+
36
+ import { SmartTableEventsContracts } from "../../../../cc/table-connected";
37
+ export default class TableConnectedFactory {
38
+ static create(_ref) {
39
+ let {
40
+ name,
41
+ dataBroker,
42
+ dataSource,
43
+ eventHandlers = {},
44
+ View = TableConnectedView
45
+ } = _ref;
46
+
47
+ if (dataBroker) {
48
+ console.warn('Desk Platform Warning: dataBroker is deprecated, use dataSource instead');
49
+ }
50
+
51
+ const _dataSource = combineDataSourceWithDefault(dataBroker ? dataBroker : dataSource);
52
+
53
+ return createCustomComponent({
54
+ name: name,
55
+ View: View,
56
+ events: SmartTableEventsContracts,
57
+ properties: Properties,
58
+ eventHandlers: EventHandlersFactory.create(eventHandlers),
59
+ transformState: TableTranslator.transformState,
60
+ behaviours: TableConnectedFactory.getBehaviours(_dataSource)
61
+ });
62
+ }
63
+
64
+ static getBehaviours(_dataSource) {
65
+ return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
66
+ }
67
+
68
+ static getPlatformBehaviours(_dataSource) {
69
+ return [RecordBehaviourFactory.create(_dataSource.httpTemplates), ClientActionsBehaviourFactory.create({
70
+ getClientActions: _dataSource.httpTemplates.getClientActions
71
+ }), ZFieldBehaviourFactory.create({
72
+ availableFields: _dataSource.httpTemplates.getAvailableFields,
73
+ updateSelectedFields: _dataSource.httpTemplates.updateSelectedFields,
74
+ selectedFields: _dataSource.httpTemplates.getSelectedFields
75
+ }), ZListBehaviourFactory.create()];
76
+ }
77
+
78
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import TableList from "../../../library/dot/components/table-list/frameworks/ui/TableList";
3
+ import TableList from "../../../../library/dot/components/table-list/frameworks/ui/TableList";
4
4
 
5
5
  function View(_ref, ref) {
6
6
  let {
@@ -8,6 +8,7 @@ function View(_ref, ref) {
8
8
  } = _ref;
9
9
  const {
10
10
  isLoading,
11
+ isReOrderLoading,
11
12
  data = [],
12
13
  rowActionsConfig,
13
14
  rowCursor,
@@ -15,10 +16,12 @@ function View(_ref, ref) {
15
16
  selection,
16
17
  emptyStateUiType,
17
18
  focussedRow,
18
- keyboardControlsConfig
19
+ keyboardControlsConfig,
20
+ reOrderConfig
19
21
  } = state.viewModel;
20
22
  const {
21
- resizerState
23
+ resizerState,
24
+ isError
22
25
  } = state.viewModel;
23
26
  const {
24
27
  preferences,
@@ -26,9 +29,12 @@ function View(_ref, ref) {
26
29
  } = state.properties;
27
30
  const {
28
31
  autoColumnSizing
29
- } = preferences || {};
32
+ } = preferences ? preferences : {};
30
33
  return /*#__PURE__*/React.createElement(TableList, {
34
+ reOrderConfig: reOrderConfig,
35
+ isReOrderLoading: isReOrderLoading,
31
36
  data: data,
37
+ isError: isError,
32
38
  rowCursor: rowCursor,
33
39
  sortBy: sortBy,
34
40
  resizerState: resizerState,
@@ -0,0 +1,44 @@
1
+ const reOrderRecord = {
2
+ name: 'records',
3
+ api: '/{{servicePrefix}}/{{orgName}}/api/v1/{{moduleName}}/reorder',
4
+ parameters: `{}`,
5
+ type: 'POST',
6
+ transformer: data => data,
7
+ getResponse: _ref => {
8
+ let {
9
+ payload
10
+ } = _ref;
11
+ let {
12
+ oldIndex,
13
+ newIndex
14
+ } = payload;
15
+ return {
16
+ oldIndex,
17
+ newIndex,
18
+ status: 'success'
19
+ }; // return Promise.reject({
20
+ // status: 500,
21
+ // error: "Something went wrong",
22
+ // });
23
+ },
24
+ requestBody: '{ "oldIndex": {{oldIndex}}, "newIndex": {{newIndex}} }',
25
+ properties: {
26
+ moduleName: {
27
+ required: true,
28
+ typeMetadata: {
29
+ schema: {
30
+ type: 'string'
31
+ }
32
+ }
33
+ },
34
+ recordId: {
35
+ required: true,
36
+ typeMetadata: {
37
+ schema: {
38
+ type: 'string'
39
+ }
40
+ }
41
+ }
42
+ }
43
+ };
44
+ export default reOrderRecord;
@@ -5,6 +5,7 @@ import deleteRecords from "./http-template/deleteRecords";
5
5
  import getAvailableFields from "./http-template/getAvailableFields";
6
6
  import getSelectedFields from "./http-template/getSelectedFields";
7
7
  import getClientActions from "./http-template/getClientActions";
8
+ import reOrderRecord from "./http-template/reOrderRecord";
8
9
  import { RecordApiActionName } from "../../bc/zrecord/Constants";
9
10
  import deleteRecord from "./http-template/deleteRecord";
10
11
  import fetchMyLayouts from "./http-template/fetchMyFormLayout";
@@ -22,6 +23,7 @@ let dataSource = {
22
23
  [RecordApiActionName.DELETE_RECORD]: deleteRecord,
23
24
  [RecordApiActionName.CREATE_RECORD]: createRecord,
24
25
  [RecordApiActionName.GET_CLIENTACTIONS]: getClientActions,
26
+ [RecordApiActionName.GET_REORDERRECORD]: reOrderRecord,
25
27
  getAvailableFields,
26
28
  getSelectedFields,
27
29
  updateSelectedFields,
@@ -0,0 +1,31 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import { ResourceManager } from "../../domain/entities/ResourceManager";
4
+ export class Repository {
5
+ constructor(resourceNames) {
6
+ this.resourceNames = resourceNames;
7
+
8
+ _defineProperty(this, "state", void 0);
9
+
10
+ _defineProperty(this, "restoreModel", {
11
+ resourceInstances: {},
12
+ resources: {}
13
+ });
14
+ }
15
+
16
+ init(state) {
17
+ this.state = state;
18
+ }
19
+
20
+ getResourceManager() {
21
+ const {
22
+ restoreModel
23
+ } = this;
24
+ return new ResourceManager(restoreModel.resources, restoreModel.resourceInstances);
25
+ }
26
+
27
+ storeResourceManager(restoreModel) {
28
+ this.restoreModel = restoreModel;
29
+ }
30
+
31
+ }
@@ -0,0 +1,27 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ import { CreateResourceInstanceUseCase } from "../../application/usecases/CreateResourceInstanceUseCase";
4
+ import { DestructResourceInstanceUseCase } from "../../application/usecases/DestructResourceInstanceUseCase";
5
+ import { GetResourceInstanceUseCase } from "../../application/usecases/GetResourceInstanceUseCase";
6
+ import { RegisterResourceUseCase } from "../../application/usecases/RegisterResourceUseCase";
7
+ import { SyncStateWithResourceUseCase } from "../../application/usecases/SyncStateWithResourceUseCase";
8
+ export class Service {
9
+ constructor(dependencies) {
10
+ _defineProperty(this, "createResourceInstanceUseCase", void 0);
11
+
12
+ _defineProperty(this, "destructResourceInstanceUseCase", void 0);
13
+
14
+ _defineProperty(this, "syncStateWithResourceUseCase", void 0);
15
+
16
+ _defineProperty(this, "registerResourceUseCase", void 0);
17
+
18
+ _defineProperty(this, "getResourceInstanceUseCase", void 0);
19
+
20
+ this.createResourceInstanceUseCase = new CreateResourceInstanceUseCase(dependencies);
21
+ this.destructResourceInstanceUseCase = new DestructResourceInstanceUseCase(dependencies);
22
+ this.syncStateWithResourceUseCase = new SyncStateWithResourceUseCase(dependencies);
23
+ this.registerResourceUseCase = new RegisterResourceUseCase(dependencies);
24
+ this.getResourceInstanceUseCase = new GetResourceInstanceUseCase(dependencies);
25
+ }
26
+
27
+ }
@@ -0,0 +1,16 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ export class Presenter {
4
+ constructor() {
5
+ _defineProperty(this, "updateState", void 0);
6
+ }
7
+
8
+ updateDependencies(state, updateState) {
9
+ this.updateState = updateState;
10
+ }
11
+
12
+ presentData(data) {
13
+ this.updateState(data);
14
+ }
15
+
16
+ }
@@ -0,0 +1,13 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
3
+ // export { SdkResourceDependencies };
4
+ export class AbstractResource {
5
+ constructor() {
6
+ _defineProperty(this, "dependencies", void 0);
7
+ }
8
+
9
+ updateDependencies(dependencies) {
10
+ this.dependencies = dependencies;
11
+ }
12
+
13
+ }
@@ -0,0 +1,3 @@
1
+ import { StateInterface } from "../../../domain/entities/interfaces/StateInterface";
2
+ import { SdkResource } from "../../../domain/entities/interfaces/SdkResource";
3
+ export { StateInterface, SdkResource };
@@ -0,0 +1,16 @@
1
+ export class AbstractUseCase {
2
+ constructor(dependencies) {
3
+ this.dependencies = dependencies;
4
+ }
5
+
6
+ // TODO: Add type for state and updateState
7
+ updateDependencies(state, updateState) {
8
+ const {
9
+ repository,
10
+ presenter
11
+ } = this.dependencies;
12
+ repository.init(state);
13
+ presenter.updateDependencies(state, updateState);
14
+ }
15
+
16
+ }
@@ -0,0 +1,16 @@
1
+ import { AbstractUseCase } from "./AbstractUseCase";
2
+ export class CreateResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ resourceName
7
+ } = _ref;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const resourceManager = repository.getResourceManager();
12
+ resourceManager.createResourceInstance(resourceName, instanceName);
13
+ repository.storeResourceManager(resourceManager.toObject());
14
+ }
15
+
16
+ }
@@ -0,0 +1,16 @@
1
+ import { AbstractUseCase } from "./AbstractUseCase";
2
+ export class DestructResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ resourceName
7
+ } = _ref;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const resourceManager = repository.getResourceManager();
12
+ resourceManager.destructResourceInstance(resourceName, instanceName);
13
+ repository.storeResourceManager(resourceManager.toObject());
14
+ }
15
+
16
+ }