@zohodesk/library-platform 1.1.2 → 1.1.3-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/README.md +3 -3
- package/es/bc/column-chooser/Constants.js +4 -0
- package/es/bc/column-chooser/EventHandlers.js +2 -0
- package/es/bc/column-chooser/Events.js +59 -0
- package/es/bc/column-chooser/Properties.js +18 -0
- package/es/bc/keyboard-controls/Constants.js +5 -0
- package/es/bc/keyboard-controls/Events.js +51 -0
- package/es/bc/keyboard-controls/Properties.js +11 -0
- package/es/bc/keyboard-controls/types/KeyboardControlBehaviourState.js +1 -0
- package/es/bc/sdk/EventHandlers.js +1 -0
- package/es/bc/sdk/Properties.js +10 -0
- package/es/bc/sdk/ResourceNamesEnum.js +6 -0
- package/es/bc/zlist/Constants.js +3 -1
- package/es/bc/zlist/Properties.js +15 -0
- package/es/bc/zrecord/Constants.js +3 -1
- package/es/cc/action-location/Constants.js +5 -3
- package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
- package/es/cc/component/LifeCycleEventsEnum.js +9 -0
- package/es/cc/fields/field/Properties.js +10 -1
- package/es/cc/fields/index.js +1 -1
- package/es/cc/table-column-chooser/Constants.js +6 -0
- package/es/cc/table-column-chooser/Events.js +69 -0
- package/es/cc/table-column-chooser/Properties.js +122 -0
- package/es/cc/table-column-chooser/index.js +3 -0
- package/es/cc/table-connected/Properties.js +32 -0
- package/es/cc/table-connected/constants/Events.js +4 -1
- package/es/cc/table-list/Constants.js +4 -0
- package/es/cc/table-list/Properties.js +43 -1
- package/es/cc/table-list/data-types/KeyboardControlsConfig.js +1 -0
- package/es/cc/table-list/row/Properties.js +53 -0
- package/es/index.js +5 -2
- package/es/library/behaviours/keyboard-controls/adapters/controllers/AbstractController.js +9 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/DestructController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/DownArrowPressController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/EnterPressController.js +24 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusNextController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusPreviousController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/InitializeController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/SpacePressController.js +24 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/UpArrowPressController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +81 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +47 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +40 -0
- package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +39 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCase.js +0 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCaseDependencies.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IKeyboardHandler.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IService.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DestructInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DownArrowPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/EnterPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusNextInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusPreviousInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/InitializeInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/RowActionInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SelectionInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SpacePressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/UpArrowPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/output/IPresenter.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/output/OutputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/AbstractUseCase.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +20 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/DownArrowPress.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/EnterPress.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/FocusNextUsecase.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/FocusPreviousUsecase.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/InitializeUsecase.js +20 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/UpArrowPress.js +16 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +87 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js +1 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/frameworks/EventHandlerFactory.js +48 -0
- package/es/library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory.js +23 -0
- package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
- package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
- package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +3 -0
- package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
- package/es/library/custom-component/domain/entities/Component.js +4 -0
- package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
- package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +8 -0
- package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -0
- package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
- package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +36 -0
- package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +31 -0
- package/es/library/dot/components/table-list/adapters/controllers/index.js +3 -1
- package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +5 -3
- package/es/library/dot/components/table-list/frameworks/hooks/useDropIndicator.js +8 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useRowData.js +8 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useTableRowReorder.js +93 -0
- package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +4 -1
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +76 -8
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +147 -1
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +28 -11
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +26 -9
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +45 -0
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +60 -10
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +7 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +11 -0
- package/es/library/dot/components/table-list/frameworks/utils/reOrder.js +76 -0
- package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser.js +11 -0
- package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooserView.js +79 -0
- package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +8 -4
- package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +6 -8
- package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +4 -3
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -6
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +1 -1
- package/es/platform/client-actions/translators/client-actions-translator/index.js +5 -2
- package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +3 -2
- package/es/platform/client-actions/translators/context-resolver/index.js +1 -4
- package/es/platform/column-chooser/adapters/controllers/AbstractController.js +10 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserCloseController.js +21 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +26 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserReorderController.js +26 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSaveController.js +21 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSearchController.js +24 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSelectController.js +26 -0
- package/es/platform/column-chooser/adapters/gateways/Repository.js +38 -0
- package/es/platform/column-chooser/adapters/gateways/Service.js +34 -0
- package/es/platform/column-chooser/adapters/gateways/State.js +1 -0
- package/es/platform/column-chooser/adapters/presenters/Presenter.js +25 -0
- package/es/platform/column-chooser/applications/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/gateways/IService.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserCloseInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserOpenInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserReorderInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSaveInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSearchInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSelectInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/output/BehaviourState.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/output/IPresenter.js +1 -0
- package/es/platform/column-chooser/applications/usecases/AbstractUseCase.js +18 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserCloseUseCase.js +34 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserOpenUseCase.js +20 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserReorderUseCase.js +20 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +31 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSearchUseCase.js +19 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSelectUseCase.js +26 -0
- package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +95 -0
- package/es/platform/column-chooser/domain/entities/ReorderEntityImp.js +35 -0
- package/es/platform/column-chooser/domain/entities/SearchEntityImp.js +28 -0
- package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +58 -0
- package/es/platform/column-chooser/domain/entities/interfaces/ColumnChooser.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/ReorderEntity.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/SearchEntity.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/SelectEntity.js +1 -0
- package/es/platform/column-chooser/frameworks/ColumnChooserBehaviourFactory.js +19 -0
- package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +30 -0
- package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +33 -0
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnectedView.js +1 -1
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormSdkFactory.js +3 -14
- package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +28 -0
- package/es/platform/components/table-connected/adapters/controllers/ColumnChooserUpdateController.js +25 -0
- package/es/platform/components/table-connected/adapters/controllers/ReOrderFinishController.js +21 -0
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeByMouseController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeEndController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeFinishController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeStartController.js +2 -2
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ScrollController.js +1 -1
- package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +251 -0
- package/es/platform/components/table-connected/application/interfaces/ISmartTableResource.js +1 -0
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/EventHandlersFactory.js +29 -15
- package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +57 -0
- package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +76 -0
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js +13 -8
- package/es/platform/data-source/http-template/reOrderRecord.js +44 -0
- package/es/platform/data-source/http-template/updateSelectedFields.js +28 -0
- package/es/platform/data-source/index.js +4 -0
- package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
- package/es/platform/sdk/adapters/gateways/Service.js +27 -0
- package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
- package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/AbstractResource.js +13 -0
- package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
- package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
- package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
- package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
- package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
- package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
- package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
- package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
- package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
- package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
- package/es/platform/sdk/frameworks/Sdk.js +11 -0
- package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
- package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
- package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
- package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
- package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
- package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
- package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
- package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
- package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
- package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
- package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
- package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
- package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
- package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
- package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
- package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
- package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
- package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
- package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +3 -1
- package/es/platform/zfield/domain/entities/interfaces/FieldApiName.js +1 -0
- package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +6 -1
- package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +2 -2
- package/es/platform/zlist/adapters/controllers/ReOrderController.js +25 -0
- package/es/platform/zlist/adapters/controllers/ReOrderFailedController.js +26 -0
- package/es/platform/zlist/adapters/gateways/Repository.js +11 -2
- package/es/platform/zlist/adapters/gateways/Service.js +8 -0
- package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +94 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +40 -20
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +63 -5
- package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -2
- package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
- package/es/platform/zlist/adapters/presenters/translators/Row.js +1 -1
- package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +6 -6
- package/es/platform/zlist/adapters/presenters/translators/interfaces/State.js +2 -1
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +79 -7
- package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
- package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/ReOrderRecordUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
- package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
- package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +4 -1
- package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
- package/es/platform/zlist/applications/usecases/ReOrderFailedUseCase.js +22 -0
- package/es/platform/zlist/applications/usecases/ReOrderUseCase.js +25 -0
- package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -1
- package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -3
- package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
- package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
- package/es/platform/zlist/domain/entities/List.js +91 -3
- package/es/platform/zlist/frameworks/EventHandlersFactory.js +10 -6
- package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -1
- package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
- package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
- package/es/platform/zrecord/domain/entities/GetReOrderRecordsStrategy.js +40 -0
- package/es/platform/zrecord/domain/entities/Records.js +9 -4
- package/es/platform/zrecord/domain/entities/RecordsManager.js +11 -1
- package/package.json +12 -8
- package/es/desk-frameworks/form-connected/frameworks/FormConnectedFactory.js +0 -33
- package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +0 -172
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +0 -53
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +0 -26
- /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/EventHandlersFactory.js +0 -0
- /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnected.js +0 -0
- /package/es/{desk-frameworks → platform/components}/index.js +0 -0
- /package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/AbstractController.js +0 -0
- /package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnected.js +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class InitializeUsecase extends AbstractUseCase {
|
|
4
|
+
execute(host) {
|
|
5
|
+
const {
|
|
6
|
+
repository,
|
|
7
|
+
presenter,
|
|
8
|
+
keyboardHandler
|
|
9
|
+
} = this.dependencies;
|
|
10
|
+
const keyboardControls = repository.getKeyboardControls();
|
|
11
|
+
|
|
12
|
+
if (keyboardControls !== null) {
|
|
13
|
+
keyboardHandler.initialize(host);
|
|
14
|
+
presenter.updateKeyboardControls(keyboardControls.toObject());
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default InitializeUsecase;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class SpacePress extends AbstractUseCase {
|
|
4
|
+
execute(inputModel) {
|
|
5
|
+
const {
|
|
6
|
+
repository
|
|
7
|
+
} = this.dependencies;
|
|
8
|
+
const keyboardControls = repository.getKeyboardControls();
|
|
9
|
+
const {
|
|
10
|
+
dispatch,
|
|
11
|
+
event
|
|
12
|
+
} = inputModel;
|
|
13
|
+
const data = keyboardControls.getSelectionEvent(event);
|
|
14
|
+
dispatch(data);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default SpacePress;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class UpArrowPress extends AbstractUseCase {
|
|
4
|
+
execute() {
|
|
5
|
+
const {
|
|
6
|
+
repository,
|
|
7
|
+
presenter
|
|
8
|
+
} = this.dependencies;
|
|
9
|
+
const keyboardControls = repository.getKeyboardControls();
|
|
10
|
+
keyboardControls.focusPrevious();
|
|
11
|
+
presenter.updateKeyboardControls(keyboardControls.toObject());
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default UpArrowPress;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { SMART_TABLE_ACTION_TRIGGERED, SMART_TABLE_SELECTION_TOGGLED } from "../../../../../cc/table-connected/constants/Events";
|
|
2
|
+
|
|
3
|
+
class KeyboardControls {
|
|
4
|
+
constructor(focussedIndex, totalLists) {
|
|
5
|
+
this.focussedIndex = focussedIndex;
|
|
6
|
+
this.totalLists = totalLists;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
setFocussedIndex(index) {
|
|
10
|
+
this.focussedIndex = index;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getFocussedIndex() {
|
|
14
|
+
return this.focussedIndex;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
focusPrevious() {
|
|
18
|
+
if (this.focussedIndex > 0) {
|
|
19
|
+
this.focussedIndex -= 1;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
focusNext() {
|
|
24
|
+
if (this.totalLists > 1 && this.focussedIndex < this.totalLists - 1) {
|
|
25
|
+
this.focussedIndex += 1;
|
|
26
|
+
}
|
|
27
|
+
} // focusPrevious(): void {
|
|
28
|
+
// if (this.focussedIndex > 0) {
|
|
29
|
+
// this.focussedIndex -= 1;
|
|
30
|
+
// } else if (this.focussedIndex === 0 && this.totalLists > 1) {
|
|
31
|
+
// this.focussedIndex = this.totalLists - 1;
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// focusNext(): void {
|
|
35
|
+
// if ((this.totalLists > 1) && (this.focussedIndex <= this.totalLists - 1)) {
|
|
36
|
+
// if (this.focussedIndex >= this.totalLists - 1) {
|
|
37
|
+
// this.focussedIndex = 0;
|
|
38
|
+
// } else {
|
|
39
|
+
// this.focussedIndex += 1;
|
|
40
|
+
// }
|
|
41
|
+
// }
|
|
42
|
+
// }
|
|
43
|
+
// getPreviousFocusEvent(event: KeyboardEvent): EventModel {
|
|
44
|
+
// return {
|
|
45
|
+
// type: SMART_TABLE_PREVIOUS_FOCUS,
|
|
46
|
+
// payload: {
|
|
47
|
+
// event
|
|
48
|
+
// }
|
|
49
|
+
// }
|
|
50
|
+
// }
|
|
51
|
+
// getNextFocusEvent(event: KeyboardEvent): EventModel {
|
|
52
|
+
// return {
|
|
53
|
+
// type: SMART_TABLE_NEXT_FOCUS,
|
|
54
|
+
// payload: {
|
|
55
|
+
// event
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
getSelectionEvent(event) {
|
|
62
|
+
return {
|
|
63
|
+
type: SMART_TABLE_SELECTION_TOGGLED,
|
|
64
|
+
payload: {
|
|
65
|
+
event
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
getClickActionEvent(event) {
|
|
71
|
+
return {
|
|
72
|
+
type: SMART_TABLE_ACTION_TRIGGERED,
|
|
73
|
+
payload: {
|
|
74
|
+
event
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
toObject() {
|
|
80
|
+
return {
|
|
81
|
+
focussedIndex: this.focussedIndex
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export default KeyboardControls;
|
package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { KEYBOARD_CONTROL_DOWN_ARROW_PRESSED, KEYBOARD_CONTROL_ENTER_PRESSED, KEYBOARD_CONTROL_SPACE_PRESSED, KEYBOARD_CONTROL_UP_ARROW_PRESSED } from "../../../../bc/keyboard-controls/Constants";
|
|
2
|
+
import UpArrowPressController from "../adapters/controllers/UpArrowPressController";
|
|
3
|
+
import DownArrowPressController from "../adapters/controllers/DownArrowPressController";
|
|
4
|
+
import SpacePressController from "../adapters/controllers/SpacePressController";
|
|
5
|
+
import EnterPressController from "../adapters/controllers/EnterPressController";
|
|
6
|
+
import Service from "../adapters/gateways/Service";
|
|
7
|
+
import Repository from "../adapters/gateways/Repository";
|
|
8
|
+
import Presenter from "../adapters/presenters/Presenter";
|
|
9
|
+
import KeyboardHandler from "../adapters/gateways/KeyboardHandler"; // import FocusPreviousController from "../adapters/controllers/FocusPreviousController";
|
|
10
|
+
// import FocusNextController from "../adapters/controllers/FocusNextController";
|
|
11
|
+
|
|
12
|
+
import LifeCycleAction from "../../../../cc/architecture/LifeCycleActionEnum";
|
|
13
|
+
import InitializeController from "../adapters/controllers/InitializeController";
|
|
14
|
+
import DestructController from "../adapters/controllers/DestructController";
|
|
15
|
+
|
|
16
|
+
class EventHandlerFactory {
|
|
17
|
+
static create() {
|
|
18
|
+
const service = this.createService();
|
|
19
|
+
return this.createHandlers(service);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static createService() {
|
|
23
|
+
const repository = new Repository();
|
|
24
|
+
const presenter = new Presenter();
|
|
25
|
+
const keyboardHandler = new KeyboardHandler();
|
|
26
|
+
return new Service({
|
|
27
|
+
repository: repository,
|
|
28
|
+
presenter,
|
|
29
|
+
keyboardHandler
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static createHandlers(service) {
|
|
34
|
+
return {
|
|
35
|
+
[LifeCycleAction.MOUNT]: new InitializeController(service).handle,
|
|
36
|
+
[LifeCycleAction.UN_MOUNT]: new DestructController(service).handle,
|
|
37
|
+
// [SMART_TABLE_PREVIOUS_FOCUS]: new FocusPreviousController(service).handle,
|
|
38
|
+
// [SMART_TABLE_NEXT_FOCUS]: new FocusNextController(service).handle,
|
|
39
|
+
[KEYBOARD_CONTROL_UP_ARROW_PRESSED]: new UpArrowPressController(service).handle,
|
|
40
|
+
[KEYBOARD_CONTROL_DOWN_ARROW_PRESSED]: new DownArrowPressController(service).handle,
|
|
41
|
+
[KEYBOARD_CONTROL_SPACE_PRESSED]: new SpacePressController(service).handle,
|
|
42
|
+
[KEYBOARD_CONTROL_ENTER_PRESSED]: new EnterPressController(service).handle
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default EventHandlerFactory;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import EventHandlerFactory from "./EventHandlerFactory";
|
|
2
|
+
import events from "../../../../bc/keyboard-controls/Events";
|
|
3
|
+
import properties from "../../../../bc/keyboard-controls/Properties";
|
|
4
|
+
|
|
5
|
+
class KeyboardControlBehaviourFactory {
|
|
6
|
+
static create() {
|
|
7
|
+
return {
|
|
8
|
+
name: 'keyboardControls',
|
|
9
|
+
setInitialState: () => {
|
|
10
|
+
return {
|
|
11
|
+
focussedIndex: 0,
|
|
12
|
+
totalLists: 0
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
eventHandlers: EventHandlerFactory.create(),
|
|
16
|
+
events,
|
|
17
|
+
properties
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default KeyboardControlBehaviourFactory;
|
|
@@ -10,6 +10,7 @@ import UpdateController from "../adapters/controllers/UpdateController";
|
|
|
10
10
|
import DestructController from "../adapters/controllers/DestructController";
|
|
11
11
|
import SelectController from "../adapters/controllers/SelectController";
|
|
12
12
|
import DeselectController from "../adapters/controllers/DeselectController";
|
|
13
|
+
import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
|
|
13
14
|
|
|
14
15
|
class ActionHandlerFactory {
|
|
15
16
|
static create() {
|
|
@@ -28,9 +29,9 @@ class ActionHandlerFactory {
|
|
|
28
29
|
|
|
29
30
|
static createHandlers(service) {
|
|
30
31
|
return {
|
|
31
|
-
[
|
|
32
|
-
[
|
|
33
|
-
[
|
|
32
|
+
[LifeCycleEvents.MOUNT]: new InitializeController(service).handle,
|
|
33
|
+
[LifeCycleEvents.UPDATE_PROPERTIES]: new UpdateController(service).handle,
|
|
34
|
+
[LifeCycleEvents.UN_MOUNT]: new DestructController(service).handle,
|
|
34
35
|
[LIST_SELECTION_SELECT_ITEM]: new SelectController(service).handle,
|
|
35
36
|
[LIST_SELECTION_DESELECT_ITEM]: new DeselectController(service).handle,
|
|
36
37
|
[LIST_SELECTION_TOGGLE_ITEMS]: new SelectionController(service).handle,
|
|
@@ -1,31 +1,18 @@
|
|
|
1
|
+
import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
|
|
1
2
|
import Behaviour from "../../domain/entities/Behaviour";
|
|
2
3
|
import EventHandlersFactory from "./EventHandlersFactory";
|
|
3
4
|
import PropertiesFactory from "./PropertiesFactory";
|
|
4
|
-
/* eslint-disable max-lines-per-function, @zohodesk/architecturerules/no-returnStatement-rule */
|
|
5
5
|
|
|
6
6
|
class BehavioursFactory {
|
|
7
7
|
static create(input) {
|
|
8
|
-
|
|
9
|
-
let behaviours = input.behaviours || [];
|
|
8
|
+
const behaviours = input.behaviours ? input.behaviours : [];
|
|
10
9
|
return behaviours.map(behaviour => {
|
|
11
10
|
// DEPRECATED: Remove while refactoring actionHandlers
|
|
12
11
|
if (behaviour.actionHandlers) {
|
|
13
12
|
behaviour.eventHandlers = behaviour.actionHandlers;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
const
|
|
17
|
-
eventHandlers
|
|
18
|
-
} = behaviour;
|
|
19
|
-
let newEventHandlers = Object.keys(eventHandlers).reduce((res, next) => {
|
|
20
|
-
let key = next;
|
|
21
|
-
|
|
22
|
-
if (['MOUNT', 'UN_MOUNT', 'UPDATE_PROPERTIES'].includes(next)) {
|
|
23
|
-
key = input.name + '#' + next;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
res[key] = eventHandlers[next];
|
|
27
|
-
return res;
|
|
28
|
-
}, {});
|
|
15
|
+
const newEventHandlers = BehavioursFactory.createNamedEventHandlers(behaviour.eventHandlers, input);
|
|
29
16
|
return new Behaviour({
|
|
30
17
|
name: behaviour.name,
|
|
31
18
|
eventHandlers: EventHandlersFactory(newEventHandlers),
|
|
@@ -38,6 +25,21 @@ class BehavioursFactory {
|
|
|
38
25
|
});
|
|
39
26
|
}
|
|
40
27
|
|
|
28
|
+
static createNamedEventHandlers(eventHandlers, input) {
|
|
29
|
+
return Object.keys(eventHandlers).reduce((res, key) => {
|
|
30
|
+
// if (['MOUNT', 'UN_MOUNT', 'UPDATE_PROPERTIES'].includes(eventName)) {
|
|
31
|
+
// if ('MOUNT', LifeCycleEvents.UN_MOUNT, LifeCycleEvents.UPDATE_PROPERTIES, LifeCycleEvents.STATE_UPDATED].includes(eventName)) {
|
|
32
|
+
let eventName = key;
|
|
33
|
+
|
|
34
|
+
if (LifeCycleEvents[key]) {
|
|
35
|
+
eventName = `${input.name}#${key}`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
res[eventName] = eventHandlers[key];
|
|
39
|
+
return res;
|
|
40
|
+
}, {});
|
|
41
|
+
}
|
|
42
|
+
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export default BehavioursFactory;
|
|
@@ -4,7 +4,8 @@ class UpdateStateUseCase extends AbstractUseCase {
|
|
|
4
4
|
execute(newState) {
|
|
5
5
|
let {
|
|
6
6
|
repository,
|
|
7
|
-
presenter
|
|
7
|
+
presenter,
|
|
8
|
+
eventManager
|
|
8
9
|
} = this.dependencies;
|
|
9
10
|
let component = repository.getComponent(); // let preState=component.getState();
|
|
10
11
|
// console.log(`preState ${component.getName()}`,preState)
|
|
@@ -13,6 +14,9 @@ class UpdateStateUseCase extends AbstractUseCase {
|
|
|
13
14
|
let state = component.getState(); // console.log(`newState ${component.getName()}`,state)
|
|
14
15
|
|
|
15
16
|
presenter.render(state);
|
|
17
|
+
eventManager.dispatch(component.getStateUpdatedAction({
|
|
18
|
+
state
|
|
19
|
+
}));
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
}
|
|
@@ -64,6 +64,10 @@ export default class Component {
|
|
|
64
64
|
return this._lifeCycleAction.getUpdatePropertiesAction(payload);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
getStateUpdatedAction(payload) {
|
|
68
|
+
return this._lifeCycleAction.getStateUpdatedAction(payload);
|
|
69
|
+
}
|
|
70
|
+
|
|
67
71
|
getState() {
|
|
68
72
|
let state = this._tranformer(this.mergeStateAndProps());
|
|
69
73
|
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
|
+
import LifeCycleEvents from "../../../../cc/component/LifeCycleEventsEnum";
|
|
3
4
|
export default class LifeCycleAction {
|
|
4
5
|
constructor(name) {
|
|
5
6
|
_defineProperty(this, "mount", void 0);
|
|
6
7
|
|
|
7
8
|
_defineProperty(this, "unmount", void 0);
|
|
8
9
|
|
|
10
|
+
_defineProperty(this, "name", void 0);
|
|
11
|
+
|
|
9
12
|
_defineProperty(this, "contructUpdatePropertiesAction", void 0);
|
|
10
13
|
|
|
14
|
+
this.name = name;
|
|
11
15
|
this.mount = {
|
|
12
|
-
type: `${name}
|
|
16
|
+
type: `${name}#${LifeCycleEvents.MOUNT}`
|
|
13
17
|
};
|
|
14
18
|
this.unmount = {
|
|
15
|
-
type: `${name}
|
|
19
|
+
type: `${name}#${LifeCycleEvents.UN_MOUNT}`
|
|
16
20
|
};
|
|
17
21
|
|
|
18
22
|
this.contructUpdatePropertiesAction = payload => {
|
|
19
23
|
return {
|
|
20
|
-
type: `${name}
|
|
24
|
+
type: `${name}#${LifeCycleEvents.UPDATE_PROPERTIES}`,
|
|
21
25
|
payload
|
|
22
26
|
};
|
|
23
27
|
};
|
|
@@ -31,6 +35,13 @@ export default class LifeCycleAction {
|
|
|
31
35
|
return this.unmount;
|
|
32
36
|
}
|
|
33
37
|
|
|
38
|
+
getStateUpdatedAction(payload) {
|
|
39
|
+
return {
|
|
40
|
+
type: `${this.name}#${LifeCycleEvents.STATE_UPDATED}`,
|
|
41
|
+
payload
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
34
45
|
getUpdatePropertiesAction(payload) {
|
|
35
46
|
return this.contructUpdatePropertiesAction(payload);
|
|
36
47
|
}
|
|
@@ -14,6 +14,14 @@ class ComponentRegistry {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
register(name, component) {
|
|
17
|
+
if (this.components.has(name)) {
|
|
18
|
+
console.warn(`Component with name "${name}" is already registered. Overwriting the existing component.`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (this.components.has(name) && this.get(name) !== component) {
|
|
22
|
+
console.warn(`Component with name "${name}" is already registered with a different instance. Overwriting the existing component.`);
|
|
23
|
+
}
|
|
24
|
+
|
|
17
25
|
this.components.set(name, component);
|
|
18
26
|
}
|
|
19
27
|
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import ActionIcon from "../../../../legacy-to-new-arch/action-icon/frameworks/ui/ActionIcon";
|
|
2
2
|
import TableColumnSort from "../../../../legacy-to-new-arch/table-column-sort/frameworks/ui/TableColumnSort";
|
|
3
|
+
import TableColumnChooser from "../../../../legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser";
|
|
4
|
+
import Checkbox from "../../../../legacy-to-new-arch/checkbox/frameworks/ui/Checkbox";
|
|
3
5
|
import TableColumnFilter from "../../../../legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilter";
|
|
4
6
|
const ActionComponentMapping = {
|
|
5
7
|
['ActionIcon']: ActionIcon,
|
|
6
8
|
['TableColumnSort']: TableColumnSort,
|
|
9
|
+
['TableColumnChooser']: TableColumnChooser,
|
|
10
|
+
['TableSelectAll']: Checkbox,
|
|
7
11
|
['TableColumnFilter']: TableColumnFilter
|
|
8
12
|
};
|
|
9
13
|
export default ActionComponentMapping;
|
|
@@ -24,7 +24,7 @@ export default class EventHandlersFactory {
|
|
|
24
24
|
return {
|
|
25
25
|
[ActionLocationConstants.MOUNT]: initializeController.handle,
|
|
26
26
|
[ActionLocationConstants.UPDATE_PROPERTIES]: propertiesChangeController.handle,
|
|
27
|
-
[ActionLocationConstants.
|
|
27
|
+
[ActionLocationConstants.UN_MOUNT]: unmountController.handle
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
|
package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import SmartTableConstants from "../../../../../../cc/table-connected/constants/Events";
|
|
2
|
+
import AbstractController from "./AbstractController";
|
|
3
|
+
|
|
4
|
+
class KeyboardRowClickController extends AbstractController {
|
|
5
|
+
handle(event) {
|
|
6
|
+
const {
|
|
7
|
+
state,
|
|
8
|
+
dispatch,
|
|
9
|
+
action
|
|
10
|
+
} = event;
|
|
11
|
+
const {
|
|
12
|
+
event: keyboardEvent
|
|
13
|
+
} = action.payload;
|
|
14
|
+
const {
|
|
15
|
+
focussedRow,
|
|
16
|
+
data
|
|
17
|
+
} = state.properties || {};
|
|
18
|
+
const record = data === null || data === void 0 ? void 0 : data.rows[focussedRow];
|
|
19
|
+
|
|
20
|
+
if (!record) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let id = record.id;
|
|
25
|
+
dispatch({
|
|
26
|
+
type: SmartTableConstants.SMART_TABLE_ROW_ACTION_TRIGGERED,
|
|
27
|
+
payload: {
|
|
28
|
+
id,
|
|
29
|
+
event: keyboardEvent
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default KeyboardRowClickController;
|
package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LIST_SELECTION_TOGGLE_ITEMS } from "../../../../../../bc/list-selection/Constants";
|
|
2
|
+
import AbstractController from "./AbstractController";
|
|
3
|
+
|
|
4
|
+
class KeyboardRowSelectController extends AbstractController {
|
|
5
|
+
handle(event) {
|
|
6
|
+
const {
|
|
7
|
+
state,
|
|
8
|
+
dispatch
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
focussedRow,
|
|
12
|
+
data
|
|
13
|
+
} = state.properties || {};
|
|
14
|
+
const record = data === null || data === void 0 ? void 0 : data.rows[focussedRow];
|
|
15
|
+
|
|
16
|
+
if (!record) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
let id = record.id;
|
|
21
|
+
dispatch({
|
|
22
|
+
type: LIST_SELECTION_TOGGLE_ITEMS,
|
|
23
|
+
payload: {
|
|
24
|
+
selected: [id]
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default KeyboardRowSelectController;
|
|
@@ -4,4 +4,6 @@ export { default as ScrollController } from "./ScrollController";
|
|
|
4
4
|
export { default as SortByController } from "./SortByController";
|
|
5
5
|
export { default as SortedController } from "./SortedController";
|
|
6
6
|
export { default as FieldChangeController } from "./FieldChangeController";
|
|
7
|
-
export { default as FieldClickController } from "./FieldClickController";
|
|
7
|
+
export { default as FieldClickController } from "./FieldClickController";
|
|
8
|
+
export { default as KeyboardRowSelectController } from "./KeyboardRowSelectController";
|
|
9
|
+
export { default as KeyboardRowClickController } from "./KeyboardRowClickController";
|
|
@@ -4,10 +4,11 @@ class TableTranslator {
|
|
|
4
4
|
data,
|
|
5
5
|
selectionConfig,
|
|
6
6
|
selection,
|
|
7
|
-
sortBy
|
|
7
|
+
sortBy,
|
|
8
|
+
focussedRow
|
|
8
9
|
} = state.properties;
|
|
9
10
|
const headers = TableTranslator.translateHeaders(data.headers, sortBy);
|
|
10
|
-
const rows = TableTranslator.translateRows(data.rows, selection, selectionConfig);
|
|
11
|
+
const rows = TableTranslator.translateRows(data.rows, selection, selectionConfig, focussedRow);
|
|
11
12
|
state = { ...state,
|
|
12
13
|
properties: { ...state.properties,
|
|
13
14
|
data: { ...data,
|
|
@@ -28,13 +29,14 @@ class TableTranslator {
|
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
static translateRows(rows, selection, selectionConfig) {
|
|
32
|
+
static translateRows(rows, selection, selectionConfig, focussedRow) {
|
|
32
33
|
const {
|
|
33
34
|
selected,
|
|
34
35
|
hasAllSelected
|
|
35
36
|
} = selection;
|
|
36
37
|
return rows.map((row, index) => {
|
|
37
38
|
return { ...row,
|
|
39
|
+
isFocussed: focussedRow === index,
|
|
38
40
|
isSelected: selected.includes(row.id),
|
|
39
41
|
isSelectable: selected.includes(row.id) || !hasAllSelected,
|
|
40
42
|
selectionTooltip: this.getSelectionTooltip(row.id, index, selected, hasAllSelected, selectionConfig)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import TableListEventConstants from "../../../../../../cc/table-list/Constants";
|
|
3
|
+
import { useRowData } from "./useRowData";
|
|
4
|
+
import { useDropIndicator } from "./useDropIndicator";
|
|
5
|
+
import { reorderArray, setTableUserSelect, adjustHelperElementPosition, getDropIndicator } from "../utils/reOrder"; // @ts-ignore
|
|
6
|
+
|
|
7
|
+
import style from "./../ui/css/TableList.module.css";
|
|
8
|
+
export function useTableRowReorder(_ref) {
|
|
9
|
+
let {
|
|
10
|
+
rows,
|
|
11
|
+
TableRef,
|
|
12
|
+
dispatch
|
|
13
|
+
} = _ref;
|
|
14
|
+
const [rowData, setRowData] = useRowData(rows);
|
|
15
|
+
const [dropIndicator, setDropIndicator] = useDropIndicator();
|
|
16
|
+
const {
|
|
17
|
+
TABLE_LIST_ROW_DRAG_START,
|
|
18
|
+
TABLE_LIST_ROW_DRAG_END
|
|
19
|
+
} = TableListEventConstants;
|
|
20
|
+
|
|
21
|
+
const handleSortStart = _ref2 => {
|
|
22
|
+
let {
|
|
23
|
+
index
|
|
24
|
+
} = _ref2;
|
|
25
|
+
setTableUserSelect(TableRef, 'none');
|
|
26
|
+
adjustHelperElementPosition(TableRef, style.dragging);
|
|
27
|
+
dispatch({
|
|
28
|
+
type: TABLE_LIST_ROW_DRAG_START,
|
|
29
|
+
payload: {
|
|
30
|
+
index
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const handleSortEnd = _ref3 => {
|
|
36
|
+
let {
|
|
37
|
+
oldIndex,
|
|
38
|
+
newIndex
|
|
39
|
+
} = _ref3;
|
|
40
|
+
setTableUserSelect(TableRef, '');
|
|
41
|
+
let arr = reorderArray(rowData, oldIndex, newIndex);
|
|
42
|
+
setRowData(arr);
|
|
43
|
+
setDropIndicator({
|
|
44
|
+
index: null,
|
|
45
|
+
position: ''
|
|
46
|
+
});
|
|
47
|
+
dispatch({
|
|
48
|
+
type: TABLE_LIST_ROW_DRAG_END,
|
|
49
|
+
payload: {
|
|
50
|
+
oldIndex,
|
|
51
|
+
newIndex
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const handleSortOver = _ref4 => {
|
|
57
|
+
let {
|
|
58
|
+
index,
|
|
59
|
+
oldIndex,
|
|
60
|
+
newIndex
|
|
61
|
+
} = _ref4;
|
|
62
|
+
const dropIndicatorData = getDropIndicator({
|
|
63
|
+
index,
|
|
64
|
+
oldIndex,
|
|
65
|
+
newIndex,
|
|
66
|
+
rowsLength: rows.length
|
|
67
|
+
});
|
|
68
|
+
setDropIndicator({
|
|
69
|
+
index: dropIndicatorData.index,
|
|
70
|
+
position: dropIndicatorData.position
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const getHelperDimensions = useCallback(_ref5 => {
|
|
75
|
+
let {
|
|
76
|
+
node
|
|
77
|
+
} = _ref5;
|
|
78
|
+
return {
|
|
79
|
+
height: node.offsetHeight,
|
|
80
|
+
width: TableRef.current.offsetWidth
|
|
81
|
+
};
|
|
82
|
+
}, [TableRef]);
|
|
83
|
+
return {
|
|
84
|
+
rowData,
|
|
85
|
+
dropIndicator,
|
|
86
|
+
handleSortStart,
|
|
87
|
+
handleSortEnd,
|
|
88
|
+
handleSortOver,
|
|
89
|
+
getHelperDimensions,
|
|
90
|
+
setRowData,
|
|
91
|
+
setDropIndicator
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { TableListConstants } from "../../../../../../cc/table-list";
|
|
2
|
-
import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController, SortByController } from "../../adapters/controllers";
|
|
2
|
+
import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController, SortByController, KeyboardRowSelectController, KeyboardRowClickController } from "../../adapters/controllers";
|
|
3
3
|
import TableRowConstants from "../../../../../../cc/table-list/row/Constants";
|
|
4
4
|
import RowClickController from "../../adapters/controllers/RowClickController";
|
|
5
|
+
import { SMART_TABLE_ACTION_TRIGGERED, SMART_TABLE_SELECTION_TOGGLED } from "../../../../../../cc/table-connected/constants/Events";
|
|
5
6
|
|
|
6
7
|
class EventHandlersFactory {
|
|
7
8
|
static create() {
|
|
8
9
|
return {
|
|
10
|
+
[SMART_TABLE_SELECTION_TOGGLED]: new KeyboardRowSelectController().handle,
|
|
11
|
+
[SMART_TABLE_ACTION_TRIGGERED]: new KeyboardRowClickController().handle,
|
|
9
12
|
[TableRowConstants.TABLE_ROW_CLICKED]: new RowClickController().handle,
|
|
10
13
|
[TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION]: new SelectItemController().handle,
|
|
11
14
|
[TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION]: new SelectAllController().handle,
|