@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,38 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
import { DEFAULT_COLUMN_CHOOSE_MAX_COUNT } from "../../../../bc/column-chooser/Constants";
|
|
4
|
+
import ColumnChooserImp from "../../domain/entities/ColumnChooserImp";
|
|
5
|
+
import ReorderEntityImp from "../../domain/entities/ReorderEntityImp";
|
|
6
|
+
import SearchEntityImp from "../../domain/entities/SearchEntityImp";
|
|
7
|
+
import SelectEntityImp from "../../domain/entities/SelectEntityImp";
|
|
8
|
+
|
|
9
|
+
class Repository {
|
|
10
|
+
constructor() {
|
|
11
|
+
_defineProperty(this, "state", void 0);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
init(state) {
|
|
15
|
+
this.state = state;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getColumnChooser() {
|
|
19
|
+
const {
|
|
20
|
+
columnChooser
|
|
21
|
+
} = this.state.behaviours;
|
|
22
|
+
const reorderEntity = new ReorderEntityImp(columnChooser.order);
|
|
23
|
+
const searchEntity = this.createSearchEntity();
|
|
24
|
+
const selectEntity = new SelectEntityImp(columnChooser.selected, DEFAULT_COLUMN_CHOOSE_MAX_COUNT);
|
|
25
|
+
return new ColumnChooserImp(columnChooser.isSaved, reorderEntity, searchEntity, selectEntity);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
createSearchEntity() {
|
|
29
|
+
const {
|
|
30
|
+
columnChooser,
|
|
31
|
+
zfield
|
|
32
|
+
} = this.state.behaviours;
|
|
33
|
+
return new SearchEntityImp(columnChooser.searchText, fieldName => zfield.fields.find(f => f.name === fieldName).i18NLabel);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default Repository;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
import ColumnChooserOpenUseCase from "../../applications/usecases/ColumnChooserOpenUseCase";
|
|
4
|
+
import ColumnChooserSelectUseCase from "../../applications/usecases/ColumnChooserSelectUseCase";
|
|
5
|
+
import ColumnChooserReorderUseCase from "../../applications/usecases/ColumnChooserReorderUseCase";
|
|
6
|
+
import ColumnChooserSearchUseCase from "../../applications/usecases/ColumnChooserSearchUseCase";
|
|
7
|
+
import ColumnChooserSaveUseCase from "../../applications/usecases/ColumnChooserSaveUseCase";
|
|
8
|
+
import ColumnChooserCloseUseCase from "../../applications/usecases/ColumnChooserCloseUseCase";
|
|
9
|
+
|
|
10
|
+
class Service {
|
|
11
|
+
constructor(dependencies) {
|
|
12
|
+
_defineProperty(this, "columnChooserOpenUseCase", void 0);
|
|
13
|
+
|
|
14
|
+
_defineProperty(this, "columnChooserSelectUseCase", void 0);
|
|
15
|
+
|
|
16
|
+
_defineProperty(this, "columnChooserReorderUseCase", void 0);
|
|
17
|
+
|
|
18
|
+
_defineProperty(this, "columnChooserSearchUseCase", void 0);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "columnChooserSaveUseCase", void 0);
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "columnChooserCloseUseCase", void 0);
|
|
23
|
+
|
|
24
|
+
this.columnChooserOpenUseCase = new ColumnChooserOpenUseCase(dependencies);
|
|
25
|
+
this.columnChooserSelectUseCase = new ColumnChooserSelectUseCase(dependencies);
|
|
26
|
+
this.columnChooserReorderUseCase = new ColumnChooserReorderUseCase(dependencies);
|
|
27
|
+
this.columnChooserSearchUseCase = new ColumnChooserSearchUseCase(dependencies);
|
|
28
|
+
this.columnChooserSaveUseCase = new ColumnChooserSaveUseCase(dependencies);
|
|
29
|
+
this.columnChooserCloseUseCase = new ColumnChooserCloseUseCase(dependencies);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default Service;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
class Presenter {
|
|
4
|
+
constructor() {
|
|
5
|
+
_defineProperty(this, "updateState", void 0);
|
|
6
|
+
|
|
7
|
+
_defineProperty(this, "state", void 0);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
updateDependencies(state, updateState) {
|
|
11
|
+
this.state = state;
|
|
12
|
+
this.updateState = updateState;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
updateView(view) {
|
|
16
|
+
this.updateState({ ...this.state,
|
|
17
|
+
behaviours: { ...this.state.behaviours,
|
|
18
|
+
columnChooser: view
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Presenter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class AbstractUseCase {
|
|
2
|
+
constructor(dependencies) {
|
|
3
|
+
this.dependencies = dependencies;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// TODO: Add type for state and updateState
|
|
7
|
+
updateDependencies(state, updateState) {
|
|
8
|
+
const {
|
|
9
|
+
repository,
|
|
10
|
+
presenter
|
|
11
|
+
} = this.dependencies;
|
|
12
|
+
repository.init(state);
|
|
13
|
+
presenter.updateDependencies(state, updateState);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default AbstractUseCase;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_CANCELED } from "../../../../bc/column-chooser/Constants";
|
|
2
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
3
|
+
|
|
4
|
+
class ColumnChooserCloseUseCase extends AbstractUseCase {
|
|
5
|
+
execute(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
dispatch
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
const selectedArray = columnChooser.getSelectedWithOrder();
|
|
15
|
+
const order = columnChooser.getOrder();
|
|
16
|
+
const isSaved = columnChooser.hasBeenSaved();
|
|
17
|
+
columnChooser.init([], []);
|
|
18
|
+
columnChooser.markAsUnsaved();
|
|
19
|
+
presenter.updateView(columnChooser.toObject());
|
|
20
|
+
|
|
21
|
+
if (!isSaved) {
|
|
22
|
+
dispatch({
|
|
23
|
+
type: COLUMN_CHOOSER_BEHAVIOUR_CANCELED,
|
|
24
|
+
payload: {
|
|
25
|
+
selectedArray,
|
|
26
|
+
order
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default ColumnChooserCloseUseCase;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserOpenUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
order,
|
|
7
|
+
selectedArray
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
columnChooser.init(order, selectedArray);
|
|
15
|
+
presenter.updateView(columnChooser.toObject());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default ColumnChooserOpenUseCase;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserReorderUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
fromIndex,
|
|
7
|
+
toIndex
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
columnChooser.arrayMoveImmutable(fromIndex, toIndex);
|
|
15
|
+
presenter.updateView(columnChooser.toObject());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default ColumnChooserReorderUseCase;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../../bc/column-chooser/Constants";
|
|
3
|
+
|
|
4
|
+
class ColumnChooserSaveUseCase extends AbstractUseCase {
|
|
5
|
+
execute(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
dispatch
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
const selectedArray = columnChooser.getSelectedWithOrder();
|
|
15
|
+
const order = columnChooser.getOrder();
|
|
16
|
+
columnChooser.markAsSaved();
|
|
17
|
+
presenter.updateView(columnChooser.toObject()); // TODO: exposer.columnChooserUpdated({ fields });
|
|
18
|
+
|
|
19
|
+
dispatch({
|
|
20
|
+
type: COLUMN_CHOOSER_BEHAVIOUR_UPDATED,
|
|
21
|
+
payload: {
|
|
22
|
+
selectedArray,
|
|
23
|
+
order
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
presenter.updateView(columnChooser.toObject());
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default ColumnChooserSaveUseCase;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSearchUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
searchText
|
|
7
|
+
} = _ref;
|
|
8
|
+
const {
|
|
9
|
+
repository,
|
|
10
|
+
presenter
|
|
11
|
+
} = this.dependencies;
|
|
12
|
+
const columnChooser = repository.getColumnChooser();
|
|
13
|
+
columnChooser.setSearchText(searchText);
|
|
14
|
+
presenter.updateView(columnChooser.toObject());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default ColumnChooserSearchUseCase;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSelectUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
columnId,
|
|
7
|
+
isChecked
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
|
|
15
|
+
if (isChecked) {
|
|
16
|
+
columnChooser.select(columnId);
|
|
17
|
+
} else {
|
|
18
|
+
columnChooser.deselect(columnId);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
presenter.updateView(columnChooser.toObject());
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ColumnChooserSelectUseCase;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export default class ColumnChooserImp {
|
|
2
|
+
constructor() {
|
|
3
|
+
let isSaved = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4
|
+
let reorderEntity = arguments.length > 1 ? arguments[1] : undefined;
|
|
5
|
+
let searchEntity = arguments.length > 2 ? arguments[2] : undefined;
|
|
6
|
+
let selectEntity = arguments.length > 3 ? arguments[3] : undefined;
|
|
7
|
+
this.isSaved = isSaved;
|
|
8
|
+
this.reorderEntity = reorderEntity;
|
|
9
|
+
this.searchEntity = searchEntity;
|
|
10
|
+
this.selectEntity = selectEntity;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
markAsSaved() {
|
|
14
|
+
this.isSaved = true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
hasBeenSaved() {
|
|
18
|
+
return this.isSaved;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
markAsUnsaved() {
|
|
22
|
+
this.isSaved = false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
init(order, selectedArray) {
|
|
26
|
+
this.reorderEntity.initOrder(order);
|
|
27
|
+
this.selectEntity.resetSelection(selectedArray);
|
|
28
|
+
this.searchEntity.setSearchText('');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
setSearchText(searchStr) {
|
|
32
|
+
this.searchEntity.setSearchText(searchStr);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
select(id) {
|
|
36
|
+
if (!this.selectEntity.isMaxSelectionReached()) {
|
|
37
|
+
this.selectEntity.select(id);
|
|
38
|
+
this.rearrangeSelectedFirst();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
deselect(id) {
|
|
43
|
+
if (this.selectEntity.getSelectedCount() > 1) {
|
|
44
|
+
this.selectEntity.deselect(id);
|
|
45
|
+
this.rearrangeSelectedFirst();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
rearrangeSelectedFirst() {
|
|
50
|
+
const order = this.reorderEntity.getOrder();
|
|
51
|
+
const selected = this.selectEntity.getSelected();
|
|
52
|
+
const selectedArray = [];
|
|
53
|
+
const unselectedArray = [];
|
|
54
|
+
order.forEach(field => {
|
|
55
|
+
if (selected[field]) {
|
|
56
|
+
selectedArray.push(field);
|
|
57
|
+
} else {
|
|
58
|
+
unselectedArray.push(field);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
this.reorderEntity.initOrder([...selectedArray, ...unselectedArray]);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
arrayMoveImmutable(fromIndex, toIndex) {
|
|
65
|
+
this.reorderEntity.arrayMoveImmutable(fromIndex, toIndex);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
getOrder() {
|
|
69
|
+
return this.reorderEntity.getOrder();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
getSelectedWithOrder() {
|
|
73
|
+
const order = this.reorderEntity.getOrder();
|
|
74
|
+
const selected = this.selectEntity.getSelected();
|
|
75
|
+
return order.filter(field => selected[field]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
toObject() {
|
|
79
|
+
const isSaved = this.hasBeenSaved();
|
|
80
|
+
const order = this.reorderEntity.getOrder();
|
|
81
|
+
const selected = this.selectEntity.getSelected();
|
|
82
|
+
const fieldsOrder = this.searchEntity.filterOptions(order);
|
|
83
|
+
const searchText = this.searchEntity.getSearchText();
|
|
84
|
+
const isMaxSelectionReached = this.selectEntity.isMaxSelectionReached();
|
|
85
|
+
return {
|
|
86
|
+
order,
|
|
87
|
+
selected,
|
|
88
|
+
isSaved,
|
|
89
|
+
isMaxSelectionReached,
|
|
90
|
+
fieldsOrder,
|
|
91
|
+
searchText
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export default class ReorderEntityImp {
|
|
2
|
+
constructor(order) {
|
|
3
|
+
this.order = order;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
initOrder(order) {
|
|
7
|
+
this.order = [...order];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
moveTo(id, index) {
|
|
11
|
+
const currentIndex = this.order.indexOf(id);
|
|
12
|
+
this.arrayMoveImmutable(currentIndex, index);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
arrayMoveImmutable(fromIndex, toIndex) {
|
|
16
|
+
if (fromIndex === toIndex) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const newOrder = [...this.order];
|
|
21
|
+
const startIndex = fromIndex < 0 ? newOrder.length + fromIndex : fromIndex;
|
|
22
|
+
|
|
23
|
+
if (startIndex >= 0 && startIndex < newOrder.length) {
|
|
24
|
+
const endIndex = toIndex < 0 ? newOrder.length + toIndex : toIndex;
|
|
25
|
+
const [item] = newOrder.splice(fromIndex, 1);
|
|
26
|
+
newOrder.splice(endIndex, 0, item);
|
|
27
|
+
this.order = newOrder;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
getOrder() {
|
|
32
|
+
return this.order;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default class SearchEntityImp {
|
|
2
|
+
constructor(searchText, getValue) {
|
|
3
|
+
this.searchText = searchText;
|
|
4
|
+
this.getValue = getValue;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
getSearchText() {
|
|
8
|
+
return this.searchText;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
setSearchText(term) {
|
|
12
|
+
this.searchText = term;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
filterOptions(options) {
|
|
16
|
+
if (!this.searchText) {
|
|
17
|
+
return options;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return options.filter(option => this.matches(this.getValue(option)));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
matches(value) {
|
|
24
|
+
if (!this.searchText) return true;
|
|
25
|
+
return value.toLowerCase().includes(this.searchText.toLowerCase());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
export default class SelectEntityImp {
|
|
4
|
+
constructor(selected, maxCount) {
|
|
5
|
+
this.selected = selected;
|
|
6
|
+
this.maxCount = maxCount;
|
|
7
|
+
|
|
8
|
+
_defineProperty(this, "selectedCount", void 0);
|
|
9
|
+
|
|
10
|
+
this.calculateSelectedCount();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getSelectedCount() {
|
|
14
|
+
this.calculateSelectedCount();
|
|
15
|
+
return this.selectedCount;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
resetSelection(selectedArray) {
|
|
19
|
+
// Clear all current selections
|
|
20
|
+
this.selected = {}; // Select items in the given order, up to maxCount
|
|
21
|
+
|
|
22
|
+
for (let i = 0; i < selectedArray.length && (this.maxCount === 0 || i < this.maxCount); i++) {
|
|
23
|
+
this.selected[selectedArray[i]] = true;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
this.calculateSelectedCount();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
calculateSelectedCount() {
|
|
30
|
+
this.selectedCount = Object.values(this.selected).filter(Boolean).length;
|
|
31
|
+
return this.selectedCount;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
select(item) {
|
|
35
|
+
if (this.isMaxSelectionReached()) {
|
|
36
|
+
return; // throw new Error(`Cannot select more than ${this.maxCount} items`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
this.selected[item] = true;
|
|
40
|
+
this.calculateSelectedCount();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
isMaxSelectionReached() {
|
|
44
|
+
return this.maxCount > 0 && this.selectedCount >= this.maxCount;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
deselect(item) {
|
|
48
|
+
if (this.selected[item]) {
|
|
49
|
+
delete this.selected[item];
|
|
50
|
+
this.calculateSelectedCount();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
getSelected() {
|
|
55
|
+
return this.selected;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Properties from "../../../bc/column-chooser/Properties";
|
|
2
|
+
import EventHandlersFactory from "./EventHandlersFactory";
|
|
3
|
+
export default class ColumnChooserBehaviourFactory {
|
|
4
|
+
static create() {
|
|
5
|
+
return {
|
|
6
|
+
name: 'columnChooser',
|
|
7
|
+
setInitialState: () => ({
|
|
8
|
+
order: [],
|
|
9
|
+
selected: {},
|
|
10
|
+
isMaxSelectionReached: false,
|
|
11
|
+
fieldsOrder: [],
|
|
12
|
+
searchText: ''
|
|
13
|
+
}),
|
|
14
|
+
eventHandlers: EventHandlersFactory.create(),
|
|
15
|
+
properties: Properties
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import Service from "../adapters/gateways/Service";
|
|
2
|
+
import Presenter from "../adapters/presenters/Presenter";
|
|
3
|
+
import Repository from "../adapters/gateways/Repository";
|
|
4
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_OPENED } from "../../../bc/column-chooser/Constants";
|
|
5
|
+
import { COLUMN_CHOOSER_SELECT_REQUESTED, COLUMN_CHOOSER_REORDER_REQUESTED, COLUMN_CHOOSER_SEARCH_REQUESTED, COLUMN_CHOOSER_SAVE_REQUESTED, COLUMN_CHOOSER_CLOSE_REQUESTED } from "../../../cc/table-column-chooser/Constants";
|
|
6
|
+
import ColumnChooserOpenController from "../adapters/controllers/ColumnChooserOpenController";
|
|
7
|
+
import ColumnChooserSelectController from "../adapters/controllers/ColumnChooserSelectController";
|
|
8
|
+
import ColumnChooserReorderController from "../adapters/controllers/ColumnChooserReorderController";
|
|
9
|
+
import ColumnChooserSaveController from "../adapters/controllers/ColumnChooserSaveController";
|
|
10
|
+
import ColumnChooserSearchController from "../adapters/controllers/ColumnChooserSearchController";
|
|
11
|
+
import ColumnChooserCloseController from "../adapters/controllers/ColumnChooserCloseController";
|
|
12
|
+
export default class EventHandlersFactory {
|
|
13
|
+
static create() {
|
|
14
|
+
const repository = new Repository();
|
|
15
|
+
const presenter = new Presenter();
|
|
16
|
+
const service = new Service({
|
|
17
|
+
repository,
|
|
18
|
+
presenter
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
[COLUMN_CHOOSER_BEHAVIOUR_OPENED]: new ColumnChooserOpenController(service).handle,
|
|
22
|
+
[COLUMN_CHOOSER_SELECT_REQUESTED]: new ColumnChooserSelectController(service).handle,
|
|
23
|
+
[COLUMN_CHOOSER_REORDER_REQUESTED]: new ColumnChooserReorderController(service).handle,
|
|
24
|
+
[COLUMN_CHOOSER_SEARCH_REQUESTED]: new ColumnChooserSearchController(service).handle,
|
|
25
|
+
[COLUMN_CHOOSER_SAVE_REQUESTED]: new ColumnChooserSaveController(service).handle,
|
|
26
|
+
[COLUMN_CHOOSER_CLOSE_REQUESTED]: new ColumnChooserCloseController(service).handle
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Properties from "../../../../cc/form-connected/Properties";
|
|
2
|
+
import { createCustomComponent } from "../../../../library/custom-component";
|
|
3
|
+
import ZHttpBehaviourFactory from "../../../zhttp/frameworks/ZHttpBehaviourFactory";
|
|
4
|
+
import RecordBehaviourFactory from "../../../zrecord/frameworks/RecordBehaviourFactory";
|
|
5
|
+
import FormConnectedView from "./FormConnectedView";
|
|
6
|
+
import defaultDataBroker from "../../../data-source";
|
|
7
|
+
import DataBrokerBehaviourFactory from "../../../zdata-source/frameworks/DataBrokerBehaviourFactory";
|
|
8
|
+
import FormTranslator from "../../../zform/adapters/presenter/FormTranslator";
|
|
9
|
+
import ZFormBehaviourFactory from "../../../zform/frameworks/ui/ZFormBehaviourFactory";
|
|
10
|
+
import FieldValidationBehaviourFactory from "../../../../library/behaviours/field-validation/frameworks/ui/FieldValidationBehaviourFactory";
|
|
11
|
+
import EventHandlersfactory from "./EventHandlersFactory";
|
|
12
|
+
export default class FormConnectedFactory {
|
|
13
|
+
static create(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
name,
|
|
16
|
+
customValidators,
|
|
17
|
+
dataBroker = defaultDataBroker,
|
|
18
|
+
eventHandlers = {},
|
|
19
|
+
View = FormConnectedView
|
|
20
|
+
} = _ref;
|
|
21
|
+
return createCustomComponent({
|
|
22
|
+
name: name,
|
|
23
|
+
View: View,
|
|
24
|
+
properties: Properties,
|
|
25
|
+
eventHandlers: EventHandlersfactory.create(eventHandlers),
|
|
26
|
+
transformState: FormTranslator.transformState,
|
|
27
|
+
behaviours: [ZHttpBehaviourFactory.create(), DataBrokerBehaviourFactory.create(), RecordBehaviourFactory.create(dataBroker.httpTemplates), FieldValidationBehaviourFactory.create(), ZFormBehaviourFactory.create({
|
|
28
|
+
customValidators
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
}
|