@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.
- package/README.md +3 -3
- package/es/bc/sdk/EventHandlers.js +1 -0
- package/es/bc/sdk/Properties.js +10 -0
- package/es/bc/sdk/ResourceNamesEnum.js +6 -0
- package/es/bc/zform/Symbol.js +1 -0
- package/es/bc/zhttp/Errors.js +14 -0
- package/es/bc/zhttp/index.js +3 -1
- package/es/bc/zlist/Constants.js +8 -1
- package/es/bc/zlist/Events.js +140 -0
- package/es/bc/zlist/index.js +2 -1
- package/es/bc/zrecord/Constants.js +3 -1
- package/es/cc/action-icon/Properties.js +19 -1
- package/es/cc/action-location/Constants.js +5 -3
- package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
- package/es/cc/button/Constants.js +7 -0
- package/es/cc/button/Events.js +5 -0
- package/es/cc/button/Properties.js +77 -0
- package/es/cc/button/index.js +3 -0
- package/es/cc/component/FallbackView.js +1 -0
- package/es/cc/component/LifeCycleEventsEnum.js +9 -0
- package/es/cc/fields/currency/Model.js +2 -0
- package/es/cc/fields/field/Properties.js +1 -1
- package/es/cc/fields/formula/Model.js +5 -0
- package/es/cc/form/Constants.js +2 -0
- package/es/cc/form/Events.js +20 -0
- package/es/cc/form-connected/Constants.js +13 -0
- package/es/cc/index.js +3 -0
- package/es/cc/link/Properties.js +0 -1
- package/es/cc/list-item/Constants.js +7 -0
- package/es/cc/list-item/Events.js +14 -0
- package/es/cc/list-item/Properties.js +131 -0
- package/es/cc/list-item/index.js +3 -0
- package/es/cc/more-dropdown/Constants.js +7 -0
- package/es/cc/more-dropdown/Events.js +14 -0
- package/es/cc/more-dropdown/Properties.js +66 -0
- package/es/cc/more-dropdown/index.js +3 -0
- package/es/cc/section/Constants.js +2 -0
- package/es/cc/section/Events.js +20 -0
- package/es/cc/table-connected/ErrorEventType.js +32 -0
- package/es/cc/table-connected/Events.js +96 -0
- package/es/cc/table-connected/Properties.js +16 -0
- package/es/cc/table-connected/SdkContract.js +132 -0
- package/es/cc/table-connected/constants/Events.js +2 -0
- package/es/cc/table-connected/index.js +3 -1
- package/es/cc/table-list/Constants.js +4 -0
- package/es/cc/table-list/Properties.js +25 -0
- package/es/cc/table-list/row/Properties.js +44 -0
- package/es/index.js +6 -2
- package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +5 -2
- package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
- package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +116 -4
- package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
- package/es/library/custom-component/applications/interfaces/gateways/ISchemaValidator.js +1 -0
- package/es/library/custom-component/applications/usecases/InitializeUseCase.js +3 -2
- package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +6 -2
- package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
- package/es/library/custom-component/domain/entities/Component.js +20 -3
- package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
- package/es/library/custom-component/domain/entities/Properties.js +19 -1
- package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +36 -1
- package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +23 -11
- package/es/library/custom-component/frameworks/ui/DependencyFactory.js +4 -3
- package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +6 -0
- package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
- package/es/library/dot/components/form/frameworks/ui/EventHandlerFactory.js +23 -3
- package/es/library/dot/components/form/frameworks/ui/FormView.js +6 -3
- package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +4 -0
- package/es/library/dot/components/form-fields/checkbox/frameworks/ui/CheckboxView.js +1 -0
- package/es/library/dot/components/form-fields/currency/frameworks/ui/CurrencyView.js +1 -0
- package/es/library/dot/components/form-fields/date/frameworks/ui/DateView.js +1 -0
- package/es/library/dot/components/form-fields/datetime/frameworks/ui/DateTimeView.js +1 -0
- package/es/library/dot/components/form-fields/decimal/frameworks/ui/DecimalView.js +1 -0
- package/es/library/dot/components/form-fields/email/frameworks/ui/EmailView.js +1 -0
- package/es/library/dot/components/form-fields/multi-select/frameworks/ui/MultiSelectView.js +1 -0
- package/es/library/dot/components/form-fields/number/frameworks/ui/NumberView.js +1 -0
- package/es/library/dot/components/form-fields/percentage/frameworks/ui/PercentageView.js +1 -0
- package/es/library/dot/components/form-fields/phone/frameworks/ui/PhoneView.js +1 -0
- package/es/library/dot/components/form-fields/pick-list/frameworks/ui/PickListView.js +1 -0
- package/es/library/dot/components/form-fields/textarea/frameworks/ui/TextAreaView.js +1 -0
- package/es/library/dot/components/form-fields/textbox/frameworks/ui/TextBoxView.js +1 -0
- package/es/library/dot/components/form-fields/url/frameworks/ui/UrlView.js +1 -0
- package/es/library/dot/components/section/frameworks/ui/EventHandlerFactory.js +26 -3
- package/es/library/dot/components/table-list/frameworks/hooks/useDropIndicator.js +8 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useRowData.js +15 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useTableRowReorder.js +105 -0
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +85 -15
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +240 -1
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +28 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +25 -9
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +11 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +50 -8
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +7 -1
- package/es/library/dot/components/table-list/frameworks/utils/getHeaderClasses.js +37 -0
- package/es/library/dot/components/table-list/frameworks/utils/getTableListClassName.js +37 -0
- package/es/library/dot/components/table-list/frameworks/utils/reOrder.js +90 -0
- package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +10 -1
- package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/css/ActionIconView.module.css +3 -0
- package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/Button.js +12 -0
- package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/ButtonView.js +41 -0
- package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItem.js +12 -0
- package/es/library/dot/legacy-to-new-arch/list-item/frameworks/ui/ListItemView.js +122 -0
- package/es/library/dot/legacy-to-new-arch/more-dropdown/frameworks/ui/MoreDropdown.js +12 -0
- package/es/library/dot/legacy-to-new-arch/more-dropdown/frameworks/ui/MoreDropdownView.js +43 -0
- package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +8 -4
- package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +1 -1
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ClientActionsAdapter.js +96 -0
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +12 -3
- package/es/platform/client-actions/template-resolver/index.js +1 -0
- package/es/platform/client-actions/translators/client-actions-translator/index.js +5 -2
- package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +3 -2
- package/es/platform/client-actions/translators/context-resolver/index.js +7 -10
- package/es/platform/components/form-connected/frameworks/EventHandlersFactory.js +91 -0
- package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +33 -0
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnectedView.js +1 -1
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormSdkFactory.js +3 -14
- package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +28 -0
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ColumnChooserUpdateController.js +5 -5
- package/es/platform/components/table-connected/adapters/controllers/ReOrderFinishController.js +21 -0
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeByMouseController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeEndController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeFinishController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeStartController.js +2 -2
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ScrollController.js +1 -1
- package/es/platform/components/table-connected/adapters/resources/ErrorPrinter.js +20 -0
- package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +326 -0
- package/es/platform/components/table-connected/application/interfaces/ISmartTableResource.js +1 -0
- package/es/platform/components/table-connected/frameworks/ErrorEventHandlersFactory.js +126 -0
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/EventHandlersFactory.js +58 -17
- package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +57 -0
- package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +78 -0
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js +10 -4
- package/es/platform/data-source/http-template/reOrderRecord.js +44 -0
- package/es/platform/data-source/index.js +2 -0
- package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
- package/es/platform/sdk/adapters/gateways/Service.js +27 -0
- package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
- package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +13 -0
- package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
- package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
- package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
- package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
- package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
- package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
- package/es/platform/sdk/frameworks/Sdk.js +11 -0
- package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
- package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
- package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
- package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
- package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
- package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
- package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
- package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
- package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
- package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
- package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
- package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
- package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
- package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
- package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
- package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
- package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
- package/es/platform/zdata-source/domain/entities/DataSource.js +18 -12
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +7 -1
- package/es/platform/zform/adapters/controllers/FieldValueChangeController.js +10 -3
- package/es/platform/zform/adapters/presenter/FormTranslator.js +6 -127
- package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +32 -0
- package/es/platform/zform/adapters/presenter/translators/fields/BooleanFieldTranslator.js +20 -0
- package/es/platform/zform/adapters/presenter/translators/fields/CurrencyFieldTranslator.js +29 -0
- package/es/platform/zform/adapters/presenter/translators/fields/DateFieldTranslator.js +20 -0
- package/es/platform/zform/adapters/presenter/translators/fields/DateTimeFieldTranslator.js +21 -0
- package/es/platform/zform/adapters/presenter/translators/fields/DecimalFieldTranslator.js +29 -0
- package/es/platform/zform/adapters/presenter/translators/fields/EmailFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/MultiselectFieldTranslator.js +29 -0
- package/es/platform/zform/adapters/presenter/translators/fields/NumberFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/PercentageFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/PhoneFieldTranslator.js +29 -0
- package/es/platform/zform/adapters/presenter/translators/fields/PicklistFieldTranslator.js +29 -0
- package/es/platform/zform/adapters/presenter/translators/fields/TextAreaFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/TextFieldTranslator.js +27 -0
- package/es/platform/zform/adapters/presenter/translators/fields/URLFieldTranslator.js +30 -0
- package/es/platform/zform/adapters/presenter/translators/fields/index.js +15 -0
- package/es/platform/zform/applications/usecases/FieldValueChangeRequestUseCase.js +13 -1
- package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +3 -1
- package/es/platform/zform/domain/ZField.js +61 -16
- package/es/platform/zform/domain/ZSection.js +20 -7
- package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +10 -4
- package/es/platform/zhttp/applications/usecases/FetchUseCase.js +111 -66
- package/es/platform/zlist/adapters/controllers/FieldExecuteFailedController.js +25 -0
- package/es/platform/zlist/adapters/controllers/ReOrderController.js +25 -0
- package/es/platform/zlist/adapters/controllers/ReOrderFailedController.js +26 -0
- package/es/platform/zlist/adapters/gateways/Repository.js +12 -2
- package/es/platform/zlist/adapters/gateways/Service.js +8 -0
- package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +3 -1
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +19 -5
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +11 -12
- package/es/platform/zlist/adapters/presenters/translators/EmptyViewModel.js +2 -1
- package/es/platform/zlist/adapters/presenters/translators/Header.js +8 -4
- package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -2
- package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
- package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +1 -0
- package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +3 -0
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
- package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
- package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/ReOrderRecordUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
- package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
- package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +1 -1
- package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
- package/es/platform/zlist/applications/usecases/ReOrderFailedUseCase.js +22 -0
- package/es/platform/zlist/applications/usecases/ReOrderUseCase.js +25 -0
- package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -2
- package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -3
- package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
- package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
- package/es/platform/zlist/domain/entities/List.js +73 -48
- package/es/platform/zlist/domain/entities/ListErrorState.js +167 -0
- package/es/platform/zlist/frameworks/EventHandlersFactory.js +16 -6
- package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +6 -0
- package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
- package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
- package/es/platform/zrecord/domain/entities/GetReOrderRecordsStrategy.js +40 -0
- package/es/platform/zrecord/domain/entities/Records.js +9 -4
- package/es/platform/zrecord/domain/entities/RecordsManager.js +11 -1
- package/package.json +10 -8
- package/es/desk-frameworks/form-connected/frameworks/EventHandlersFactory.js +0 -24
- package/es/desk-frameworks/form-connected/frameworks/FormConnectedFactory.js +0 -33
- package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +0 -36
- package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +0 -172
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +0 -56
- /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnected.js +0 -0
- /package/es/{desk-frameworks → platform/components}/index.js +0 -0
- /package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/AbstractController.js +0 -0
- /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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|