Skip to content

Commit 72232ed

Browse files
authored
Merge branch 'main' into astandrik.vertical-progress-bar-1190
2 parents 19db2bb + 5cc1bac commit 72232ed

File tree

12 files changed

+151
-67
lines changed

12 files changed

+151
-67
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## [6.30.0](https://github.com/ydb-platform/ydb-embedded-ui/compare/v6.29.3...v6.30.0) (2024-10-31)
4+
5+
6+
### Features
7+
8+
* **ObjectSummary:** add button to refresh tree ([#1559](https://github.com/ydb-platform/ydb-embedded-ui/issues/1559)) ([e7dbf9d](https://github.com/ydb-platform/ydb-embedded-ui/commit/e7dbf9dcabfa6b0f8fed0e16886e59e1c9b46d09))
9+
10+
11+
### Bug Fixes
12+
13+
* **Cluster:** use /capabilities to show dashboard ([#1556](https://github.com/ydb-platform/ydb-embedded-ui/issues/1556)) ([7811347](https://github.com/ydb-platform/ydb-embedded-ui/commit/78113477d3a9b0bee26de20b4a4a9e38e8eefd5f))
14+
* pass database to capabilities query ([#1551](https://github.com/ydb-platform/ydb-embedded-ui/issues/1551)) ([7e7b3e3](https://github.com/ydb-platform/ydb-embedded-ui/commit/7e7b3e38c82aa7df8a454f6ce2bc4f37c2fd1a99))
15+
* tracing issues ([#1555](https://github.com/ydb-platform/ydb-embedded-ui/issues/1555)) ([4cb2d7f](https://github.com/ydb-platform/ydb-embedded-ui/commit/4cb2d7fdd59126a44ef3b003a73e3375ba1f853b))
16+
317
## [6.29.3](https://github.com/ydb-platform/ydb-embedded-ui/compare/v6.29.2...v6.29.3) (2024-10-28)
418

519

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ydb-embedded-ui",
3-
"version": "6.29.3",
3+
"version": "6.30.0",
44
"files": [
55
"dist"
66
],

src/containers/Tenant/ObjectSummary/ObjectSummary.scss

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@
2727
visibility: hidden;
2828
}
2929

30-
&__action-button {
30+
&__actions {
3131
position: absolute;
3232
top: 19px; // centered relative to the heading
3333
right: 5px; // centered relative to the collapsed panel
3434

3535
background-color: var(--g-color-base-background);
36+
}
37+
&__button {
3638
&_hidden {
37-
visibility: hidden;
39+
display: none;
3840
}
3941
}
4042

src/containers/Tenant/ObjectSummary/ObjectSummary.tsx

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ import {isIndexTableType, isTableType} from '../utils/schema';
4040

4141
import {ObjectTree} from './ObjectTree';
4242
import {SchemaActions} from './SchemaActions';
43+
import {RefreshTreeButton} from './SchemaTree/RefreshTreeButton';
44+
import {TreeKeyProvider} from './UpdateTreeContext';
4345
import i18n from './i18n';
4446
import {b} from './shared';
4547
import {isDomain, transformPath} from './transformPath';
@@ -83,6 +85,7 @@ export function ObjectSummary({
8385
undefined,
8486
getTenantCommonInfoState,
8587
);
88+
8689
const {summaryTab = TENANT_SUMMARY_TABS_IDS.overview} = useTypedSelector(
8790
(state) => state.tenant,
8891
);
@@ -419,43 +422,47 @@ export function ObjectSummary({
419422

420423
const renderContent = () => {
421424
return (
422-
<div className={b()}>
423-
<div className={b({hidden: isCollapsed})}>
424-
<SplitPane
425-
direction="vertical"
426-
defaultSizePaneKey={DEFAULT_SIZE_TENANT_SUMMARY_KEY}
427-
onSplitStartDragAdditional={onSplitStartDragAdditional}
428-
triggerCollapse={commonInfoVisibilityState.triggerCollapse}
429-
triggerExpand={commonInfoVisibilityState.triggerExpand}
430-
minSize={[200, 52]}
431-
collapsedSizes={[100, 0]}
432-
>
433-
<ObjectTree tenantName={tenantName} path={path} />
434-
<div className={b('info')}>
435-
<div className={b('sticky-top')}>
436-
<div className={b('info-header')}>
437-
<div className={b('info-title')}>
438-
{renderEntityTypeBadge()}
439-
<div className={b('path-name')}>{relativePath}</div>
440-
</div>
441-
<div className={b('info-controls')}>
442-
{renderCommonInfoControls()}
425+
<TreeKeyProvider>
426+
<div className={b()}>
427+
<div className={b({hidden: isCollapsed})}>
428+
<SplitPane
429+
direction="vertical"
430+
defaultSizePaneKey={DEFAULT_SIZE_TENANT_SUMMARY_KEY}
431+
onSplitStartDragAdditional={onSplitStartDragAdditional}
432+
triggerCollapse={commonInfoVisibilityState.triggerCollapse}
433+
triggerExpand={commonInfoVisibilityState.triggerExpand}
434+
minSize={[200, 52]}
435+
collapsedSizes={[100, 0]}
436+
>
437+
<ObjectTree tenantName={tenantName} path={path} />
438+
<div className={b('info')}>
439+
<div className={b('sticky-top')}>
440+
<div className={b('info-header')}>
441+
<div className={b('info-title')}>
442+
{renderEntityTypeBadge()}
443+
<div className={b('path-name')}>{relativePath}</div>
444+
</div>
445+
<div className={b('info-controls')}>
446+
{renderCommonInfoControls()}
447+
</div>
443448
</div>
449+
{renderTabs()}
444450
</div>
445-
{renderTabs()}
451+
<div className={b('overview-wrapper')}>{renderTabContent()}</div>
446452
</div>
447-
<div className={b('overview-wrapper')}>{renderTabContent()}</div>
448-
</div>
449-
</SplitPane>
453+
</SplitPane>
454+
</div>
455+
<Flex className={b('actions')} gap={0.5}>
456+
{!isCollapsed && <RefreshTreeButton />}
457+
<PaneVisibilityToggleButtons
458+
onCollapse={onCollapseSummary}
459+
onExpand={onExpandSummary}
460+
isCollapsed={isCollapsed}
461+
initialDirection="left"
462+
/>
463+
</Flex>
450464
</div>
451-
<PaneVisibilityToggleButtons
452-
onCollapse={onCollapseSummary}
453-
onExpand={onExpandSummary}
454-
isCollapsed={isCollapsed}
455-
initialDirection="left"
456-
className={b('action-button')}
457-
/>
458-
</div>
465+
</TreeKeyProvider>
459466
);
460467
};
461468

src/containers/Tenant/ObjectSummary/ObjectTree.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import {StringParam, useQueryParam} from 'use-query-params';
22

33
import {Loader} from '../../../components/Loader';
44
import {useGetSchemaQuery} from '../../../store/reducers/schema/schema';
5-
import {SchemaTree} from '../Schema/SchemaTree/SchemaTree';
65

6+
import {SchemaTree} from './SchemaTree/SchemaTree';
77
import i18n from './i18n';
88
import {b} from './shared';
99

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import {ArrowRotateRight} from '@gravity-ui/icons';
2+
import {ActionTooltip, Button, Icon} from '@gravity-ui/uikit';
3+
import {nanoid} from '@reduxjs/toolkit';
4+
5+
import {useDispatchTreeKey} from '../UpdateTreeContext';
6+
7+
export function RefreshTreeButton() {
8+
const updateTreeKey = useDispatchTreeKey();
9+
return (
10+
<ActionTooltip title="Refresh">
11+
<Button
12+
view="flat-secondary"
13+
onClick={() => {
14+
updateTreeKey(nanoid());
15+
}}
16+
>
17+
<Icon data={ArrowRotateRight} />
18+
</Button>
19+
</ActionTooltip>
20+
);
21+
}

src/containers/Tenant/Schema/SchemaTree/SchemaTree.tsx renamed to src/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {getSchemaControls} from '../../utils/controls';
1717
import {isChildlessPathType, mapPathTypeToNavigationTreeType} from '../../utils/schema';
1818
import {getActions} from '../../utils/schemaActions';
1919
import {CreateDirectoryDialog} from '../CreateDirectoryDialog/CreateDirectoryDialog';
20+
import {useDispatchTreeKey, useTreeKey} from '../UpdateTreeContext';
2021

2122
interface SchemaTreeProps {
2223
rootPath: string;
@@ -52,7 +53,8 @@ export function SchemaTree(props: SchemaTreeProps) {
5253
const [querySettings, setQueryExecutionSettings] = useQueryExecutionSettings();
5354
const [createDirectoryOpen, setCreateDirectoryOpen] = React.useState(false);
5455
const [parentPath, setParentPath] = React.useState('');
55-
const [schemaTreeKey, setSchemaTreeKey] = React.useState('');
56+
const setSchemaTreeKey = useDispatchTreeKey();
57+
const schemaTreeKey = useTreeKey();
5658

5759
const fetchPath = async (path: string) => {
5860
let schemaData: TEvDescribeSchemeResult | undefined;

0 commit comments

Comments
 (0)