@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,17 @@
1
+ import { AbstractUseCase } from "./AbstractUseCase";
2
+ export class GetResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ resourceName
7
+ } = _ref;
8
+ const {
9
+ repository,
10
+ presenter
11
+ } = this.dependencies;
12
+ const resourceManager = repository.getResourceManager();
13
+ resourceManager.getResourceInstance(resourceName, instanceName);
14
+ presenter.presentData(resourceManager.getResourceInstance(resourceName, instanceName));
15
+ }
16
+
17
+ }
@@ -0,0 +1,16 @@
1
+ import { AbstractUseCase } from "../usecases/AbstractUseCase";
2
+ export class RegisterResourceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ resourceName,
6
+ resource
7
+ } = _ref;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const resourceManager = repository.getResourceManager();
12
+ resourceManager.registerResource(resourceName, resource);
13
+ repository.storeResourceManager(resourceManager.toObject());
14
+ }
15
+
16
+ }
@@ -0,0 +1,25 @@
1
+ import { AbstractUseCase } from "../usecases/AbstractUseCase";
2
+ export class SyncStateWithResourceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ state,
7
+ dispatch,
8
+ resourceName,
9
+ updateState
10
+ } = _ref;
11
+ const {
12
+ repository
13
+ } = this.dependencies;
14
+ const resourceManager = repository.getResourceManager();
15
+ resourceManager.syncStateWithResource({
16
+ resourceName,
17
+ instanceName,
18
+ state,
19
+ dispatch,
20
+ updateState
21
+ });
22
+ repository.storeResourceManager(resourceManager.toObject());
23
+ }
24
+
25
+ }
@@ -0,0 +1,95 @@
1
+ export class ResourceManager {
2
+ constructor() {
3
+ let resources = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4
+ let resourceInstances = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5
+ this.resources = resources;
6
+ this.resourceInstances = resourceInstances;
7
+ }
8
+
9
+ getResourceInstance(resourceName, instanceName) {
10
+ var _resourceInstances$re;
11
+
12
+ const {
13
+ resourceInstances
14
+ } = this;
15
+ return ((_resourceInstances$re = resourceInstances[resourceName]) === null || _resourceInstances$re === void 0 ? void 0 : _resourceInstances$re[instanceName]) || null;
16
+ }
17
+
18
+ createResourceInstance(resourceName, instanceName) {
19
+ const {
20
+ resourceInstances,
21
+ resources
22
+ } = this;
23
+ const ResourceClass = resources[resourceName];
24
+
25
+ if (ResourceClass) {
26
+ const instance = new ResourceClass();
27
+ instance.initialize();
28
+
29
+ if (!resourceInstances[resourceName]) {
30
+ resourceInstances[resourceName] = {};
31
+ }
32
+
33
+ resourceInstances[resourceName][instanceName] = instance;
34
+ } else {
35
+ console.warn(`Resource class not found for: ${resourceName}`);
36
+ }
37
+ }
38
+
39
+ destructResourceInstance(resourceName, instanceName) {
40
+ var _resourceInstances$re2;
41
+
42
+ const {
43
+ resourceInstances
44
+ } = this;
45
+ const instance = (_resourceInstances$re2 = resourceInstances[resourceName]) === null || _resourceInstances$re2 === void 0 ? void 0 : _resourceInstances$re2[instanceName];
46
+
47
+ if (instance) {
48
+ instance.destroy();
49
+ delete resourceInstances[resourceName][instanceName];
50
+ } else {
51
+ console.warn(`No resource instance found for: ${resourceName} - ${instanceName}`);
52
+ }
53
+ }
54
+
55
+ registerResource(resourceName, resource) {
56
+ const {
57
+ resources
58
+ } = this;
59
+
60
+ if (resources[resourceName]) {
61
+ console.warn(`Resource with name "${resourceName}" already exists. Overwriting.`);
62
+ }
63
+
64
+ resources[resourceName] = resource;
65
+ }
66
+
67
+ syncStateWithResource(_ref) {
68
+ var _resourceInstances$re3;
69
+
70
+ let {
71
+ resourceName,
72
+ instanceName,
73
+ state,
74
+ dispatch,
75
+ updateState
76
+ } = _ref;
77
+ const {
78
+ resourceInstances
79
+ } = this;
80
+ const instance = (_resourceInstances$re3 = resourceInstances[resourceName]) === null || _resourceInstances$re3 === void 0 ? void 0 : _resourceInstances$re3[instanceName];
81
+ instance && instance.updateDependencies({
82
+ state,
83
+ dispatch,
84
+ updateState
85
+ });
86
+ }
87
+
88
+ toObject() {
89
+ return {
90
+ resourceInstances: this.resourceInstances,
91
+ resources: this.resources
92
+ };
93
+ }
94
+
95
+ }
@@ -0,0 +1,11 @@
1
+ import ResourceNamesEnum from "../../../bc/sdk/ResourceNamesEnum";
2
+ import { sdkRegistry } from "./SdkRegistry";
3
+ export const platformSDK = {
4
+ [ResourceNamesEnum.SMART_TABLE](instanceName) {
5
+ return sdkRegistry.getResourceInstance({
6
+ resourceName: ResourceNamesEnum.SMART_TABLE,
7
+ instanceName
8
+ });
9
+ }
10
+
11
+ };
@@ -0,0 +1,72 @@
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 { Service } from "../adapters/gateways/Service";
4
+ import { Repository } from "../adapters/gateways/Repository";
5
+ import { Presenter } from "../adapters/presenters/Presenter";
6
+ export class SdkManager {
7
+ // Define a more specific type if needed
8
+ constructor() {
9
+ _defineProperty(this, "presentedData", void 0);
10
+
11
+ _defineProperty(this, "state", {});
12
+
13
+ _defineProperty(this, "service", void 0);
14
+
15
+ // Initialize the service with necessary dependencies
16
+ const repository = new Repository([]);
17
+ const presenter = new Presenter();
18
+ const dependencies = {
19
+ repository,
20
+ presenter
21
+ };
22
+ this.service = new Service(dependencies);
23
+ this.setPresentedData = this.setPresentedData.bind(this);
24
+ }
25
+
26
+ setPresentedData(data) {
27
+ this.presentedData = data;
28
+ }
29
+
30
+ createResourceInstance(input) {
31
+ const {
32
+ createResourceInstanceUseCase
33
+ } = this.service;
34
+ createResourceInstanceUseCase.updateDependencies(this.state, this.setPresentedData);
35
+ createResourceInstanceUseCase.execute(input);
36
+ }
37
+
38
+ destructResourceInstance(input) {
39
+ const {
40
+ destructResourceInstanceUseCase
41
+ } = this.service;
42
+ destructResourceInstanceUseCase.updateDependencies(this.state, this.setPresentedData);
43
+ destructResourceInstanceUseCase.execute(input);
44
+ }
45
+
46
+ syncStateWithResource(input) {
47
+ const {
48
+ syncStateWithResourceUseCase
49
+ } = this.service;
50
+ syncStateWithResourceUseCase.updateDependencies(this.state, this.setPresentedData);
51
+ syncStateWithResourceUseCase.execute(input);
52
+ }
53
+
54
+ registerResource(input) {
55
+ const {
56
+ registerResourceUseCase
57
+ } = this.service;
58
+ registerResourceUseCase.updateDependencies(this.state, this.setPresentedData);
59
+ registerResourceUseCase.execute(input);
60
+ }
61
+
62
+ getResourceInstance(input) {
63
+ const {
64
+ getResourceInstanceUseCase
65
+ } = this.service;
66
+ getResourceInstanceUseCase.updateDependencies(this.state, this.setPresentedData);
67
+ getResourceInstanceUseCase.execute(input);
68
+ return this.presentedData;
69
+ }
70
+
71
+ }
72
+ export const sdkRegistry = new SdkManager();
@@ -0,0 +1,11 @@
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 AbstractController {
4
+ constructor(service) {
5
+ _defineProperty(this, "service", void 0);
6
+
7
+ this.service = service;
8
+ this.handle = this.handle.bind(this);
9
+ }
10
+
11
+ }
@@ -0,0 +1,19 @@
1
+ import { AbstractController } from "./AbstractController";
2
+ export class DestructController extends AbstractController {
3
+ handle(_ref) {
4
+ let {
5
+ state
6
+ } = _ref;
7
+ const {
8
+ service
9
+ } = this;
10
+ const instanceName = state.properties.instanceName;
11
+ const {
12
+ destructResourceInstanceUseCase
13
+ } = service;
14
+ destructResourceInstanceUseCase.execute({
15
+ instanceName
16
+ });
17
+ }
18
+
19
+ }
@@ -0,0 +1,19 @@
1
+ import { AbstractController } from "./AbstractController";
2
+ export class InitializeController extends AbstractController {
3
+ handle(_ref) {
4
+ let {
5
+ state
6
+ } = _ref;
7
+ const {
8
+ service
9
+ } = this;
10
+ const instanceName = state.properties.instanceName;
11
+ const {
12
+ createResourceInstanceUseCase
13
+ } = service;
14
+ createResourceInstanceUseCase.execute({
15
+ instanceName
16
+ });
17
+ }
18
+
19
+ }
@@ -0,0 +1,24 @@
1
+ import { AbstractController } from "./AbstractController";
2
+ export class SyncStateWithResourceController extends AbstractController {
3
+ handle(_ref) {
4
+ let {
5
+ state,
6
+ dispatch,
7
+ updateState
8
+ } = _ref;
9
+ const {
10
+ service
11
+ } = this;
12
+ const instanceName = state.properties.instanceName;
13
+ const {
14
+ syncStateWithResourceUseCase
15
+ } = service;
16
+ syncStateWithResourceUseCase.execute({
17
+ instanceName,
18
+ state,
19
+ dispatch,
20
+ updateState: updateState
21
+ });
22
+ }
23
+
24
+ }
@@ -0,0 +1,25 @@
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 { BehaviourResourceConnector } from "../../domain/entities/BehaviourResourceConnector";
4
+ export class Repository {
5
+ constructor() {
6
+ _defineProperty(this, "resourceNames", void 0);
7
+
8
+ _defineProperty(this, "resourceManager", void 0);
9
+ }
10
+
11
+ init(resourceNames, resourceManager) {
12
+ this.resourceNames = resourceNames;
13
+ this.resourceManager = resourceManager;
14
+ }
15
+
16
+ getBehaviourResourceConnector() {
17
+ const {
18
+ resourceNames,
19
+ resourceManager
20
+ } = this;
21
+ const behaviourResourceConnector = new BehaviourResourceConnector(resourceNames, resourceManager);
22
+ return behaviourResourceConnector;
23
+ }
24
+
25
+ }
@@ -0,0 +1,43 @@
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 ResourceManagerGateWay {
4
+ constructor() {
5
+ _defineProperty(this, "sdkRegistry", void 0);
6
+ }
7
+
8
+ init(sdkRegistry) {
9
+ this.sdkRegistry = sdkRegistry;
10
+ }
11
+
12
+ createResourceInstance(resourceName, instanceName) {
13
+ this.sdkRegistry.createResourceInstance({
14
+ resourceName,
15
+ instanceName
16
+ });
17
+ }
18
+
19
+ destructResourceInstance(resourceName, instanceName) {
20
+ this.sdkRegistry.destructResourceInstance({
21
+ resourceName,
22
+ instanceName
23
+ });
24
+ }
25
+
26
+ syncStateWithResource(_ref) {
27
+ let {
28
+ resourceName,
29
+ instanceName,
30
+ state,
31
+ dispatch,
32
+ updateState
33
+ } = _ref;
34
+ this.sdkRegistry.syncStateWithResource({
35
+ resourceName,
36
+ instanceName,
37
+ state,
38
+ dispatch,
39
+ updateState
40
+ });
41
+ }
42
+
43
+ }
@@ -0,0 +1,19 @@
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 "../../applications/usecases/CreateResourceInstanceUseCase";
4
+ import { DestructResourceInstanceUseCase } from "../../applications/usecases/DestructResourceInstanceUseCase";
5
+ import { SyncStateWithResourceUseCase } from "../../applications/usecases/SyncStateWithResourceUseCase";
6
+ export class Service {
7
+ constructor(dependencies) {
8
+ _defineProperty(this, "createResourceInstanceUseCase", void 0);
9
+
10
+ _defineProperty(this, "destructResourceInstanceUseCase", void 0);
11
+
12
+ _defineProperty(this, "syncStateWithResourceUseCase", void 0);
13
+
14
+ this.createResourceInstanceUseCase = new CreateResourceInstanceUseCase(dependencies);
15
+ this.destructResourceInstanceUseCase = new DestructResourceInstanceUseCase(dependencies);
16
+ this.syncStateWithResourceUseCase = new SyncStateWithResourceUseCase(dependencies);
17
+ }
18
+
19
+ }
@@ -0,0 +1,6 @@
1
+ export default class AbstractUseCase {
2
+ constructor(dependencies) {
3
+ this.dependencies = dependencies;
4
+ }
5
+
6
+ }
@@ -0,0 +1,3 @@
1
+ import { StateInterface, DispatchFunction, UpdateState } from "../../../../sdk/domain/entities/interfaces/StateInterface"; //
2
+
3
+ export { StateInterface, DispatchFunction, UpdateState };
@@ -0,0 +1,14 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class CreateResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
11
+ behaviourResourceConnector.createResourceInstances(instanceName);
12
+ }
13
+
14
+ }
@@ -0,0 +1,14 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class DestructResourceInstanceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName
6
+ } = _ref;
7
+ const {
8
+ repository
9
+ } = this.dependencies;
10
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
11
+ behaviourResourceConnector.destructResourceInstances(instanceName);
12
+ }
13
+
14
+ }
@@ -0,0 +1,22 @@
1
+ import AbstractUseCase from "../AbstractUseCase";
2
+ export class SyncStateWithResourceUseCase extends AbstractUseCase {
3
+ execute(_ref) {
4
+ let {
5
+ instanceName,
6
+ state,
7
+ dispatch,
8
+ updateState
9
+ } = _ref;
10
+ const {
11
+ repository
12
+ } = this.dependencies;
13
+ const behaviourResourceConnector = repository.getBehaviourResourceConnector();
14
+ behaviourResourceConnector.syncStateWithResources({
15
+ instanceName,
16
+ state,
17
+ dispatch,
18
+ updateState
19
+ });
20
+ }
21
+
22
+ }
@@ -0,0 +1,49 @@
1
+ export class BehaviourResourceConnector {
2
+ constructor(resourceNames, resourceManager) {
3
+ this.resourceNames = resourceNames;
4
+ this.resourceManager = resourceManager;
5
+ }
6
+
7
+ createResourceInstances(instanceName) {
8
+ const {
9
+ resourceNames,
10
+ resourceManager
11
+ } = this;
12
+ resourceNames.forEach(resourceName => {
13
+ resourceManager.createResourceInstance(resourceName, instanceName);
14
+ });
15
+ }
16
+
17
+ destructResourceInstances(instanceName) {
18
+ const {
19
+ resourceNames,
20
+ resourceManager
21
+ } = this;
22
+ resourceNames.forEach(resourceName => {
23
+ resourceManager.destructResourceInstance(resourceName, instanceName);
24
+ });
25
+ }
26
+
27
+ syncStateWithResources(_ref) {
28
+ let {
29
+ instanceName,
30
+ state,
31
+ dispatch,
32
+ updateState
33
+ } = _ref;
34
+ const {
35
+ resourceNames,
36
+ resourceManager
37
+ } = this;
38
+ resourceNames.forEach(resourceName => {
39
+ resourceManager.syncStateWithResource({
40
+ resourceName,
41
+ instanceName,
42
+ state,
43
+ dispatch,
44
+ updateState
45
+ });
46
+ });
47
+ }
48
+
49
+ }
@@ -0,0 +1,2 @@
1
+ import { StateInterface, DispatchFunction, UpdateState } from "../../../../sdk/domain/entities/interfaces/StateInterface";
2
+ export { StateInterface, DispatchFunction, UpdateState };
@@ -0,0 +1,29 @@
1
+ import LifeCycleEvents from "../../../cc/component/LifeCycleEventsEnum";
2
+ import { Repository } from "../adapters/gateways/Repository";
3
+ import { Service } from "../adapters/gateways/Service";
4
+ import { InitializeController } from "../adapters/controllers/InitializeController";
5
+ import { DestructController } from "../adapters/controllers/DestructController";
6
+ import { SyncStateWithResourceController } from "../adapters/controllers/SyncStateWithResourceController";
7
+ import { ResourceManagerGateWay } from "../adapters/gateways/ResourceManagerGateWay";
8
+ import { sdkRegistry } from "../../sdk/frameworks/SdkRegistry";
9
+
10
+ class EventHandlerFactory {
11
+ static create(resourceNames) {
12
+ const resourceManager = new ResourceManagerGateWay();
13
+ resourceManager.init(sdkRegistry);
14
+ const repository = new Repository();
15
+ repository.init(resourceNames, resourceManager);
16
+ const dependencies = {
17
+ repository
18
+ };
19
+ const service = new Service(dependencies);
20
+ return {
21
+ [LifeCycleEvents.MOUNT]: new InitializeController(service).handle,
22
+ [LifeCycleEvents.STATE_UPDATED]: new SyncStateWithResourceController(service).handle,
23
+ [LifeCycleEvents.UN_MOUNT]: new DestructController(service).handle
24
+ };
25
+ }
26
+
27
+ }
28
+
29
+ export default EventHandlerFactory;
@@ -0,0 +1,16 @@
1
+ import SdkProperties from "../../../bc/sdk/Properties";
2
+ import EventHandlerFactory from "./EventHandlerFactory";
3
+
4
+ class SdkBehaviourFactory {
5
+ static create(resourceNames) {
6
+ return {
7
+ name: 'sdkBehaviour',
8
+ setInitialState: () => ({}),
9
+ eventHandlers: EventHandlerFactory.create(resourceNames),
10
+ properties: SdkProperties
11
+ };
12
+ }
13
+
14
+ }
15
+
16
+ export default SdkBehaviourFactory;
@@ -76,21 +76,27 @@ export default class DataSource {
76
76
  const {
77
77
  actionName
78
78
  } = fullMetaData;
79
- const {
80
- type,
81
- metaData
82
- } = fullMetaData[DATA_SOURCE_FAILURE];
83
79
  const actions = [];
84
- type && actions.push({
85
- type,
86
- metaData,
87
- payload: {
88
- error
89
- }
90
- });
80
+ let failureMetaData = {};
81
+
82
+ if (fullMetaData[DATA_SOURCE_FAILURE]) {
83
+ const {
84
+ type,
85
+ metaData
86
+ } = fullMetaData[DATA_SOURCE_FAILURE];
87
+ failureMetaData = metaData;
88
+ type && actions.push({
89
+ type,
90
+ metaData: failureMetaData,
91
+ payload: {
92
+ error
93
+ }
94
+ });
95
+ }
96
+
91
97
  actions.push({
92
98
  type: DATA_SOURCE_EXECUTE_FAILED,
93
- metaData,
99
+ metaData: failureMetaData,
94
100
  payload: {
95
101
  actionName,
96
102
  error