ydb-embedded-ui 14.1.0 → 14.3.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/TenantNameWrapper/TenantNameWrapper.d.ts +3 -1
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js +105 -23
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
- package/dist/components/TenantNameWrapper/TenantNameWrapper.scss +22 -0
- package/dist/components/TenantNameWrapper/i18n/en.json +3 -1
- package/dist/components/TenantNameWrapper/i18n/index.d.ts +1 -1
- package/dist/components/TenantNameWrapper/utils.d.ts +3 -0
- package/dist/components/TenantNameWrapper/utils.js +14 -0
- package/dist/components/TenantNameWrapper/utils.js.map +1 -0
- package/dist/components/capacityMetricsColumns/columns.d.ts +16 -0
- package/dist/components/capacityMetricsColumns/columns.js +76 -0
- package/dist/components/capacityMetricsColumns/columns.js.map +1 -0
- package/dist/components/capacityMetricsColumns/constants.d.ts +16 -0
- package/dist/components/capacityMetricsColumns/constants.js +26 -0
- package/dist/components/capacityMetricsColumns/constants.js.map +1 -0
- package/dist/components/capacityMetricsColumns/i18n/en.json +7 -0
- package/dist/components/capacityMetricsColumns/i18n/index.d.ts +2 -0
- package/dist/components/capacityMetricsColumns/i18n/index.js +5 -0
- package/dist/components/capacityMetricsColumns/i18n/index.js.map +1 -0
- package/dist/components/nodesColumns/columns.d.ts +3 -0
- package/dist/components/nodesColumns/columns.js +10 -1
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/components/nodesColumns/constants.d.ts +6 -0
- package/dist/components/nodesColumns/constants.js +22 -0
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/containers/App/NavigationWrapper.js +5 -1
- package/dist/containers/App/NavigationWrapper.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +6 -3
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +8 -0
- package/dist/containers/Clusters/i18n/en.json +2 -2
- package/dist/containers/HomePage/HomePage.js +8 -6
- package/dist/containers/HomePage/HomePage.js.map +1 -1
- package/dist/containers/HomePage/HomePage.scss +1 -0
- package/dist/containers/HomePage/useDatabasesPageEnvironment.js +2 -2
- package/dist/containers/HomePage/useDatabasesPageEnvironment.js.map +1 -1
- package/dist/containers/Node/Node.js +10 -5
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Nodes/columns/columns.js +2 -1
- package/dist/containers/Nodes/columns/columns.js.map +1 -1
- package/dist/containers/Operations/columns.js +51 -53
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +3 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +10 -5
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +10 -4
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +13 -2
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +40 -8
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +21 -14
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +3 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +10 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +4 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js +6 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +16 -9
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/TableGroup/TableGroup.d.ts +2 -1
- package/dist/containers/Storage/TableGroup/TableGroup.js +2 -2
- package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
- package/dist/containers/Storage/useStorageQueryParams.js +28 -6
- package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
- package/dist/containers/Storage/utils/useStorageColumnsSettings.js +25 -1
- package/dist/containers/Storage/utils/useStorageColumnsSettings.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/Credentials.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.d.ts +8 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.js +9 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/DefaultEntityInfo.scss +7 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/index.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/index.js +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DefaultEntityInfo/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +6 -4
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.d.ts +15 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +85 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.scss +28 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.d.ts +12 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.js +26 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/SplitUnitSelect.scss +14 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/constants.d.ts +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/constants.js +20 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/constants.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/en.json +18 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.js +5 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.d.ts +8 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.js +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +5 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.js +15 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.d.ts +40 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +73 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +5 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.scss +2 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.js +9 -5
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.d.ts +3 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +36 -5
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.scss +12 -6
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/constants.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/constants.js +0 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/constants.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +4 -2
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +3 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +37 -12
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.d.ts +3 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js +15 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +6 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/i18n/en.json +1 -0
- package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/shared.d.ts +2 -1
- package/dist/containers/Tenant/Healthcheck/shared.js +9 -2
- package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js +5 -0
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.js +2 -2
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenants/Tenants.scss +3 -1
- package/dist/containers/Tenants/TenantsClusterTab.js +1 -1
- package/dist/containers/Tenants/TenantsClusterTab.js.map +1 -1
- package/dist/containers/Tenants/TenantsTable.d.ts +4 -2
- package/dist/containers/Tenants/TenantsTable.js +83 -101
- package/dist/containers/Tenants/TenantsTable.js.map +1 -1
- package/dist/containers/Tenants/constants.d.ts +29 -0
- package/dist/containers/Tenants/constants.js +60 -0
- package/dist/containers/Tenants/constants.js.map +1 -0
- package/dist/containers/Tenants/i18n/en.json +10 -2
- package/dist/containers/Tenants/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/i18n/en.json +2 -1
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +2 -0
- package/dist/containers/UserSettings/settings.js +23 -0
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
- package/dist/store/reducers/capabilities/hooks.js +13 -3
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/environments/utils.js +7 -3
- package/dist/store/reducers/environments/utils.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +1 -1
- package/dist/store/reducers/healthcheckInfo/utils.js +19 -9
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/preview.d.ts +1 -0
- package/dist/store/reducers/preview.js +2 -2
- package/dist/store/reducers/preview.js.map +1 -1
- package/dist/store/reducers/settings/constants.d.ts +2 -0
- package/dist/store/reducers/settings/constants.js +2 -0
- package/dist/store/reducers/settings/constants.js.map +1 -1
- package/dist/store/reducers/storage/types.d.ts +9 -1
- package/dist/store/reducers/storage/utils.js +22 -2
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +4 -0
- package/dist/store/reducers/tablePartitioning/tablePartitioning.js +41 -0
- package/dist/store/reducers/tablePartitioning/tablePartitioning.js.map +1 -0
- package/dist/styles/mixins.scss +0 -2
- package/dist/types/api/enums.d.ts +11 -0
- package/dist/types/api/enums.js +13 -0
- package/dist/types/api/enums.js.map +1 -1
- package/dist/types/api/nodes.d.ts +7 -4
- package/dist/types/api/nodes.js.map +1 -1
- package/dist/types/api/storage.d.ts +9 -4
- package/dist/types/store/partitioning.d.ts +11 -0
- package/dist/types/store/partitioning.js +2 -0
- package/dist/types/store/partitioning.js.map +1 -0
- package/dist/uiFactory/types.d.ts +23 -2
- package/dist/utils/additionalProps.js +8 -5
- package/dist/utils/additionalProps.js.map +1 -1
- package/dist/utils/bytesParsers/formatBytes.d.ts +2 -2
- package/dist/utils/bytesParsers/formatBytes.js +2 -1
- package/dist/utils/bytesParsers/formatBytes.js.map +1 -1
- package/dist/utils/capacityAlert/colors.d.ts +1 -0
- package/dist/utils/capacityAlert/colors.js +26 -0
- package/dist/utils/capacityAlert/colors.js.map +1 -0
- package/dist/utils/dataFormatters/dataFormatters.d.ts +3 -1
- package/dist/utils/dataFormatters/dataFormatters.js +9 -3
- package/dist/utils/dataFormatters/dataFormatters.js.map +1 -1
- package/dist/utils/query.js +7 -8
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/zod/zodParsers.d.ts +3 -0
- package/dist/utils/zod/zodParsers.js +5 -0
- package/dist/utils/zod/zodParsers.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useManagePartitionForm.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAC,kCAAkC,EAAE,wBAAwB,EAAC,MAAM,SAAS,CAAC;AAErF,MAAM,UAAU,yBAAyB,CAAC,MAGzC;IACG,MAAM,EAAC,YAAY,EAAE,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CACxB,GAAG,EAAE,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EACjD,CAAC,iBAAiB,CAAC,CACtB,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAA8B;QAC9C,aAAa,EAAE,kCAAkC,CAAC,YAAY,CAAC;QAC/D,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,UAAU;KACnB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { BytesSizes } from '../../../../../../utils/bytesParsers';
|
|
3
|
+
import type { ManagePartitioningFormState } from './types';
|
|
4
|
+
export declare function splitToPartitionSizeMb(splitSize: number, splitUnit: BytesSizes): {
|
|
5
|
+
bytes: number;
|
|
6
|
+
partitionSizeMb: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function getManagePartitioningInitialValues(initialData?: Partial<ManagePartitioningFormState>): ManagePartitioningFormState;
|
|
9
|
+
export declare const splitUnitSchema: z.ZodType<"b" | "kb" | "mb" | "gb" | "tb", z.ZodTypeDef, "b" | "kb" | "mb" | "gb" | "tb">;
|
|
10
|
+
export declare const managePartitioningSchema: (maxSplitSizeBytes?: number) => z.ZodEffects<z.ZodObject<{
|
|
11
|
+
splitSize: z.ZodEffects<z.ZodNumber, number, unknown>;
|
|
12
|
+
splitUnit: z.ZodType<"b" | "kb" | "mb" | "gb" | "tb", z.ZodTypeDef, "b" | "kb" | "mb" | "gb" | "tb">;
|
|
13
|
+
loadEnabled: z.ZodBoolean;
|
|
14
|
+
minimum: z.ZodEffects<z.ZodNumber, number, unknown>;
|
|
15
|
+
maximum: z.ZodEffects<z.ZodNumber, number, unknown>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
minimum: number;
|
|
18
|
+
maximum: number;
|
|
19
|
+
splitSize: number;
|
|
20
|
+
splitUnit: "b" | "kb" | "mb" | "gb" | "tb";
|
|
21
|
+
loadEnabled: boolean;
|
|
22
|
+
}, {
|
|
23
|
+
splitUnit: "b" | "kb" | "mb" | "gb" | "tb";
|
|
24
|
+
loadEnabled: boolean;
|
|
25
|
+
minimum?: unknown;
|
|
26
|
+
maximum?: unknown;
|
|
27
|
+
splitSize?: unknown;
|
|
28
|
+
}>, {
|
|
29
|
+
minimum: number;
|
|
30
|
+
maximum: number;
|
|
31
|
+
splitSize: number;
|
|
32
|
+
splitUnit: "b" | "kb" | "mb" | "gb" | "tb";
|
|
33
|
+
loadEnabled: boolean;
|
|
34
|
+
}, {
|
|
35
|
+
splitUnit: "b" | "kb" | "mb" | "gb" | "tb";
|
|
36
|
+
loadEnabled: boolean;
|
|
37
|
+
minimum?: unknown;
|
|
38
|
+
maximum?: unknown;
|
|
39
|
+
splitSize?: unknown;
|
|
40
|
+
}>;
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { convertToBytes, sizes } from '../../../../../../utils/bytesParsers';
|
|
3
|
+
import { preprocessEmptyStringToUndefined } from '../../../../../../utils/zod/zodParsers';
|
|
4
|
+
import { DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES } from '../constants';
|
|
5
|
+
import { DEFAULT_MANAGE_PARTITIONING_VALUE } from './constants';
|
|
6
|
+
import i18n from './i18n';
|
|
7
|
+
export function splitToPartitionSizeMb(splitSize, splitUnit) {
|
|
8
|
+
const bytes = convertToBytes(splitSize, splitUnit);
|
|
9
|
+
const partitionSizeMb = Math.round(bytes / sizes.mb.value);
|
|
10
|
+
return { bytes, partitionSizeMb };
|
|
11
|
+
}
|
|
12
|
+
export function getManagePartitioningInitialValues(initialData = {}) {
|
|
13
|
+
return {
|
|
14
|
+
...DEFAULT_MANAGE_PARTITIONING_VALUE,
|
|
15
|
+
...initialData,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export const splitUnitSchema = z.custom((value) => {
|
|
19
|
+
return value in sizes;
|
|
20
|
+
}, i18n('error_invalid-unit'));
|
|
21
|
+
// Required positive number (> 0)
|
|
22
|
+
const requiredPositiveNumber = (requiredMessage) => preprocessEmptyStringToUndefined(z.coerce
|
|
23
|
+
.number({
|
|
24
|
+
required_error: requiredMessage,
|
|
25
|
+
invalid_type_error: requiredMessage,
|
|
26
|
+
})
|
|
27
|
+
.gt(0));
|
|
28
|
+
// Required positive integer (> 0)
|
|
29
|
+
const requiredPositiveInt = (requiredMessage) => preprocessEmptyStringToUndefined(z.coerce
|
|
30
|
+
.number({
|
|
31
|
+
required_error: requiredMessage,
|
|
32
|
+
invalid_type_error: requiredMessage,
|
|
33
|
+
})
|
|
34
|
+
.int()
|
|
35
|
+
.gt(0));
|
|
36
|
+
export const managePartitioningSchema = (maxSplitSizeBytes = DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES) => z
|
|
37
|
+
.object({
|
|
38
|
+
splitSize: requiredPositiveNumber(i18n('error_required')),
|
|
39
|
+
splitUnit: splitUnitSchema,
|
|
40
|
+
loadEnabled: z.boolean(),
|
|
41
|
+
minimum: requiredPositiveInt(i18n('error_required')),
|
|
42
|
+
maximum: requiredPositiveInt(i18n('error_required')),
|
|
43
|
+
})
|
|
44
|
+
.superRefine((data, ctx) => {
|
|
45
|
+
const { bytes, partitionSizeMb } = splitToPartitionSizeMb(data.splitSize, data.splitUnit);
|
|
46
|
+
if (bytes > maxSplitSizeBytes) {
|
|
47
|
+
ctx.addIssue({
|
|
48
|
+
code: z.ZodIssueCode.custom,
|
|
49
|
+
path: ['splitSize'],
|
|
50
|
+
message: i18n('error_value-greater-maximum'),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (partitionSizeMb < 1) {
|
|
54
|
+
ctx.addIssue({
|
|
55
|
+
code: z.ZodIssueCode.custom,
|
|
56
|
+
path: ['splitSize'],
|
|
57
|
+
message: i18n('error_value-too-small'),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (data.minimum > data.maximum) {
|
|
61
|
+
ctx.addIssue({
|
|
62
|
+
code: z.ZodIssueCode.custom,
|
|
63
|
+
path: ['minimum'],
|
|
64
|
+
message: i18n('error_minimum-greater-maximum'),
|
|
65
|
+
});
|
|
66
|
+
ctx.addIssue({
|
|
67
|
+
code: z.ZodIssueCode.custom,
|
|
68
|
+
path: ['maximum'],
|
|
69
|
+
message: i18n('error_maximum-less-minimum'),
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=utils.js.map
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Flex, Popover, Text } from '@gravity-ui/uikit';
|
|
3
3
|
import { isNil } from 'lodash';
|
|
4
4
|
import { cn } from '../../../../../../utils/cn';
|
|
5
|
+
import { formatNumber } from '../../../../../../utils/dataFormatters/dataFormatters';
|
|
5
6
|
import { getPartitionsTooltip } from './helpers';
|
|
6
7
|
import i18n from './i18n';
|
|
7
8
|
import { FULL_FILL_VALUE, calcPartitionsProgress } from './utils';
|
|
@@ -24,9 +25,11 @@ export const PartitionsProgress = ({ minPartitions, maxPartitions, partitionsCou
|
|
|
24
25
|
isBelowMin: isBelowMin,
|
|
25
26
|
isAboveMax: isAboveMax,
|
|
26
27
|
});
|
|
27
|
-
const
|
|
28
|
+
const minLabel = formatNumber(min);
|
|
29
|
+
const maxLabel = isNil(max) ? i18n('value_no-limit') : formatNumber(max);
|
|
30
|
+
const currentLabel = formatNumber(partitionsCount);
|
|
28
31
|
const hasAdditionalSegments = isBelowMin || isAboveMax;
|
|
29
32
|
const withMinFill = !hasAdditionalSegments;
|
|
30
|
-
return (_jsx(Popover, { hasArrow: true, placement: "top", content: tooltip, className: b('segment-touched'), children: _jsxs(Flex, { alignItems: "center", gap: "0.5", className: b(null, className), children: [isBelowMin && (_jsxs(Flex, { style: { flexGrow: leftSegmentUnits }, direction: "column", gap: "2", className: b('segment', SEGMENT_MODS.additional), children: [_jsx(SegmentProgressBar, { position: "additional", value: FULL_FILL_VALUE }), _jsx(Flex, { justifyContent: "flex-start", children: _jsx(Text, { variant: "body-2", color: "secondary", children:
|
|
33
|
+
return (_jsx(Popover, { hasArrow: true, placement: "top", content: tooltip, className: b('segment-touched'), children: _jsxs(Flex, { alignItems: "center", gap: "0.5", className: b(null, className), children: [isBelowMin && (_jsxs(Flex, { style: { flexGrow: leftSegmentUnits }, direction: "column", gap: "2", className: b('segment', SEGMENT_MODS.additional), children: [_jsx(SegmentProgressBar, { position: "additional", value: FULL_FILL_VALUE }), _jsx(Flex, { justifyContent: "flex-start", children: _jsx(Text, { variant: "body-2", color: "secondary", children: currentLabel }) })] })), _jsxs(Flex, { direction: "column", className: b('segment', SEGMENT_MODS.main), style: { flexGrow: mainSegmentUnits }, gap: "2", children: [_jsx(SegmentProgressBar, { position: "main", value: mainProgressValue, withMinFill: withMinFill }), _jsxs(Flex, { justifyContent: "space-between", gap: "2", children: [_jsx(Text, { variant: "body-2", color: "secondary", children: minLabel }), _jsx(Text, { variant: "body-2", color: "secondary", children: maxLabel })] })] }), isAboveMax && (_jsxs(Flex, { direction: "column", gap: "2", className: b('segment', SEGMENT_MODS.additional), style: { flexGrow: rightSegmentUnits }, children: [_jsx(SegmentProgressBar, { position: "additional", value: FULL_FILL_VALUE }), _jsx(Flex, { justifyContent: "flex-end", children: _jsx(Text, { variant: "body-2", color: "secondary", children: currentLabel }) })] }))] }) }));
|
|
31
34
|
};
|
|
32
35
|
//# sourceMappingURL=PartitionsProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PartitionsProgress.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"PartitionsProgress.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
+
import { formatNumber } from '../../../../../../utils/dataFormatters/dataFormatters';
|
|
1
2
|
import i18n from './i18n';
|
|
2
3
|
export const getPartitionsNoun = (count) => count === 1 ? i18n('value_partition-one') : i18n('value_partition-many');
|
|
3
4
|
export function getPartitionsTooltip(params) {
|
|
4
5
|
const partitions = getPartitionsNoun(params.count);
|
|
6
|
+
const countLabel = formatNumber(params.count);
|
|
7
|
+
const belowLabel = formatNumber(params.belowMin);
|
|
8
|
+
const aboveLabel = formatNumber(params.aboveMax);
|
|
5
9
|
if (params.isBelowMin) {
|
|
6
10
|
return i18n('tooltip_partitions-below-limit', {
|
|
7
|
-
count:
|
|
8
|
-
diff:
|
|
11
|
+
count: countLabel,
|
|
12
|
+
diff: belowLabel,
|
|
9
13
|
partitions,
|
|
10
14
|
});
|
|
11
15
|
}
|
|
12
16
|
if (params.isAboveMax) {
|
|
13
17
|
return i18n('tooltip_partitions-above-limit', {
|
|
14
|
-
count:
|
|
15
|
-
diff:
|
|
18
|
+
count: countLabel,
|
|
19
|
+
diff: aboveLabel,
|
|
16
20
|
partitions,
|
|
17
21
|
});
|
|
18
22
|
}
|
|
19
23
|
return i18n('tooltip_partitions-current', {
|
|
20
|
-
count:
|
|
24
|
+
count: countLabel,
|
|
21
25
|
partitions,
|
|
22
26
|
});
|
|
23
27
|
}
|
package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC/C,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAAC,MAMpC;IACG,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,gCAAgC,EAAE;YAC1C,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uDAAuD,CAAC;AAEnF,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC/C,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE7E,MAAM,UAAU,oBAAoB,CAAC,MAMpC;IACG,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,gCAAgC,EAAE;YAC1C,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,UAAU;YAChB,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,gCAAgC,EAAE;YAC1C,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,UAAU;YAChB,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAI,CAAC,4BAA4B,EAAE;QACtC,KAAK,EAAE,UAAU;QACjB,UAAU;KACb,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -4,6 +4,8 @@ export declare const b: import("@bem-react/classname").ClassNameFormatter;
|
|
|
4
4
|
interface TableInfoProps {
|
|
5
5
|
data?: TEvDescribeSchemeResult;
|
|
6
6
|
type?: EPathType;
|
|
7
|
+
database: string;
|
|
8
|
+
path: string;
|
|
7
9
|
}
|
|
8
|
-
export declare const TableInfo: ({ data, type }: TableInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const TableInfo: ({ data, type, database, path }: TableInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export {};
|
|
@@ -1,22 +1,53 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { ChevronDown, ChevronUp } from '@gravity-ui/icons';
|
|
4
|
-
import { Button, Disclosure, Icon } from '@gravity-ui/uikit';
|
|
3
|
+
import { ChevronDown, ChevronUp, Gear } from '@gravity-ui/icons';
|
|
4
|
+
import { Button, Disclosure, Flex, Icon } from '@gravity-ui/uikit';
|
|
5
5
|
import { YDBDefinitionList } from '../../../../../components/YDBDefinitionList/YDBDefinitionList';
|
|
6
|
+
import { tablePartitioningApi } from '../../../../../store/reducers/tablePartitioning/tablePartitioning';
|
|
6
7
|
import { cn } from '../../../../../utils/cn';
|
|
8
|
+
import createToast from '../../../../../utils/createToast';
|
|
9
|
+
import { reachMetricaGoal } from '../../../../../utils/yaMetrica';
|
|
10
|
+
import { EntityTitle } from '../../../EntityTitle/EntityTitle';
|
|
11
|
+
import { isRowTableType } from '../../../utils/schema';
|
|
12
|
+
import { openManagePartitioningDialog } from './ManagePartitioningDialog/ManagePartitioningDialog';
|
|
7
13
|
import { PartitionsProgress } from './PartitionsProgress/PartitionsProgress';
|
|
8
14
|
import i18n from './i18n';
|
|
9
15
|
import { prepareTableInfo } from './prepareTableInfo';
|
|
16
|
+
import { prepareUpdatePartitioningRequest } from './utils';
|
|
10
17
|
import './TableInfo.scss';
|
|
11
18
|
export const b = cn('ydb-diagnostics-table-info');
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
const TableInfoHeader = ({ data }) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const actualType = (_b = (_a = data === null || data === void 0 ? void 0 : data.PathDescription) === null || _a === void 0 ? void 0 : _a.Self) === null || _b === void 0 ? void 0 : _b.PathType;
|
|
22
|
+
const isRowTable = isRowTableType(actualType);
|
|
23
|
+
const title = isRowTable ? (i18n('title_partitioning')) : (_jsx(EntityTitle, { data: data === null || data === void 0 ? void 0 : data.PathDescription }));
|
|
24
|
+
return _jsx("div", { className: b('title'), children: title });
|
|
25
|
+
};
|
|
26
|
+
export const TableInfo = ({ data, type, database, path }) => {
|
|
27
|
+
const { generalInfoLeft = [], generalInfoRight = [], generalStats = [], tableStatsInfo = [], generalMetrics = [], tabletMetricsInfo = [], partitionConfigInfo = [], partitionProgressConfig, managePartitioningDialogConfig, } = React.useMemo(() => prepareTableInfo(data, type), [data, type]);
|
|
14
28
|
const [expanded, setExpanded] = React.useState(false);
|
|
15
29
|
const handleExpandedChange = React.useCallback((value) => setExpanded(value), []);
|
|
16
30
|
const hasMoreLeft = tableStatsInfo.some((items) => items.length > 0);
|
|
17
31
|
const hasMoreRight = tabletMetricsInfo.length > 0 || partitionConfigInfo.length > 0;
|
|
18
32
|
const hasMore = hasMoreLeft || hasMoreRight;
|
|
19
|
-
|
|
33
|
+
const [updatePartitioning] = tablePartitioningApi.useUpdateTablePartitioningMutation();
|
|
34
|
+
const handleOpenManagePartitioning = React.useCallback(() => {
|
|
35
|
+
reachMetricaGoal('openManagePartitioning');
|
|
36
|
+
openManagePartitioningDialog({
|
|
37
|
+
initialValue: managePartitioningDialogConfig,
|
|
38
|
+
onApply: async (value) => {
|
|
39
|
+
reachMetricaGoal('applyManagePartitioning');
|
|
40
|
+
await updatePartitioning(prepareUpdatePartitioningRequest(value, database, path)).unwrap();
|
|
41
|
+
createToast({
|
|
42
|
+
name: 'updateTablePartitioning',
|
|
43
|
+
content: i18n('toast_partitioning-updated'),
|
|
44
|
+
autoHiding: 3000,
|
|
45
|
+
isClosable: true,
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}, [managePartitioningDialogConfig, database, path, updatePartitioning]);
|
|
50
|
+
return (_jsxs("div", { className: b(), children: [_jsxs(Flex, { className: b('header'), justifyContent: "space-between", alignItems: "center", gap: "2", children: [_jsx(TableInfoHeader, { data: data }), managePartitioningDialogConfig && (_jsx(Button, { view: "normal", size: "s", onClick: handleOpenManagePartitioning, children: _jsx(Icon, { data: Gear, size: 16 }) }))] }), partitionProgressConfig && (_jsx("div", { className: b('progress-bar'), children: _jsx(PartitionsProgress, { minPartitions: partitionProgressConfig.minPartitions, partitionsCount: partitionProgressConfig.partitionsCount, maxPartitions: partitionProgressConfig.maxPartitions }) })), _jsxs("div", { className: b('row', { 'general-info': true }), children: [_jsx("div", { className: b('col'), children: generalInfoLeft.length > 0 ? (_jsx(YDBDefinitionList, { nameMaxWidth: "auto", responsive: true, className: b('info-block'), items: generalInfoLeft, titleClassname: b('info-title') })) : null }), _jsx("div", { className: b('col'), children: generalInfoRight.length > 0 ? (_jsx(YDBDefinitionList, { nameMaxWidth: "auto", responsive: true, className: b('info-block'), items: generalInfoRight, titleClassname: b('info-title') })) : null })] }), _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: generalStats.length > 0 ? (_jsx(YDBDefinitionList, { items: generalStats, title: i18n('title_table-stats'), className: b('info-block'), nameMaxWidth: "auto", responsive: true, titleClassname: b('info-title') })) : null }), _jsx("div", { className: b('col'), children: generalMetrics.length > 0 ? (_jsx(YDBDefinitionList, { items: generalMetrics, title: i18n('title_tablet-metrics'), className: b('info-block'), nameMaxWidth: "auto", responsive: true, titleClassname: b('info-title') })) : null })] }), hasMore ? (_jsxs(Disclosure, { className: b('show-more-disclosure'), expanded: expanded, onUpdate: handleExpandedChange, children: [_jsx(Disclosure.Summary, { children: (props) => (_jsxs(Button, { onClick: props.onClick, view: "normal", size: "s", children: [expanded ? i18n('button_show-less') : i18n('button_show-more'), _jsx(Icon, { data: expanded ? ChevronUp : ChevronDown, size: 16 })] })) }), _jsx(Disclosure.Details, { children: _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: tableStatsInfo
|
|
20
51
|
.filter((items) => items.length > 0)
|
|
21
52
|
.map((items, index) => (_jsx(YDBDefinitionList, { items: items, className: b('info-block'), nameMaxWidth: "auto", responsive: true }, index))) }), _jsxs("div", { className: b('col'), children: [tabletMetricsInfo.length > 0 ? (_jsx(YDBDefinitionList, { items: tabletMetricsInfo, className: b('info-block'), nameMaxWidth: "auto", responsive: true })) : null, partitionConfigInfo.length > 0 ? (_jsx(YDBDefinitionList, { items: partitionConfigInfo, title: i18n('title_partition-config'), className: b('info-block'), nameMaxWidth: "auto", responsive: true, titleClassname: b('info-title') })) : null] })] }) })] })) : null] }));
|
|
22
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
@use '../../../../../styles/mixins.scss';
|
|
2
2
|
|
|
3
3
|
.ydb-diagnostics-table-info {
|
|
4
|
-
|
|
4
|
+
$progress-bar-max-width: 656px;
|
|
5
|
+
$column-width: 310px;
|
|
6
|
+
$partitions-popover-max-width: 360px;
|
|
7
|
+
|
|
8
|
+
&__header {
|
|
9
|
+
max-width: $progress-bar-max-width;
|
|
5
10
|
margin-bottom: 10px;
|
|
11
|
+
}
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
@include mixins.
|
|
13
|
+
&__title {
|
|
14
|
+
@include mixins.info-viewer-title();
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
&__progress-bar {
|
|
12
|
-
max-width:
|
|
18
|
+
max-width: $progress-bar-max-width;
|
|
13
19
|
padding: var(--g-spacing-3) 0 var(--g-spacing-4);
|
|
14
20
|
}
|
|
15
21
|
|
|
@@ -31,7 +37,7 @@
|
|
|
31
37
|
justify-content: flex-start;
|
|
32
38
|
align-items: stretch;
|
|
33
39
|
|
|
34
|
-
width:
|
|
40
|
+
width: $column-width;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
&__info-block {
|
|
@@ -44,7 +50,7 @@
|
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
&__partitions-popover {
|
|
47
|
-
max-width:
|
|
53
|
+
max-width: $partitions-popover-max-width;
|
|
48
54
|
padding: var(--g-spacing-2);
|
|
49
55
|
|
|
50
56
|
font-size: var(--g-text-body-1-font-size);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACV,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"field_max-partitions-count": "Max number of partitions",
|
|
16
16
|
"field_read-replicas": "Read replicas (followers)",
|
|
17
17
|
"field_bloom-filter": "Bloom filter",
|
|
18
|
-
"field_compression-groups": "Compression &
|
|
18
|
+
"field_compression-groups": "Compression & families",
|
|
19
19
|
"value_ttl-config": "column: '{{columnName}}', expire after: {{expireTime}}",
|
|
20
20
|
"value_partitioning-by-size-enabled": "Enabled, split size: {{size}}",
|
|
21
21
|
"value_enabled": "Enabled",
|
|
@@ -23,5 +23,7 @@
|
|
|
23
23
|
"value_no": "No",
|
|
24
24
|
"value_some-groups": "some groups",
|
|
25
25
|
"value_default": "default",
|
|
26
|
-
"hint_current-partitions-
|
|
26
|
+
"hint_current-partitions-below-limits": "The current partition size is below the limits. To prevent automatic splits and maintain performance, adjust the partition limits",
|
|
27
|
+
"hint_current-partitions-exceeds-limits": "The current partition size exceeds the limits. To prevent automatic splits and maintain performance, adjust the partition limits",
|
|
28
|
+
"toast_partitioning-updated": "Partitioning settings applied"
|
|
27
29
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "value_no" | "title_partitioning" | "title_table-stats" | "title_tablet-metrics" | "title_partition-config" | "button_show-more" | "button_show-less" | "field_current-partitions" | "field_ttl-for-rows" | "field_standalone" | "field_partitioning" | "field_partitioning-by-size" | "field_partitioning-by-load" | "field_min-partitions-count" | "field_max-partitions-count" | "field_read-replicas" | "field_bloom-filter" | "field_compression-groups" | "value_ttl-config" | "value_partitioning-by-size-enabled" | "value_enabled" | "value_disabled" | "value_some-groups" | "value_default" | "hint_current-partitions-
|
|
1
|
+
declare const _default: (key: "value_no" | "title_partitioning" | "title_table-stats" | "title_tablet-metrics" | "title_partition-config" | "button_show-more" | "button_show-less" | "field_current-partitions" | "field_ttl-for-rows" | "field_standalone" | "field_partitioning" | "field_partitioning-by-size" | "field_partitioning-by-load" | "field_min-partitions-count" | "field_max-partitions-count" | "field_read-replicas" | "field_bloom-filter" | "field_compression-groups" | "value_ttl-config" | "value_partitioning-by-size-enabled" | "value_enabled" | "value_disabled" | "value_some-groups" | "value_default" | "hint_current-partitions-below-limits" | "hint_current-partitions-exceeds-limits" | "toast_partitioning-updated", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { YDBDefinitionListItem } from '../../../../../components/YDBDefinitionList/YDBDefinitionList';
|
|
2
2
|
import type { TEvDescribeSchemeResult } from '../../../../../types/api/schema';
|
|
3
3
|
import { EPathType } from '../../../../../types/api/schema';
|
|
4
|
+
import type { ManagePartitioningFormState } from './ManagePartitioningDialog/types';
|
|
4
5
|
type PartitionProgressConfig = {
|
|
5
6
|
minPartitions: number;
|
|
6
7
|
maxPartitions?: number;
|
|
@@ -16,6 +17,7 @@ export declare const prepareTableInfo: (data?: TEvDescribeSchemeResult, type?: E
|
|
|
16
17
|
tabletMetricsInfo?: undefined;
|
|
17
18
|
partitionConfigInfo?: undefined;
|
|
18
19
|
partitionProgressConfig?: undefined;
|
|
20
|
+
managePartitioningDialogConfig?: undefined;
|
|
19
21
|
} | {
|
|
20
22
|
generalInfoRight: YDBDefinitionListItem[];
|
|
21
23
|
generalInfoLeft: YDBDefinitionListItem[];
|
|
@@ -25,5 +27,6 @@ export declare const prepareTableInfo: (data?: TEvDescribeSchemeResult, type?: E
|
|
|
25
27
|
tabletMetricsInfo: YDBDefinitionListItem[];
|
|
26
28
|
partitionConfigInfo: YDBDefinitionListItem[];
|
|
27
29
|
partitionProgressConfig: PartitionProgressConfig | undefined;
|
|
30
|
+
managePartitioningDialogConfig: ManagePartitioningFormState | undefined;
|
|
28
31
|
};
|
|
29
32
|
export {};
|
|
@@ -7,11 +7,13 @@ import { toFormattedSize } from '../../../../../components/FormattedBytes/utils'
|
|
|
7
7
|
import { formatFollowerGroupItem, formatPartitionConfigItem, formatTableStatsItem, formatTabletMetricsItem, } from '../../../../../components/YDBDefinitionList/formatters/table';
|
|
8
8
|
import { formatObjectToDefinitionItems } from '../../../../../components/YDBDefinitionList/utils';
|
|
9
9
|
import { EPathType } from '../../../../../types/api/schema';
|
|
10
|
-
import { formatBytes,
|
|
10
|
+
import { formatBytes, getBytesSizeUnit } from '../../../../../utils/bytesParsers';
|
|
11
|
+
import { formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
|
|
11
12
|
import { formatDurationToShortTimeFormat } from '../../../../../utils/timeParsers';
|
|
12
13
|
import { isNumeric } from '../../../../../utils/utils';
|
|
14
|
+
import { DEFAULT_MANAGE_PARTITIONING_VALUE } from './ManagePartitioningDialog/constants';
|
|
13
15
|
import { b } from './TableInfo';
|
|
14
|
-
import { DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES,
|
|
16
|
+
import { DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES, READ_REPLICAS_MODE } from './constants';
|
|
15
17
|
import i18n from './i18n';
|
|
16
18
|
const GENERAL_METRICS_KEYS = ['CPU', 'Memory', 'ReadThroughput', 'Network'];
|
|
17
19
|
const isInStoreColumnTable = (table) => {
|
|
@@ -54,9 +56,13 @@ function prepareColumnTableGeneralInfo(columnTable) {
|
|
|
54
56
|
}
|
|
55
57
|
const renderCurrentPartitionsContent = (progress) => {
|
|
56
58
|
const { minPartitions, maxPartitions, partitionsCount } = progress;
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
const isBelowMin = partitionsCount < minPartitions;
|
|
60
|
+
const isAboveMax = maxPartitions !== undefined && partitionsCount > maxPartitions;
|
|
61
|
+
const isOutOfRange = isBelowMin || isAboveMax;
|
|
62
|
+
const content = isBelowMin
|
|
63
|
+
? i18n('hint_current-partitions-below-limits')
|
|
64
|
+
: i18n('hint_current-partitions-exceeds-limits');
|
|
65
|
+
return (_jsx(Label, { theme: isOutOfRange ? 'danger' : undefined, children: _jsxs(Flex, { gap: "2", alignItems: "center", children: [formatNumber(partitionsCount), isOutOfRange && (_jsx(Popover, { placement: "auto-start", content: content, className: b('partitions-popover'), children: _jsx(Icon, { data: CircleQuestion }) }))] }) }));
|
|
60
66
|
};
|
|
61
67
|
const renderBloomFilterStatusIcon = (value) => {
|
|
62
68
|
return (_jsx("span", { "aria-label": value ? i18n('value_enabled') : i18n('value_disabled'), className: b('status-icon', { state: value ? 'enabled' : 'disabled' }), children: _jsx(Icon, { data: value ? CircleCheckFill : CircleXmarkFill, size: 16 }) }));
|
|
@@ -74,22 +80,20 @@ const renderCompressionGroupsContent = (partitionConfig) => {
|
|
|
74
80
|
}) }));
|
|
75
81
|
};
|
|
76
82
|
const prepareTableGeneralInfo = (PartitionConfig, Progress, TTLSettings) => {
|
|
77
|
-
var _a, _b
|
|
83
|
+
var _a, _b;
|
|
78
84
|
const { PartitioningPolicy = {}, FollowerGroups, EnableFilterByKey } = PartitionConfig;
|
|
79
85
|
const left = [];
|
|
80
86
|
const right = [];
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
const splitByLoadEnabled = Boolean((_a = PartitioningPolicy === null || PartitioningPolicy === void 0 ? void 0 : PartitioningPolicy.SplitByLoadSettings) === null || _a === void 0 ? void 0 : _a.Enabled);
|
|
88
|
+
const partitioningByLoad = splitByLoadEnabled ? (_jsx(Label, { children: i18n('value_enabled') })) : (_jsx(Label, { theme: "unknown", children: i18n('value_disabled') }));
|
|
83
89
|
// for splitting by size: it always will be splitted by 2 GB if user doesn't set anything else
|
|
84
|
-
const
|
|
85
|
-
const partitioningByLoad = ((_c = PartitioningPolicy.SplitByLoadSettings) === null || _c === void 0 ? void 0 : _c.Enabled) ? (_jsx(Label, { children: `${cpuThreshold}%` })) : (_jsx(Label, { theme: "unknown", children: i18n('value_disabled') }));
|
|
86
|
-
const splitSizeBytes = (_d = PartitioningPolicy.SizeToSplit) !== null && _d !== void 0 ? _d : DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES;
|
|
90
|
+
const splitSizeBytes = (_b = PartitioningPolicy.SizeToSplit) !== null && _b !== void 0 ? _b : DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES;
|
|
87
91
|
left.push({
|
|
88
92
|
name: i18n('field_current-partitions'),
|
|
89
93
|
content: renderCurrentPartitionsContent(Progress),
|
|
90
94
|
}, {
|
|
91
95
|
name: i18n('field_partitioning-by-size'),
|
|
92
|
-
content: _jsx(Label, { children: formatBytes(splitSizeBytes) }),
|
|
96
|
+
content: _jsx(Label, { children: formatBytes({ value: splitSizeBytes }) }),
|
|
93
97
|
}, { name: i18n('field_partitioning-by-load'), content: partitioningByLoad });
|
|
94
98
|
if (TTLSettings) {
|
|
95
99
|
const ttlInfo = prepareTTL(TTLSettings);
|
|
@@ -131,6 +135,24 @@ const preparePartitionProgressConfig = (PartitionConfig, TablePartitions) => {
|
|
|
131
135
|
partitionsCount,
|
|
132
136
|
};
|
|
133
137
|
};
|
|
138
|
+
const prepareManagePartitioningDialogConfig = (partitionConfig, progress) => {
|
|
139
|
+
var _a, _b, _c;
|
|
140
|
+
const policy = partitionConfig === null || partitionConfig === void 0 ? void 0 : partitionConfig.PartitioningPolicy;
|
|
141
|
+
const splitByLoadEnabled = Boolean((_a = policy === null || policy === void 0 ? void 0 : policy.SplitByLoadSettings) === null || _a === void 0 ? void 0 : _a.Enabled);
|
|
142
|
+
const bytes = Number((_b = policy === null || policy === void 0 ? void 0 : policy.SizeToSplit) !== null && _b !== void 0 ? _b : DEFAULT_PARTITION_SIZE_TO_SPLIT_BYTES);
|
|
143
|
+
const size = formatBytes({
|
|
144
|
+
value: bytes,
|
|
145
|
+
withSizeLabel: false,
|
|
146
|
+
});
|
|
147
|
+
const unit = getBytesSizeUnit(bytes);
|
|
148
|
+
return {
|
|
149
|
+
splitSize: size,
|
|
150
|
+
splitUnit: unit,
|
|
151
|
+
loadEnabled: splitByLoadEnabled,
|
|
152
|
+
minimum: String(progress === null || progress === void 0 ? void 0 : progress.minPartitions),
|
|
153
|
+
maximum: String((_c = progress === null || progress === void 0 ? void 0 : progress.maxPartitions) !== null && _c !== void 0 ? _c : DEFAULT_MANAGE_PARTITIONING_VALUE.maximum),
|
|
154
|
+
};
|
|
155
|
+
};
|
|
134
156
|
/** Prepares data for Table, ColumnTable and ColumnStore */
|
|
135
157
|
export const prepareTableInfo = (data, type) => {
|
|
136
158
|
if (!data) {
|
|
@@ -143,9 +165,11 @@ export const prepareTableInfo = (data, type) => {
|
|
|
143
165
|
let generalInfoLeft = [];
|
|
144
166
|
let generalInfoRight = [];
|
|
145
167
|
let partitionProgressConfig;
|
|
168
|
+
let managePartitioningDialogConfig;
|
|
146
169
|
switch (type) {
|
|
147
170
|
case EPathType.EPathTypeTable: {
|
|
148
171
|
partitionProgressConfig = preparePartitionProgressConfig(PartitionConfig, TablePartitions);
|
|
172
|
+
managePartitioningDialogConfig = prepareManagePartitioningDialogConfig(PartitionConfig, partitionProgressConfig);
|
|
149
173
|
const { left, right } = prepareTableGeneralInfo(PartitionConfig, partitionProgressConfig, TTLSettings);
|
|
150
174
|
generalInfoLeft = left;
|
|
151
175
|
generalInfoRight = right;
|
|
@@ -216,6 +240,7 @@ export const prepareTableInfo = (data, type) => {
|
|
|
216
240
|
tabletMetricsInfo,
|
|
217
241
|
partitionConfigInfo,
|
|
218
242
|
partitionProgressConfig,
|
|
243
|
+
managePartitioningDialogConfig,
|
|
219
244
|
};
|
|
220
245
|
};
|
|
221
246
|
//# sourceMappingURL=prepareTableInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAC,eAAe,EAAC,MAAM,gDAAgD,CAAC;AAE/E,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,GAC1B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAC,6BAA6B,EAAC,MAAM,mDAAmD,CAAC;AAShG,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"prepareTableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.tsx"],"names":[],"mappings":"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"}
|