Files
cloudbeaver/webapp/packages/plugin-sql-editor-navigation-tab-script/src/SqlEditorTabResourceService.ts
T
Alexey Potsetsuevandmr-anton-t 80f258b561 dbeaver/pro#6744 refactor: migration to @wroud/di (#3704)
* dbeaver/pro#6744 refactor: migration to `@wroud/di`

* tests: enable settings tests

* chore: update syntax

* fix: dynamic theme detection

* fix: skip not stable test

* fix: skip whole test

* fix: make theme optional

* fix: page reload

* tests: skip unstable test

* fix: remove optional

* fix: load system theme

* fix: prevent the system theme from always loading despite not being selected

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
2025-08-29 18:22:11 +08:00

31 lines
1.1 KiB
TypeScript

/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2024 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
import { injectable } from '@cloudbeaver/core-di';
import { SqlDataSourceService } from '@cloudbeaver/plugin-sql-editor';
import { SqlEditorTabService } from '@cloudbeaver/plugin-sql-editor-navigation-tab';
import { ResourceSqlDataSource } from './ResourceSqlDataSource.js';
@injectable(() => [SqlEditorTabService, SqlDataSourceService])
export class SqlEditorTabResourceService {
constructor(
private readonly sqlEditorTabService: SqlEditorTabService,
private readonly sqlDataSourceService: SqlDataSourceService,
) {}
getResourceTab(key: string) {
const dataSource = this.sqlDataSourceService.dataSources.find(
([, dataSource]) => dataSource instanceof ResourceSqlDataSource && dataSource.resourceKey === key,
);
const tab = this.sqlEditorTabService.sqlEditorTabs.find(tab => dataSource && tab.handlerState.editorId === dataSource[0]);
return tab;
}
}