ydb-embedded-ui 9.7.1 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +8 -0
- package/dist/components/ComponentsProvider/componentsRegistry.d.ts +4 -0
- package/dist/components/ComponentsProvider/componentsRegistry.js +4 -1
- package/dist/components/ComponentsProvider/componentsRegistry.js.map +1 -1
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/NetworkTable/NetworkTable.d.ts +4 -0
- package/dist/components/NetworkTable/NetworkTable.js +11 -0
- package/dist/components/NetworkTable/NetworkTable.js.map +1 -0
- package/dist/components/NetworkTable/columns.d.ts +39 -0
- package/dist/{containers/Tenant/Diagnostics/Network → components}/NetworkTable/columns.js +2 -2
- package/dist/components/NetworkTable/columns.js.map +1 -0
- package/dist/{containers/Tenant/Diagnostics/Network → components}/NetworkTable/constants.d.ts +1 -1
- package/dist/components/NetworkTable/constants.js.map +1 -0
- package/dist/components/NetworkTable/hooks.d.ts +2 -0
- package/dist/components/NetworkTable/hooks.js +14 -0
- package/dist/components/NetworkTable/hooks.js.map +1 -0
- package/dist/components/TableSkeleton/TableSkeleton.d.ts +3 -1
- package/dist/components/TableSkeleton/TableSkeleton.js +8 -2
- package/dist/components/TableSkeleton/TableSkeleton.js.map +1 -1
- package/dist/components/TableSkeleton/TableSkeleton.scss +13 -0
- package/dist/containers/App/App.js +3 -1
- package/dist/containers/App/App.js.map +1 -1
- package/dist/containers/Cluster/Cluster.js +21 -5
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/utils.d.ts +4 -0
- package/dist/containers/Cluster/utils.js +6 -1
- package/dist/containers/Cluster/utils.js.map +1 -1
- package/dist/containers/Header/Header.js +5 -0
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Operations/Operations.d.ts +3 -1
- package/dist/containers/Operations/Operations.js +18 -15
- package/dist/containers/Operations/Operations.js.map +1 -1
- package/dist/containers/Operations/columns.d.ts +3 -2
- package/dist/containers/Operations/columns.js +62 -37
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Operations/constants.d.ts +4 -0
- package/dist/containers/Operations/constants.js +4 -0
- package/dist/containers/Operations/constants.js.map +1 -1
- package/dist/containers/Operations/i18n/en.json +2 -0
- package/dist/containers/Operations/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +22 -0
- package/dist/containers/Operations/useOperationsInfiniteQuery.js +80 -0
- package/dist/containers/Operations/useOperationsInfiniteQuery.js.map +1 -0
- package/dist/containers/Tablets/Tablets.js +1 -1
- package/dist/containers/Tablets/Tablets.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.d.ts +2 -1
- package/dist/containers/Tablets/TabletsTable.js +32 -32
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js +5 -3
- package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js +3 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/Owner.js +3 -2
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/Owner.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.js +3 -2
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/Actions.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.js +4 -2
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RevokeAllRightsDialog.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.js +3 -2
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/RightsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +4 -2
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +5 -13
- package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/utils/constants.d.ts +2 -2
- package/dist/containers/Tenant/GrantAccess/GrantAccess.js +8 -3
- package/dist/containers/Tenant/GrantAccess/GrantAccess.js.map +1 -1
- package/dist/containers/Tenant/GrantAccess/utils.js +3 -2
- package/dist/containers/Tenant/GrantAccess/utils.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +5 -0
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +1 -0
- package/dist/containers/UserSettings/settings.js +28 -2
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/services/api/codeAssist.js +2 -2
- package/dist/services/api/codeAssist.js.map +1 -1
- package/dist/services/api/index.js +3 -0
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/viewer.d.ts +7 -4
- package/dist/services/api/viewer.js +6 -6
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/services/settings.d.ts +2 -0
- package/dist/services/settings.js +2 -1
- package/dist/services/settings.js.map +1 -1
- package/dist/store/configureStore.d.ts +4 -4
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -0
- package/dist/store/reducers/api.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/capabilities/capabilities.d.ts +31 -31
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +6 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +7 -6
- package/dist/store/reducers/cluster/cluster.js +2 -1
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +44 -44
- package/dist/store/reducers/heatmap.d.ts +3 -3
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
- package/dist/store/reducers/index.d.ts +3 -3
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -2
- package/dist/store/reducers/nodesList.d.ts +3 -3
- package/dist/store/reducers/operations.d.ts +9 -5
- package/dist/store/reducers/operations.js +17 -2
- package/dist/store/reducers/operations.js.map +1 -1
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
- package/dist/store/reducers/planToSvg.d.ts +2 -2
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/query/query.d.ts +3 -3
- package/dist/store/reducers/replication.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +20 -20
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +96 -572
- package/dist/store/reducers/schemaAcl/schemaAcl.js +13 -13
- package/dist/store/reducers/schemaAcl/schemaAcl.js.map +1 -1
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/tableData.d.ts +2 -2
- package/dist/store/reducers/tableSchemaData.d.ts +2 -2
- package/dist/store/reducers/tablet.d.ts +8 -8
- package/dist/store/reducers/tablets.d.ts +3 -3
- package/dist/store/reducers/tenant/tenant.d.ts +3 -3
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.d.ts +21 -21
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +45 -45
- package/dist/store/reducers/vdisk/vdisk.d.ts +2 -2
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/types/api/operations.d.ts +1 -1
- package/dist/utils/constants.d.ts +7 -0
- package/dist/utils/constants.js +8 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/hooks/index.d.ts +2 -0
- package/dist/utils/hooks/index.js +2 -0
- package/dist/utils/hooks/index.js.map +1 -1
- package/dist/utils/hooks/useAclSyntax.d.ts +1 -0
- package/dist/utils/hooks/useAclSyntax.js +7 -0
- package/dist/utils/hooks/useAclSyntax.js.map +1 -0
- package/package.json +2 -2
- package/dist/containers/Tenant/Diagnostics/Network/NetworkTable/columns.d.ts +0 -4
- package/dist/containers/Tenant/Diagnostics/Network/NetworkTable/columns.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/Network/NetworkTable/constants.js.map +0 -1
- /package/dist/{containers/Tenant/Diagnostics/Network → components}/NetworkTable/constants.js +0 -0
@@ -13,6 +13,10 @@ export declare function useComponent<T extends Parameters<ComponentsRegistry['ge
|
|
13
13
|
ErrorBoundary: typeof import("../ErrorBoundary/ErrorBoundary").ErrorBoundaryInner;
|
14
14
|
} & {
|
15
15
|
ShardsTable: typeof import("../ShardsTable/ShardsTable").ShardsTable;
|
16
|
+
} & {
|
17
|
+
AIAssistantButton: () => null;
|
18
|
+
} & {
|
19
|
+
ChatPanel: () => null;
|
16
20
|
})[T] extends infer T_1 ? T_1 extends ({
|
17
21
|
StaffCard: typeof import("../User/StaffCard").StaffCard;
|
18
22
|
} & {
|
@@ -21,5 +25,9 @@ export declare function useComponent<T extends Parameters<ComponentsRegistry['ge
|
|
21
25
|
ErrorBoundary: typeof import("../ErrorBoundary/ErrorBoundary").ErrorBoundaryInner;
|
22
26
|
} & {
|
23
27
|
ShardsTable: typeof import("../ShardsTable/ShardsTable").ShardsTable;
|
28
|
+
} & {
|
29
|
+
AIAssistantButton: () => null;
|
30
|
+
} & {
|
31
|
+
ChatPanel: () => null;
|
24
32
|
})[T] ? T_1 extends React.ComponentType<any> ? React.ComponentType<React.PropsWithoutRef<React.ComponentProps<T_1>>> : never : never : never;
|
25
33
|
export {};
|
@@ -12,6 +12,10 @@ declare const componentsRegistryInner: Registry<{
|
|
12
12
|
ErrorBoundary: typeof ErrorBoundaryInner;
|
13
13
|
} & {
|
14
14
|
ShardsTable: typeof ShardsTable;
|
15
|
+
} & {
|
16
|
+
AIAssistantButton: () => null;
|
17
|
+
} & {
|
18
|
+
ChatPanel: () => null;
|
15
19
|
}>;
|
16
20
|
export type ComponentsRegistry = ComponentsRegistryTemplate<typeof componentsRegistryInner>;
|
17
21
|
export declare const componentsRegistry: ComponentsRegistry;
|
@@ -3,10 +3,13 @@ import { ErrorBoundaryInner } from '../ErrorBoundary/ErrorBoundary';
|
|
3
3
|
import { ShardsTable } from '../ShardsTable/ShardsTable';
|
4
4
|
import { StaffCard } from '../User/StaffCard';
|
5
5
|
import { Registry } from './registry';
|
6
|
+
const EmptyPlaceholder = () => null;
|
6
7
|
const componentsRegistryInner = new Registry()
|
7
8
|
.register('StaffCard', StaffCard)
|
8
9
|
.register('AsideNavigation', AsideNavigation)
|
9
10
|
.register('ErrorBoundary', ErrorBoundaryInner)
|
10
|
-
.register('ShardsTable', ShardsTable)
|
11
|
+
.register('ShardsTable', ShardsTable)
|
12
|
+
.register('AIAssistantButton', EmptyPlaceholder)
|
13
|
+
.register('ChatPanel', EmptyPlaceholder);
|
11
14
|
export const componentsRegistry = componentsRegistryInner;
|
12
15
|
//# sourceMappingURL=componentsRegistry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"componentsRegistry.js","sourceRoot":"","sources":["../../../src/components/ComponentsProvider/componentsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,EAAE;KACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC7C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"componentsRegistry.js","sourceRoot":"","sources":["../../../src/components/ComponentsProvider/componentsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,EAAE;KACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC7C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAI7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAA6C,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import type { GetChartDataParams } from './getChartData';
|
2
2
|
export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
|
3
|
-
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights", import("./types").PreparedMetricsData | undefined, "api">;
|
4
|
-
}, "api", "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
3
|
+
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights" | "Backups", import("./types").PreparedMetricsData | undefined, "api", any>;
|
4
|
+
}, "api", "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights" | "Backups", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { NodesProps } from '../../containers/Nodes/Nodes';
|
2
|
+
type NetworkWrapperProps = Pick<NodesProps, 'path' | 'scrollContainerRef' | 'additionalNodesProps' | 'database'>;
|
3
|
+
export declare function NetworkTable({ database, path, scrollContainerRef, additionalNodesProps, }: NetworkWrapperProps): import("react/jsx-runtime").JSX.Element;
|
4
|
+
export {};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { Nodes } from '../../containers/Nodes/Nodes';
|
3
|
+
import { getNetworkTableNodesColumns } from './columns';
|
4
|
+
import { NETWORK_DEFAULT_NODES_COLUMNS, NETWORK_NODES_GROUP_BY_PARAMS, NETWORK_NODES_TABLE_SELECTED_COLUMNS_KEY, NETWORK_REQUIRED_NODES_COLUMNS, } from './constants';
|
5
|
+
export function NetworkTable({ database, path, scrollContainerRef, additionalNodesProps, }) {
|
6
|
+
return (_jsx(Nodes, { path: path, database: database, scrollContainerRef: scrollContainerRef, withPeerRoleFilter: Boolean(database), additionalNodesProps: additionalNodesProps, columns: getNetworkTableNodesColumns({
|
7
|
+
database: database,
|
8
|
+
getNodeRef: additionalNodesProps === null || additionalNodesProps === void 0 ? void 0 : additionalNodesProps.getNodeRef,
|
9
|
+
}), defaultColumnsIds: NETWORK_DEFAULT_NODES_COLUMNS, requiredColumnsIds: NETWORK_REQUIRED_NODES_COLUMNS, selectedColumnsKey: NETWORK_NODES_TABLE_SELECTED_COLUMNS_KEY, groupByParams: NETWORK_NODES_GROUP_BY_PARAMS }));
|
10
|
+
}
|
11
|
+
//# sourceMappingURL=NetworkTable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"NetworkTable.js","sourceRoot":"","sources":["../../../src/components/NetworkTable/NetworkTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAGnD,OAAO,EAAC,2BAA2B,EAAC,MAAM,WAAW,CAAC;AACtD,OAAO,EACH,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,8BAA8B,GACjC,MAAM,aAAa,CAAC;AAOrB,MAAM,UAAU,YAAY,CAAC,EACzB,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,oBAAoB,GACF;IAClB,OAAO,CACH,KAAC,KAAK,IACF,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,EACrC,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,2BAA2B,CAAC;YACjC,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,UAAU;SAC/C,CAAC,EACF,iBAAiB,EAAE,6BAA6B,EAChD,kBAAkB,EAAE,8BAA8B,EAClD,kBAAkB,EAAE,wCAAwC,EAC5D,aAAa,EAAE,6BAA6B,GAC9C,CACL,CAAC;AACN,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import type { NodesPreparedEntity } from '../../store/reducers/nodes/types';
|
2
|
+
import type { GetNodesColumnsParams } from '../nodesColumns/types';
|
3
|
+
export declare function getNetworkTableNodesColumns(params: GetNodesColumnsParams): {
|
4
|
+
sortable: boolean;
|
5
|
+
name: string;
|
6
|
+
note?: string;
|
7
|
+
header?: React.ReactNode;
|
8
|
+
className?: string;
|
9
|
+
resizeable?: boolean;
|
10
|
+
render: ((props: {
|
11
|
+
row: NodesPreparedEntity;
|
12
|
+
}) => React.ReactNode) & ((props: {
|
13
|
+
value?: unknown;
|
14
|
+
row: NodesPreparedEntity;
|
15
|
+
index: number;
|
16
|
+
footer?: boolean;
|
17
|
+
headerData?: boolean;
|
18
|
+
}) => React.ReactNode);
|
19
|
+
width?: number;
|
20
|
+
resizeMaxWidth?: number;
|
21
|
+
resizeMinWidth?: number;
|
22
|
+
align: "right" | "left" | "center";
|
23
|
+
headerTitle?: string;
|
24
|
+
accessor?: string | ((row: NodesPreparedEntity) => any) | undefined;
|
25
|
+
title?: string | ((row: NodesPreparedEntity) => string) | undefined;
|
26
|
+
customStyle?: ((props: import("@gravity-ui/react-data-table").CustomStyleParams<NodesPreparedEntity>) => React.CSSProperties) | undefined;
|
27
|
+
onClick?: ((data: {
|
28
|
+
row: NodesPreparedEntity;
|
29
|
+
index: number;
|
30
|
+
footer?: boolean;
|
31
|
+
headerData?: boolean;
|
32
|
+
}, column: import("@gravity-ui/react-data-table").Column<NodesPreparedEntity>, event: React.MouseEvent<HTMLTableCellElement>) => void) | undefined;
|
33
|
+
defaultOrder?: import("@gravity-ui/react-data-table").OrderType;
|
34
|
+
sortAccessor?: string | ((row: NodesPreparedEntity) => any) | undefined;
|
35
|
+
sortAscending?: import("@gravity-ui/react-data-table").Comparator<NodesPreparedEntity> | undefined;
|
36
|
+
sub?: import("@gravity-ui/react-data-table").Column<NodesPreparedEntity>[] | undefined;
|
37
|
+
group?: boolean;
|
38
|
+
autogroup?: boolean;
|
39
|
+
}[];
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { getClockSkewColumn, getConnectionsColumn, getCpuColumn, getDataCenterColumn, getHostColumn, getNetworkUtilizationColumn, getNodeIdColumn, getPingTimeColumn, getPoolsColumn, getRackColumn, getReceiveThroughputColumn, getSendThroughputColumn, getUptimeColumn, } from '
|
2
|
-
import { isSortableNodesColumn } from '
|
1
|
+
import { getClockSkewColumn, getConnectionsColumn, getCpuColumn, getDataCenterColumn, getHostColumn, getNetworkUtilizationColumn, getNodeIdColumn, getPingTimeColumn, getPoolsColumn, getRackColumn, getReceiveThroughputColumn, getSendThroughputColumn, getUptimeColumn, } from '../nodesColumns/columns';
|
2
|
+
import { isSortableNodesColumn } from '../nodesColumns/constants';
|
3
3
|
export function getNetworkTableNodesColumns(params) {
|
4
4
|
const columns = [
|
5
5
|
getNodeIdColumn(),
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/NetworkTable/columns.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAGhE,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACrE,MAAM,OAAO,GAAkC;QAC3C,eAAe,EAAE;QACjB,aAAa,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,eAAe,EAAC,CAAC;QACvD,mBAAmB,EAAE;QACrB,aAAa,EAAE;QACf,eAAe,EAAE;QACjB,YAAY,EAAE;QACd,cAAc,EAAE;QAChB,oBAAoB,EAAE;QACtB,2BAA2B,EAAE;QAC7B,uBAAuB,EAAE;QACzB,0BAA0B,EAAE;QAC5B,iBAAiB,EAAE;QACnB,kBAAkB,EAAE;KACvB,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,OAAO,EAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/{containers/Tenant/Diagnostics/Network → components}/NetworkTable/constants.d.ts
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { NodesColumnId } from '
|
1
|
+
import type { NodesColumnId } from '../nodesColumns/constants';
|
2
2
|
export declare const NETWORK_NODES_TABLE_SELECTED_COLUMNS_KEY = "networkNodesTableSelectedColumns";
|
3
3
|
export declare const NETWORK_DEFAULT_NODES_COLUMNS: NodesColumnId[];
|
4
4
|
export declare const NETWORK_REQUIRED_NODES_COLUMNS: NodesColumnId[];
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/NetworkTable/constants.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wCAAwC,GAAG,kCAAkC,CAAC;AAE3F,MAAM,CAAC,MAAM,6BAA6B,GAAoB;IAC1D,QAAQ;IACR,MAAM;IACN,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,mBAAmB;IACnB,UAAU;IACV,WAAW;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAoB,CAAC,QAAQ,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,MAAM;IACN,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,eAAe;IACf,oBAAoB;IACpB,UAAU;IACV,WAAW;CACyB,CAAC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { useNodesHandlerHasWorkingClusterNetworkStats, useViewerNodesHandlerHasNetworkStats, } from '../../store/reducers/capabilities/hooks';
|
2
|
+
import { ENABLE_NETWORK_TABLE_KEY } from '../../utils/constants';
|
3
|
+
import { useSetting } from '../../utils/hooks';
|
4
|
+
export function useShouldShowDatabaseNetworkTable() {
|
5
|
+
const viewerNodesHasNetworkStats = useViewerNodesHandlerHasNetworkStats();
|
6
|
+
const [networkTableEnabled] = useSetting(ENABLE_NETWORK_TABLE_KEY);
|
7
|
+
return Boolean(viewerNodesHasNetworkStats && networkTableEnabled);
|
8
|
+
}
|
9
|
+
export function useShouldShowClusterNetworkTable() {
|
10
|
+
const nodesHasWorkingClusterNetworkStats = useNodesHandlerHasWorkingClusterNetworkStats();
|
11
|
+
const [networkTableEnabled] = useSetting(ENABLE_NETWORK_TABLE_KEY);
|
12
|
+
return Boolean(nodesHasWorkingClusterNetworkStats && networkTableEnabled);
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=hooks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/components/NetworkTable/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4CAA4C,EAC5C,oCAAoC,GACvC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,iCAAiC;IAC7C,MAAM,0BAA0B,GAAG,oCAAoC,EAAE,CAAC;IAC1E,MAAM,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAEnE,OAAO,OAAO,CAAC,0BAA0B,IAAI,mBAAmB,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC5C,MAAM,kCAAkC,GAAG,4CAA4C,EAAE,CAAC;IAC1F,MAAM,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAEnE,OAAO,OAAO,CAAC,kCAAkC,IAAI,mBAAmB,CAAC,CAAC;AAC9E,CAAC"}
|
@@ -3,6 +3,8 @@ interface TableSkeletonProps {
|
|
3
3
|
className?: string;
|
4
4
|
rows?: number;
|
5
5
|
delay?: number;
|
6
|
+
columns?: number;
|
7
|
+
showHeader?: boolean;
|
6
8
|
}
|
7
|
-
export declare const TableSkeleton: ({ rows, delay, className }: TableSkeletonProps) => import("react/jsx-runtime").JSX.Element;
|
9
|
+
export declare const TableSkeleton: ({ rows, delay, className, columns, showHeader, }: TableSkeletonProps) => import("react/jsx-runtime").JSX.Element;
|
8
10
|
export {};
|
@@ -4,8 +4,14 @@ import { cn } from '../../utils/cn';
|
|
4
4
|
import { useDelayed } from '../../utils/hooks/useDelayed';
|
5
5
|
import './TableSkeleton.scss';
|
6
6
|
const b = cn('table-skeleton');
|
7
|
-
export const TableSkeleton = ({ rows = 2, delay = 600, className }) => {
|
7
|
+
export const TableSkeleton = ({ rows = 2, delay = 600, className, columns = 5, showHeader = true, }) => {
|
8
8
|
const [show] = useDelayed(delay);
|
9
|
-
|
9
|
+
const renderHeaderRow = () => {
|
10
|
+
if (!showHeader) {
|
11
|
+
return null;
|
12
|
+
}
|
13
|
+
return (_jsx("div", { className: b('row'), children: [...new Array(columns)].map((_, index) => (_jsx(Skeleton, { className: b(`col-${index + 1}`) }, `header-col-${index}`))) }));
|
14
|
+
};
|
15
|
+
return (_jsxs("div", { className: b('wrapper', { hidden: !show }, className), children: [renderHeaderRow(), [...new Array(rows)].map((_, index) => (_jsx("div", { className: b('row'), children: _jsx(Skeleton, { className: b('col-full') }) }, `skeleton-row-${index}`)))] }));
|
10
16
|
};
|
11
17
|
//# sourceMappingURL=TableSkeleton.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TableSkeleton.js","sourceRoot":"","sources":["../../../src/components/TableSkeleton/TableSkeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"TableSkeleton.js","sourceRoot":"","sources":["../../../src/components/TableSkeleton/TableSkeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAU/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,GAAG,EACX,SAAS,EACT,OAAO,GAAG,CAAC,EACX,UAAU,GAAG,IAAI,GACA,EAAE,EAAE;IACrB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YACnB,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACvC,KAAC,QAAQ,IAA6B,SAAS,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,IAAvD,cAAc,KAAK,EAAE,CAAsC,CAC7E,CAAC,GACA,CACT,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,CAAC,IAAI,EAAC,EAAE,SAAS,CAAC,aACnD,eAAe,EAAE,EACjB,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,cAAK,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YACpB,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,GAAI,IADX,gBAAgB,KAAK,EAAE,CAEhD,CACT,CAAC,IACA,CACT,CAAC;AACN,CAAC,CAAC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { Helmet } from 'react-helmet-async';
|
3
3
|
import { connect } from 'react-redux';
|
4
|
+
import { componentsRegistry } from '../../components/ComponentsProvider/componentsRegistry';
|
4
5
|
import { ErrorBoundary } from '../../components/ErrorBoundary/ErrorBoundary';
|
5
6
|
import { Navigation } from '../AsideNavigation/Navigation';
|
6
7
|
import ReduxTooltip from '../ReduxTooltip/ReduxTooltip';
|
@@ -9,7 +10,8 @@ import ContentWrapper, { Content } from './Content';
|
|
9
10
|
import { Providers } from './Providers';
|
10
11
|
import './App.scss';
|
11
12
|
function App({ store, history, singleClusterMode, children, userSettings = getUserSettings({ singleClusterMode }), }) {
|
12
|
-
|
13
|
+
const ChatPanel = componentsRegistry.get('ChatPanel');
|
14
|
+
return (_jsxs(Providers, { store: store, history: history, children: [_jsx(Helmet, { defaultTitle: "YDB Monitoring", titleTemplate: "%s \u2014 YDB Monitoring" }), _jsx(ContentWrapper, { children: _jsx(Navigation, { userSettings: userSettings, children: _jsxs(ErrorBoundary, { children: [_jsx(Content, { singleClusterMode: singleClusterMode, children: children }), _jsx("div", { id: "fullscreen-root" })] }) }) }), ChatPanel && _jsx(ChatPanel, {}), _jsx(ReduxTooltip, {})] }));
|
13
15
|
}
|
14
16
|
function mapStateToProps(state) {
|
15
17
|
return {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/containers/App/App.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACzD,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAGzD,OAAO,cAAc,EAAE,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,YAAY,CAAC;AAUpB,SAAS,GAAG,CAAC,EACT,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,YAAY,GAAG,eAAe,CAAC,EAAC,iBAAiB,EAAC,CAAC,GAC5C;IACP,OAAO,CACH,MAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,aACrC,KAAC,MAAM,IAAC,YAAY,EAAC,gBAAgB,EAAC,aAAa,EAAC,0BAAqB,GAAG,EAC5E,KAAC,cAAc,cACX,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,YAClC,MAAC,aAAa,eACV,KAAC,OAAO,IAAC,iBAAiB,EAAE,iBAAiB,YAAG,QAAQ,GAAW,EACnE,cAAK,EAAE,EAAC,iBAAiB,GAAO,IACpB,GACP,GACA,
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/containers/App/App.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAC,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACzD,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAGzD,OAAO,cAAc,EAAE,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,YAAY,CAAC;AAUpB,SAAS,GAAG,CAAC,EACT,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,YAAY,GAAG,eAAe,CAAC,EAAC,iBAAiB,EAAC,CAAC,GAC5C;IACP,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,CACH,MAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,aACrC,KAAC,MAAM,IAAC,YAAY,EAAC,gBAAgB,EAAC,aAAa,EAAC,0BAAqB,GAAG,EAC5E,KAAC,cAAc,cACX,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,YAClC,MAAC,aAAa,eACV,KAAC,OAAO,IAAC,iBAAiB,EAAE,iBAAiB,YAAG,QAAQ,GAAW,EACnE,cAAK,EAAE,EAAC,iBAAiB,GAAO,IACpB,GACP,GACA,EAChB,SAAS,IAAI,KAAC,SAAS,KAAG,EAC3B,KAAC,YAAY,KAAG,IACR,CACf,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAgB;IACrC,OAAO;QACH,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC7C,CAAC;AACN,CAAC;AAED,eAAe,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC"}
|
@@ -8,9 +8,11 @@ import { AutoRefreshControl } from '../../components/AutoRefreshControl/AutoRefr
|
|
8
8
|
import { EntityStatus } from '../../components/EntityStatusNew/EntityStatus';
|
9
9
|
import { EFlagToDescription } from '../../components/EntityStatusNew/utils';
|
10
10
|
import { InternalLink } from '../../components/InternalLink';
|
11
|
+
import { NetworkTable } from '../../components/NetworkTable/NetworkTable';
|
12
|
+
import { useShouldShowClusterNetworkTable } from '../../components/NetworkTable/hooks';
|
11
13
|
import routes, { getLocationObjectFromHref } from '../../routes';
|
12
14
|
import { useClusterDashboardAvailable } from '../../store/reducers/capabilities/hooks';
|
13
|
-
import { clusterApi, selectClusterTabletsWithFqdn, selectClusterTitle, updateDefaultClusterTab, useClusterBaseInfo, } from '../../store/reducers/cluster/cluster';
|
15
|
+
import { INITIAL_DEFAULT_CLUSTER_TAB, clusterApi, selectClusterTabletsWithFqdn, selectClusterTitle, updateDefaultClusterTab, useClusterBaseInfo, } from '../../store/reducers/cluster/cluster';
|
14
16
|
import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
15
17
|
import { EFlag } from '../../types/api/enums';
|
16
18
|
import { cn } from '../../utils/cn';
|
@@ -27,6 +29,7 @@ const b = cn('ydb-cluster');
|
|
27
29
|
export function Cluster({ additionalClusterProps, additionalTenantsProps, additionalNodesProps, }) {
|
28
30
|
const container = React.useRef(null);
|
29
31
|
const isClusterDashboardAvailable = useClusterDashboardAvailable();
|
32
|
+
const shouldShowNetworkTable = useShouldShowClusterNetworkTable();
|
30
33
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
31
34
|
const dispatch = useTypedDispatch();
|
32
35
|
const activeTabId = useClusterTab();
|
@@ -45,6 +48,14 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
|
|
45
48
|
React.useEffect(() => {
|
46
49
|
dispatch(setHeaderBreadcrumbs('cluster', {}));
|
47
50
|
}, [dispatch]);
|
51
|
+
const actualClusterTabs = React.useMemo(() => {
|
52
|
+
if (shouldShowNetworkTable) {
|
53
|
+
return clusterTabs;
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
return clusterTabs.filter((tab) => tab.id !== clusterTabsIds.network);
|
57
|
+
}
|
58
|
+
}, [shouldShowNetworkTable]);
|
48
59
|
const getClusterTitle = () => {
|
49
60
|
if (infoLoading) {
|
50
61
|
return _jsx(Skeleton, { className: b('title-skeleton') });
|
@@ -52,8 +63,8 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
|
|
52
63
|
const clusterStatus = (cluster === null || cluster === void 0 ? void 0 : cluster.Overall) || EFlag.Grey;
|
53
64
|
return (_jsxs(EntityStatus, { className: b('title'), children: [clusterTitle, _jsx(EntityStatus.Label, { status: clusterStatus, note: EFlagToDescription[clusterStatus] })] }));
|
54
65
|
};
|
55
|
-
const activeTab = React.useMemo(() =>
|
56
|
-
return (_jsxs("div", { className: b(), ref: container, children: [_jsx(Helmet, { defaultTitle: `${clusterTitle} — YDB Monitoring`, titleTemplate: `%s — ${clusterTitle} — YDB Monitoring`, children: activeTab ? _jsx("title", { children: activeTab.title }) : null }), _jsx("div", { className: b('header'), children: getClusterTitle() }), _jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), isClusterDashboardAvailable && (_jsx("div", { className: b('dashboard'), children: _jsx(ClusterOverview, { cluster: cluster !== null && cluster !== void 0 ? cluster : {}, groupStats: groupsStats, loading: infoLoading, error: clusterError || (cluster === null || cluster === void 0 ? void 0 : cluster.error), additionalClusterProps: additionalClusterProps }) })), _jsx("div", { className: b('tabs-sticky-wrapper'), children: _jsx(Tabs, { size: "l", allowNotSelected: true, activeTab: activeTabId, items:
|
66
|
+
const activeTab = React.useMemo(() => actualClusterTabs.find(({ id }) => id === activeTabId), [activeTabId, actualClusterTabs]);
|
67
|
+
return (_jsxs("div", { className: b(), ref: container, children: [_jsx(Helmet, { defaultTitle: `${clusterTitle} — YDB Monitoring`, titleTemplate: `%s — ${clusterTitle} — YDB Monitoring`, children: activeTab ? _jsx("title", { children: activeTab.title }) : null }), _jsx("div", { className: b('header'), children: getClusterTitle() }), _jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), isClusterDashboardAvailable && (_jsx("div", { className: b('dashboard'), children: _jsx(ClusterOverview, { cluster: cluster !== null && cluster !== void 0 ? cluster : {}, groupStats: groupsStats, loading: infoLoading, error: clusterError || (cluster === null || cluster === void 0 ? void 0 : cluster.error), additionalClusterProps: additionalClusterProps }) })), _jsx("div", { className: b('tabs-sticky-wrapper'), children: _jsx(Tabs, { size: "l", allowNotSelected: true, activeTab: activeTabId, items: actualClusterTabs, wrapTo: ({ id }, node) => {
|
57
68
|
const path = getClusterPath(id, { clusterName, backend });
|
58
69
|
return (_jsx(InternalLink, { to: path, onClick: () => {
|
59
70
|
dispatch(updateDefaultClusterTab(id));
|
@@ -61,16 +72,21 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
|
|
61
72
|
} }) }), _jsx("div", { className: b('content'), children: _jsxs(Switch, { children: [_jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tablets))
|
62
73
|
.pathname, children: _jsx(TabletsTable, { loading: infoLoading, tablets: clusterTablets, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tenants))
|
63
74
|
.pathname, children: _jsx(Tenants, { additionalTenantsProps: additionalTenantsProps, scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.nodes)).pathname, children: _jsx(Nodes, { scrollContainerRef: container, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.storage))
|
64
|
-
.pathname, children: _jsx(PaginatedStorage, { scrollContainerRef: container }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.
|
75
|
+
.pathname, children: _jsx(PaginatedStorage, { scrollContainerRef: container }) }), shouldShowNetworkTable && (_jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.network))
|
76
|
+
.pathname, children: _jsx(NetworkTable, { scrollContainerRef: container, additionalNodesProps: additionalNodesProps }) })), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.versions))
|
65
77
|
.pathname, children: _jsx(VersionsContainer, { cluster: cluster, loading: infoLoading }) }), _jsx(Route, { render: () => (_jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath(activeTabId)) })) })] }) })] }));
|
66
78
|
}
|
67
79
|
function useClusterTab() {
|
68
80
|
const dispatch = useTypedDispatch();
|
69
81
|
const defaultTab = useTypedSelector((state) => state.cluster.defaultClusterTab);
|
82
|
+
const shouldShowNetworkTable = useShouldShowClusterNetworkTable();
|
70
83
|
const match = useRouteMatch(routes.cluster);
|
71
84
|
const { activeTab: activeTabFromParams } = (match === null || match === void 0 ? void 0 : match.params) || {};
|
72
85
|
let activeTab;
|
73
|
-
if (
|
86
|
+
if (!shouldShowNetworkTable && activeTabFromParams === clusterTabsIds.network) {
|
87
|
+
activeTab = INITIAL_DEFAULT_CLUSTER_TAB;
|
88
|
+
}
|
89
|
+
else if (isClusterTab(activeTabFromParams)) {
|
74
90
|
activeTab = activeTabFromParams;
|
75
91
|
}
|
76
92
|
else {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAC,YAAY,EAAC,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,MAAM,EAAE,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,yCAAyC,CAAC;AACrF,OAAO,EACH,UAAU,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAMxE,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAElF,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;AAQ5B,MAAM,UAAU,OAAO,CAAC,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACT;IACX,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,2BAA2B,GAAG,4BAA4B,EAAE,CAAC;IAEnE,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IAEpC,MAAM,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,GAAG,cAAc,CAAC;QAC5C,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,WAAW;KACvB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,kBAAkB,CAAC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,SAAS,CAAC,CACtD,CAAC;IAEF,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,GAAG,kBAAkB,EAAE,CAAC;IAEvD,MAAM,YAAY,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,kBAAkB,CAAC;IAE5D,MAAM,EACF,IAAI,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,EAAE,EAC9C,SAAS,EAAE,WAAW,EACtB,KAAK,GACR,GAAG,UAAU,CAAC,sBAAsB,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,SAAS,EAAE;QAC5D,eAAe,EAAE,mBAAmB;KACvC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,4BAA4B,CAAC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,SAAS,CAAC,CAChE,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAI,CAAC;QACxD,CAAC;QACD,MAAM,aAAa,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,KAAK,CAAC,IAAI,CAAC;QAErD,OAAO,CACH,MAAC,YAAY,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAC9B,YAAY,EACb,KAAC,YAAY,CAAC,KAAK,IACf,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC,GACzC,IACS,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
|
@@ -5,6 +5,7 @@ export declare const clusterTabsIds: {
|
|
5
5
|
readonly tenants: "tenants";
|
6
6
|
readonly nodes: "nodes";
|
7
7
|
readonly storage: "storage";
|
8
|
+
readonly network: "network";
|
8
9
|
readonly versions: "versions";
|
9
10
|
readonly tablets: "tablets";
|
10
11
|
};
|
@@ -18,6 +19,9 @@ export declare const clusterTabs: ({
|
|
18
19
|
} | {
|
19
20
|
id: "storage";
|
20
21
|
title: string;
|
22
|
+
} | {
|
23
|
+
id: "network";
|
24
|
+
title: string;
|
21
25
|
} | {
|
22
26
|
id: "versions";
|
23
27
|
title: string;
|
@@ -3,6 +3,7 @@ export const clusterTabsIds = {
|
|
3
3
|
tenants: 'tenants',
|
4
4
|
nodes: 'nodes',
|
5
5
|
storage: 'storage',
|
6
|
+
network: 'network',
|
6
7
|
versions: 'versions',
|
7
8
|
tablets: 'tablets',
|
8
9
|
};
|
@@ -18,6 +19,10 @@ const storage = {
|
|
18
19
|
id: clusterTabsIds.storage,
|
19
20
|
title: 'Storage',
|
20
21
|
};
|
22
|
+
const network = {
|
23
|
+
id: clusterTabsIds.network,
|
24
|
+
title: 'Network',
|
25
|
+
};
|
21
26
|
const versions = {
|
22
27
|
id: clusterTabsIds.versions,
|
23
28
|
title: 'Versions',
|
@@ -26,7 +31,7 @@ const tablets = {
|
|
26
31
|
id: clusterTabsIds.tablets,
|
27
32
|
title: 'Tablets',
|
28
33
|
};
|
29
|
-
export const clusterTabs = [tenants, nodes, storage, tablets, versions];
|
34
|
+
export const clusterTabs = [tenants, nodes, storage, network, tablets, versions];
|
30
35
|
export function isClusterTab(tab) {
|
31
36
|
return Object.values(clusterTabsIds).includes(tab);
|
32
37
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/containers/Cluster/utils.tsx"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIhD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACZ,CAAC;AAIX,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,WAAW;CACrB,CAAC;AACF,MAAM,KAAK,GAAG;IACV,EAAE,EAAE,cAAc,CAAC,KAAK;IACxB,KAAK,EAAE,OAAO;CACjB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,cAAc,CAAC,QAAQ;IAC3B,KAAK,EAAE,UAAU;CACpB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/containers/Cluster/utils.tsx"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIhD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACZ,CAAC;AAIX,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,WAAW;CACrB,CAAC;AACF,MAAM,KAAK,GAAG;IACV,EAAE,EAAE,cAAc,CAAC,KAAK;IACxB,KAAK,EAAE,OAAO;CACjB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,cAAc,CAAC,QAAQ;IAC3B,KAAK,EAAE,UAAU;CACpB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEjF,MAAM,UAAU,YAAY,CAAC,GAAQ;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAsB,EAAE,KAAK,GAAG,EAAE,EAAE,OAA2B,EAAE,EAAE;IAC9F,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAA8B,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACzC,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,CAAC,CAAC"}
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
3
3
|
import { ArrowUpRightFromSquare, CirclePlus, PlugConnection } from '@gravity-ui/icons';
|
4
4
|
import { Breadcrumbs, Button, Divider, Flex, Icon } from '@gravity-ui/uikit';
|
5
5
|
import { useLocation } from 'react-router-dom';
|
6
|
+
import { componentsRegistry } from '../../components/ComponentsProvider/componentsRegistry';
|
6
7
|
import { getConnectToDBDialog } from '../../components/ConnectToDB/ConnectToDBDialog';
|
7
8
|
import { InternalLink } from '../../components/InternalLink';
|
8
9
|
import { useAddClusterFeatureAvailable } from '../../store/reducers/capabilities/hooks';
|
@@ -28,6 +29,7 @@ function Header() {
|
|
28
29
|
const isDatabasePage = location.pathname === '/tenant';
|
29
30
|
const isClustersPage = location.pathname === '/clusters';
|
30
31
|
const isAddClusterAvailable = useAddClusterFeatureAvailable() && uiFactory.onAddCluster !== undefined;
|
32
|
+
const AIAssistantButton = componentsRegistry.get('AIAssistantButton');
|
31
33
|
const breadcrumbItems = React.useMemo(() => {
|
32
34
|
let options = { ...pageBreadcrumbsOptions, singleClusterMode };
|
33
35
|
if (clusterTitle) {
|
@@ -49,6 +51,9 @@ function Header() {
|
|
49
51
|
if (isDatabasePage && database) {
|
50
52
|
elements.push(_jsxs(Button, { view: 'flat', onClick: () => getConnectToDBDialog({ database }), children: [_jsx(Icon, { data: PlugConnection }), headerKeyset('connect')] }));
|
51
53
|
}
|
54
|
+
if (AIAssistantButton) {
|
55
|
+
elements.push(_jsx(AIAssistantButton, {}, "ai-assistant"));
|
56
|
+
}
|
52
57
|
if (!isClustersPage && isUserAllowedToMakeChanges) {
|
53
58
|
elements.push(_jsxs(Button, { view: "flat", href: createDeveloperUIInternalPageHref(), target: "_blank", children: [DEVELOPER_UI_TITLE, _jsx(Icon, { data: ArrowUpRightFromSquare })] }));
|
54
59
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
interface OperationsProps {
|
2
3
|
database: string;
|
4
|
+
scrollContainerRef?: React.RefObject<HTMLElement>;
|
3
5
|
}
|
4
|
-
export declare function Operations({ database }: OperationsProps): import("react/jsx-runtime").JSX.Element;
|
6
|
+
export declare function Operations({ database, scrollContainerRef }: OperationsProps): import("react/jsx-runtime").JSX.Element;
|
5
7
|
export {};
|
@@ -3,32 +3,35 @@ import React from 'react';
|
|
3
3
|
import { AccessDenied } from '../../components/Errors/403';
|
4
4
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
5
5
|
import { ResizeableDataTable } from '../../components/ResizeableDataTable/ResizeableDataTable';
|
6
|
+
import { TableSkeleton } from '../../components/TableSkeleton/TableSkeleton';
|
6
7
|
import { TableWithControlsLayout } from '../../components/TableWithControlsLayout/TableWithControlsLayout';
|
7
|
-
import {
|
8
|
-
import { useAutoRefreshInterval } from '../../utils/hooks';
|
8
|
+
import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
9
9
|
import { isAccessError } from '../../utils/response';
|
10
10
|
import { OperationsControls } from './OperationsControls';
|
11
11
|
import { getColumns } from './columns';
|
12
12
|
import { OPERATIONS_SELECTED_COLUMNS_KEY } from './constants';
|
13
13
|
import i18n from './i18n';
|
14
14
|
import { b } from './shared';
|
15
|
+
import { useOperationsInfiniteQuery } from './useOperationsInfiniteQuery';
|
15
16
|
import { useOperationsQueryParams } from './useOperationsQueryParams';
|
16
|
-
export function Operations({ database }) {
|
17
|
-
|
18
|
-
const
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
export function Operations({ database, scrollContainerRef }) {
|
18
|
+
const { kind, searchValue, pageSize, handleKindChange, handleSearchChange } = useOperationsQueryParams();
|
19
|
+
const { operations, isLoading, isLoadingMore, error, refreshTable, totalCount } = useOperationsInfiniteQuery({
|
20
|
+
database,
|
21
|
+
kind,
|
22
|
+
pageSize,
|
23
|
+
searchValue,
|
24
|
+
scrollContainerRef,
|
22
25
|
});
|
23
|
-
const
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
}, [
|
26
|
+
const settings = React.useMemo(() => {
|
27
|
+
return {
|
28
|
+
...DEFAULT_TABLE_SETTINGS,
|
29
|
+
sortable: false,
|
30
|
+
};
|
31
|
+
}, []);
|
29
32
|
if (isAccessError(error)) {
|
30
33
|
return _jsx(AccessDenied, { position: "left" });
|
31
34
|
}
|
32
|
-
return (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: _jsx(OperationsControls, { kind: kind, searchValue: searchValue, entitiesCountCurrent:
|
35
|
+
return (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: _jsx(OperationsControls, { kind: kind, searchValue: searchValue, entitiesCountCurrent: operations.length, entitiesCountTotal: totalCount, entitiesLoading: isLoading, handleKindChange: handleKindChange, handleSearchChange: handleSearchChange }) }), error ? _jsx(ResponseError, { error: error }) : null, _jsxs(TableWithControlsLayout.Table, { loading: isLoading, className: b('table'), children: [operations.length > 0 || isLoading ? (_jsx(ResizeableDataTable, { columns: getColumns({ database, refreshTable, kind }), columnsWidthLSKey: OPERATIONS_SELECTED_COLUMNS_KEY, data: operations, settings: settings, emptyDataMessage: i18n('title_empty') })) : (_jsx("div", { children: i18n('title_empty') })), isLoadingMore && (_jsx(TableSkeleton, { showHeader: false, rows: 3, delay: 0, className: b('loading-more') }))] })] }));
|
33
36
|
}
|
34
37
|
//# sourceMappingURL=Operations.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EAAC,+BAA+B,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAOpE,MAAM,UAAU,UAAU,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAkB;IACtE,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAC,GACrE,wBAAwB,EAAE,CAAC;IAE/B,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAC,GACzE,0BAA0B,CAAC;QACvB,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,WAAW;QACX,kBAAkB;KACrB,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO;YACH,GAAG,sBAAsB;YACzB,QAAQ,EAAE,KAAK;SAClB,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAC,YAAY,IAAC,QAAQ,EAAC,MAAM,GAAG,CAAC;IAC5C,CAAC;IAED,OAAO,CACH,MAAC,uBAAuB,eACpB,KAAC,uBAAuB,CAAC,QAAQ,cAC7B,KAAC,kBAAkB,IACf,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,UAAU,CAAC,MAAM,EACvC,kBAAkB,EAAE,UAAU,EAC9B,eAAe,EAAE,SAAS,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,GACxC,GAC6B,EAClC,KAAK,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,EAC/C,MAAC,uBAAuB,CAAC,KAAK,IAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACnE,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAClC,KAAC,mBAAmB,IAChB,OAAO,EAAE,UAAU,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,EACnD,iBAAiB,EAAE,+BAA+B,EAClD,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,GACvC,CACL,CAAC,CAAC,CAAC,CACA,wBAAM,IAAI,CAAC,aAAa,CAAC,GAAO,CACnC,EACA,aAAa,IAAI,CACd,KAAC,aAAa,IACV,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,GAC9B,CACL,IAC2B,IACV,CAC7B,CAAC;AACN,CAAC"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import type { Column as DataTableColumn } from '@gravity-ui/react-data-table';
|
2
|
-
import type { TOperation } from '../../types/api/operations';
|
2
|
+
import type { OperationKind, TOperation } from '../../types/api/operations';
|
3
3
|
import './Operations.scss';
|
4
|
-
export declare function getColumns({ database, refreshTable, }: {
|
4
|
+
export declare function getColumns({ database, refreshTable, kind, }: {
|
5
5
|
database: string;
|
6
6
|
refreshTable: VoidFunction;
|
7
|
+
kind: OperationKind;
|
7
8
|
}): DataTableColumn<TOperation>[];
|