CB-5839 fix: resource blocking (#3199)

* CB-5839 fix: resource blocking

* CB-5839 fix: unlock nav resources

* fix: connections loading

* feat: select new folder or connection

* chore: localization

* chore: revert improvements

* fix: load connections list for connection selector

* fix: error

* fix: wrong action handler

* CB-5839 fix: resources tree validation

* fix: reaction concurrency

* CB-5839 fixes build for new CellFormatter (ObjectMenuCell) after merge conflicts

* СB-5839 changes delay for menu item loaders

* CB-5839 fix: keys intersection detection in resources

* CB-5839 fix: keys intersection detection in resources

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
Co-authored-by: sergeyteleshev <iamsergeyteleshev@gmail.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
This commit is contained in:
Alexey
2025-03-27 20:03:37 +08:00
committed by GitHub
co-authored by mr-anton-t Daria Marutkina sergeyteleshev Evgenia
parent 348d6b3161
commit e961d7cda7
43 changed files with 327 additions and 207 deletions
@@ -6,7 +6,7 @@
* you may not use this file except in compliance with the License.
*/
import { importLazyComponent } from '@cloudbeaver/core-blocks';
import { createConnectionParam, DATA_CONTEXT_CONNECTION } from '@cloudbeaver/core-connections';
import { ConnectionInfoResource, DATA_CONTEXT_CONNECTION } from '@cloudbeaver/core-connections';
import { injectable } from '@cloudbeaver/core-di';
import { CommonDialogService } from '@cloudbeaver/core-dialogs';
import { LocalizationService } from '@cloudbeaver/core-localization';
@@ -35,6 +35,7 @@ export class DataExportMenuService {
private readonly menuService: MenuService,
private readonly localizationService: LocalizationService,
private readonly dataViewerService: DataViewerService,
private readonly connectionInfoResource: ConnectionInfoResource,
) {}
register(): void {
@@ -130,11 +131,12 @@ export class DataExportMenuService {
contexts: [DATA_CONTEXT_CONNECTION, DATA_CONTEXT_NAV_NODE],
handler: async context => {
const node = context.get(DATA_CONTEXT_NAV_NODE)!;
const connection = context.get(DATA_CONTEXT_CONNECTION)!;
const connectionKey = context.get(DATA_CONTEXT_CONNECTION)!;
const connection = await this.connectionInfoResource.load(connectionKey);
const fileName = withTimestamp(`${connection.name}${node.name ? ` - ${node.name}` : ''}`);
this.commonDialogService.open(DataExportDialog, {
connectionKey: createConnectionParam(connection),
connectionKey,
name: node.name,
fileName,
containerNodePath: node.id,