diff --git a/webapp/packages/core-app/src/AppScreen/RightArea.tsx b/webapp/packages/core-app/src/AppScreen/RightArea.tsx index 0f44c8ab42..b4f8cb7e7c 100644 --- a/webapp/packages/core-app/src/AppScreen/RightArea.tsx +++ b/webapp/packages/core-app/src/AppScreen/RightArea.tsx @@ -12,13 +12,13 @@ import styled, { css } from 'reshadow'; import { Pane, ResizerControls, SlideBox, SlideElement, slideBoxStyles, Split, splitHorizontalStyles, splitStyles, SlideOverlay } from '@cloudbeaver/core-blocks'; -import { useController, useService } from '@cloudbeaver/core-di'; +import { useService } from '@cloudbeaver/core-di'; import { useStyles, composes } from '@cloudbeaver/core-theming'; import { OptionsPanelService } from '@cloudbeaver/core-ui'; import { NavigationTabsBar } from '../shared/NavigationTabs/NavigationTabsBar'; -import { LogViewTab } from '../shared/ToolsPanel/LogViewTab/LogViewTab'; -import { LogViewTabController } from '../shared/ToolsPanel/LogViewTab/LogViewTabController'; +import { LogViewer } from '../shared/ToolsPanel/LogViewer/LogViewer'; +import { useLogViewer } from '../shared/ToolsPanel/LogViewer/useLogViewer'; const styles = composes( css` @@ -45,7 +45,7 @@ const styles = composes( ); export const RightArea = observer(function RightArea() { - const controller = useController(LogViewTabController); + const logViewerState = useLogViewer(); const optionsPanelService = useService(OptionsPanelService); const OptionsPanel = optionsPanelService.getPanelComponent(); @@ -55,13 +55,13 @@ export const RightArea = observer(function RightArea() { - + - {controller.isActive && } + {logViewerState.isActive && } - + optionsPanelService.close()} /> diff --git a/webapp/packages/core-app/src/index.ts b/webapp/packages/core-app/src/index.ts index 60bc7d93e7..c2ca8bead4 100644 --- a/webapp/packages/core-app/src/index.ts +++ b/webapp/packages/core-app/src/index.ts @@ -19,8 +19,9 @@ export * from './shared/NodesManager/NavNodeExtensionsService'; export * from './shared/NodesManager/NodeManagerUtils'; export * from './shared/NavigationTabs/NavigationTabsService'; export * from './shared/NavigationTabs/TabNavigationContext'; -export * from './shared/ToolsPanel/LogViewTab/LogViewerMenuService'; -export * from './shared/ToolsPanel/LogViewTab/LogViewerService'; +export * from './shared/ToolsPanel/LogViewer/LogViewerMenuService'; +export * from './shared/ToolsPanel/LogViewer/LogViewerService'; + export * from './shared/SessionExpireDialog/SessionExpiredDialogService'; export * from './NavigationTree/ElementsTree'; export * from './NavigationTree/TreeContext'; diff --git a/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryController.ts b/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryController.ts deleted file mode 100644 index 1e9e4ecea9..0000000000 --- a/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryController.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2021 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 { IInitializableController, injectable } from '@cloudbeaver/core-di'; -import { CommonDialogService } from '@cloudbeaver/core-dialogs'; - -import type { ILogEntry } from '../ILogEntry'; -import { LogEntryDetailsDialog } from './LogEntryDetailsDialog'; - -@injectable() -export class LogEntryController implements IInitializableController { - get hasDetails() { - return Boolean(this.item.stackTrace); - } - - showDetails = () => this.commonDialogService.open(LogEntryDetailsDialog, this.item); - - private item!: ILogEntry; - - constructor(private commonDialogService: CommonDialogService) { - } - - init(item: ILogEntry) { - this.item = item; - } -} diff --git a/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryDetailsDialog.tsx b/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryDetailsDialog.tsx deleted file mode 100644 index 63b5fc7226..0000000000 --- a/webapp/packages/core-app/src/shared/ToolsPanel/LogViewTab/LogEntry/LogEntryDetailsDialog.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2021 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 { observer } from 'mobx-react-lite'; -import styled, { css } from 'reshadow'; - -import { CommonDialogWrapper, DialogComponent, DialogComponentProps } from '@cloudbeaver/core-dialogs'; -import { useStyles } from '@cloudbeaver/core-theming'; - -import type { ILogEntry } from '../ILogEntry'; - -const styles = css` - message { - width: 700px; - max-height: 80px; - margin-bottom: 18px; - overflow: auto; - } - textarea { - width: 100% !important; - min-height: 240px; - box-sizing: border-box; - } -`; - -export const LogEntryDetailsDialog: DialogComponent = observer( - function LogEntryDetailsDialog(props: DialogComponentProps) { - return styled(useStyles(styles))( - - - {props.payload.message} - -