@zohodesk/library-platform 1.1.10-exp.1 → 1.1.10-exp.3
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/.DS_Store +0 -0
- 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/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/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/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/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/label/frameworks/ui/LabelView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/MultiSelectView.js +2 -2
- 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/textbox/frameworks/ui/TextBoxView.js +2 -2
- package/es/platform/.DS_Store +0 -0
- 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/RowActions/RowActionsRenderer.js +12 -0
- 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/State.js +1 -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/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/components/form-connected/frameworks/FallbackView.js +0 -23
- package/es/platform/components/form-connected/frameworks/FormFallbackView.js +0 -23
- /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
|
@@ -1,9 +1,75 @@
|
|
|
1
1
|
import { ActionViewGap } from "../../components/interfaces/ActionViewModel";
|
|
2
|
-
import {
|
|
2
|
+
import { clientScriptsSchema } from "../../../client-scripts/cc/zclient-scripts-execution/clientScriptsSchema";
|
|
3
|
+
export const actionSchema = {
|
|
4
|
+
type: 'object',
|
|
5
|
+
properties: {
|
|
6
|
+
component: {
|
|
7
|
+
type: 'string'
|
|
8
|
+
},
|
|
9
|
+
id: {
|
|
10
|
+
type: 'string'
|
|
11
|
+
},
|
|
12
|
+
properties: {
|
|
13
|
+
type: 'object'
|
|
14
|
+
},
|
|
15
|
+
eventMappings: {
|
|
16
|
+
type: 'array',
|
|
17
|
+
minItems: 0,
|
|
18
|
+
items: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
action: {
|
|
22
|
+
type: 'object',
|
|
23
|
+
properties: {
|
|
24
|
+
event: {
|
|
25
|
+
type: 'string'
|
|
26
|
+
},
|
|
27
|
+
payload: {
|
|
28
|
+
type: 'object'
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
required: ['event', 'payload']
|
|
32
|
+
},
|
|
33
|
+
id: {
|
|
34
|
+
type: 'string'
|
|
35
|
+
},
|
|
36
|
+
sourceEvent: {
|
|
37
|
+
type: 'string'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
required: ['id']
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
required: ['component', 'properties']
|
|
45
|
+
};
|
|
3
46
|
export const actionsSchema = {
|
|
4
47
|
type: 'array',
|
|
5
|
-
minItems: 0
|
|
6
|
-
|
|
48
|
+
minItems: 0
|
|
49
|
+
};
|
|
50
|
+
export const ActionEventMediatorProperties = {
|
|
51
|
+
action: {
|
|
52
|
+
required: true,
|
|
53
|
+
typeMetadata: {
|
|
54
|
+
schema: actionSchema
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
clientScripts: {
|
|
58
|
+
required: false,
|
|
59
|
+
defaultValue: [],
|
|
60
|
+
typeMetadata: {
|
|
61
|
+
schema: clientScriptsSchema
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
instanceName: {
|
|
65
|
+
required: false,
|
|
66
|
+
defaultValue: 'non-module',
|
|
67
|
+
typeMetadata: {
|
|
68
|
+
schema: {
|
|
69
|
+
type: 'string'
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
7
73
|
};
|
|
8
74
|
export default {
|
|
9
75
|
testId: {
|
|
@@ -21,6 +87,12 @@ export default {
|
|
|
21
87
|
schema: actionsSchema
|
|
22
88
|
}
|
|
23
89
|
},
|
|
90
|
+
clientScripts: {
|
|
91
|
+
required: false,
|
|
92
|
+
typeMetadata: {
|
|
93
|
+
schema: clientScriptsSchema
|
|
94
|
+
}
|
|
95
|
+
},
|
|
24
96
|
renderComponentType: {
|
|
25
97
|
required: false,
|
|
26
98
|
typeMetadata: {
|
|
@@ -18,8 +18,8 @@ export default class PropertiesChangeController {
|
|
|
18
18
|
} = action.payload;
|
|
19
19
|
this.propertiesChangeUseCase.updateDependencies(host, state, dispatch, updateState);
|
|
20
20
|
this.propertiesChangeUseCase.execute({
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
currentAction: currentProperties.action,
|
|
22
|
+
previousAction: previousProperties.action
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
|
package/es/platform/client-actions/components/action-event-mediator/adapters/gateway/Repository.js
CHANGED
|
@@ -16,12 +16,12 @@ export default class Repository {
|
|
|
16
16
|
|
|
17
17
|
getActionEventMediator() {
|
|
18
18
|
const {
|
|
19
|
-
|
|
19
|
+
action
|
|
20
20
|
} = this.state.properties;
|
|
21
21
|
const {
|
|
22
22
|
handlers
|
|
23
23
|
} = this.state;
|
|
24
|
-
const actionEventMediator = new ActionEventMediatorEntity(handlers,
|
|
24
|
+
const actionEventMediator = new ActionEventMediatorEntity(handlers, action, this.element, this.dispatch);
|
|
25
25
|
return actionEventMediator;
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { AbstractUseCase } from "./AbstractUseCase";
|
|
2
|
+
import { SET_CLIENT_SCRIPTS } from "../../../../../client-scripts/bc/zclient-scripts-execution/Constants";
|
|
2
3
|
export default class InitializeUseCase extends AbstractUseCase {
|
|
3
|
-
execute() {
|
|
4
|
+
execute(input) {
|
|
4
5
|
const {
|
|
5
6
|
repository,
|
|
6
7
|
presenter
|
|
7
8
|
} = this.dependencies;
|
|
9
|
+
const {
|
|
10
|
+
dispatch,
|
|
11
|
+
state
|
|
12
|
+
} = input;
|
|
13
|
+
const {
|
|
14
|
+
clientScripts
|
|
15
|
+
} = state.properties;
|
|
8
16
|
const actionLocation = repository.getActionEventMediator();
|
|
9
17
|
actionLocation.initialize();
|
|
18
|
+
dispatch({
|
|
19
|
+
type: SET_CLIENT_SCRIPTS,
|
|
20
|
+
payload: {
|
|
21
|
+
clientScripts
|
|
22
|
+
}
|
|
23
|
+
});
|
|
10
24
|
presenter.updateActionEventMediator(actionLocation.toObject());
|
|
11
25
|
}
|
|
12
26
|
|
|
@@ -7,10 +7,10 @@ export default class PropertiesChangeUseCase extends AbstractUseCase {
|
|
|
7
7
|
} = this.dependencies;
|
|
8
8
|
const actionLocation = repository.getActionEventMediator();
|
|
9
9
|
const {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
currentAction,
|
|
11
|
+
previousAction
|
|
12
12
|
} = input;
|
|
13
|
-
actionLocation.processActionsChange(
|
|
13
|
+
actionLocation.processActionsChange(previousAction, currentAction);
|
|
14
14
|
presenter.updateActionEventMediator(actionLocation.toObject());
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import TemplateResolver from "../../../../template-resolver";
|
|
2
|
+
import { EXECUTE_CLIENT_SCRIPTS } from "../../../../../client-scripts/bc/zclient-scripts-execution/Constants";
|
|
2
3
|
export default class ActionEventMediatorEntity {
|
|
3
|
-
constructor(handlers,
|
|
4
|
+
constructor(handlers, action, element, dispatch) {
|
|
4
5
|
this.handlers = handlers;
|
|
5
|
-
this.
|
|
6
|
+
this.action = action;
|
|
6
7
|
this.element = element;
|
|
7
8
|
this.dispatch = dispatch;
|
|
8
9
|
}
|
|
@@ -15,21 +16,32 @@ export default class ActionEventMediatorEntity {
|
|
|
15
16
|
actionId,
|
|
16
17
|
...payloadItems
|
|
17
18
|
} = e.detail.payload;
|
|
18
|
-
const
|
|
19
|
+
const targetEventMappings = eventMappings.filter(eventMapping => eventMapping.sourceEvent === event);
|
|
19
20
|
|
|
20
|
-
if (!
|
|
21
|
+
if (!targetEventMappings || targetEventMappings.length === 0) {
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
const eventsContext = [];
|
|
26
|
+
targetEventMappings.forEach(eventMapping => {
|
|
27
|
+
const {
|
|
28
|
+
targetEvent,
|
|
29
|
+
payload
|
|
30
|
+
} = eventMapping;
|
|
31
|
+
const replacementContext = {
|
|
32
|
+
"@payload": payloadItems
|
|
33
|
+
};
|
|
34
|
+
const resolvedPayload = TemplateResolver.replaceContextVariablesInObject(payload, replacementContext);
|
|
35
|
+
eventsContext.push({
|
|
36
|
+
targetEvent,
|
|
37
|
+
resolvedPayload
|
|
38
|
+
});
|
|
39
|
+
});
|
|
30
40
|
this.dispatch({
|
|
31
|
-
type:
|
|
32
|
-
payload:
|
|
41
|
+
type: EXECUTE_CLIENT_SCRIPTS,
|
|
42
|
+
payload: {
|
|
43
|
+
clientScriptsEventContext: eventsContext
|
|
44
|
+
},
|
|
33
45
|
metaData: {
|
|
34
46
|
clientActionId: actionId
|
|
35
47
|
}
|
|
@@ -37,14 +49,19 @@ export default class ActionEventMediatorEntity {
|
|
|
37
49
|
};
|
|
38
50
|
}
|
|
39
51
|
|
|
40
|
-
getEventNames(
|
|
52
|
+
getEventNames(action) {
|
|
41
53
|
const eventNames = [];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
const {
|
|
55
|
+
eventMappings
|
|
56
|
+
} = action;
|
|
57
|
+
eventMappings.forEach(eventMapping => {
|
|
58
|
+
const {
|
|
59
|
+
sourceEvent
|
|
60
|
+
} = eventMapping;
|
|
61
|
+
|
|
62
|
+
if (!eventNames.includes(sourceEvent)) {
|
|
63
|
+
eventNames.push(sourceEvent);
|
|
64
|
+
}
|
|
48
65
|
});
|
|
49
66
|
return eventNames;
|
|
50
67
|
}
|
|
@@ -66,15 +83,15 @@ export default class ActionEventMediatorEntity {
|
|
|
66
83
|
}
|
|
67
84
|
|
|
68
85
|
initialize() {
|
|
69
|
-
const eventNames = this.getEventNames(this.
|
|
86
|
+
const eventNames = this.getEventNames(this.action);
|
|
70
87
|
eventNames.forEach(eventName => {
|
|
71
88
|
this.listen(eventName);
|
|
72
89
|
});
|
|
73
90
|
}
|
|
74
91
|
|
|
75
|
-
processActionsChange(
|
|
76
|
-
const previousEventNames = this.getEventNames(
|
|
77
|
-
const currentEventNames = this.getEventNames(
|
|
92
|
+
processActionsChange(previousAction, currentAction) {
|
|
93
|
+
const previousEventNames = this.getEventNames(previousAction).sort();
|
|
94
|
+
const currentEventNames = this.getEventNames(currentAction).sort();
|
|
78
95
|
|
|
79
96
|
if (this.compareEventNames(previousEventNames, currentEventNames)) {
|
|
80
97
|
return;
|
|
@@ -89,7 +106,7 @@ export default class ActionEventMediatorEntity {
|
|
|
89
106
|
}
|
|
90
107
|
|
|
91
108
|
destroy() {
|
|
92
|
-
const eventNames = this.getEventNames(this.
|
|
109
|
+
const eventNames = this.getEventNames(this.action);
|
|
93
110
|
eventNames.forEach(eventName => {
|
|
94
111
|
this.unListen(eventName);
|
|
95
112
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createCustomComponent } from "../../../../../../library/custom-component";
|
|
2
|
-
import ActionEventMediatorProperties from "../../../../cc/action-event-mediator/Properties";
|
|
2
|
+
import { ActionEventMediatorProperties } from "../../../../cc/action-event-mediator/Properties";
|
|
3
3
|
import EventHandlersFactory from "./EventHandlersFactory";
|
|
4
4
|
import ActionEventMediatorView from "./ActionEventMediatorView";
|
|
5
|
+
import ClientScriptsExecutionBehaviourFactory from "../../../../../client-scripts/behaviour/zclient-scripts-execution/frameworks/ClientScriptsExecutionBehaviourFactory";
|
|
5
6
|
export default createCustomComponent({
|
|
6
7
|
name: 'ActionEventMediator',
|
|
7
8
|
properties: ActionEventMediatorProperties,
|
|
@@ -9,5 +10,6 @@ export default createCustomComponent({
|
|
|
9
10
|
handlers: {}
|
|
10
11
|
}),
|
|
11
12
|
eventHandlers: EventHandlersFactory.create(),
|
|
13
|
+
behaviours: [ClientScriptsExecutionBehaviourFactory.create()],
|
|
12
14
|
View: ActionEventMediatorView
|
|
13
15
|
});
|
|
@@ -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;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../../../library/custom-component";
|
|
2
|
+
import RowActionsRendererProperties from "../../../../../cc/action-event-mediator/Properties";
|
|
3
|
+
import RowActionsRendererView from "./RowActionsRendererView";
|
|
4
|
+
import { ComponentRegistry } from "../../../../../../../library";
|
|
5
|
+
const RowActionsRendererComponent = createCustomComponent({
|
|
6
|
+
name: 'RowActionsRenderer',
|
|
7
|
+
properties: RowActionsRendererProperties,
|
|
8
|
+
eventHandlers: {},
|
|
9
|
+
View: RowActionsRendererView
|
|
10
|
+
});
|
|
11
|
+
ComponentRegistry.register("RowActionsRenderer", RowActionsRendererComponent);
|
|
12
|
+
export default RowActionsRendererComponent;
|