@zohodesk/library-platform 1.1.10-exp.1 → 1.1.10-exp.2
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/es/bc/app-context/Properties.js +12 -2
- package/es/bc/sdk/ResourceNamesEnum.js +1 -0
- package/es/bc/zform/Constants.js +11 -1
- package/es/bc/zform/Properties.js +29 -33
- package/es/bc/zform/Symbol.js +1 -3
- package/es/bc/zlist/Properties.js +0 -51
- package/es/bc/zrecord/Constants.js +1 -0
- package/es/cc/fields/currency/Properties.js +2 -1
- package/es/cc/fields/field/Properties.js +14 -8
- package/es/cc/fields/lookup/Properties.js +34 -1
- package/es/cc/fields/text/Properties.js +0 -9
- package/es/cc/form/Properties.js +8 -0
- package/es/cc/form-connected/ExternalConstants.js +3 -0
- package/es/cc/form-connected/Properties.js +19 -11
- package/es/cc/table-connected/SdkContract.js +14 -0
- package/es/cc/table-connected/constants/Events.js +2 -1
- package/es/cc/table-list/row/Properties.js +8 -0
- package/es/index.js +13 -3
- package/es/library/analytics/Analytics.js +36 -0
- package/es/library/analytics/AnalyticsContract.js +13 -0
- package/es/library/analytics/index.js +2 -0
- package/es/library/custom-component/adapters/controllers/Controller.js +9 -0
- package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +4 -0
- package/es/library/custom-component/adapters/gateways/service/Service.js +2 -0
- package/es/library/custom-component/applications/entities-factory/ComponentFactory.js +12 -9
- package/es/library/custom-component/applications/usecases/DispatchUseCase.js +28 -5
- package/es/library/custom-component/applications/usecases/InitializeUseCase.js +5 -4
- package/es/library/custom-component/applications/usecases/MountUseCase.js +10 -6
- package/es/library/custom-component/applications/usecases/UnmountUseCase.js +6 -5
- package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +23 -18
- package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +4 -3
- package/es/library/custom-component/domain/entities/Behaviour.js +4 -0
- package/es/library/custom-component/domain/entities/Component.js +89 -83
- package/es/library/custom-component/domain/entities/Properties.js +10 -137
- package/es/library/custom-component/domain/entities/Property.js +29 -0
- package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +65 -28
- package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +26 -13
- package/es/library/custom-component/frameworks/ui/DependencyFactory.js +1 -2
- package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +2 -1
- package/es/library/dot/components/form/adapters/presenter/TransformState.js +3 -1
- package/es/library/dot/components/form/frameworks/ui/DefaultComponentRegister.js +10 -2
- package/es/library/dot/components/form/frameworks/ui/Form.js +2 -0
- package/es/library/dot/components/form/frameworks/ui/FormView.js +8 -4
- package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +13 -13
- package/es/library/dot/components/form/frameworks/ui/sub-components/Footer.js +7 -4
- package/es/library/dot/components/form/frameworks/ui/sub-components/Header.js +7 -4
- package/es/library/dot/components/form-fields/currency/frameworks/ui/Currency.js +3 -3
- package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +2 -2
- package/es/library/dot/components/form-fields/lookup/frameworks/ui/Lookup.js +1 -1
- package/es/library/dot/components/section/frameworks/ui/SectionView.js +12 -4
- package/es/library/dot/components/section/frameworks/ui/css/Section.module.css +3 -0
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +14 -7
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +15 -15
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +4 -7
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -6
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +6 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +6 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/Headers.js +4 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +6 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Columns.js +4 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +14 -7
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowActions.js +5 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +5 -3
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +32 -7
- package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/css/Breadcrumb.module.css +4 -4
- package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/sub-components/BreadcrumbItem.js +1 -1
- package/es/library/dot/legacy-to-new-arch/button/frameworks/ui/ButtonView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/DateView.js +4 -4
- package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +1 -1
- package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/LabelView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +4 -4
- package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +9 -9
- package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/SelectView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +1 -0
- package/es/library/dot/legacy-to-new-arch/text/frameworks/ui/TextView.js +1 -1
- package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/TextAreaView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +9 -9
- package/es/library/dot/legacy-to-new-arch/textbox/frameworks/ui/TextBoxView.js +2 -2
- package/es/platform/client-actions/behaviour/zclient-actions/applications/usecases/SetClientActionsUseCase.js +6 -1
- package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActionManager.js +58 -19
- package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/ClientActions.js +8 -8
- package/es/platform/client-actions/behaviour/zclient-actions/domain/entities/interfaces/IClientActionFetchResponse.js +0 -0
- package/es/platform/client-actions/cc/action-event-mediator/Properties.js +75 -3
- package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/MountController.js +1 -1
- package/es/platform/client-actions/components/action-event-mediator/adapters/controllers/PropertiesChangeController.js +2 -2
- package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js +2 -2
- package/es/platform/client-actions/components/action-event-mediator/applications/usecases/InitializeUseCase.js +15 -1
- package/es/platform/client-actions/components/action-event-mediator/applications/usecases/PropertiesChangeUseCase.js +3 -3
- package/es/platform/client-actions/components/action-event-mediator/domain/entities/ActionEventMediatorEntity.js +41 -24
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediator.js +3 -1
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ActionEventMediatorView.js +31 -14
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/ClientActionsAdapter.js +2 -48
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +3 -11
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRenderer.js +12 -0
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/AdaptiveRowActions/AdaptiveRowActionsRendererView.js +42 -0
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRenderer.js +10 -0
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/MoreActions/MoreActionsRendererView.js +79 -0
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/{RowActionsRenderer.js → RowActions/RowActionsRenderer.js} +3 -3
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +19 -0
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRendererView.js +37 -0
- package/es/platform/client-actions/translators/client-actions-translator/index.js +14 -2
- package/es/platform/client-actions/translators/condition-resolver/index.js +6 -1
- package/es/platform/client-scripts/bc/zclient-scripts-execution/Constants.js +11 -0
- package/es/platform/client-scripts/bc/zclient-scripts-execution/EventHandlers.js +1 -0
- package/es/platform/client-scripts/bc/zclient-scripts-fetch/Constants.js +11 -0
- package/es/platform/client-scripts/bc/zclient-scripts-fetch/EventHandlers.js +1 -0
- package/es/platform/{app-context-behaviour → client-scripts/behaviour/zclient-scripts-execution}/adapters/controllers/AbstractController.js +2 -1
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/ClientScriptExecutionController.js +10 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/controllers/SetClientScriptsMappingController.js +10 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Repository.js +24 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Service.js +9 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/presenters/Presenter.js +21 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IService.js +0 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/AbstractUseCase.js +15 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/ExecuteClientScriptsUseCase.js +23 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/applications/usecases/SetClientScriptsMappingUseCase.js +16 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/ClientScriptExecutor.js +142 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/domain/entities/types/ClientScriptExectionTypeDefintions.js +7 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionBehaviourFactory.js +12 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionHandlersFactory.js +30 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils.js +25 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/AbstractController.js +8 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsController.js +27 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsFailureController.js +28 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsNoContentController.js +23 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsStopController.js +21 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/FetchClientScriptsSuccessController.js +28 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/MountController.js +22 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/controllers/SetClientScriptsController.js +24 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Repository.js +22 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/gateways/Service.js +19 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/adapters/presenters/Presenter.js +16 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsFactory.js +11 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/entities-factory/ClientScriptsManagerFactory.js +10 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IService.js +0 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/AbstractUseCase.js +17 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptUseCase.js +33 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsFailureUseCase.js +22 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsNoContentUseCase.js +27 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsStopUseCase.js +25 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/FetchClientScriptsSuccessUseCase.js +22 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/InitializeUseCase.js +17 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/applications/usecases/SetClientScriptsUseCase.js +21 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScript.js +24 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScripts.js +41 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/GetClientScriptsStrategy.js +44 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptEventMappingState.js +1 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptModel.js +1 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/ClientScriptsModel.js +1 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScript.js +0 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IClientScripts.js +0 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/interfaces/IEvent.js +1 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsBehaviourFactory.js +12 -0
- package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsHandlersFactory.js +47 -0
- package/es/platform/client-scripts/cc/zclient-scripts-execution/clientScriptsSchema.js +15 -0
- package/es/platform/components/app/adapters/resources/AppResource.js +13 -3
- package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +7 -1
- package/es/platform/components/form-connected/frameworks/FormConnectedView.js +4 -2
- package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +7 -1
- package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +50 -0
- package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +216 -2
- package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +4 -2
- package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +6 -2
- package/es/platform/data-source/http-template/getClientScripts.js +23 -0
- package/es/platform/data-source/http-template/updateSelectedFields.js +1 -1
- package/es/platform/data-source/index.js +14 -11
- package/es/platform/data-source/utils/validation-rules/TransFormValidationRules.js +1 -0
- package/es/platform/sdk/frameworks/Sdk.js +1 -1
- package/es/platform/zdata-source/domain/entities/APITemplate.js +2 -1
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +6 -1
- package/es/platform/zform/adapters/controllers/IntializeController.js +4 -2
- package/es/platform/zform/adapters/controllers/MyLayoutSuccessController.js +4 -2
- package/es/platform/zform/adapters/controllers/SubmitValidationCompletedController.js +5 -1
- package/es/platform/zform/adapters/gateway/FormRepository.js +4 -2
- package/es/platform/zform/adapters/gateway/Service.js +2 -0
- package/es/platform/zform/adapters/presenter/FormTranslator.js +21 -15
- package/es/platform/zform/adapters/presenter/translators/SectionTranslator.js +5 -3
- package/es/platform/zform/applications/usecases/InitializeUseCase.js +54 -26
- package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +7 -7
- package/es/platform/zform/applications/usecases/MyLayoutSuccessUseCase.js +60 -36
- package/es/platform/zform/applications/usecases/SubmitValidationCompletedUseCase.js +12 -8
- package/es/platform/zform/domain/ZForm.js +65 -0
- package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +11 -2
- package/es/platform/zhttp/adapters/controllers/FetchController.js +5 -1
- package/es/platform/zlist/adapters/gateways/Repository.js +4 -2
- package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +6 -3
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +15 -6
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +30 -19
- package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -6
- package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +4 -2
- package/es/platform/zlist/adapters/presenters/translators/Row.js +5 -3
- package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +6 -2
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
- package/es/platform/zlist/domain/entities/List.js +17 -2
- package/package.json +3 -3
- package/es/cc/form-connected/Constants.js +0 -12
- package/es/library/custom-component/applications/usecases/MountUseCase copy.js +0 -28
- package/es/platform/app-context-behaviour/adapters/controllers/InitializeController.js +0 -19
- package/es/platform/app-context-behaviour/adapters/gateways/Service.js +0 -7
- package/es/platform/app-context-behaviour/adapters/presenters/Presenter.js +0 -18
- package/es/platform/app-context-behaviour/adapters/resources/AppResource.js +0 -25
- package/es/platform/app-context-behaviour/applications/AbstractUseCase.js +0 -6
- package/es/platform/app-context-behaviour/applications/usecases/InitializeUseCase.js +0 -15
- package/es/platform/app-context-behaviour/frameworks/EventHandlerFactory.js +0 -25
- package/es/platform/client-actions/cc/dynamic-action-component/Properties.js +0 -51
- package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponent.js +0 -9
- package/es/platform/client-actions/components/dynamic-component/frameworks/ui/DynamicActionComponentView.js +0 -38
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -19
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +0 -33
- package/es/platform/components/form-connected/frameworks/FallbackView.js +0 -23
- package/es/platform/components/form-connected/frameworks/FormFallbackView.js +0 -23
- package/es/platform/data-source/http-template/fetchDependencyMappings.js +0 -18
- package/es/platform/data-source/http-template/fetchLayoutRules.js +0 -29
- package/es/platform/data-source/http-template/fetchMyForm.js +0 -19
- package/es/platform/data-source/http-template/fetchMyFormLayout.js +0 -43
- package/es/platform/data-source/http-template/fetchValidationRules.js +0 -30
- package/es/platform/zlist/adapters/presenters/translators/ColumnAlignmentTranslator.js +0 -11
- /package/es/platform/{app-context-behaviour/applications/interfaces/UsecaseDependencies.js → client-actions/behaviour/zclient-actions/domain/entities/interfaces/ClientActionResponse.js} +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/gateways/IService.js → client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/InputDependencies.js} +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/input/InitializeUseCaseInputModel.js → client-scripts/behaviour/zclient-scripts-execution/applications/interfaces/gateways/IRepository.js} +0 -0
- /package/es/platform/{app-context-behaviour → client-scripts/behaviour/zclient-scripts-execution}/applications/interfaces/output/IPresenter.js +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/output/BehaviourState.js → client-scripts/behaviour/zclient-scripts-execution/domain/entities/State.js} +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/resources/ApiHeaderContract.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/InputDependencies.js} +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/resources/ContextContract.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/gateways/IRepository.js} +0 -0
- /package/es/platform/{app-context-behaviour/applications/interfaces/resources/IAppResource.js → client-scripts/behaviour/zclient-scripts-fetch/applications/interfaces/output/IPresenter.js} +0 -0
- /package/es/platform/{client-actions/components/dynamic-component/domain/entities/interfaces/IState.js → client-scripts/behaviour/zclient-scripts-fetch/domain/entities/State.js} +0 -0
|
@@ -1,21 +1,38 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
4
|
+
import ComponentRegistry from "../../../../../../library/custom-component/frameworks/ui/ComponentRegistry";
|
|
5
|
+
import ActionComponentMapping from "../../../../../../library/dot/components/action-location/frameworks/ui/ActionComponentMapping";
|
|
6
|
+
|
|
7
|
+
function ActionEventMediatorView(_ref, ref) {
|
|
5
8
|
let {
|
|
6
9
|
state
|
|
7
10
|
} = _ref;
|
|
8
11
|
const {
|
|
9
|
-
|
|
10
|
-
renderComponentType,
|
|
11
|
-
gap,
|
|
12
|
-
testId
|
|
12
|
+
action
|
|
13
13
|
} = state.properties;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
const {
|
|
15
|
+
component,
|
|
16
|
+
properties,
|
|
17
|
+
eventMappings,
|
|
18
|
+
id: actionId
|
|
19
|
+
} = action;
|
|
20
|
+
const Component = ComponentRegistry.get(component) || ActionComponentMapping[component];
|
|
21
|
+
|
|
22
|
+
if (!Component) {
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
ref: ref
|
|
25
|
+
}, "Error");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
19
29
|
getRef: ref
|
|
20
|
-
}
|
|
21
|
-
|
|
30
|
+
}, properties, {
|
|
31
|
+
appendToActionPayload: {
|
|
32
|
+
eventMappings,
|
|
33
|
+
actionId
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default ActionEventMediatorView;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { createCustomComponent } from "../../../../../../library/custom-component";
|
|
2
|
-
import ActionEventMediatorProperties from "../../../../cc/action-event-mediator/Properties";
|
|
3
|
-
import EventHandlersFactory from "./EventHandlersFactory";
|
|
4
|
-
import ActionEventMediatorView from "./ActionEventMediatorView"; // import ClientActionsSDKFactory from '../../../../behaviour/zclient-actions/frameworks/sdk/ClientActionsSDKFactory'; TODO: Add support for returning clientActionsSDK factory when client actions SDK is merged to V2
|
|
5
|
-
|
|
6
|
-
import ClientActionsBehaviourFactory from "../../../../behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
|
|
7
1
|
import getClientActions from "../../../../../data-source/http-template/getClientActions";
|
|
8
2
|
import ClientActionsTranslator from "../../../../translators/client-actions-translator";
|
|
9
3
|
import FetchGateWay from "../../../../../zhttp/adapters/gateway/FetchGateWay";
|
|
@@ -27,7 +21,7 @@ const ClientActionsAdapterUtils = {
|
|
|
27
21
|
},
|
|
28
22
|
|
|
29
23
|
transform(input) {
|
|
30
|
-
return ClientActionsTranslator.transform(input, {
|
|
24
|
+
return ClientActionsTranslator.transform(input, "Adapter", "Adapter", {
|
|
31
25
|
departmentName: windowWrapper.currentDepartment.sanitizedName,
|
|
32
26
|
orgId: windowWrapper.currentOrg.id,
|
|
33
27
|
orgName: windowWrapper.currentOrg.portalName,
|
|
@@ -37,29 +31,6 @@ const ClientActionsAdapterUtils = {
|
|
|
37
31
|
|
|
38
32
|
};
|
|
39
33
|
const ClientActionsAdapter = {
|
|
40
|
-
createEventHandler(clientScript) {
|
|
41
|
-
return event => {
|
|
42
|
-
let response = {
|
|
43
|
-
event: event,
|
|
44
|
-
sdk: {}
|
|
45
|
-
}; // response.sdks.clientActions = ClientActionsSDKFactory.create({ TODO: Add support for returning clientActionsSDK factory when client actions SDK is merged to V2
|
|
46
|
-
// state: event.state,
|
|
47
|
-
// dispatch: event.dispatch
|
|
48
|
-
// });
|
|
49
|
-
|
|
50
|
-
clientScript(response);
|
|
51
|
-
};
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
createActionToEventHandlers(clientScripts) {
|
|
55
|
-
const actionEventHandlers = {};
|
|
56
|
-
Object.keys(clientScripts).map(targetEvent => {
|
|
57
|
-
const clientScript = clientScripts[targetEvent];
|
|
58
|
-
actionEventHandlers[targetEvent] = ClientActionsAdapter.createEventHandler(clientScript);
|
|
59
|
-
});
|
|
60
|
-
return actionEventHandlers;
|
|
61
|
-
},
|
|
62
|
-
|
|
63
34
|
fetchClientActions(args) {
|
|
64
35
|
const apiDetails = ClientActionsAdapterUtils.getClientActionsAPIDetails(args);
|
|
65
36
|
const fetchGateway = new FetchGateWay(window.fetch.bind(window));
|
|
@@ -73,24 +44,7 @@ const ClientActionsAdapter = {
|
|
|
73
44
|
return Promise.resolve(actions);
|
|
74
45
|
}
|
|
75
46
|
});
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
getClientActionComponent: clientScripts => {
|
|
79
|
-
return createCustomComponent({
|
|
80
|
-
name: 'ClientActionsAdapter',
|
|
81
|
-
properties: ActionEventMediatorProperties,
|
|
82
|
-
setInitialState: () => ({
|
|
83
|
-
handlers: {}
|
|
84
|
-
}),
|
|
85
|
-
eventHandlers: { ...EventHandlersFactory.createClientActionsAdapterEventHandlers(),
|
|
86
|
-
...ClientActionsAdapter.createActionToEventHandlers(clientScripts)
|
|
87
|
-
},
|
|
88
|
-
behaviours: [ClientActionsBehaviourFactory.create({
|
|
89
|
-
getClientActions: getClientActions
|
|
90
|
-
})],
|
|
91
|
-
View: ActionEventMediatorView
|
|
92
|
-
});
|
|
93
47
|
}
|
|
48
|
+
|
|
94
49
|
};
|
|
95
|
-
export const getClientActionsAdapter = ClientActionsAdapter.getClientActionComponent;
|
|
96
50
|
export const fetchClientActions = ClientActionsAdapter.fetchClientActions;
|
|
@@ -9,14 +9,6 @@ import PropertiesChangeController from "../../adapters/controllers/PropertiesCha
|
|
|
9
9
|
import LifeCycleEvents from "../../../../../../cc/component/LifeCycleEventsEnum";
|
|
10
10
|
export default class EventHandlersFactory {
|
|
11
11
|
static create() {
|
|
12
|
-
return EventHandlersFactory.createClientActionsLifeCycleEventHandlers('ActionEventMediator');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static createClientActionsAdapterEventHandlers() {
|
|
16
|
-
return EventHandlersFactory.createClientActionsLifeCycleEventHandlers('ClientActionsAdapter');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static createClientActionsLifeCycleEventHandlers(componentName) {
|
|
20
12
|
const repository = new Repository();
|
|
21
13
|
const presenter = new Presenter();
|
|
22
14
|
const dependencies = {
|
|
@@ -30,9 +22,9 @@ export default class EventHandlersFactory {
|
|
|
30
22
|
const unmountController = new UnmountController(destroyUseCase);
|
|
31
23
|
const propertiesChangeController = new PropertiesChangeController(propertiesChangeUseCase);
|
|
32
24
|
return {
|
|
33
|
-
[
|
|
34
|
-
[
|
|
35
|
-
[
|
|
25
|
+
[`ActionEventMediator#${LifeCycleEvents.MOUNT}`]: initializeController.handle,
|
|
26
|
+
[`ActionEventMediator#${LifeCycleEvents.UPDATE_PROPERTIES}`]: propertiesChangeController.handle,
|
|
27
|
+
[`ActionEventMediator#${LifeCycleEvents.UN_MOUNT}`]: unmountController.handle
|
|
36
28
|
};
|
|
37
29
|
}
|
|
38
30
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../../../library/custom-component";
|
|
2
|
+
import RowActionsRendererProperties from "../../../../../cc/action-event-mediator/Properties";
|
|
3
|
+
import { ComponentRegistry } from "../../../../../../../library";
|
|
4
|
+
import AdaptiveRowActionsRendererView from "./AdaptiveRowActionsRendererView";
|
|
5
|
+
const AdaptiveRowActionsRendererComponent = createCustomComponent({
|
|
6
|
+
name: 'AdaptiveRowActionsRenderer',
|
|
7
|
+
properties: RowActionsRendererProperties,
|
|
8
|
+
eventHandlers: {},
|
|
9
|
+
View: AdaptiveRowActionsRendererView
|
|
10
|
+
});
|
|
11
|
+
ComponentRegistry.register("AdaptiveRowActionsRenderer", AdaptiveRowActionsRendererComponent);
|
|
12
|
+
export default AdaptiveRowActionsRendererComponent;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* eslint-disable react/prop-types */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Flex from '@zohodesk/layout/es/Flex/Flex';
|
|
4
|
+
import { ActionViewGap } from "../../../../interfaces/ActionViewModel";
|
|
5
|
+
import ActionEventMediator from "../../../../action-event-mediator/frameworks/ui/ActionEventMediator";
|
|
6
|
+
import MoreActionsRenderer from "../MoreActions/MoreActionsRenderer";
|
|
7
|
+
import { findMappedClientScripts } from "../../../../../../client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils"; // @ts-ignore
|
|
8
|
+
|
|
9
|
+
import style from "../RowActions/RowActionsRenderer.module.css";
|
|
10
|
+
export default function AdaptiveRowActionsRendererView(_ref, ref) {
|
|
11
|
+
let {
|
|
12
|
+
state,
|
|
13
|
+
helpers
|
|
14
|
+
} = _ref;
|
|
15
|
+
const {
|
|
16
|
+
actions,
|
|
17
|
+
gap,
|
|
18
|
+
testId,
|
|
19
|
+
clientScripts
|
|
20
|
+
} = state.properties;
|
|
21
|
+
const [firstAction, secondAction, ...moreActions] = actions;
|
|
22
|
+
const showMore = actions.length > 3;
|
|
23
|
+
const actionsList = showMore ? [firstAction, secondAction] : actions;
|
|
24
|
+
|
|
25
|
+
const renderAction = action => /*#__PURE__*/React.createElement(ActionEventMediator, {
|
|
26
|
+
key: action.id,
|
|
27
|
+
action: action,
|
|
28
|
+
clientScripts: findMappedClientScripts(action, clientScripts),
|
|
29
|
+
instanceName: action.instanceName
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/React.createElement(Flex, {
|
|
33
|
+
ref: ref,
|
|
34
|
+
testId: testId ? testId : '',
|
|
35
|
+
$ui_className: gap !== ActionViewGap.NONE ? style[`gap_${gap}`] : '',
|
|
36
|
+
$ui_displayMode: "inline",
|
|
37
|
+
$ui_alignItems: "center"
|
|
38
|
+
}, showMore ? /*#__PURE__*/React.createElement(React.Fragment, null, actionsList.map(renderAction), /*#__PURE__*/React.createElement(MoreActionsRenderer, {
|
|
39
|
+
actions: moreActions,
|
|
40
|
+
clientScripts: clientScripts
|
|
41
|
+
})) : actionsList.map(renderAction));
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../../../library/custom-component";
|
|
2
|
+
import RowActionsRendererProperties from "../../../../../cc/action-event-mediator/Properties";
|
|
3
|
+
import MoreActionsRendererView from "./MoreActionsRendererView";
|
|
4
|
+
const MoreActionsRenderer = createCustomComponent({
|
|
5
|
+
name: "MoreActionsRenderer",
|
|
6
|
+
eventHandlers: {},
|
|
7
|
+
properties: RowActionsRendererProperties,
|
|
8
|
+
View: MoreActionsRendererView
|
|
9
|
+
});
|
|
10
|
+
export default MoreActionsRenderer;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ActionEventMediator from "../../../../action-event-mediator/frameworks/ui/ActionEventMediator";
|
|
3
|
+
import CustomDropdown from '@zohodesk-private/desk-components/es/CustomDropdown/CustomDropdown';
|
|
4
|
+
import ListItemConstants from "../../../../../../../cc/list-item/Constants";
|
|
5
|
+
import IconButton from '@zohodesk/dot/es/IconButton/IconButton';
|
|
6
|
+
import { findMappedClientScripts } from "../../../../../../client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils";
|
|
7
|
+
export const ListItemConvertor = action => {
|
|
8
|
+
const {
|
|
9
|
+
id,
|
|
10
|
+
properties: {
|
|
11
|
+
icon
|
|
12
|
+
},
|
|
13
|
+
eventMappings,
|
|
14
|
+
instanceName
|
|
15
|
+
} = action;
|
|
16
|
+
const label = action.properties.label ? action.properties.label : action.properties.text;
|
|
17
|
+
const updatedEventMappings = eventMappings.map(eventMapping => {
|
|
18
|
+
return { ...eventMapping,
|
|
19
|
+
sourceEvent: ListItemConstants.LISTITEM_CLICKED
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
component: 'ListItem',
|
|
24
|
+
properties: {
|
|
25
|
+
text: label,
|
|
26
|
+
tooltip: label,
|
|
27
|
+
icon,
|
|
28
|
+
id
|
|
29
|
+
},
|
|
30
|
+
eventMappings: updatedEventMappings,
|
|
31
|
+
id,
|
|
32
|
+
instanceName
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function MoreActionsRendererView(_ref, ref) {
|
|
37
|
+
let {
|
|
38
|
+
state,
|
|
39
|
+
helpers
|
|
40
|
+
} = _ref;
|
|
41
|
+
const {
|
|
42
|
+
actions,
|
|
43
|
+
clientScripts
|
|
44
|
+
} = state.properties;
|
|
45
|
+
const listItemActions = actions.map(action => {
|
|
46
|
+
return ListItemConvertor(action);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const renderTargetElement = _ref2 => {
|
|
50
|
+
let {
|
|
51
|
+
handleTogglePopup,
|
|
52
|
+
isPopupOpen
|
|
53
|
+
} = _ref2;
|
|
54
|
+
return /*#__PURE__*/React.createElement(IconButton, {
|
|
55
|
+
iconName: "ZD-GN-more",
|
|
56
|
+
iconSize: "16",
|
|
57
|
+
isActive: isPopupOpen,
|
|
58
|
+
onClick: handleTogglePopup
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
return /*#__PURE__*/React.createElement(CustomDropdown, {
|
|
63
|
+
$ui_boxSize: "medium",
|
|
64
|
+
$flag_padding: true,
|
|
65
|
+
$render_targetElement: renderTargetElement,
|
|
66
|
+
$method_getRef: ref,
|
|
67
|
+
$customProps_dropbox: {
|
|
68
|
+
onClick: undefined
|
|
69
|
+
}
|
|
70
|
+
}, listItemActions.map(action => /*#__PURE__*/React.createElement(ActionEventMediator, {
|
|
71
|
+
key: action.id,
|
|
72
|
+
action: action,
|
|
73
|
+
clientScripts: findMappedClientScripts(action, clientScripts),
|
|
74
|
+
instanceName: action.instanceName // getRef={ref}
|
|
75
|
+
|
|
76
|
+
})));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export default MoreActionsRendererView;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createCustomComponent } from "
|
|
2
|
-
import RowActionsRendererProperties from "
|
|
1
|
+
import { createCustomComponent } from "../../../../../../../library/custom-component";
|
|
2
|
+
import RowActionsRendererProperties from "../../../../../cc/action-event-mediator/Properties";
|
|
3
3
|
import RowActionsRendererView from "./RowActionsRendererView";
|
|
4
|
-
import { ComponentRegistry } from "
|
|
4
|
+
import { ComponentRegistry } from "../../../../../../../library";
|
|
5
5
|
const RowActionsRendererComponent = createCustomComponent({
|
|
6
6
|
name: 'RowActionsRenderer',
|
|
7
7
|
properties: RowActionsRendererProperties,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Flex from '@zohodesk/layout/es/Flex/Flex';
|
|
3
|
+
import { ActionViewGap } from "../../../../interfaces/ActionViewModel";
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import style from "./RowActionsRenderer.module.css";
|
|
6
|
+
import ActionEventMediator from "../../../../action-event-mediator/frameworks/ui/ActionEventMediator";
|
|
7
|
+
import { findMappedClientScripts } from "../../../../../../client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsUtils";
|
|
8
|
+
|
|
9
|
+
function RowActionsRendererView(_ref, ref) {
|
|
10
|
+
let {
|
|
11
|
+
state
|
|
12
|
+
} = _ref;
|
|
13
|
+
const {
|
|
14
|
+
actions,
|
|
15
|
+
gap,
|
|
16
|
+
clientScripts,
|
|
17
|
+
testId
|
|
18
|
+
} = state.properties;
|
|
19
|
+
return /*#__PURE__*/React.createElement(Flex, {
|
|
20
|
+
ref: ref,
|
|
21
|
+
testId: testId ? testId : "",
|
|
22
|
+
$ui_displayMode: "inline",
|
|
23
|
+
$ui_alignItems: "center",
|
|
24
|
+
$ui_className: `${gap !== ActionViewGap.NONE ? style[`gap_${gap}`] : ''}`
|
|
25
|
+
}, actions.map((action, index) => {
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
return /*#__PURE__*/React.createElement(ActionEventMediator, {
|
|
28
|
+
action: action,
|
|
29
|
+
clientScripts: findMappedClientScripts(action, clientScripts),
|
|
30
|
+
key: index,
|
|
31
|
+
instanceName: action.instanceName
|
|
32
|
+
});
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
;
|
|
37
|
+
export default RowActionsRendererView;
|
|
@@ -8,6 +8,8 @@ export default class ClientActionsTranslator {
|
|
|
8
8
|
id: action.id,
|
|
9
9
|
component: action.uiComponentMapping.component,
|
|
10
10
|
properties: action.uiComponentMapping.propertiesValueMapping,
|
|
11
|
+
instanceName: action.instanceName,
|
|
12
|
+
moduleName: action.moduleName,
|
|
11
13
|
eventMappings: action.uiComponentMapping.eventMappings.map(eventMapping => {
|
|
12
14
|
return {
|
|
13
15
|
sourceEvent: eventMapping.sourceEvent,
|
|
@@ -19,11 +21,21 @@ export default class ClientActionsTranslator {
|
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
static
|
|
24
|
+
static appendComponentMetaToActions(actions, instanceName, moduleName) {
|
|
25
|
+
return actions.map(action => {
|
|
26
|
+
return { ...action,
|
|
27
|
+
instanceName,
|
|
28
|
+
moduleName
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static transform(actions, instanceName, moduleName, context) {
|
|
23
34
|
const replacementContext = {
|
|
24
35
|
"@context": context
|
|
25
36
|
};
|
|
26
|
-
const
|
|
37
|
+
const actionsWithInstanceName = ClientActionsTranslator.appendComponentMetaToActions(actions, instanceName, moduleName);
|
|
38
|
+
const resolvedActions = ActionContextResolver.resolveActions(actionsWithInstanceName, replacementContext);
|
|
27
39
|
const evaluatedActions = resolvedActions.filter(action => ConditionResolver.evaluateCondition(action.conditions, replacementContext, action.id));
|
|
28
40
|
const finalTransformedActions = evaluatedActions.map(action => this.transformToActionViewModel(action));
|
|
29
41
|
return finalTransformedActions;
|
|
@@ -3,6 +3,11 @@ import { evaluateConditionsFields } from "./field-evaluators";
|
|
|
3
3
|
import { evaluateExpression, parse } from "./pattern-evaluator";
|
|
4
4
|
export class ConditionResolver {
|
|
5
5
|
static evaluateCondition(condition, context, id) {
|
|
6
|
+
if (!condition) {
|
|
7
|
+
console.warn(`Client Action : Invalid value '${condition}' passed as condition in client action id : ${id}`);
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
const {
|
|
7
12
|
fields = [],
|
|
8
13
|
pattern = ''
|
|
@@ -16,7 +21,7 @@ export class ConditionResolver {
|
|
|
16
21
|
} = patternValidate(pattern, fields.length);
|
|
17
22
|
|
|
18
23
|
if (!isValid) {
|
|
19
|
-
console.error(`Error in client action id ${id} - condition pattern`, errorMessage);
|
|
24
|
+
console.error(`Client Action : Error in client action id : ${id} - condition pattern.\nError: `, errorMessage);
|
|
20
25
|
return false;
|
|
21
26
|
}
|
|
22
27
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const CLIENT_SCRIPT_TIMOUT_LIMIT = 10000;
|
|
2
|
+
export const EXECUTE_CLIENT_SCRIPTS = 'EXECUTE_CLIENT_SCRIPTS';
|
|
3
|
+
export const SET_CLIENT_SCRIPTS = 'SET_CLIENT_SCRIPTS';
|
|
4
|
+
export const CLIENT_SCRIPT_ARGUMENT = 'context';
|
|
5
|
+
export const CLIENT_SCRIPT_PREFIX = 'Client Script';
|
|
6
|
+
export const CLIENT_SCRIPT_ERROR = 'Error';
|
|
7
|
+
export const CLIENT_SCRIPT_RUNTIME_ERROR_MESSAGE = `${CLIENT_SCRIPT_PREFIX} : Script execution runtime error.\n${CLIENT_SCRIPT_ERROR}: `;
|
|
8
|
+
export const CLIENT_SCRIPT_ERROR_MESSAGE = `${CLIENT_SCRIPT_PREFIX} : Script execution failed due to error in script.\n${CLIENT_SCRIPT_ERROR}:`;
|
|
9
|
+
export const CLIENT_SCRIPT_EXECUTION_TIMED_OUT_ERROR_MESSAGE = `${CLIENT_SCRIPT_PREFIX} : Script execution exceeded ${CLIENT_SCRIPT_TIMOUT_LIMIT / 1000}s time limit.`;
|
|
10
|
+
export const CLIENT_SCRIPT_INVALID_SCRIPT_ERROR_MESSAGE = `${CLIENT_SCRIPT_PREFIX} : Error while constructing client script function.\n${CLIENT_SCRIPT_ERROR}:`;
|
|
11
|
+
export const CLIENT_SCRIPT_NO_MAPPING_FOUND_ERROR_MESSAGE = `${CLIENT_SCRIPT_PREFIX} : No client script mapping found for target event.Event handler support for defining client scripts will be removed in future versions.Please define client action event handlers as client script to avoid breakage.Warning shown for target event: `;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const SET_CLIENTSCRIPTS = 'CLIENTSCRIPT#SET_CLIENTSCRIPTS';
|
|
2
|
+
export const CLIENTSCRIPT_FETCH = 'CLIENTSCRIPT_BEHAVIOUR#EXECUTE';
|
|
3
|
+
export const CLIENTSCRIPT_FETCH_SUCCESS = 'CLIENTSCRIPT#EXECUTE_SUCCEEDED';
|
|
4
|
+
export const CLIENTSCRIPT_FETCH_FAILURE = 'CLIENTSCRIPT#EXECUTE_FAILED';
|
|
5
|
+
export const CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT = 'CLIENTSCRIPT#EXECUTE_SUCCEEDED_NO_CONTENT';
|
|
6
|
+
export const CLIENTSCRIPT_FETCH_SUCCESS_CALLBACK = 'CLIENTSCRIPT#EXECUTE_SUCCESS_CALLBACK';
|
|
7
|
+
export const CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT_CALLBACK = 'CLIENTSCRIPT#EXECUTE_SUCCESS_NO_CONTENT_CALLBACK';
|
|
8
|
+
export const CLIENTSCRIPT_FETCH_FAILURE_CALLBACK = 'CLIENTSCRIPT#EXECUTE_FAIL_CALLBACK';
|
|
9
|
+
export const ClientScriptAPIs = {
|
|
10
|
+
GET_CLIENTSCRIPTS: "getClientScripts"
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
export default class ClientScriptExecutionController extends AbstractController {
|
|
3
|
+
handle(input) {
|
|
4
|
+
const {
|
|
5
|
+
executeClientScriptsUseCase
|
|
6
|
+
} = this.service;
|
|
7
|
+
executeClientScriptsUseCase.execute(input);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
export default class SetClientScriptsMappingController extends AbstractController {
|
|
3
|
+
handle(input) {
|
|
4
|
+
const {
|
|
5
|
+
setClientScriptsMappingUseCase
|
|
6
|
+
} = this.service;
|
|
7
|
+
setClientScriptsMappingUseCase.execute(input);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ClientScriptExecutor from "../../domain/entities/ClientScriptExecutor";
|
|
2
|
+
export default class Repository {
|
|
3
|
+
init(state) {
|
|
4
|
+
this.state = state;
|
|
5
|
+
this.element = null;
|
|
6
|
+
|
|
7
|
+
this.dispatch = () => {};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
updateDependencies(element, state, dispatch) {
|
|
11
|
+
this.element = element;
|
|
12
|
+
this.dispatch = dispatch;
|
|
13
|
+
this.state = state;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
getClientScriptExecutor() {
|
|
17
|
+
const {
|
|
18
|
+
clientScriptsMapping,
|
|
19
|
+
context
|
|
20
|
+
} = this.state;
|
|
21
|
+
return new ClientScriptExecutor(clientScriptsMapping, context);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
package/es/platform/client-scripts/behaviour/zclient-scripts-execution/adapters/gateways/Service.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import ExecuteClientScriptsUseCase from "../../applications/usecases/ExecuteClientScriptsUseCase";
|
|
2
|
+
import SetClientScriptsMappingUseCase from "../../applications/usecases/SetClientScriptsMappingUseCase";
|
|
3
|
+
export default class Service {
|
|
4
|
+
constructor(dependencies) {
|
|
5
|
+
this.executeClientScriptsUseCase = new ExecuteClientScriptsUseCase(dependencies);
|
|
6
|
+
this.setClientScriptsMappingUseCase = new SetClientScriptsMappingUseCase(dependencies);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default class Presenter {
|
|
2
|
+
updateDependencies(state, updateState) {
|
|
3
|
+
this.updateState = updateState;
|
|
4
|
+
this.state = state;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
updateClientScriptsMapping(clientScriptsMapping) {
|
|
8
|
+
this.state = { ...this.state,
|
|
9
|
+
clientScriptsMapping
|
|
10
|
+
};
|
|
11
|
+
this.updateState(this.state);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
updateContext(context) {
|
|
15
|
+
this.state = { ...this.state,
|
|
16
|
+
context
|
|
17
|
+
};
|
|
18
|
+
this.updateState(this.state);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class AbstractUseCase {
|
|
2
|
+
constructor(dependencies) {
|
|
3
|
+
this.dependencies = dependencies;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
updateDependencies(element, state, dispatch, updateState) {
|
|
7
|
+
const {
|
|
8
|
+
repository,
|
|
9
|
+
presenter
|
|
10
|
+
} = this.dependencies;
|
|
11
|
+
repository.updateDependencies(element, state, dispatch);
|
|
12
|
+
presenter.updateDependencies(state, updateState);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AbstractUseCase } from "./AbstractUseCase";
|
|
2
|
+
export default class ExecuteClientScriptsUseCase extends AbstractUseCase {
|
|
3
|
+
execute(input) {
|
|
4
|
+
const {
|
|
5
|
+
repository
|
|
6
|
+
} = this.dependencies;
|
|
7
|
+
const {
|
|
8
|
+
host,
|
|
9
|
+
state,
|
|
10
|
+
dispatch
|
|
11
|
+
} = input;
|
|
12
|
+
const {
|
|
13
|
+
clientScripts
|
|
14
|
+
} = state.properties;
|
|
15
|
+
repository.updateDependencies(host, {
|
|
16
|
+
clientScriptsMapping: clientScripts,
|
|
17
|
+
context: input
|
|
18
|
+
}, dispatch);
|
|
19
|
+
const clientScriptExecutor = repository.getClientScriptExecutor();
|
|
20
|
+
clientScriptExecutor.executeTargetAction();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AbstractUseCase } from "./AbstractUseCase";
|
|
2
|
+
export default class SetClientScriptsMappingUseCase extends AbstractUseCase {
|
|
3
|
+
execute(input) {
|
|
4
|
+
const {
|
|
5
|
+
presenter
|
|
6
|
+
} = this.dependencies;
|
|
7
|
+
const {
|
|
8
|
+
clientScripts,
|
|
9
|
+
state,
|
|
10
|
+
updateState
|
|
11
|
+
} = input;
|
|
12
|
+
presenter.updateDependencies(state, updateState);
|
|
13
|
+
presenter.updateClientScriptsMapping(clientScripts);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|