-
+
{presentations.map(presentation => (
))}
diff --git a/webapp/packages/plugin-data-viewer/src/TableViewer/TablePresentationBar/shared/TablePresentationBar.m.css b/webapp/packages/plugin-data-viewer/src/TableViewer/TablePresentationBar/shared/TablePresentationBar.m.css
index 740eb13d7a..a20e8a4ba4 100644
--- a/webapp/packages/plugin-data-viewer/src/TableViewer/TablePresentationBar/shared/TablePresentationBar.m.css
+++ b/webapp/packages/plugin-data-viewer/src/TableViewer/TablePresentationBar/shared/TablePresentationBar.m.css
@@ -7,7 +7,7 @@
*/
.tableLeftBar {
- display: flex;
+ overflow: auto;
}
.tabListFlexible .tabOuter:only-child {
diff --git a/webapp/packages/plugin-data-viewer/src/TableViewer/ValuePanel/ValuePanel.tsx b/webapp/packages/plugin-data-viewer/src/TableViewer/ValuePanel/ValuePanel.tsx
index 5815512a8f..c298d2b058 100644
--- a/webapp/packages/plugin-data-viewer/src/TableViewer/ValuePanel/ValuePanel.tsx
+++ b/webapp/packages/plugin-data-viewer/src/TableViewer/ValuePanel/ValuePanel.tsx
@@ -10,7 +10,7 @@ import { observer } from 'mobx-react-lite';
import { s, SContext, type StyleRegistry, useS } from '@cloudbeaver/core-blocks';
import { useService } from '@cloudbeaver/core-di';
-import { TabList, TabPanelList, TabPanelStyles, TabsState, TabStyles, TabUnderlineStyleRegistry } from '@cloudbeaver/core-ui';
+import { TabList, TabPanelList, TabPanelStyles, TabsState, TabStyles } from '@cloudbeaver/core-ui';
import { MetadataMap } from '@cloudbeaver/core-utils';
import { DatabaseDataResultAction } from '../../DatabaseDataModel/Actions/DatabaseDataResultAction';
@@ -24,10 +24,9 @@ import ValuePanelEditorTabPanel from './shared/ValuePanelEditorTabPanel.m.css';
import ValuePanelEditorTabs from './shared/ValuePanelEditorTabs.m.css';
import ValuePanelTab from './shared/ValuePanelTab.m.css';
-const tabListRegistry: StyleRegistry = [...TabUnderlineStyleRegistry, [TabStyles, { mode: 'append', styles: [ValuePanelTab] }]];
+const tabListRegistry: StyleRegistry = [[TabStyles, { mode: 'append', styles: [ValuePanelTab] }]];
const tabPanelListRegistry: StyleRegistry = [
- ...TabUnderlineStyleRegistry,
[TabStyles, { mode: 'append', styles: [ValuePanelEditorTabs] }],
[TabPanelStyles, { mode: 'append', styles: [ValuePanelEditorTabPanel] }],
];
@@ -80,7 +79,7 @@ export const ValuePanel: DataPresentationComponent = ob
onChange={tab => state.setCurrentTabId(tab.tabId)}
>
-
+
diff --git a/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/TextValuePresentation.tsx b/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/TextValuePresentation.tsx
index e78bb739e9..a6ae86cbff 100644
--- a/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/TextValuePresentation.tsx
+++ b/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/TextValuePresentation.tsx
@@ -8,10 +8,10 @@
import { observable } from 'mobx';
import { observer } from 'mobx-react-lite';
-import { ActionIconButton, Container, Fill, Group, Loader, s, SContext, StyleRegistry, useS, useTranslate } from '@cloudbeaver/core-blocks';
+import { ActionIconButton, Container, Group, Loader, s, SContext, StyleRegistry, useS, useTranslate } from '@cloudbeaver/core-blocks';
import { useService } from '@cloudbeaver/core-di';
import { NotificationService } from '@cloudbeaver/core-events';
-import { TabContainerPanelComponent, TabList, TabsState, TabStyles, TabUnderlineStyleRegistry, useTabLocalState } from '@cloudbeaver/core-ui';
+import { TabContainerPanelComponent, TabList, TabsState, TabStyles, useTabLocalState } from '@cloudbeaver/core-ui';
import { ResultSetSelectAction } from '../../DatabaseDataModel/Actions/ResultSet/ResultSetSelectAction';
import { useResultSetActions } from '../../DatabaseDataModel/Actions/ResultSet/useResultSetActions';
@@ -25,14 +25,14 @@ import { TextValuePresentationService } from './TextValuePresentationService';
import { TextValueTruncatedMessage } from './TextValueTruncatedMessage';
import { useTextValue } from './useTextValue';
-const tabRegistry: StyleRegistry = [...TabUnderlineStyleRegistry, [TabStyles, { mode: 'append', styles: [TextValuePresentationTab] }]];
+const tabRegistry: StyleRegistry = [[TabStyles, { mode: 'append', styles: [TextValuePresentationTab] }]];
export const TextValuePresentation: TabContainerPanelComponent> = observer(
function TextValuePresentation({ model, resultIndex, dataFormat }) {
const translate = useTranslate();
const notificationService = useService(NotificationService);
const textValuePresentationService = useService(TextValuePresentationService);
- const style = useS(styles);
+ const style = useS(styles, TextValuePresentationTab);
const selection = model.source.getAction(resultIndex, ResultSetSelectAction);
const activeElements = selection.getActiveElements();
const firstSelectedCell = activeElements.length ? activeElements[0] : undefined;
@@ -117,7 +117,7 @@ export const TextValuePresentation: TabContainerPanelComponent selectTabHandler(tab.tabId)}
>
-
+
diff --git a/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/shared/TextValuePresentationTab.m.css b/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/shared/TextValuePresentationTab.m.css
index 378d4d71b5..e473724bad 100644
--- a/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/shared/TextValuePresentationTab.m.css
+++ b/webapp/packages/plugin-data-viewer/src/ValuePanelPresentation/TextValue/shared/TextValuePresentationTab.m.css
@@ -7,6 +7,9 @@
*/
.tab {
composes: theme-ripple theme-background-surface theme-text-text-primary-on-light from global;
+}
+
+.textValuePresentationTab.underline .tab {
border-bottom: 0;
&:global([aria-selected='false']) {
diff --git a/webapp/packages/plugin-data-viewer/src/manifest.ts b/webapp/packages/plugin-data-viewer/src/manifest.ts
index edc6a19cd8..4421c69e9f 100644
--- a/webapp/packages/plugin-data-viewer/src/manifest.ts
+++ b/webapp/packages/plugin-data-viewer/src/manifest.ts
@@ -7,46 +7,28 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { DataPresentationService } from './DataPresentationService';
-import { DataViewerBootstrap } from './DataViewerBootstrap';
-import { DataViewerDataChangeConfirmationService } from './DataViewerDataChangeConfirmationService';
-import { DataViewerService } from './DataViewerService';
-import { DataViewerSettingsService } from './DataViewerSettingsService';
-import { DataViewerTableService } from './DataViewerTableService';
-import { DataViewerTabService } from './DataViewerTabService';
-import { LocaleService } from './LocaleService';
-import { TableFooterMenuService } from './TableViewer/TableFooter/TableFooterMenu/TableFooterMenuService';
-import { TableHeaderService } from './TableViewer/TableHeader/TableHeaderService';
-import { TableViewerStorageService } from './TableViewer/TableViewerStorageService';
-import { DataValuePanelBootstrap } from './TableViewer/ValuePanel/DataValuePanelBootstrap';
-import { DataValuePanelService } from './TableViewer/ValuePanel/DataValuePanelService';
-import { BooleanValuePresentationBootstrap } from './ValuePanelPresentation/BooleanValue/BooleanValuePresentationBootstrap';
-import { ImageValuePresentationBootstrap } from './ValuePanelPresentation/ImageValue/ImageValuePresentationBootstrap';
-import { TextValuePresentationBootstrap } from './ValuePanelPresentation/TextValue/TextValuePresentationBootstrap';
-import { TextValuePresentationService } from './ValuePanelPresentation/TextValue/TextValuePresentationService';
-
export const dataViewerManifest: PluginManifest = {
info: {
name: 'Data Viewer Plugin',
},
providers: [
- DataViewerBootstrap,
- DataViewerTabService,
- DataViewerTableService,
- DataPresentationService,
- TableViewerStorageService,
- TableFooterMenuService,
- TableHeaderService,
- LocaleService,
- DataValuePanelService,
- TextValuePresentationService,
- DataViewerDataChangeConfirmationService,
- TextValuePresentationBootstrap,
- ImageValuePresentationBootstrap,
- BooleanValuePresentationBootstrap,
- DataValuePanelBootstrap,
- DataViewerSettingsService,
- DataViewerService,
+ () => import('./DataViewerBootstrap').then(m => m.DataViewerBootstrap),
+ () => import('./DataViewerTabService').then(m => m.DataViewerTabService),
+ () => import('./DataViewerTableService').then(m => m.DataViewerTableService),
+ () => import('./DataPresentationService').then(m => m.DataPresentationService),
+ () => import('./TableViewer/TableViewerStorageService').then(m => m.TableViewerStorageService),
+ () => import('./TableViewer/TableFooter/TableFooterMenu/TableFooterMenuService').then(m => m.TableFooterMenuService),
+ () => import('./TableViewer/TableHeader/TableHeaderService').then(m => m.TableHeaderService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./TableViewer/ValuePanel/DataValuePanelService').then(m => m.DataValuePanelService),
+ () => import('./ValuePanelPresentation/TextValue/TextValuePresentationService').then(m => m.TextValuePresentationService),
+ () => import('./DataViewerDataChangeConfirmationService').then(m => m.DataViewerDataChangeConfirmationService),
+ () => import('./ValuePanelPresentation/TextValue/TextValuePresentationBootstrap').then(m => m.TextValuePresentationBootstrap),
+ () => import('./ValuePanelPresentation/ImageValue/ImageValuePresentationBootstrap').then(m => m.ImageValuePresentationBootstrap),
+ () => import('./ValuePanelPresentation/BooleanValue/BooleanValuePresentationBootstrap').then(m => m.BooleanValuePresentationBootstrap),
+ () => import('./TableViewer/ValuePanel/DataValuePanelBootstrap').then(m => m.DataValuePanelBootstrap),
+ () => import('./DataViewerSettingsService').then(m => m.DataViewerSettingsService),
+ () => import('./DataViewerService').then(m => m.DataViewerService),
],
};
diff --git a/webapp/packages/plugin-datasource-context-switch/src/manifest.ts b/webapp/packages/plugin-datasource-context-switch/src/manifest.ts
index 297a5bb298..660e8af895 100644
--- a/webapp/packages/plugin-datasource-context-switch/src/manifest.ts
+++ b/webapp/packages/plugin-datasource-context-switch/src/manifest.ts
@@ -7,15 +7,15 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { ConnectionSchemaManagerBootstrap } from './ConnectionSchemaManager/ConnectionSchemaManagerBootstrap';
-import { ConnectionSchemaManagerService } from './ConnectionSchemaManager/ConnectionSchemaManagerService';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const datasourceContextSwitchPluginManifest: PluginManifest = {
info: {
name: 'Datasource context switch plugin',
},
- providers: [PluginBootstrap, ConnectionSchemaManagerService, ConnectionSchemaManagerBootstrap, LocaleService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./ConnectionSchemaManager/ConnectionSchemaManagerService').then(m => m.ConnectionSchemaManagerService),
+ () => import('./ConnectionSchemaManager/ConnectionSchemaManagerBootstrap').then(m => m.ConnectionSchemaManagerBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-datasource-transaction-manager/src/manifest.ts b/webapp/packages/plugin-datasource-transaction-manager/src/manifest.ts
index d078f4db84..3a0f225920 100644
--- a/webapp/packages/plugin-datasource-transaction-manager/src/manifest.ts
+++ b/webapp/packages/plugin-datasource-transaction-manager/src/manifest.ts
@@ -7,14 +7,14 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { TransactionManagerBootstrap } from './TransactionManagerBootstrap';
-import { TransactionManagerSettingsService } from './TransactionManagerSettingsService';
-
export const datasourceTransactionManagerPlugin: PluginManifest = {
info: {
name: 'Datasource transaction manager plugin',
},
- providers: [TransactionManagerBootstrap, TransactionManagerSettingsService, LocaleService],
+ providers: [
+ () => import('./TransactionManagerBootstrap').then(m => m.TransactionManagerBootstrap),
+ () => import('./TransactionManagerSettingsService').then(m => m.TransactionManagerSettingsService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-ddl-viewer/src/manifest.ts b/webapp/packages/plugin-ddl-viewer/src/manifest.ts
index 3bd916a258..be83beacdd 100644
--- a/webapp/packages/plugin-ddl-viewer/src/manifest.ts
+++ b/webapp/packages/plugin-ddl-viewer/src/manifest.ts
@@ -7,15 +7,15 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { DdlResource } from './DdlViewer/DdlResource';
-import { DDLViewerFooterService } from './DdlViewer/DDLViewerFooterService';
-import { DdlViewerBootstrap } from './DdlViewerBootstrap';
-import { ExtendedDDLResource } from './ExtendedDDLViewer/ExtendedDDLResource';
-
export const manifest: PluginManifest = {
info: {
name: 'DDL Viewer Plugin',
},
- providers: [DdlViewerBootstrap, DDLViewerFooterService, ExtendedDDLResource, DdlResource],
+ providers: [
+ () => import('./DdlViewerBootstrap').then(m => m.DdlViewerBootstrap),
+ () => import('./DdlViewer/DDLViewerFooterService').then(m => m.DDLViewerFooterService),
+ () => import('./ExtendedDDLViewer/ExtendedDDLResource').then(m => m.ExtendedDDLResource),
+ () => import('./DdlViewer/DdlResource').then(m => m.DdlResource),
+ ],
};
diff --git a/webapp/packages/plugin-devtools/src/PluginBootstrap.ts b/webapp/packages/plugin-devtools/src/PluginBootstrap.ts
index 25b32164a2..ccb2983e38 100644
--- a/webapp/packages/plugin-devtools/src/PluginBootstrap.ts
+++ b/webapp/packages/plugin-devtools/src/PluginBootstrap.ts
@@ -85,7 +85,7 @@ export class PluginBootstrap extends Bootstrap {
if (search) {
return [
new SearchResourceMenuItem(),
- ...this.getResources(this.app.getServices().filter(service => service.name.toLocaleLowerCase().includes(search.toLocaleLowerCase()))),
+ // ...this.getResources(this.app.services.filter(service => service.name.toLocaleLowerCase().includes(search.toLocaleLowerCase()))),
];
}
@@ -152,7 +152,7 @@ export class PluginBootstrap extends Bootstrap {
return items;
}
- return [...this.getResources(plugin.providers), ...items];
+ return [/*...this.getResources(plugin.providers),*/ ...items];
},
});
diff --git a/webapp/packages/plugin-devtools/src/manifest.ts b/webapp/packages/plugin-devtools/src/manifest.ts
index a4acc1022a..a185c4766f 100644
--- a/webapp/packages/plugin-devtools/src/manifest.ts
+++ b/webapp/packages/plugin-devtools/src/manifest.ts
@@ -7,12 +7,9 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { DevToolsService } from './DevToolsService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const devToolsPlugin: PluginManifest = {
info: {
name: 'DevTools plugin',
},
- providers: [PluginBootstrap, DevToolsService],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap), () => import('./DevToolsService').then(m => m.DevToolsService)],
};
diff --git a/webapp/packages/plugin-gis-viewer/src/manifest.ts b/webapp/packages/plugin-gis-viewer/src/manifest.ts
index 7346bbfbce..9ecdd388b2 100644
--- a/webapp/packages/plugin-gis-viewer/src/manifest.ts
+++ b/webapp/packages/plugin-gis-viewer/src/manifest.ts
@@ -1,11 +1,15 @@
+/*
+ * 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 type { PluginManifest } from '@cloudbeaver/core-di';
-import { GISViewerBootstrap } from './GISViewerBootstrap';
-import { LocaleService } from './LocaleService';
-
export const manifest: PluginManifest = {
info: {
name: 'GIS Viewer plugin',
},
- providers: [GISViewerBootstrap, LocaleService],
+ providers: [() => import('./GISViewerBootstrap').then(m => m.GISViewerBootstrap), () => import('./LocaleService').then(m => m.LocaleService)],
};
diff --git a/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.m.css b/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.m.css
index 8115916480..0cded155ee 100644
--- a/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.m.css
+++ b/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.m.css
@@ -11,6 +11,3 @@
.container {
composes: theme-typography--body2 from global;
}
-.groupTitle {
- font-weight: bold;
-}
diff --git a/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.tsx b/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.tsx
index f12bbbf762..5653079808 100644
--- a/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.tsx
+++ b/webapp/packages/plugin-help/src/Shortcuts/ShortcutsDialog.tsx
@@ -35,7 +35,7 @@ export const ShortcutsDialog: DialogComponent
= function ShortcutsDialog({
-
+
Data Viewer
@@ -45,7 +45,7 @@ export const ShortcutsDialog: DialogComponent = function ShortcutsDialog({
))}
-
+
SQL Editor
@@ -55,7 +55,7 @@ export const ShortcutsDialog: DialogComponent = function ShortcutsDialog({
))}
-
+
Navigation Tree
diff --git a/webapp/packages/plugin-help/src/manifest.ts b/webapp/packages/plugin-help/src/manifest.ts
index 0fd95561f6..c05806ff01 100644
--- a/webapp/packages/plugin-help/src/manifest.ts
+++ b/webapp/packages/plugin-help/src/manifest.ts
@@ -7,13 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const manifest: PluginManifest = {
info: {
name: 'Help plugin',
},
- providers: [PluginBootstrap, LocaleService],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap), () => import('./LocaleService').then(m => m.LocaleService)],
};
diff --git a/webapp/packages/plugin-localization/src/manifest.ts b/webapp/packages/plugin-localization/src/manifest.ts
index 1ce8b96111..fa6eeec745 100644
--- a/webapp/packages/plugin-localization/src/manifest.ts
+++ b/webapp/packages/plugin-localization/src/manifest.ts
@@ -7,9 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const localizationPlugin: PluginManifest = {
info: { name: 'Localization plugin' },
- providers: [PluginBootstrap],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap)],
};
diff --git a/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.m.css b/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.m.css
index 24dd7a70dc..697218a078 100644
--- a/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.m.css
+++ b/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.m.css
@@ -40,6 +40,10 @@
overflow: auto;
min-height: 40px;
max-height: 96px;
+
+ &:empty {
+ display: none;
+ }
}
.type,
diff --git a/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.tsx b/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.tsx
index 5f94e8f603..c6db042742 100644
--- a/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.tsx
+++ b/webapp/packages/plugin-log-viewer/src/LogViewer/LogViewerInfoPanel.tsx
@@ -32,13 +32,15 @@ export const LogViewerInfoPanel = observer(function LogViewerInfoPanel({
return (
-
-
- {translate('ui_copy_to_clipboard')}
-
-
- {translate('ui_close')}
-
+
+
+
+ {translate('ui_copy_to_clipboard')}
+
+
+ {translate('ui_close')}
+
+
{typeInfo}
diff --git a/webapp/packages/plugin-log-viewer/src/manifest.ts b/webapp/packages/plugin-log-viewer/src/manifest.ts
index eea90c59f1..2ae61c1086 100644
--- a/webapp/packages/plugin-log-viewer/src/manifest.ts
+++ b/webapp/packages/plugin-log-viewer/src/manifest.ts
@@ -7,14 +7,14 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { LogViewerBootstrap } from './LogViewer/LogViewerBootstrap';
-import { LogViewerService } from './LogViewer/LogViewerService';
-import { LogViewerSettingsService } from './LogViewer/LogViewerSettingsService';
-import { SessionLogsEventHandler } from './SessionLogsEventHandler';
-import { SessionLogsResource } from './SessionLogsResource';
-
export const logViewerPlugin: PluginManifest = {
info: { name: 'Log viewer plugin' },
- providers: [LogViewerBootstrap, LogViewerService, LocaleService, LogViewerSettingsService, SessionLogsResource, SessionLogsEventHandler],
+ providers: [
+ () => import('./LogViewer/LogViewerBootstrap').then(m => m.LogViewerBootstrap),
+ () => import('./LogViewer/LogViewerService').then(m => m.LogViewerService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./LogViewer/LogViewerSettingsService').then(m => m.LogViewerSettingsService),
+ () => import('./SessionLogsResource').then(m => m.SessionLogsResource),
+ () => import('./SessionLogsEventHandler').then(m => m.SessionLogsEventHandler),
+ ],
};
diff --git a/webapp/packages/plugin-navigation-tabs/src/manifest.ts b/webapp/packages/plugin-navigation-tabs/src/manifest.ts
index c0674797de..758c609db7 100644
--- a/webapp/packages/plugin-navigation-tabs/src/manifest.ts
+++ b/webapp/packages/plugin-navigation-tabs/src/manifest.ts
@@ -7,10 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { NavigationTabsService } from './NavigationTabs/NavigationTabsService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const navigationTabsPlugin: PluginManifest = {
info: { name: 'Navigation tabs plugin' },
- providers: [PluginBootstrap, NavigationTabsService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./NavigationTabs/NavigationTabsService').then(m => m.NavigationTabsService),
+ ],
};
diff --git a/webapp/packages/plugin-navigation-tree-filters/src/manifest.ts b/webapp/packages/plugin-navigation-tree-filters/src/manifest.ts
index d8156c341a..7ffe3332ec 100644
--- a/webapp/packages/plugin-navigation-tree-filters/src/manifest.ts
+++ b/webapp/packages/plugin-navigation-tree-filters/src/manifest.ts
@@ -7,13 +7,13 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { NavigationTreeFiltersBootstrap } from './NavigationTreeFiltersBootstrap';
-
export const navigationTreeFiltersPlugin: PluginManifest = {
info: {
name: 'Navigation tree filters plugin',
},
- providers: [LocaleService, NavigationTreeFiltersBootstrap],
+ providers: [
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./NavigationTreeFiltersBootstrap').then(m => m.NavigationTreeFiltersBootstrap),
+ ],
};
diff --git a/webapp/packages/plugin-navigation-tree-rm/src/manifest.ts b/webapp/packages/plugin-navigation-tree-rm/src/manifest.ts
index 6a789d88e0..5e2d1e229d 100644
--- a/webapp/packages/plugin-navigation-tree-rm/src/manifest.ts
+++ b/webapp/packages/plugin-navigation-tree-rm/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { ResourceFoldersBootstrap } from './NavNodes/ResourceFoldersBootstrap';
-import { NavResourceNodeService } from './NavResourceNodeService';
-import { NavTreeRMContextMenuService } from './NavTreeRMContextMenuService';
-
export const navigationTreeRMPlugin: PluginManifest = {
info: { name: 'Navigation Tree RM plugin' },
- providers: [LocaleService, NavResourceNodeService, ResourceFoldersBootstrap, NavTreeRMContextMenuService],
+ providers: [
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./NavResourceNodeService').then(m => m.NavResourceNodeService),
+ () => import('./NavNodes/ResourceFoldersBootstrap').then(m => m.ResourceFoldersBootstrap),
+ () => import('./NavTreeRMContextMenuService').then(m => m.NavTreeRMContextMenuService),
+ ],
};
diff --git a/webapp/packages/plugin-navigation-tree/src/manifest.ts b/webapp/packages/plugin-navigation-tree/src/manifest.ts
index 8ad1f11f80..2d1a656346 100644
--- a/webapp/packages/plugin-navigation-tree/src/manifest.ts
+++ b/webapp/packages/plugin-navigation-tree/src/manifest.ts
@@ -7,27 +7,20 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { ElementsTreeService } from './NavigationTree/ElementsTree/ElementsTreeService';
-import { ElementsTreeToolsMenuService } from './NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService';
-import { ElementsTreeSettingsService } from './NavigationTree/ElementsTree/ElementsTreeTools/NavigationTreeSettings/ElementsTreeSettingsService';
-import { NavigationTreeBootstrap } from './NavigationTree/NavigationTreeBootstrap';
-import { NavigationTreeService } from './NavigationTree/NavigationTreeService';
-import { NavigationTreeSettingsService } from './NavigationTreeSettingsService';
-import { NavNodeContextMenuService } from './NodesManager/NavNodeContextMenuService';
-import { NavNodeViewService } from './NodesManager/NavNodeView/NavNodeViewService';
-
export const navigationTreePlugin: PluginManifest = {
info: { name: 'Navigation Tree plugin' },
providers: [
- LocaleService,
- NavigationTreeService,
- ElementsTreeToolsMenuService,
- NavigationTreeBootstrap,
- NavNodeContextMenuService,
- NavNodeViewService,
- ElementsTreeSettingsService,
- NavigationTreeSettingsService,
- ElementsTreeService,
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./NavigationTree/NavigationTreeService').then(m => m.NavigationTreeService),
+ () => import('./NavigationTree/ElementsTree/ElementsTreeTools/ElementsTreeToolsMenuService').then(m => m.ElementsTreeToolsMenuService),
+ () => import('./NavigationTree/NavigationTreeBootstrap').then(m => m.NavigationTreeBootstrap),
+ () => import('./NodesManager/NavNodeContextMenuService').then(m => m.NavNodeContextMenuService),
+ () => import('./NodesManager/NavNodeView/NavNodeViewService').then(m => m.NavNodeViewService),
+ () =>
+ import('./NavigationTree/ElementsTree/ElementsTreeTools/NavigationTreeSettings/ElementsTreeSettingsService').then(
+ m => m.ElementsTreeSettingsService,
+ ),
+ () => import('./NavigationTreeSettingsService').then(m => m.NavigationTreeSettingsService),
+ () => import('./NavigationTree/ElementsTree/ElementsTreeService').then(m => m.ElementsTreeService),
],
};
diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectFolders.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectFolders.tsx
index c267c5fc24..18dacdf2f4 100644
--- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectFolders.tsx
+++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectFolders.tsx
@@ -15,7 +15,6 @@ import {
ITabData,
TabList,
TabListStyles,
- TabListVerticalRegistry,
TabPanel,
TabPanelStyles,
TabsState,
@@ -42,7 +41,6 @@ interface IProps {
}
const objectFoldersRegistry: StyleRegistry = [
- ...TabListVerticalRegistry,
[
NavNodeTabStyle,
{
@@ -117,7 +115,7 @@ export const ObjectFolders = observer
(function ObjectFolders({ tab }) {
return folders.length > 0 ? (
-
+
{folders.map(folderId => (
))}
diff --git a/webapp/packages/plugin-object-viewer/src/manifest.ts b/webapp/packages/plugin-object-viewer/src/manifest.ts
index db2fc1a3d6..63d902dd87 100644
--- a/webapp/packages/plugin-object-viewer/src/manifest.ts
+++ b/webapp/packages/plugin-object-viewer/src/manifest.ts
@@ -7,26 +7,17 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { DBObjectPageService } from './ObjectPage/DBObjectPageService';
-import { NavNodeMetadataViewBootstrap } from './ObjectPropertiesPage/NavNodeView/NavNodeMetadata/NavNodeMetadataViewBootstrap';
-import { VirtualFolderViewBootstrap } from './ObjectPropertiesPage/NavNodeView/VirtualFolder/VirtualFolderViewBootstrap';
-import { ObjectPropertiesPageService } from './ObjectPropertiesPage/ObjectPropertiesPageService';
-import { ObjectPropertyTableFooterService } from './ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTableFooterService';
-import { ObjectViewerBootstrap } from './ObjectViewerBootstrap';
-import { ObjectViewerTabService } from './ObjectViewerTabService';
-
export const objectViewerManifest: PluginManifest = {
info: { name: 'Object Viewer Plugin' },
providers: [
- ObjectViewerBootstrap,
- NavNodeMetadataViewBootstrap,
- VirtualFolderViewBootstrap,
- ObjectPropertiesPageService,
- ObjectViewerTabService,
- DBObjectPageService,
- LocaleService,
- ObjectPropertyTableFooterService,
+ () => import('./ObjectViewerBootstrap').then(m => m.ObjectViewerBootstrap),
+ () => import('./ObjectPropertiesPage/NavNodeView/NavNodeMetadata/NavNodeMetadataViewBootstrap').then(m => m.NavNodeMetadataViewBootstrap),
+ () => import('./ObjectPropertiesPage/NavNodeView/VirtualFolder/VirtualFolderViewBootstrap').then(m => m.VirtualFolderViewBootstrap),
+ () => import('./ObjectPropertiesPage/ObjectPropertiesPageService').then(m => m.ObjectPropertiesPageService),
+ () => import('./ObjectViewerTabService').then(m => m.ObjectViewerTabService),
+ () => import('./ObjectPage/DBObjectPageService').then(m => m.DBObjectPageService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTableFooterService').then(m => m.ObjectPropertyTableFooterService),
],
};
diff --git a/webapp/packages/plugin-product/src/manifest.ts b/webapp/packages/plugin-product/src/manifest.ts
index 42015d2c7d..98ed0acf1d 100644
--- a/webapp/packages/plugin-product/src/manifest.ts
+++ b/webapp/packages/plugin-product/src/manifest.ts
@@ -7,10 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { ProductBootstrap } from './ProductBootstrap';
-
export const productPlugin: PluginManifest = {
info: { name: 'Product plugin' },
- providers: [ProductBootstrap, LocaleService],
+ providers: [() => import('./ProductBootstrap').then(m => m.ProductBootstrap), () => import('./LocaleService').then(m => m.LocaleService)],
};
diff --git a/webapp/packages/plugin-projects/src/manifest.ts b/webapp/packages/plugin-projects/src/manifest.ts
index 690af14ee2..594fc0cdcf 100644
--- a/webapp/packages/plugin-projects/src/manifest.ts
+++ b/webapp/packages/plugin-projects/src/manifest.ts
@@ -7,13 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const manifest: PluginManifest = {
info: {
name: 'Projects plugin',
},
- providers: [PluginBootstrap, LocaleService],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap), () => import('./LocaleService').then(m => m.LocaleService)],
};
diff --git a/webapp/packages/plugin-resource-manager-administration/src/manifest.ts b/webapp/packages/plugin-resource-manager-administration/src/manifest.ts
index c17d94af58..7b6c9a33a0 100644
--- a/webapp/packages/plugin-resource-manager-administration/src/manifest.ts
+++ b/webapp/packages/plugin-resource-manager-administration/src/manifest.ts
@@ -7,10 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const resourceManagerAdministrationPlugin: PluginManifest = {
info: { name: 'Resource manager administration plugin' },
- providers: [PluginBootstrap, LocaleService],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap), () => import('./LocaleService').then(m => m.LocaleService)],
};
diff --git a/webapp/packages/plugin-resource-manager-scripts/src/manifest.ts b/webapp/packages/plugin-resource-manager-scripts/src/manifest.ts
index 1698f5ab17..8ca4df9515 100644
--- a/webapp/packages/plugin-resource-manager-scripts/src/manifest.ts
+++ b/webapp/packages/plugin-resource-manager-scripts/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { ResourceManagerScriptsService } from './ResourceManagerScriptsService';
-import { ResourceManagerScriptsSettingsService } from './ResourceManagerScriptsSettingsService';
-
export const resourceManagerScriptsPlugin: PluginManifest = {
info: { name: 'Resource manager scripts plugin' },
- providers: [PluginBootstrap, LocaleService, ResourceManagerScriptsService, ResourceManagerScriptsSettingsService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./ResourceManagerScriptsService').then(m => m.ResourceManagerScriptsService),
+ () => import('./ResourceManagerScriptsSettingsService').then(m => m.ResourceManagerScriptsSettingsService),
+ ],
};
diff --git a/webapp/packages/plugin-resource-manager/src/manifest.ts b/webapp/packages/plugin-resource-manager/src/manifest.ts
index 2fd4e7b385..30f9f26b07 100644
--- a/webapp/packages/plugin-resource-manager/src/manifest.ts
+++ b/webapp/packages/plugin-resource-manager/src/manifest.ts
@@ -7,20 +7,14 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { ResourceManagerService } from './ResourceManagerService';
-import { ResourceManagerSettingsService } from './ResourceManagerSettingsService';
-
-// import { ResourceProjectsResource } from './ResourceProjectsResource';
-
+//
export const resourceManagerPlugin: PluginManifest = {
info: { name: 'Resource manager plugin' },
providers: [
- ResourceManagerSettingsService,
- PluginBootstrap,
- LocaleService,
- ResourceManagerService,
- // ResourceProjectsResource,
+ () => import('./ResourceManagerSettingsService').then(m => m.ResourceManagerSettingsService),
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./ResourceManagerService').then(m => m.ResourceManagerService),
+ // () => import('./ResourceProjectsResource').then(m => m.ResourceProjectsResource),
],
};
diff --git a/webapp/packages/plugin-root/src/manifest.ts b/webapp/packages/plugin-root/src/manifest.ts
index 589c4152b1..28ed5bfbd5 100644
--- a/webapp/packages/plugin-root/src/manifest.ts
+++ b/webapp/packages/plugin-root/src/manifest.ts
@@ -7,13 +7,13 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { DataSynchronizationResolverBootstrap } from './DataSynchronization/DataSynchronizationResolverBootstrap';
-import { LocaleService } from './LocaleService';
-import { NetworkStateNotificationService } from './NetworkStateNotification/NetworkStateNotificationService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { ServerNodeChangedDialogService } from './ServerNodeChangedDialog/ServerNodeChangedDialogService';
-
export const rootPlugin: PluginManifest = {
info: { name: 'Root plugin' },
- providers: [LocaleService, PluginBootstrap, ServerNodeChangedDialogService, NetworkStateNotificationService, DataSynchronizationResolverBootstrap],
+ providers: [
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./ServerNodeChangedDialog/ServerNodeChangedDialogService').then(m => m.ServerNodeChangedDialogService),
+ () => import('./NetworkStateNotification/NetworkStateNotificationService').then(m => m.NetworkStateNotificationService),
+ () => import('./DataSynchronization/DataSynchronizationResolverBootstrap').then(m => m.DataSynchronizationResolverBootstrap),
+ ],
};
diff --git a/webapp/packages/plugin-session-expiration/src/manifest.ts b/webapp/packages/plugin-session-expiration/src/manifest.ts
index e625ebfafd..ef3b4a1d63 100644
--- a/webapp/packages/plugin-session-expiration/src/manifest.ts
+++ b/webapp/packages/plugin-session-expiration/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { SessionExpiredDialogBootstrap } from './SessionExpireDialog/SessionExpiredDialogBootstrap';
-import { SessionExpireWarningDialogBootstrap } from './SessionExpireWarningDialog/SessionExpireWarningDialogBootstrap';
-
export const sessionExpirationPlugin: PluginManifest = {
info: { name: 'Session Expiration plugin' },
- providers: [PluginBootstrap, SessionExpiredDialogBootstrap, SessionExpireWarningDialogBootstrap, LocaleService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./SessionExpireDialog/SessionExpiredDialogBootstrap').then(m => m.SessionExpiredDialogBootstrap),
+ () => import('./SessionExpireWarningDialog/SessionExpireWarningDialogBootstrap').then(m => m.SessionExpireWarningDialogBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-settings-administration/src/manifest.ts b/webapp/packages/plugin-settings-administration/src/manifest.ts
index 1c4a5f7965..f5a0129988 100644
--- a/webapp/packages/plugin-settings-administration/src/manifest.ts
+++ b/webapp/packages/plugin-settings-administration/src/manifest.ts
@@ -7,10 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { SettingsAdministrationPluginBootstrap } from './SettingsAdministrationPluginBootstrap';
-
export const settingsAdministrationPlugin: PluginManifest = {
info: { name: 'Settings Administration plugin' },
- providers: [SettingsAdministrationPluginBootstrap, LocaleService],
+ providers: [
+ () => import('./SettingsAdministrationPluginBootstrap').then(m => m.SettingsAdministrationPluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-settings-menu-administration/src/manifest.ts b/webapp/packages/plugin-settings-menu-administration/src/manifest.ts
index 6fc4e5fcc5..e47dd1d327 100644
--- a/webapp/packages/plugin-settings-menu-administration/src/manifest.ts
+++ b/webapp/packages/plugin-settings-menu-administration/src/manifest.ts
@@ -7,9 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const settingsMenuAdministrationPlugin: PluginManifest = {
info: { name: 'Settings menu administration plugin' },
- providers: [PluginBootstrap],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap)],
};
diff --git a/webapp/packages/plugin-settings-menu/src/manifest.ts b/webapp/packages/plugin-settings-menu/src/manifest.ts
index ef7b99e9af..abfc5e425b 100644
--- a/webapp/packages/plugin-settings-menu/src/manifest.ts
+++ b/webapp/packages/plugin-settings-menu/src/manifest.ts
@@ -7,9 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const settingsMenuPlugin: PluginManifest = {
info: { name: 'Settings menu plugin' },
- providers: [PluginBootstrap],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap)],
};
diff --git a/webapp/packages/plugin-settings-panel/src/manifest.ts b/webapp/packages/plugin-settings-panel/src/manifest.ts
index 3101dd4be3..c73ba24508 100644
--- a/webapp/packages/plugin-settings-panel/src/manifest.ts
+++ b/webapp/packages/plugin-settings-panel/src/manifest.ts
@@ -7,10 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { SettingsPanelPluginBootstrap } from './SettingsPanelPluginBootstrap';
-
export const settingsPanelPlugin: PluginManifest = {
info: { name: 'Settings panel plugin' },
- providers: [SettingsPanelPluginBootstrap, LocaleService],
+ providers: [
+ () => import('./SettingsPanelPluginBootstrap').then(m => m.SettingsPanelPluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-sql-editor-navigation-tab-script/src/manifest.ts b/webapp/packages/plugin-sql-editor-navigation-tab-script/src/manifest.ts
index e2cc3c4b83..c948d8307b 100644
--- a/webapp/packages/plugin-sql-editor-navigation-tab-script/src/manifest.ts
+++ b/webapp/packages/plugin-sql-editor-navigation-tab-script/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { ResourceSqlDataSourceBootstrap } from './ResourceSqlDataSourceBootstrap';
-import { SqlEditorTabResourceService } from './SqlEditorTabResourceService';
-
export const manifest: PluginManifest = {
info: { name: 'Sql Editor Script plugin' },
- providers: [PluginBootstrap, LocaleService, SqlEditorTabResourceService, ResourceSqlDataSourceBootstrap],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./SqlEditorTabResourceService').then(m => m.SqlEditorTabResourceService),
+ () => import('./ResourceSqlDataSourceBootstrap').then(m => m.ResourceSqlDataSourceBootstrap),
+ ],
};
diff --git a/webapp/packages/plugin-sql-editor-navigation-tab/src/manifest.ts b/webapp/packages/plugin-sql-editor-navigation-tab/src/manifest.ts
index d4eeca941b..c41b6b32c1 100644
--- a/webapp/packages/plugin-sql-editor-navigation-tab/src/manifest.ts
+++ b/webapp/packages/plugin-sql-editor-navigation-tab/src/manifest.ts
@@ -7,15 +7,15 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { SqlEditorBootstrap } from './SqlEditorBootstrap';
-import { SqlEditorNavigatorService } from './SqlEditorNavigatorService';
-import { SqlEditorTabService } from './SqlEditorTabService';
-
export const sqlEditorTabPluginManifest: PluginManifest = {
info: {
name: 'Sql Editor Navigation Tab Plugin',
},
- providers: [SqlEditorBootstrap, SqlEditorTabService, SqlEditorNavigatorService, LocaleService],
+ providers: [
+ () => import('./SqlEditorBootstrap').then(m => m.SqlEditorBootstrap),
+ () => import('./SqlEditorTabService').then(m => m.SqlEditorTabService),
+ () => import('./SqlEditorNavigatorService').then(m => m.SqlEditorNavigatorService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-sql-editor-new/src/manifest.ts b/webapp/packages/plugin-sql-editor-new/src/manifest.ts
index 72e00dc38b..ec6340211c 100644
--- a/webapp/packages/plugin-sql-editor-new/src/manifest.ts
+++ b/webapp/packages/plugin-sql-editor-new/src/manifest.ts
@@ -7,14 +7,14 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { SQLCodeEditorPanelService } from './SQLEditor/SQLCodeEditorPanel/SQLCodeEditorPanelService';
-
export const sqlEditorNewPlugin: PluginManifest = {
info: {
name: 'Sql Editor New Plugin',
},
- providers: [PluginBootstrap, SQLCodeEditorPanelService, LocaleService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./SQLEditor/SQLCodeEditorPanel/SQLCodeEditorPanelService').then(m => m.SQLCodeEditorPanelService),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-sql-editor-screen/src/manifest.ts b/webapp/packages/plugin-sql-editor-screen/src/manifest.ts
index 67a0287be2..e8693522bf 100644
--- a/webapp/packages/plugin-sql-editor-screen/src/manifest.ts
+++ b/webapp/packages/plugin-sql-editor-screen/src/manifest.ts
@@ -7,15 +7,15 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { SqlEditorScreenBootstrap } from './Screen/SqlEditorScreenBootstrap';
-import { SqlEditorScreenService } from './Screen/SqlEditorScreenService';
-
export const sqlEditorPagePluginManifest: PluginManifest = {
info: {
name: 'Sql Editor Page plugin',
},
- providers: [PluginBootstrap, LocaleService, SqlEditorScreenBootstrap, SqlEditorScreenService],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./Screen/SqlEditorScreenBootstrap').then(m => m.SqlEditorScreenBootstrap),
+ () => import('./Screen/SqlEditorScreenService').then(m => m.SqlEditorScreenService),
+ ],
};
diff --git a/webapp/packages/plugin-sql-editor/src/SqlEditor/SqlEditor.tsx b/webapp/packages/plugin-sql-editor/src/SqlEditor/SqlEditor.tsx
index dc558ebabc..b40dbd78fe 100644
--- a/webapp/packages/plugin-sql-editor/src/SqlEditor/SqlEditor.tsx
+++ b/webapp/packages/plugin-sql-editor/src/SqlEditor/SqlEditor.tsx
@@ -10,7 +10,7 @@ import { useEffect, useMemo, useState } from 'react';
import { getComputed, s, SContext, StyleRegistry, useS, useSplit } from '@cloudbeaver/core-blocks';
import { useService } from '@cloudbeaver/core-di';
-import { ITabData, TabList, TabListStyles, TabListVerticalRotatedRegistry, TabPanelList, TabsState, TabStyles } from '@cloudbeaver/core-ui';
+import { ITabData, TabList, TabListStyles, TabPanelList, TabsState, TabStyles } from '@cloudbeaver/core-ui';
import { MetadataMap } from '@cloudbeaver/core-utils';
import { useCaptureViewContext } from '@cloudbeaver/core-view';
@@ -24,14 +24,13 @@ import { SQLEditorActions } from './SQLEditorActions';
import { useSqlEditor } from './useSqlEditor';
const sqlEditorRegistry: StyleRegistry = [
- ...TabListVerticalRotatedRegistry,
[TabListStyles, { mode: 'append', styles: [SqlEditorTabList] }],
[TabStyles, { mode: 'append', styles: [SqlEditorTab] }],
];
export const SqlEditor = observer(function SqlEditor({ state, className }) {
const split = useSplit();
- const style = useS(styles);
+ const style = useS(styles, SqlEditorTab);
const sqlEditorModeService = useService(SqlEditorModeService);
const data = useSqlEditor(state);
const [modesState] = useState(() => new MetadataMap());
@@ -75,7 +74,7 @@ export const SqlEditor = observer(function SqlEditor({ state, c
{displayedEditors > 1 ? (
-
+
) : null}
diff --git a/webapp/packages/plugin-sql-editor/src/SqlEditor/shared/SqlEditorTab.m.css b/webapp/packages/plugin-sql-editor/src/SqlEditor/shared/SqlEditorTab.m.css
index b9475c5b41..eb9675cace 100644
--- a/webapp/packages/plugin-sql-editor/src/SqlEditor/shared/SqlEditorTab.m.css
+++ b/webapp/packages/plugin-sql-editor/src/SqlEditor/shared/SqlEditorTab.m.css
@@ -5,9 +5,10 @@
* Licensed under the Apache License, Version 2.0.
* you may not use this file except in compliance with the License.
*/
-
.tab {
composes: theme-ripple theme-background-background theme-text-text-primary-on-light theme-typography--body2 from global;
+}
+.sqlEditor .tab {
text-transform: uppercase;
font-weight: normal;
diff --git a/webapp/packages/plugin-sql-editor/src/manifest.ts b/webapp/packages/plugin-sql-editor/src/manifest.ts
index 2e08e5e942..7ef0be0d88 100644
--- a/webapp/packages/plugin-sql-editor/src/manifest.ts
+++ b/webapp/packages/plugin-sql-editor/src/manifest.ts
@@ -7,48 +7,29 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { MenuBootstrap } from './MenuBootstrap';
-import { LocalStorageSqlDataSourceBootstrap } from './SqlDataSource/LocalStorage/LocalStorageSqlDataSourceBootstrap';
-import { SqlDataSourceService } from './SqlDataSource/SqlDataSourceService';
-import { SqlDialectInfoService } from './SqlDialectInfoService';
-import { SqlEditorGroupTabsBootstrap } from './SqlEditorGroupTabsBootstrap';
-import { SqlEditorModeService } from './SqlEditorModeService';
-import { SqlEditorService } from './SqlEditorService';
-import { SqlEditorSettingsService } from './SqlEditorSettingsService';
-import { SqlEditorView } from './SqlEditorView';
-import { SqlExecutionPlanService } from './SqlResultTabs/ExecutionPlan/SqlExecutionPlanService';
-import { OutputLogsEventHandler } from './SqlResultTabs/OutputLogs/OutputLogsEventHandler';
-import { OutputLogsResource } from './SqlResultTabs/OutputLogs/OutputLogsResource';
-import { OutputLogsService } from './SqlResultTabs/OutputLogs/OutputLogsService';
-import { OutputMenuBootstrap } from './SqlResultTabs/OutputLogs/OutputMenuBootstrap';
-import { SqlQueryResultService } from './SqlResultTabs/SqlQueryResultService';
-import { SqlQueryService } from './SqlResultTabs/SqlQueryService';
-import { SqlResultTabsService } from './SqlResultTabs/SqlResultTabsService';
-
export const sqlEditorPluginManifest: PluginManifest = {
info: {
name: 'Sql Editor Plugin',
},
providers: [
- LocaleService,
- SqlEditorService,
- SqlDialectInfoService,
- SqlQueryResultService,
- SqlQueryService,
- SqlExecutionPlanService,
- SqlResultTabsService,
- SqlEditorSettingsService,
- SqlEditorModeService,
- SqlEditorView,
- MenuBootstrap,
- SqlDataSourceService,
- LocalStorageSqlDataSourceBootstrap,
- OutputLogsEventHandler,
- OutputLogsResource,
- OutputLogsService,
- OutputMenuBootstrap,
- SqlEditorGroupTabsBootstrap,
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./SqlEditorService').then(m => m.SqlEditorService),
+ () => import('./SqlDialectInfoService').then(m => m.SqlDialectInfoService),
+ () => import('./SqlResultTabs/SqlQueryResultService').then(m => m.SqlQueryResultService),
+ () => import('./SqlResultTabs/SqlQueryService').then(m => m.SqlQueryService),
+ () => import('./SqlResultTabs/ExecutionPlan/SqlExecutionPlanService').then(m => m.SqlExecutionPlanService),
+ () => import('./SqlResultTabs/SqlResultTabsService').then(m => m.SqlResultTabsService),
+ () => import('./SqlEditorSettingsService').then(m => m.SqlEditorSettingsService),
+ () => import('./SqlEditorModeService').then(m => m.SqlEditorModeService),
+ () => import('./SqlEditorView').then(m => m.SqlEditorView),
+ () => import('./MenuBootstrap').then(m => m.MenuBootstrap),
+ () => import('./SqlDataSource/SqlDataSourceService').then(m => m.SqlDataSourceService),
+ () => import('./SqlDataSource/LocalStorage/LocalStorageSqlDataSourceBootstrap').then(m => m.LocalStorageSqlDataSourceBootstrap),
+ () => import('./SqlResultTabs/OutputLogs/OutputLogsEventHandler').then(m => m.OutputLogsEventHandler),
+ () => import('./SqlResultTabs/OutputLogs/OutputLogsResource').then(m => m.OutputLogsResource),
+ () => import('./SqlResultTabs/OutputLogs/OutputLogsService').then(m => m.OutputLogsService),
+ () => import('./SqlResultTabs/OutputLogs/OutputMenuBootstrap').then(m => m.OutputMenuBootstrap),
+ () => import('./SqlEditorGroupTabsBootstrap').then(m => m.SqlEditorGroupTabsBootstrap),
],
};
diff --git a/webapp/packages/plugin-sql-generator/src/manifest.ts b/webapp/packages/plugin-sql-generator/src/manifest.ts
index d7e7fdb0c4..f498066091 100644
--- a/webapp/packages/plugin-sql-generator/src/manifest.ts
+++ b/webapp/packages/plugin-sql-generator/src/manifest.ts
@@ -7,16 +7,16 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { GeneratorMenuBootstrap } from './GeneratorMenuBootstrap';
-import { LocaleService } from './LocaleService';
-import { ScriptPreviewService } from './ScriptPreview/ScriptPreviewService';
-import { SqlGeneratorsBootstrap } from './SqlGenerators/SqlGeneratorsBootstrap';
-import { SqlGeneratorsResource } from './SqlGenerators/SqlGeneratorsResource';
-
export const sqlGeneratorPlugin: PluginManifest = {
info: {
name: 'Sql Editor Generator plugin',
},
- providers: [LocaleService, SqlGeneratorsBootstrap, SqlGeneratorsResource, ScriptPreviewService, GeneratorMenuBootstrap],
+ providers: [
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./SqlGenerators/SqlGeneratorsBootstrap').then(m => m.SqlGeneratorsBootstrap),
+ () => import('./SqlGenerators/SqlGeneratorsResource').then(m => m.SqlGeneratorsResource),
+ () => import('./ScriptPreview/ScriptPreviewService').then(m => m.ScriptPreviewService),
+ () => import('./GeneratorMenuBootstrap').then(m => m.GeneratorMenuBootstrap),
+ ],
};
diff --git a/webapp/packages/plugin-task-manager/src/manifest.ts b/webapp/packages/plugin-task-manager/src/manifest.ts
index 1c9fb1e31d..cc16b186c7 100644
--- a/webapp/packages/plugin-task-manager/src/manifest.ts
+++ b/webapp/packages/plugin-task-manager/src/manifest.ts
@@ -7,10 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { TaskManagerPluginBootstrap } from './TaskManagerPluginBootstrap';
-
export const taskManagerPluginManifest: PluginManifest = {
info: { name: 'Task Manager plugin' },
- providers: [TaskManagerPluginBootstrap, LocaleService],
+ providers: [
+ () => import('./TaskManagerPluginBootstrap').then(m => m.TaskManagerPluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ ],
};
diff --git a/webapp/packages/plugin-theme/src/manifest.ts b/webapp/packages/plugin-theme/src/manifest.ts
index 4ef1c826a6..791b280596 100644
--- a/webapp/packages/plugin-theme/src/manifest.ts
+++ b/webapp/packages/plugin-theme/src/manifest.ts
@@ -7,9 +7,7 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const themePlugin: PluginManifest = {
info: { name: 'Theme plugin' },
- providers: [PluginBootstrap],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap)],
};
diff --git a/webapp/packages/plugin-tools-panel/src/ToolsPanel/ToolsPanel.tsx b/webapp/packages/plugin-tools-panel/src/ToolsPanel/ToolsPanel.tsx
index 796c7a8527..5441a95891 100644
--- a/webapp/packages/plugin-tools-panel/src/ToolsPanel/ToolsPanel.tsx
+++ b/webapp/packages/plugin-tools-panel/src/ToolsPanel/ToolsPanel.tsx
@@ -9,9 +9,9 @@ import { action, untracked } from 'mobx';
import { observer } from 'mobx-react-lite';
import { useRef } from 'react';
-import { s, SContext, useS, useUserData } from '@cloudbeaver/core-blocks';
+import { s, useS, useUserData } from '@cloudbeaver/core-blocks';
import { useService } from '@cloudbeaver/core-di';
-import { ITabData, TabList, TabPanelList, TabsState, TabUnderlineStyleRegistry } from '@cloudbeaver/core-ui';
+import { ITabData, TabList, TabPanelList, TabsState } from '@cloudbeaver/core-ui';
import { isArraysEqual } from '@cloudbeaver/core-utils';
import styles from './ToolsPanel.m.css';
@@ -61,14 +61,12 @@ export const ToolsPanel = observer(function ToolsPanel() {
return (
-
-
-
-
-
-
+
);
});
diff --git a/webapp/packages/plugin-tools-panel/src/manifest.ts b/webapp/packages/plugin-tools-panel/src/manifest.ts
index b9557c4a5b..bc303471d9 100644
--- a/webapp/packages/plugin-tools-panel/src/manifest.ts
+++ b/webapp/packages/plugin-tools-panel/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { LocaleService } from './LocaleService';
-import { PluginBootstrap } from './PluginBootstrap';
-import { ToolsPanelService } from './ToolsPanel/ToolsPanelService';
-import { ToolsPanelSettingsService } from './ToolsPanelSettingsService';
-
export const toolsPanelPlugin: PluginManifest = {
info: { name: 'Tools panel plugin' },
- providers: [ToolsPanelService, PluginBootstrap, LocaleService, ToolsPanelSettingsService],
+ providers: [
+ () => import('./ToolsPanel/ToolsPanelService').then(m => m.ToolsPanelService),
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./LocaleService').then(m => m.LocaleService),
+ () => import('./ToolsPanelSettingsService').then(m => m.ToolsPanelSettingsService),
+ ],
};
diff --git a/webapp/packages/plugin-top-app-bar-administration/src/manifest.ts b/webapp/packages/plugin-top-app-bar-administration/src/manifest.ts
index ebfe7c3519..26b804bac2 100644
--- a/webapp/packages/plugin-top-app-bar-administration/src/manifest.ts
+++ b/webapp/packages/plugin-top-app-bar-administration/src/manifest.ts
@@ -7,12 +7,12 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-import { AdministrationTopAppBarBootstrap } from './TopNavBar/AdministrationTopAppBarBootstrap';
-
export const administrationTopAppBarPlugin: PluginManifest = {
info: {
name: 'Administration Top App Bar plugin',
},
- providers: [PluginBootstrap, AdministrationTopAppBarBootstrap],
+ providers: [
+ () => import('./PluginBootstrap').then(m => m.PluginBootstrap),
+ () => import('./TopNavBar/AdministrationTopAppBarBootstrap').then(m => m.AdministrationTopAppBarBootstrap),
+ ],
};
diff --git a/webapp/packages/plugin-top-app-bar/src/TopNavBar/AppStateMenu/AppStateMenu.m.css b/webapp/packages/plugin-top-app-bar/src/TopNavBar/AppStateMenu/AppStateMenu.m.css
index 989419e427..64375e8752 100644
--- a/webapp/packages/plugin-top-app-bar/src/TopNavBar/AppStateMenu/AppStateMenu.m.css
+++ b/webapp/packages/plugin-top-app-bar/src/TopNavBar/AppStateMenu/AppStateMenu.m.css
@@ -1,4 +1,11 @@
-.appStateMenu .menuBarItem {
+/*
+ * 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.
+ */
+.appStateMenu > .menuBar .menuBarItem {
& .menuBarItemIcon {
margin-right: 0;
}
diff --git a/webapp/packages/plugin-top-app-bar/src/manifest.ts b/webapp/packages/plugin-top-app-bar/src/manifest.ts
index 1bee5e5215..436da49ea2 100644
--- a/webapp/packages/plugin-top-app-bar/src/manifest.ts
+++ b/webapp/packages/plugin-top-app-bar/src/manifest.ts
@@ -7,12 +7,9 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-import { TopNavService } from './TopNavBar/TopNavService';
-
export const topAppBarPlugin: PluginManifest = {
info: {
name: 'Top App Bar plugin',
},
- providers: [PluginBootstrap, TopNavService],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap), () => import('./TopNavBar/TopNavService').then(m => m.TopNavService)],
};
diff --git a/webapp/packages/plugin-user-profile-administration/src/manifest.ts b/webapp/packages/plugin-user-profile-administration/src/manifest.ts
index 425534dc3c..7bf6b9642f 100644
--- a/webapp/packages/plugin-user-profile-administration/src/manifest.ts
+++ b/webapp/packages/plugin-user-profile-administration/src/manifest.ts
@@ -7,12 +7,10 @@
*/
import type { PluginManifest } from '@cloudbeaver/core-di';
-import { PluginBootstrap } from './PluginBootstrap';
-
export const userProfileAdministrationPlugin: PluginManifest = {
info: {
name: 'User profile administration plugin',
},
- providers: [PluginBootstrap],
+ providers: [() => import('./PluginBootstrap').then(m => m.PluginBootstrap)],
};
diff --git a/webapp/packages/plugin-user-profile-settings/src/UserProfileSettings.tsx b/webapp/packages/plugin-user-profile-settings/src/UserProfileSettings.tsx
index fdfb49a52d..a9230a0ab8 100644
--- a/webapp/packages/plugin-user-profile-settings/src/UserProfileSettings.tsx
+++ b/webapp/packages/plugin-user-profile-settings/src/UserProfileSettings.tsx
@@ -52,7 +52,7 @@ export const UserProfileSettings = observer(function UserProfileSettings() {