@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
import ClientActionFactory from "../entities-factory/ClientScriptsFactory";
|
|
3
|
+
|
|
4
|
+
class SetClientScriptsUseCase extends AbstractUseCase {
|
|
5
|
+
execute(input) {
|
|
6
|
+
const {
|
|
7
|
+
presenter,
|
|
8
|
+
repository
|
|
9
|
+
} = this.dependencies;
|
|
10
|
+
const {
|
|
11
|
+
clientScripts
|
|
12
|
+
} = input;
|
|
13
|
+
const recordManager = repository.getClientScriptsManagerEntity();
|
|
14
|
+
const scriptsEntity = ClientActionFactory.deSerializeClientScripts(clientScripts);
|
|
15
|
+
recordManager.setData(scriptsEntity);
|
|
16
|
+
presenter.updateClientScript(recordManager.toObject());
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default SetClientScriptsUseCase;
|
package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScript.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default class ClientScript {
|
|
2
|
+
constructor(clientScriptModel) {
|
|
3
|
+
this.targetEventName = clientScriptModel.targetEvent;
|
|
4
|
+
this.eventHandler = clientScriptModel.clientScript;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
getEventName() {
|
|
8
|
+
return this.targetEventName;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getEventHandler() {
|
|
12
|
+
return this.eventHandler;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
toObject() {
|
|
16
|
+
const targetEventName = this.getEventName();
|
|
17
|
+
const eventHandler = this.getEventHandler();
|
|
18
|
+
return {
|
|
19
|
+
targetEvent: targetEventName,
|
|
20
|
+
clientScript: eventHandler
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
package/es/platform/client-scripts/behaviour/zclient-scripts-fetch/domain/entities/ClientScripts.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import ClientScript from "./ClientScript";
|
|
2
|
+
export default class ClientScripts {
|
|
3
|
+
constructor(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
data,
|
|
6
|
+
isFetching
|
|
7
|
+
} = _ref;
|
|
8
|
+
let fetchLimit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
|
|
9
|
+
this.clientScripts = data.map(obj => new ClientScript(obj));
|
|
10
|
+
this.fetchLimit = fetchLimit;
|
|
11
|
+
this.isDataBeingFetched = isFetching;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
setIsFetching(isFetching) {
|
|
15
|
+
this.isDataBeingFetched = isFetching;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
setData(clientScripts) {
|
|
19
|
+
this.clientScripts = clientScripts;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
isFetching() {
|
|
23
|
+
return this.isDataBeingFetched;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getLength() {
|
|
27
|
+
return this.clientScripts.length;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getClientScript(eventName) {
|
|
31
|
+
return this.clientScripts.find(clientScript => clientScript.getEventName() === eventName) || null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
toObject() {
|
|
35
|
+
return {
|
|
36
|
+
clientScripts: this.clientScripts.map(clientScript => clientScript.toObject()),
|
|
37
|
+
isFetching: this.isFetching()
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SET_CLIENTSCRIPTS, CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT, CLIENTSCRIPT_FETCH_FAILURE, CLIENTSCRIPT_FETCH_SUCCESS } from "../../../../bc/zclient-scripts-fetch/Constants";
|
|
2
|
+
export default class GetClientScriptsStrategy {
|
|
3
|
+
createSuccessEvents(response, metaData) {
|
|
4
|
+
const events = [];
|
|
5
|
+
const clientScripts = response;
|
|
6
|
+
events.push({
|
|
7
|
+
type: SET_CLIENTSCRIPTS,
|
|
8
|
+
payload: {
|
|
9
|
+
clientScripts
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
events.push({
|
|
13
|
+
type: CLIENTSCRIPT_FETCH_SUCCESS,
|
|
14
|
+
payload: {
|
|
15
|
+
clientScripts
|
|
16
|
+
},
|
|
17
|
+
metaData
|
|
18
|
+
});
|
|
19
|
+
return events;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
createNoContentEvents(metaData) {
|
|
23
|
+
const events = [];
|
|
24
|
+
events.push({
|
|
25
|
+
type: CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT,
|
|
26
|
+
payload: {},
|
|
27
|
+
metaData
|
|
28
|
+
});
|
|
29
|
+
return events;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
createFailureEvents(error, metaData) {
|
|
33
|
+
const events = [];
|
|
34
|
+
events.push({
|
|
35
|
+
type: CLIENTSCRIPT_FETCH_FAILURE,
|
|
36
|
+
payload: {
|
|
37
|
+
error
|
|
38
|
+
},
|
|
39
|
+
metaData
|
|
40
|
+
});
|
|
41
|
+
return events;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import ClientScriptsHandlersFactory from "./ClientScriptsHandlersFactory";
|
|
2
|
+
export default class ClientScriptsBehaviourFactory {
|
|
3
|
+
static create(apiDetails) {
|
|
4
|
+
return {
|
|
5
|
+
name: 'zclientScriptsEventMapping',
|
|
6
|
+
eventHandlers: ClientScriptsHandlersFactory.create(apiDetails),
|
|
7
|
+
properties: {},
|
|
8
|
+
setInitialState: () => ({})
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import MountController from "../adapters/controllers/MountController";
|
|
2
|
+
import Presenter from "../adapters/presenters/Presenter";
|
|
3
|
+
import Repository from "../adapters/gateways/Repository";
|
|
4
|
+
import Service from "../adapters/gateways/Service";
|
|
5
|
+
import { CLIENTSCRIPT_FETCH, CLIENTSCRIPT_FETCH_FAILURE_CALLBACK, CLIENTSCRIPT_FETCH_SUCCESS_CALLBACK, CLIENTSCRIPT_FETCH_SUCCESS, CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT, CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT_CALLBACK, SET_CLIENTSCRIPTS, CLIENTSCRIPT_FETCH_FAILURE } from "../../../bc/zclient-scripts-fetch/Constants";
|
|
6
|
+
import FetchClientScriptsController from "../adapters/controllers/FetchClientScriptsController";
|
|
7
|
+
import FetchClientScriptsStopController from "../adapters/controllers/FetchClientScriptsStopController";
|
|
8
|
+
import FetchClientScriptsSuccessController from "../adapters/controllers/FetchClientScriptsSuccessController";
|
|
9
|
+
import FetchClientScriptsFailureController from "../adapters/controllers/FetchClientScriptsFailureController";
|
|
10
|
+
import FetchClientScriptsNoContentController from "../adapters/controllers/FetchClientScriptsNoContentController";
|
|
11
|
+
import SetClientScriptsController from "../adapters/controllers/SetClientScriptsController";
|
|
12
|
+
export default class ClientScriptsHandlersFactory {
|
|
13
|
+
static getClientScriptsControllerHandles(service) {
|
|
14
|
+
return {
|
|
15
|
+
fetchClientScripts: new FetchClientScriptsController(service).handle,
|
|
16
|
+
fetchClientScriptsSuccess: new FetchClientScriptsSuccessController(service).handle,
|
|
17
|
+
fetchClientScriptsStop: new FetchClientScriptsStopController(service).handle,
|
|
18
|
+
fetchClientScriptsFailure: new FetchClientScriptsFailureController(service).handle,
|
|
19
|
+
fetchClientScriptsNoContent: new FetchClientScriptsNoContentController(service).handle,
|
|
20
|
+
setClientScripts: new SetClientScriptsController(service).handle
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static create(apiDetails) {
|
|
25
|
+
const presenter = new Presenter();
|
|
26
|
+
const repository = new Repository();
|
|
27
|
+
const dependencies = {
|
|
28
|
+
presenter,
|
|
29
|
+
repository
|
|
30
|
+
};
|
|
31
|
+
const service = new Service(dependencies);
|
|
32
|
+
const mountController = new MountController(apiDetails, service);
|
|
33
|
+
const clientScriptControllerHandle = ClientScriptsHandlersFactory.getClientScriptsControllerHandles(service);
|
|
34
|
+
return {
|
|
35
|
+
MOUNT: mountController.handle,
|
|
36
|
+
[CLIENTSCRIPT_FETCH]: clientScriptControllerHandle.fetchClientScripts,
|
|
37
|
+
[CLIENTSCRIPT_FETCH_FAILURE_CALLBACK]: clientScriptControllerHandle.fetchClientScriptsFailure,
|
|
38
|
+
[CLIENTSCRIPT_FETCH_SUCCESS_CALLBACK]: clientScriptControllerHandle.fetchClientScriptsSuccess,
|
|
39
|
+
[CLIENTSCRIPT_FETCH_SUCCESS]: clientScriptControllerHandle.fetchClientScriptsStop,
|
|
40
|
+
[CLIENTSCRIPT_FETCH_FAILURE]: clientScriptControllerHandle.fetchClientScriptsStop,
|
|
41
|
+
[CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT]: clientScriptControllerHandle.fetchClientScriptsStop,
|
|
42
|
+
[SET_CLIENTSCRIPTS]: clientScriptControllerHandle.setClientScripts,
|
|
43
|
+
[CLIENTSCRIPT_FETCH_SUCCESS_NO_CONTENT_CALLBACK]: clientScriptControllerHandle.fetchClientScriptsNoContent
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
@@ -6,10 +6,20 @@ export class AppResource extends AbstractResource {
|
|
|
6
6
|
|
|
7
7
|
destroy() {}
|
|
8
8
|
|
|
9
|
+
initializeContext(context) {
|
|
10
|
+
this.context = context;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
initializeApiHeader(headers) {
|
|
14
|
+
this.headers = headers;
|
|
15
|
+
}
|
|
16
|
+
|
|
9
17
|
getContext() {
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
return this.context;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getApiHeader() {
|
|
22
|
+
return this.headers;
|
|
13
23
|
}
|
|
14
24
|
|
|
15
25
|
}
|
|
@@ -13,6 +13,9 @@ import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
|
|
|
13
13
|
import { sdkRegistry } from "../../../sdk/frameworks/SdkRegistry";
|
|
14
14
|
import { SmartFormResources } from "../adapters/resources/SmartFormResources";
|
|
15
15
|
import ClientActionsBehaviourFactory from "../../../client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
|
|
16
|
+
import ClientScriptsBehaviourFactory from "../../../client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsBehaviourFactory";
|
|
17
|
+
import FormFallbackView from "../../../../library/dot/components/form/frameworks/ui/FormFallbackView";
|
|
18
|
+
import AppContextBehaviourFactory from "../../../app-context-behaviour/frameworks/AppContextBehaviourFactory";
|
|
16
19
|
sdkRegistry.registerResource({
|
|
17
20
|
resourceName: ResourceNamesEnum.SMART_FORM,
|
|
18
21
|
resource: SmartFormResources
|
|
@@ -41,11 +44,14 @@ export default class FormConnectedFactory {
|
|
|
41
44
|
return createCustomComponent({
|
|
42
45
|
name: name,
|
|
43
46
|
View: View,
|
|
47
|
+
FallbackView: FormFallbackView,
|
|
44
48
|
properties: Properties,
|
|
45
49
|
eventHandlers: EventHandlersfactory.create(eventHandlers),
|
|
46
50
|
transformState: FormTranslator.transformState,
|
|
47
|
-
behaviours: [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_FORM]), ClientActionsBehaviourFactory.create({
|
|
51
|
+
behaviours: [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_FORM]), AppContextBehaviourFactory.create(), ClientActionsBehaviourFactory.create({
|
|
48
52
|
getClientActions: _dataSource.httpTemplates.getClientActions
|
|
53
|
+
}), ClientScriptsBehaviourFactory.create({
|
|
54
|
+
getClientScripts: _dataSource.httpTemplates.getClientScripts
|
|
49
55
|
}), ZHttpBehaviourFactory.create(), DataBrokerBehaviourFactory.create(), RecordBehaviourFactory.create(_dataSource.httpTemplates), ZFormBehaviourFactory.create()]
|
|
50
56
|
});
|
|
51
57
|
}
|
|
@@ -15,7 +15,8 @@ function View(_ref, ref) {
|
|
|
15
15
|
headerLeftActions,
|
|
16
16
|
headerRightActions,
|
|
17
17
|
footerLeftActions,
|
|
18
|
-
footerRightActions
|
|
18
|
+
footerRightActions,
|
|
19
|
+
clientScripts
|
|
19
20
|
} = state.viewModel;
|
|
20
21
|
return /*#__PURE__*/React.createElement(Form, {
|
|
21
22
|
getRef: ref,
|
|
@@ -27,7 +28,8 @@ function View(_ref, ref) {
|
|
|
27
28
|
headerRightActions: headerRightActions,
|
|
28
29
|
footerLeftActions: footerLeftActions,
|
|
29
30
|
footerRightActions: footerRightActions,
|
|
30
|
-
rightPanel: rightPanel
|
|
31
|
+
rightPanel: rightPanel,
|
|
32
|
+
clientScripts: clientScripts
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
35
|
|
package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js
CHANGED
|
@@ -8,6 +8,10 @@ export default class ColumnChooserUpdateController extends AbstractController {
|
|
|
8
8
|
} = event;
|
|
9
9
|
const {
|
|
10
10
|
context
|
|
11
|
+
} = state.behaviours.appContext;
|
|
12
|
+
const {
|
|
13
|
+
viewId,
|
|
14
|
+
departmentId
|
|
11
15
|
} = state.properties;
|
|
12
16
|
const fields = event.action.payload.selectedArray;
|
|
13
17
|
dispatch({
|
|
@@ -15,7 +19,9 @@ export default class ColumnChooserUpdateController extends AbstractController {
|
|
|
15
19
|
payload: {
|
|
16
20
|
actionName: 'updateSelectedFields',
|
|
17
21
|
props: { ...context,
|
|
18
|
-
fields
|
|
22
|
+
fields,
|
|
23
|
+
viewId,
|
|
24
|
+
departmentId
|
|
19
25
|
},
|
|
20
26
|
apiName: 'updateSelectedFields'
|
|
21
27
|
}
|
|
@@ -17,6 +17,8 @@ import UpdateMultipleRecordUseCase from "../../../../zlist/applications/usecases
|
|
|
17
17
|
import GetContextUseCase from "../../../../zlist/applications/usecases/GetContextUseCase";
|
|
18
18
|
import ReOrderUseCase from "../../../../zlist/applications/usecases/ReOrderUseCase";
|
|
19
19
|
import { SdkContracts } from "../../../../../cc/table-connected/SdkContract";
|
|
20
|
+
import SortUseCase from "../../../../zlist/applications/usecases/SortUseCase";
|
|
21
|
+
import { Analytics } from "../../../../../library/analytics";
|
|
20
22
|
export class SmartTableResource extends AbstractResource {
|
|
21
23
|
initialize() {}
|
|
22
24
|
|
|
@@ -58,6 +60,23 @@ export class SmartTableResource extends AbstractResource {
|
|
|
58
60
|
return usecase;
|
|
59
61
|
}
|
|
60
62
|
|
|
63
|
+
getMetrics(sdkName) {
|
|
64
|
+
const {
|
|
65
|
+
state
|
|
66
|
+
} = this.dependencies;
|
|
67
|
+
const now = new Date().toISOString();
|
|
68
|
+
const smartTableSdkMethodUsed = {
|
|
69
|
+
event: "smart_table_sdk_method_used",
|
|
70
|
+
timestamp: now,
|
|
71
|
+
contextDetails: {
|
|
72
|
+
moduleName: state.moduleName,
|
|
73
|
+
instanceName: state.instanceName,
|
|
74
|
+
method: sdkName
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
return smartTableSdkMethodUsed;
|
|
78
|
+
}
|
|
79
|
+
|
|
61
80
|
getRecords() {
|
|
62
81
|
const {
|
|
63
82
|
getData,
|
|
@@ -68,6 +87,8 @@ export class SmartTableResource extends AbstractResource {
|
|
|
68
87
|
usecase.execute({
|
|
69
88
|
callback: setData
|
|
70
89
|
});
|
|
90
|
+
let metric = this.getMetrics('getRecords()');
|
|
91
|
+
Analytics.push(metric);
|
|
71
92
|
return getData();
|
|
72
93
|
}
|
|
73
94
|
|
|
@@ -85,6 +106,8 @@ export class SmartTableResource extends AbstractResource {
|
|
|
85
106
|
recordId,
|
|
86
107
|
callback: setData
|
|
87
108
|
});
|
|
109
|
+
let metric = this.getMetrics(`getRecord(recordId)`);
|
|
110
|
+
Analytics.push(metric);
|
|
88
111
|
return getData();
|
|
89
112
|
}
|
|
90
113
|
|
|
@@ -147,6 +170,12 @@ export class SmartTableResource extends AbstractResource {
|
|
|
147
170
|
callback: setData,
|
|
148
171
|
shouldFetch
|
|
149
172
|
});
|
|
173
|
+
|
|
174
|
+
if (shouldFetch) {
|
|
175
|
+
let metric = this.getMetrics(`deleteRecords(recordIds)`);
|
|
176
|
+
Analytics.push(metric);
|
|
177
|
+
}
|
|
178
|
+
|
|
150
179
|
return getData();
|
|
151
180
|
}
|
|
152
181
|
|
|
@@ -197,6 +226,12 @@ export class SmartTableResource extends AbstractResource {
|
|
|
197
226
|
callback: setData,
|
|
198
227
|
shouldFetch
|
|
199
228
|
});
|
|
229
|
+
|
|
230
|
+
if (shouldFetch) {
|
|
231
|
+
let metric = this.getMetrics(`updateRecords(recordsMap)`);
|
|
232
|
+
Analytics.push(metric);
|
|
233
|
+
}
|
|
234
|
+
|
|
200
235
|
return getData();
|
|
201
236
|
}
|
|
202
237
|
|
|
@@ -269,4 +304,19 @@ export class SmartTableResource extends AbstractResource {
|
|
|
269
304
|
});
|
|
270
305
|
}
|
|
271
306
|
|
|
307
|
+
sortRecords(sortBy) {
|
|
308
|
+
this.validateInput('sortRecords', {
|
|
309
|
+
sortBy
|
|
310
|
+
}, SdkContracts.sortByInputMeta);
|
|
311
|
+
const {
|
|
312
|
+
dispatch
|
|
313
|
+
} = this.dependencies;
|
|
314
|
+
const dependencies = this.getListDependencies();
|
|
315
|
+
const usecase = this.createUseCase(dependencies, SortUseCase);
|
|
316
|
+
usecase.execute({
|
|
317
|
+
sortBy,
|
|
318
|
+
dispatch
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
272
322
|
}
|
|
@@ -17,6 +17,8 @@ import ColumnChooserOpenedController from "../adapters/controllers/ColumnChooser
|
|
|
17
17
|
import { platformSDK_old } from "../../../sdk/frameworks/Sdk";
|
|
18
18
|
import { SET_RECORDS_SUCCESS } from "../../../../bc/zrecord/Constants";
|
|
19
19
|
import ErrorEventHandlersFactory from "./ErrorEventHandlersFactory";
|
|
20
|
+
import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
|
|
21
|
+
import { Analytics } from "../../../../library/analytics";
|
|
20
22
|
const {
|
|
21
23
|
TABLE_LIST_RESIZE_START_REQUESTED,
|
|
22
24
|
TABLE_LIST_RESIZE_MOVE_REQUESTED,
|
|
@@ -47,10 +49,222 @@ export default class EventHandlersFactory {
|
|
|
47
49
|
}));
|
|
48
50
|
}
|
|
49
51
|
|
|
50
|
-
static create(eventHandlers) {
|
|
51
|
-
const wrapped = EventHandlersFactory.getSdkWrappedEventHandler(eventHandlers);
|
|
52
|
+
static create(eventHandlers, name) {
|
|
53
|
+
const wrapped = EventHandlersFactory.getSdkWrappedEventHandler(eventHandlers); // Generic addMetrics handler
|
|
54
|
+
|
|
55
|
+
const addMetrics = args => {
|
|
56
|
+
// console.log({ ...args }, "Arguments update Here");
|
|
57
|
+
const {
|
|
58
|
+
action
|
|
59
|
+
} = args;
|
|
60
|
+
const {
|
|
61
|
+
state,
|
|
62
|
+
preState
|
|
63
|
+
} = action.payload;
|
|
64
|
+
const {
|
|
65
|
+
properties,
|
|
66
|
+
behaviours
|
|
67
|
+
} = state;
|
|
68
|
+
const {
|
|
69
|
+
zrecord,
|
|
70
|
+
zfield
|
|
71
|
+
} = behaviours;
|
|
72
|
+
const {
|
|
73
|
+
moduleName,
|
|
74
|
+
instanceName,
|
|
75
|
+
sortBy,
|
|
76
|
+
reOrderConfig,
|
|
77
|
+
resizeConfig,
|
|
78
|
+
selectionConfig,
|
|
79
|
+
columnChooserConfig
|
|
80
|
+
} = properties;
|
|
81
|
+
const now = new Date().toISOString(); // -------------------------
|
|
82
|
+
// 1. Smart Table Rendered
|
|
83
|
+
|
|
84
|
+
const smartTableRendered = {
|
|
85
|
+
event: "smart_table_rendered",
|
|
86
|
+
timestamp: new Date().toISOString(),
|
|
87
|
+
contextDetails: {
|
|
88
|
+
moduleName,
|
|
89
|
+
instanceName,
|
|
90
|
+
columns: [],
|
|
91
|
+
sortBy: sortBy,
|
|
92
|
+
pageSize: Array.isArray(zrecord.records) ? zrecord.records.length : 0
|
|
93
|
+
}
|
|
94
|
+
}; // -------------------------
|
|
95
|
+
// 2. Features Checked
|
|
96
|
+
|
|
97
|
+
const smartTableFeatures = {
|
|
98
|
+
event: "smart_table_features_checked",
|
|
99
|
+
timestamp: now,
|
|
100
|
+
contextDetails: {
|
|
101
|
+
moduleName,
|
|
102
|
+
instanceName,
|
|
103
|
+
features: {
|
|
104
|
+
columnResizer: resizeConfig.isEnabled,
|
|
105
|
+
columnChooser: columnChooserConfig.isEnabled,
|
|
106
|
+
selection: selectionConfig.isEnabled,
|
|
107
|
+
reOrder: reOrderConfig.isEnabled
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}; // -------------------------
|
|
111
|
+
// 3. Custom Components Used
|
|
112
|
+
|
|
113
|
+
let customComponents = [];
|
|
114
|
+
const fields = zfield.fields || [];
|
|
115
|
+
const componentMapping = properties.componentMapping?.fields || {}; // Loop through fields to match against componentMapping
|
|
116
|
+
|
|
117
|
+
for (const field of fields) {
|
|
118
|
+
const fieldKey = field.i18NLabel; // or field.apiName / field.name depending on your schema
|
|
119
|
+
|
|
120
|
+
const mapping = componentMapping[fieldKey];
|
|
121
|
+
|
|
122
|
+
if (mapping?.UIComponentName) {
|
|
123
|
+
customComponents.push({
|
|
124
|
+
componentType: field.type || "unknown",
|
|
125
|
+
// use your field schema here
|
|
126
|
+
componentName: mapping.UIComponentName,
|
|
127
|
+
props: field.props || {} // if props exist in your field definition
|
|
128
|
+
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const smartTableCustomComponents = {
|
|
134
|
+
event: "smart_table_custom_components",
|
|
135
|
+
timestamp: now,
|
|
136
|
+
contextDetails: {
|
|
137
|
+
moduleName,
|
|
138
|
+
instanceName,
|
|
139
|
+
customComponents
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const {
|
|
143
|
+
zlist
|
|
144
|
+
} = behaviours; // -------------------------
|
|
145
|
+
// 4. Sort Applied
|
|
146
|
+
|
|
147
|
+
const smartTableSortApplied = {
|
|
148
|
+
event: "smart_table_sort_applied",
|
|
149
|
+
timestamp: now,
|
|
150
|
+
contextDetails: {
|
|
151
|
+
moduleName,
|
|
152
|
+
instanceName,
|
|
153
|
+
sortBy: zlist.sortBy.name,
|
|
154
|
+
direction: zlist.sortBy.order
|
|
155
|
+
}
|
|
156
|
+
}; // -------------------------
|
|
157
|
+
// 5. Column Resized
|
|
158
|
+
|
|
159
|
+
let smartTableColumnResized = [];
|
|
160
|
+
const modifiedWidths = localStorage[name]?.['All views']?.modifiedWidths || {};
|
|
161
|
+
|
|
162
|
+
for (const [fieldName, newWidth] of Object.entries(modifiedWidths)) {
|
|
163
|
+
smartTableColumnResized.push({
|
|
164
|
+
event: "smart_table_column_resized",
|
|
165
|
+
timestamp: now,
|
|
166
|
+
contextDetails: {
|
|
167
|
+
moduleName,
|
|
168
|
+
instanceName,
|
|
169
|
+
fieldName: fieldName,
|
|
170
|
+
previousWidth: null,
|
|
171
|
+
// you can fetch from old state if available
|
|
172
|
+
newWidth: newWidth
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
} // -------------------------
|
|
176
|
+
// 6. Column Visibility Toggled
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
let smartTableColumnVisibilityToggled = [];
|
|
180
|
+
const currentSelected = new Set(state.behaviours.zfield.selectedFields || []);
|
|
181
|
+
const previousSelected = new Set(preState.behaviours.zfield.selectedFields || []); // Added fields → visible = true
|
|
182
|
+
|
|
183
|
+
for (const field of currentSelected) {
|
|
184
|
+
if (!previousSelected.has(field)) {
|
|
185
|
+
smartTableColumnVisibilityToggled.push({
|
|
186
|
+
event: "smart_table_column_visibility_toggled",
|
|
187
|
+
timestamp: now,
|
|
188
|
+
contextDetails: {
|
|
189
|
+
moduleName,
|
|
190
|
+
instanceName,
|
|
191
|
+
fieldName: field,
|
|
192
|
+
visible: true
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
} // Removed fields → visible = false
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
for (const field of previousSelected) {
|
|
200
|
+
if (!currentSelected.has(field)) {
|
|
201
|
+
smartTableColumnVisibilityToggled.push({
|
|
202
|
+
event: "smart_table_column_visibility_toggled",
|
|
203
|
+
timestamp: now,
|
|
204
|
+
contextDetails: {
|
|
205
|
+
moduleName,
|
|
206
|
+
instanceName,
|
|
207
|
+
fieldName: field,
|
|
208
|
+
visible: false
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
} // -------------------------
|
|
213
|
+
// 7. Column Reordered
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
let smartTableColumnReordered = [];
|
|
217
|
+
const currentFields = state.behaviours.zfield.selectedFields || [];
|
|
218
|
+
const previousFields = preState.behaviours.zfield.selectedFields || [];
|
|
219
|
+
const fieldSet = new Set([...currentFields, ...previousFields]);
|
|
220
|
+
|
|
221
|
+
for (const field of fieldSet) {
|
|
222
|
+
const prevIndex = previousFields.indexOf(field);
|
|
223
|
+
const currIndex = currentFields.indexOf(field); // Only if field exists in both arrays and position changed
|
|
224
|
+
|
|
225
|
+
if (prevIndex !== -1 && currIndex !== -1 && prevIndex !== currIndex) {
|
|
226
|
+
smartTableColumnReordered.push({
|
|
227
|
+
event: "smart_table_column_reordered",
|
|
228
|
+
timestamp: now,
|
|
229
|
+
contextDetails: {
|
|
230
|
+
moduleName,
|
|
231
|
+
instanceName,
|
|
232
|
+
fieldName: field,
|
|
233
|
+
previousIndex: prevIndex,
|
|
234
|
+
newIndex: currIndex
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
} // -------------------------
|
|
239
|
+
// 8. Rows Selected
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
const {
|
|
243
|
+
selection
|
|
244
|
+
} = behaviours;
|
|
245
|
+
const smartTableRowsSelected = {
|
|
246
|
+
event: "smart_table_rows_selected",
|
|
247
|
+
timestamp: now,
|
|
248
|
+
contextDetails: {
|
|
249
|
+
moduleName,
|
|
250
|
+
instanceName,
|
|
251
|
+
selectedRowIds: selection.selected,
|
|
252
|
+
selectionMethod: "mouse"
|
|
253
|
+
}
|
|
254
|
+
}; // -------------------------
|
|
255
|
+
// Push all to Analytics
|
|
256
|
+
|
|
257
|
+
const metrics = [smartTableRendered, smartTableFeatures, smartTableCustomComponents, smartTableSortApplied, ...smartTableColumnResized, smartTableRowsSelected, ...smartTableColumnVisibilityToggled, ...smartTableColumnReordered];
|
|
258
|
+
metrics.forEach(metric => {
|
|
259
|
+
// console.log("Pushing metric:", metric);
|
|
260
|
+
Analytics.push(metric);
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
|
|
52
264
|
const defaultEventHandlers = {
|
|
53
265
|
NAVIGATION: NavigationHandler,
|
|
266
|
+
// [`${name}#${LifeCycleEvents.MOUNT}`]: smartTableRenderedMetrics,
|
|
267
|
+
[`${name}#${LifeCycleEvents.STATE_UPDATED}`]: addMetrics,
|
|
54
268
|
[RESIZE_FINISHED]: new ResizeFinishController().handle,
|
|
55
269
|
[TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
|
|
56
270
|
[TABLE_LIST_RESIZE_MOVE_REQUESTED]: new ResizeByMouseController().handle,
|
|
@@ -16,7 +16,8 @@ export default class ListSdkFactory {
|
|
|
16
16
|
let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
17
17
|
return smartTable.updateRecords(recordsMap, shouldFetch);
|
|
18
18
|
},
|
|
19
|
-
reOrderRecord: (fromIndex, toIndex) => smartTable.reOrderRecord(fromIndex, toIndex)
|
|
19
|
+
reOrderRecord: (fromIndex, toIndex) => smartTable.reOrderRecord(fromIndex, toIndex),
|
|
20
|
+
sortRecords: sortBy => smartTable.sortRecords(sortBy)
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -49,7 +50,8 @@ export default class ListSdkFactory {
|
|
|
49
50
|
deselectRecords: selectionSdks.deselectRecords,
|
|
50
51
|
selectAllRecords: selectionSdks.selectAllRecords,
|
|
51
52
|
deselectAllRecords: selectionSdks.deselectAllRecords,
|
|
52
|
-
reOrderRecord: recordSdks.reOrderRecord
|
|
53
|
+
reOrderRecord: recordSdks.reOrderRecord,
|
|
54
|
+
sortRecords: recordSdks.sortRecords
|
|
53
55
|
}
|
|
54
56
|
};
|
|
55
57
|
}
|