ydb-embedded-ui 8.7.0 → 8.8.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/FormattedBytes/utils.js +1 -1
- package/dist/components/FormattedBytes/utils.js.map +1 -1
- package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js +2 -2
- package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js.map +1 -1
- package/dist/containers/Operations/Operations.js +2 -2
- package/dist/containers/Operations/Operations.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.js +5 -5
- package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
- package/dist/containers/PDiskPage/i18n/en.json +1 -1
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.js +2 -2
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js +31 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +11 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +31 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/TraceButton/TraceButton.d.ts +1 -2
- package/dist/containers/Tenant/Query/QueryResult/components/TraceButton/TraceButton.js +4 -15
- package/dist/containers/Tenant/Query/QueryResult/components/TraceButton/TraceButton.js.map +1 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js +3 -3
- package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js.map +1 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/types.d.ts +1 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/utils.js +5 -2
- package/dist/containers/Tenant/Schema/SchemaViewer/utils.js.map +1 -1
- package/dist/containers/Tenant/i18n/en.json +2 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/schemaActions.js +14 -3
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js +14 -1
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
- package/dist/services/api/codeAssist.d.ts +9 -0
- package/dist/services/api/codeAssist.js +97 -0
- package/dist/services/api/codeAssist.js.map +1 -0
- package/dist/services/api/index.d.ts +2 -2
- package/dist/services/api/index.js +2 -2
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/parsers/parseMetaCluster.d.ts +1 -6
- package/dist/services/parsers/parseMetaCluster.js +2 -3
- package/dist/services/parsers/parseMetaCluster.js.map +1 -1
- package/dist/store/configureStore.d.ts +1 -0
- package/dist/store/configureStore.js +1 -0
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/reducers/capabilities/capabilities.d.ts +14 -14
- package/dist/store/reducers/cluster/cluster.d.ts +0 -4
- package/dist/store/reducers/cluster/cluster.js +2 -2
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +9 -0
- package/dist/store/reducers/codeAssist/codeAssist.js +108 -0
- package/dist/store/reducers/codeAssist/codeAssist.js.map +1 -0
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +18 -18
- package/dist/store/reducers/pdisk/utils.js +11 -5
- package/dist/store/reducers/pdisk/utils.js.map +1 -1
- package/dist/store/reducers/query/query.d.ts +3 -7
- package/dist/store/reducers/query/query.js +1 -6
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +1 -4
- package/dist/store/reducers/schema/schema.d.ts +6 -6
- package/dist/store/reducers/tenants/selectors.d.ts +12 -12
- package/dist/store/reducers/topic.d.ts +18 -18
- package/dist/types/api/codeAssist.d.ts +52 -0
- package/dist/types/api/codeAssist.js +2 -0
- package/dist/types/api/codeAssist.js.map +1 -0
- package/dist/types/api/meta.d.ts +0 -1
- package/dist/types/api/schema/columnEntity.d.ts +20 -18
- package/dist/types/api/schema/columnEntity.js +0 -10
- package/dist/types/api/schema/columnEntity.js.map +1 -1
- package/dist/types/api/trace.d.ts +0 -8
- package/dist/types/api/trace.js +0 -3
- package/dist/types/api/trace.js.map +1 -1
- package/dist/types/common.d.ts +1 -0
- package/dist/utils/bytesParsers/__test__/formatBytes.test.js +0 -6
- package/dist/utils/bytesParsers/__test__/formatBytes.test.js.map +1 -1
- package/dist/utils/bytesParsers/formatBytes.d.ts +17 -37
- package/dist/utils/bytesParsers/formatBytes.js +7 -32
- package/dist/utils/bytesParsers/formatBytes.js.map +1 -1
- package/dist/utils/dataFormatters/__test__/formatNumbers.test.js +4 -0
- package/dist/utils/dataFormatters/__test__/formatNumbers.test.js.map +1 -1
- package/dist/utils/dataFormatters/common.d.ts +1 -2
- package/dist/utils/dataFormatters/common.js +2 -2
- package/dist/utils/dataFormatters/common.js.map +1 -1
- package/dist/utils/dataFormatters/dataFormatters.js +4 -4
- package/dist/utils/dataFormatters/dataFormatters.js.map +1 -1
- package/dist/utils/dataFormatters/formatNumber.d.ts +6 -22
- package/dist/utils/dataFormatters/formatNumber.js +17 -34
- package/dist/utils/dataFormatters/formatNumber.js.map +1 -1
- package/dist/utils/disks/calculatePDiskSeverity.js +5 -7
- package/dist/utils/disks/calculatePDiskSeverity.js.map +1 -1
- package/dist/utils/disks/constants.js.map +1 -1
- package/dist/utils/disks/helpers.d.ts +2 -1
- package/dist/utils/disks/helpers.js +6 -0
- package/dist/utils/disks/helpers.js.map +1 -1
- package/package.json +2 -1
- package/dist/services/api/trace.d.ts +0 -7
- package/dist/services/api/trace.js +0 -33
- package/dist/services/api/trace.js.map +0 -1
- package/dist/store/reducers/trace.d.ts +0 -7
- package/dist/store/reducers/trace.js +0 -20
- package/dist/store/reducers/trace.js.map +0 -1
@@ -1,4 +1,5 @@
|
|
1
1
|
import type { EColumnCodec, EUnit, TPathID, TStorageSettings, TTypeInfo } from './shared';
|
2
|
+
import type { TFamilyDescription } from './table';
|
2
3
|
export interface TColumnTableDescription {
|
3
4
|
Name?: string;
|
4
5
|
Schema?: TColumnTableSchema;
|
@@ -54,54 +55,55 @@ interface TTtl {
|
|
54
55
|
interface TColumnTableSchema {
|
55
56
|
Columns?: TOlapColumnDescription[];
|
56
57
|
KeyColumnNames?: string[];
|
57
|
-
KeyColumnIds?: number[];
|
58
|
-
Engine?: EColumnTableEngine;
|
59
|
-
NextColumnId?: number;
|
60
58
|
/** uint64 */
|
61
59
|
Version?: string;
|
62
60
|
DefaultCompression?: TCompressionOptions;
|
63
|
-
|
61
|
+
Indexes?: unknown;
|
62
|
+
Options?: TColumnTableSchemeOptions;
|
63
|
+
ColumnFamilies?: TFamilyDescription[];
|
64
64
|
}
|
65
65
|
interface TColumnTableSchemaPreset {
|
66
66
|
Id?: number;
|
67
67
|
Name?: string;
|
68
68
|
Schema?: TColumnTableSchema;
|
69
69
|
}
|
70
|
+
interface TColumnTableSchemeOptions {
|
71
|
+
SchemeNeedActualization?: boolean;
|
72
|
+
ScanReaderPolicyName?: string;
|
73
|
+
}
|
70
74
|
interface TOlapColumnDescription {
|
71
75
|
Id?: number;
|
72
76
|
Name?: string;
|
73
77
|
Type?: string;
|
74
|
-
NotNull?: boolean;
|
75
78
|
TypeId?: number;
|
76
79
|
TypeInfo?: TTypeInfo;
|
80
|
+
NotNull?: boolean;
|
81
|
+
DictionaryEncoding?: TDictionaryEncodingSettings;
|
82
|
+
Serializer?: unknown;
|
83
|
+
StorageId?: string;
|
84
|
+
DefaultValue?: unknown;
|
85
|
+
DataAccessorConstructor?: unknown;
|
86
|
+
ColumnFamilyId?: number;
|
87
|
+
ColumnFamilyName?: string;
|
77
88
|
}
|
78
89
|
interface TColumnTableSharding {
|
79
|
-
/** uint64 */
|
80
|
-
Version?: string;
|
81
90
|
/** uint64 */
|
82
91
|
ColumnShards?: string[];
|
83
|
-
/** uint64 */
|
84
|
-
AdditionalColumnShards?: string[];
|
85
|
-
UniquePrimaryKey?: boolean;
|
86
92
|
RandomSharding?: {};
|
87
93
|
HashSharding?: THashSharding;
|
88
94
|
}
|
89
95
|
interface THashSharding {
|
90
96
|
Function?: EHashFunction;
|
91
97
|
Columns?: string[];
|
92
|
-
UniqueShardKey?: boolean;
|
93
98
|
ActiveShardsCount?: number;
|
99
|
+
ModuloPartsCount?: number;
|
94
100
|
}
|
95
101
|
interface TCompressionOptions {
|
96
102
|
CompressionCodec?: EColumnCodec;
|
97
103
|
CompressionLevel?: number;
|
98
104
|
}
|
99
|
-
|
100
|
-
|
101
|
-
HASH_FUNCTION_CLOUD_LOGS = "HASH_FUNCTION_CLOUD_LOGS"
|
102
|
-
}
|
103
|
-
declare enum EColumnTableEngine {
|
104
|
-
COLUMN_ENGINE_NONE = "COLUMN_ENGINE_NONE",
|
105
|
-
COLUMN_ENGINE_REPLACING_TIMESERIES = "COLUMN_ENGINE_REPLACING_TIMESERIES"
|
105
|
+
interface TDictionaryEncodingSettings {
|
106
|
+
Enabled?: boolean;
|
106
107
|
}
|
108
|
+
type EHashFunction = 'HASH_FUNCTION_MODULO_N' | 'HASH_FUNCTION_CLOUD_LOGS' | 'HASH_FUNCTION_CONSISTENCY_64';
|
107
109
|
export {};
|
@@ -1,12 +1,2 @@
|
|
1
|
-
var EHashFunction;
|
2
|
-
(function (EHashFunction) {
|
3
|
-
EHashFunction["HASH_FUNCTION_MODULO_N"] = "HASH_FUNCTION_MODULO_N";
|
4
|
-
EHashFunction["HASH_FUNCTION_CLOUD_LOGS"] = "HASH_FUNCTION_CLOUD_LOGS";
|
5
|
-
})(EHashFunction || (EHashFunction = {}));
|
6
|
-
var EColumnTableEngine;
|
7
|
-
(function (EColumnTableEngine) {
|
8
|
-
EColumnTableEngine["COLUMN_ENGINE_NONE"] = "COLUMN_ENGINE_NONE";
|
9
|
-
EColumnTableEngine["COLUMN_ENGINE_REPLACING_TIMESERIES"] = "COLUMN_ENGINE_REPLACING_TIMESERIES";
|
10
|
-
})(EColumnTableEngine || (EColumnTableEngine = {}));
|
11
1
|
export {};
|
12
2
|
//# sourceMappingURL=columnEntity.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"columnEntity.js","sourceRoot":"","sources":["../../../../src/types/api/schema/columnEntity.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"columnEntity.js","sourceRoot":"","sources":["../../../../src/types/api/schema/columnEntity.ts"],"names":[],"mappings":""}
|
@@ -1,12 +1,4 @@
|
|
1
1
|
import { z } from 'zod';
|
2
|
-
export declare const traceCheckSchema: z.ZodObject<{
|
3
|
-
url: z.ZodString;
|
4
|
-
}, "strip", z.ZodTypeAny, {
|
5
|
-
url: string;
|
6
|
-
}, {
|
7
|
-
url: string;
|
8
|
-
}>;
|
9
|
-
export type TTraceCheck = z.infer<typeof traceCheckSchema>;
|
10
2
|
export declare const traceViewSchema: z.ZodObject<{
|
11
3
|
url: z.ZodString;
|
12
4
|
}, "strip", z.ZodTypeAny, {
|
package/dist/types/api/trace.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/types/api/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/types/api/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACxB,CAAC,CAAC"}
|
package/dist/types/common.d.ts
CHANGED
@@ -20,12 +20,6 @@ describe('formatBytes', () => {
|
|
20
20
|
expect(formatBytes({ value: 100000, withSpeedLabel: true })).toBe(`100${UNBREAKABLE_GAP}KB/s`);
|
21
21
|
expect(formatBytes({ value: 100000, size: 'b', withSpeedLabel: true })).toBe(`100${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}B/s`);
|
22
22
|
});
|
23
|
-
it('should return fixed amount of significant digits', () => {
|
24
|
-
expect(formatBytes({ value: 99000, significantDigits: 2 })).toEqual(`99${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}B`);
|
25
|
-
expect(formatBytes({ value: 100000, significantDigits: 2 })).toEqual(`100${UNBREAKABLE_GAP}KB`);
|
26
|
-
expect(formatBytes({ value: 99000000000000, significantDigits: 2 })).toEqual(`99${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}GB`);
|
27
|
-
expect(formatBytes({ value: 100000000000000, significantDigits: 2 })).toEqual(`100${UNBREAKABLE_GAP}TB`);
|
28
|
-
});
|
29
23
|
it('should return empty string on invalid data', () => {
|
30
24
|
expect(formatBytes({ value: undefined })).toEqual('');
|
31
25
|
expect(formatBytes({ value: null })).toEqual('');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatBytes.test.js","sourceRoot":"","sources":["../../../../src/utils/bytesParsers/__test__/formatBytes.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,MAAO,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,SAAW,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,YAAe,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,eAAmB,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,MAAO,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC,IAAI,CACjD,MAAM,eAAe,MAAM,eAAe,GAAG,CAChD,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,eAAmB,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAC9D,MAAM,eAAe,MAAM,eAAe,IAAI,CACjD,CAAC;IACN,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,MAAO,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CACvE,MAAM,eAAe,KAAK,CAC7B,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,eAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CACpF,MAAM,eAAe,KAAK,CAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,MAAO,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAC5D,MAAM,eAAe,MAAM,CAC9B,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,MAAO,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CACvE,MAAM,eAAe,MAAM,eAAe,KAAK,CAClD,CAAC;IACN,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"formatBytes.test.js","sourceRoot":"","sources":["../../../../src/utils/bytesParsers/__test__/formatBytes.test.ts"],"names":[],"mappings":"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"}
|
@@ -1,47 +1,27 @@
|
|
1
1
|
import type { FormatValuesArgs } from '../dataFormatters/common';
|
2
2
|
declare const sizes: {
|
3
|
-
b: {
|
4
|
-
value:
|
5
|
-
label: string;
|
3
|
+
readonly b: {
|
4
|
+
readonly value: 1;
|
5
|
+
readonly label: string;
|
6
6
|
};
|
7
|
-
kb: {
|
8
|
-
value:
|
9
|
-
label: string;
|
7
|
+
readonly kb: {
|
8
|
+
readonly value: 1000;
|
9
|
+
readonly label: string;
|
10
10
|
};
|
11
|
-
mb: {
|
12
|
-
value:
|
13
|
-
label: string;
|
11
|
+
readonly mb: {
|
12
|
+
readonly value: 1000000;
|
13
|
+
readonly label: string;
|
14
14
|
};
|
15
|
-
gb: {
|
16
|
-
value:
|
17
|
-
label: string;
|
15
|
+
readonly gb: {
|
16
|
+
readonly value: 1000000000;
|
17
|
+
readonly label: string;
|
18
18
|
};
|
19
|
-
tb: {
|
20
|
-
value:
|
21
|
-
label: string;
|
19
|
+
readonly tb: {
|
20
|
+
readonly value: 1000000000000;
|
21
|
+
readonly label: string;
|
22
22
|
};
|
23
23
|
};
|
24
24
|
export type BytesSizes = keyof typeof sizes;
|
25
|
-
|
26
|
-
|
27
|
-
*
|
28
|
-
* @param significantDigits - number of digits above 3
|
29
|
-
* @returns size to format value to get required number of digits
|
30
|
-
*
|
31
|
-
* By default value converted to the next size when it's above 1000,
|
32
|
-
* so we have 900mb and 1gb. To extend it additional significantDigits could be set
|
33
|
-
*
|
34
|
-
* significantDigits value added above default 3
|
35
|
-
*
|
36
|
-
* significantDigits = 1 - 9 000 mb and 10 gb
|
37
|
-
*
|
38
|
-
* significantDigits = 2 - 90 000 mb and 100 gb
|
39
|
-
*
|
40
|
-
* significantDigits = 3 - 900 000 mb and 1000 gb
|
41
|
-
*/
|
42
|
-
export declare const getSizeWithSignificantDigits: (value: number, significantDigits: number) => "b" | "kb" | "mb" | "gb" | "tb";
|
43
|
-
/**
|
44
|
-
* @param significantDigits - number of digits above 3
|
45
|
-
*/
|
46
|
-
export declare const formatBytes: ({ value, size, withSpeedLabel, withSizeLabel, significantDigits, delimiter, ...params }: FormatValuesArgs<BytesSizes>) => string;
|
25
|
+
export declare const getBytesSizeUnit: (value: number) => "b" | "kb" | "mb" | "gb" | "tb";
|
26
|
+
export declare const formatBytes: ({ value, size, withSpeedLabel, withSizeLabel, delimiter, ...params }: FormatValuesArgs<BytesSizes>) => string;
|
47
27
|
export {};
|
@@ -24,40 +24,18 @@ const sizes = {
|
|
24
24
|
label: i18n('tb'),
|
25
25
|
},
|
26
26
|
};
|
27
|
-
|
28
|
-
* This function is needed to keep more than 3 digits of the same size.
|
29
|
-
*
|
30
|
-
* @param significantDigits - number of digits above 3
|
31
|
-
* @returns size to format value to get required number of digits
|
32
|
-
*
|
33
|
-
* By default value converted to the next size when it's above 1000,
|
34
|
-
* so we have 900mb and 1gb. To extend it additional significantDigits could be set
|
35
|
-
*
|
36
|
-
* significantDigits value added above default 3
|
37
|
-
*
|
38
|
-
* significantDigits = 1 - 9 000 mb and 10 gb
|
39
|
-
*
|
40
|
-
* significantDigits = 2 - 90 000 mb and 100 gb
|
41
|
-
*
|
42
|
-
* significantDigits = 3 - 900 000 mb and 1000 gb
|
43
|
-
*/
|
44
|
-
export const getSizeWithSignificantDigits = (value, significantDigits) => {
|
45
|
-
const multiplier = 10 ** significantDigits;
|
46
|
-
const tbLevel = sizes.tb.value * multiplier;
|
47
|
-
const gbLevel = sizes.gb.value * multiplier;
|
48
|
-
const mbLevel = sizes.mb.value * multiplier;
|
49
|
-
const kbLevel = sizes.kb.value * multiplier;
|
27
|
+
export const getBytesSizeUnit = (value) => {
|
50
28
|
let size = 'b';
|
51
|
-
if (value >=
|
29
|
+
if (value >= sizes.kb.value) {
|
52
30
|
size = 'kb';
|
53
31
|
}
|
54
|
-
if (value >=
|
32
|
+
if (value >= sizes.mb.value) {
|
55
33
|
size = 'mb';
|
56
34
|
}
|
57
|
-
if (value >=
|
35
|
+
if (value >= sizes.gb.value) {
|
58
36
|
size = 'gb';
|
59
37
|
}
|
60
|
-
if (value >=
|
38
|
+
if (value >= sizes.tb.value) {
|
61
39
|
size = 'tb';
|
62
40
|
}
|
63
41
|
return size;
|
@@ -72,15 +50,12 @@ const addSizeLabel = (result, size, delimiter = UNBREAKABLE_GAP) => {
|
|
72
50
|
const addSpeedLabel = (result, size) => {
|
73
51
|
return addSizeLabel(result, size) + i18n('perSecond');
|
74
52
|
};
|
75
|
-
|
76
|
-
* @param significantDigits - number of digits above 3
|
77
|
-
*/
|
78
|
-
export const formatBytes = ({ value, size, withSpeedLabel = false, withSizeLabel = true, significantDigits = 0, delimiter, ...params }) => {
|
53
|
+
export const formatBytes = ({ value, size, withSpeedLabel = false, withSizeLabel = true, delimiter, ...params }) => {
|
79
54
|
if (!isNumeric(value)) {
|
80
55
|
return '';
|
81
56
|
}
|
82
57
|
const numValue = Number(value);
|
83
|
-
const sizeToConvert = size !== null && size !== void 0 ? size :
|
58
|
+
const sizeToConvert = size !== null && size !== void 0 ? size : getBytesSizeUnit(numValue);
|
84
59
|
const result = formatToSize({ value: numValue, size: sizeToConvert, ...params });
|
85
60
|
if (withSpeedLabel) {
|
86
61
|
return addSpeedLabel(result, sizeToConvert);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatBytes.js","sourceRoot":"","sources":["../../../src/utils/bytesParsers/formatBytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAEpD,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,KAAK,GAAG;IACV,CAAC,EAAE;QACC,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;KACnB;IACD,EAAE,EAAE;QACA,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACpB;IACD,EAAE,EAAE;QACA,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACpB;IACD,EAAE,EAAE;QACA,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACpB;IACD,EAAE,EAAE;QACA,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;KACpB;
|
1
|
+
{"version":3,"file":"formatBytes.js","sourceRoot":"","sources":["../../../src/utils/bytesParsers/formatBytes.ts"],"names":[],"mappings":"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"}
|
@@ -17,6 +17,10 @@ describe('formatNumericValues', () => {
|
|
17
17
|
const result = formatNumericValues(1024, 2048);
|
18
18
|
expect(result).toEqual(['1', `2${UNBREAKABLE_GAP}k`]);
|
19
19
|
});
|
20
|
+
it('should format values without units (less than 1000)', () => {
|
21
|
+
const result1 = formatNumericValues(10, 20);
|
22
|
+
expect(result1).toEqual(['10', `20`]);
|
23
|
+
});
|
20
24
|
it('should format value with label if set', () => {
|
21
25
|
const result = formatNumericValues(1024, 2048, undefined, undefined, true);
|
22
26
|
expect(result).toEqual([`1${UNBREAKABLE_GAP}k`, `2${UNBREAKABLE_GAP}k`]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatNumbers.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatNumbers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAS,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"formatNumbers.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatNumbers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAS,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,cAAqB,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -7,7 +7,6 @@ export type FormatValuesArgs<T> = Omit<FormatToSizeArgs<T>, 'value'> & {
|
|
7
7
|
value: number | string | undefined | null;
|
8
8
|
withSpeedLabel?: boolean;
|
9
9
|
withSizeLabel?: boolean;
|
10
|
-
significantDigits?: number;
|
11
10
|
delimiter?: string;
|
12
11
|
};
|
13
|
-
export declare function formatValues<T>(formatter: (args: FormatValuesArgs<T>) => string, sizeGetter: (value: number
|
12
|
+
export declare function formatValues<T>(formatter: (args: FormatValuesArgs<T>) => string, sizeGetter: (value: number) => T, value?: number, total?: number, size?: T, delimiter?: string, withValueLabel?: boolean): string[];
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { isNumeric } from '../utils';
|
2
2
|
export function formatValues(formatter, sizeGetter, value, total, size, delimiter, withValueLabel = false) {
|
3
|
-
let calculatedSize = sizeGetter(Number(value)
|
3
|
+
let calculatedSize = sizeGetter(Number(value));
|
4
4
|
let valueWithSizeLabel = true;
|
5
5
|
let valuePrecision = 0;
|
6
6
|
if (isNumeric(total)) {
|
7
|
-
calculatedSize = sizeGetter(Number(total)
|
7
|
+
calculatedSize = sizeGetter(Number(total));
|
8
8
|
valueWithSizeLabel = withValueLabel;
|
9
9
|
valuePrecision = 1;
|
10
10
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAenC,MAAM,UAAU,YAAY,CACxB,SAAgD,EAChD,UAAgC,EAChC,KAAc,EACd,KAAc,EACd,IAAQ,EACR,SAAkB,EAClB,cAAc,GAAG,KAAK;IAEtB,IAAI,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,kBAAkB,GAAG,cAAc,CAAC;QACpC,cAAc,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC;QAC7B,KAAK;QACL,aAAa,EAAE,kBAAkB;QACjC,IAAI,EAAE,IAAI,IAAI,cAAc;QAC5B,SAAS,EAAE,cAAc;QACzB,SAAS;KACZ,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,SAAS,CAAC;QAC7B,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI,IAAI,cAAc;QAC5B,SAAS;KACZ,CAAC,CAAC;IAEH,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { dateTimeParse, duration } from '@gravity-ui/date-utils';
|
2
|
-
import { formatBytes as formatBytesCustom,
|
2
|
+
import { formatBytes as formatBytesCustom, getBytesSizeUnit } from '../bytesParsers/formatBytes';
|
3
3
|
import { HOUR_IN_SECONDS } from '../constants';
|
4
4
|
import { configuredNumeral } from '../numeral';
|
5
5
|
import { UNBREAKABLE_GAP, isNumeric } from '../utils';
|
6
6
|
import { formatValues } from './common';
|
7
|
-
import { formatNumberWithDigits,
|
7
|
+
import { formatNumberWithDigits, getNumberSizeUnit } from './formatNumber';
|
8
8
|
import i18n from './i18n';
|
9
9
|
// Here you can't control displayed size and precision
|
10
10
|
// If you need more custom format, use formatBytesCustom instead
|
@@ -77,10 +77,10 @@ function calcTimeDiffInSec(dateFrom, dateTo = new Date().getTime()) {
|
|
77
77
|
return diffMs / 1000;
|
78
78
|
}
|
79
79
|
export function formatStorageValues(value, total, size, delimiter, withValueLabel) {
|
80
|
-
return formatValues(formatBytesCustom,
|
80
|
+
return formatValues(formatBytesCustom, getBytesSizeUnit, value, total, size, delimiter, withValueLabel);
|
81
81
|
}
|
82
82
|
export function formatNumericValues(value, total, size, delimiter, withValueLabel) {
|
83
|
-
return formatValues(formatNumberWithDigits,
|
83
|
+
return formatValues(formatNumberWithDigits, getNumberSizeUnit, value, total, size, delimiter, withValueLabel);
|
84
84
|
}
|
85
85
|
export const formatStorageValuesToGb = (value, total) => {
|
86
86
|
return formatStorageValues(value, total, 'gb');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dataFormatters.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/dataFormatters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAG/D,OAAO,
|
1
|
+
{"version":3,"file":"dataFormatters.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/dataFormatters.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
import type { FormatValuesArgs } from './common';
|
2
2
|
declare const sizes: {
|
3
|
+
noUnit: {
|
4
|
+
value: number;
|
5
|
+
label: string;
|
6
|
+
};
|
3
7
|
thousand: {
|
4
8
|
value: number;
|
5
9
|
label: string;
|
@@ -18,26 +22,6 @@ declare const sizes: {
|
|
18
22
|
};
|
19
23
|
};
|
20
24
|
export type Digits = keyof typeof sizes;
|
21
|
-
|
22
|
-
|
23
|
-
*
|
24
|
-
* @param significantDigits - number of digits above 3
|
25
|
-
* @returns size to format value to get required number of digits
|
26
|
-
*
|
27
|
-
* By default value converted to the next size when it's above 1000,
|
28
|
-
* so we have 900k and 1m. To extend it additional significantDigits could be set
|
29
|
-
*
|
30
|
-
* significantDigits value added above default 3
|
31
|
-
*
|
32
|
-
* significantDigits = 1 - 9 000k and 10m
|
33
|
-
*
|
34
|
-
* significantDigits = 2 - 90 000m and 100b
|
35
|
-
*
|
36
|
-
* significantDigits = 3 - 900 000b and 1000t
|
37
|
-
*/
|
38
|
-
export declare const getNumberWithSignificantDigits: (value: number, significantDigits: number) => "thousand" | "million" | "billion" | "trillion";
|
39
|
-
/**
|
40
|
-
* @param significantDigits - number of digits above 3
|
41
|
-
*/
|
42
|
-
export declare const formatNumberWithDigits: ({ value, size, withSizeLabel, significantDigits, delimiter, ...params }: FormatValuesArgs<Digits>) => string;
|
25
|
+
export declare const getNumberSizeUnit: (value: number) => "noUnit" | "thousand" | "million" | "billion" | "trillion";
|
26
|
+
export declare const formatNumberWithDigits: ({ value, size, withSizeLabel, delimiter, ...params }: FormatValuesArgs<Digits>) => string;
|
43
27
|
export {};
|
@@ -2,6 +2,10 @@ import i18n from '../bytesParsers/i18n';
|
|
2
2
|
import { UNBREAKABLE_GAP, isNumeric } from '../utils';
|
3
3
|
import { formatNumber, roundToPrecision } from './dataFormatters';
|
4
4
|
const sizes = {
|
5
|
+
noUnit: {
|
6
|
+
value: 1,
|
7
|
+
label: '',
|
8
|
+
},
|
5
9
|
thousand: {
|
6
10
|
value: 1000,
|
7
11
|
label: i18n('label_thousand'),
|
@@ -19,40 +23,18 @@ const sizes = {
|
|
19
23
|
label: i18n('label_trillion'),
|
20
24
|
},
|
21
25
|
};
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
* @param significantDigits - number of digits above 3
|
26
|
-
* @returns size to format value to get required number of digits
|
27
|
-
*
|
28
|
-
* By default value converted to the next size when it's above 1000,
|
29
|
-
* so we have 900k and 1m. To extend it additional significantDigits could be set
|
30
|
-
*
|
31
|
-
* significantDigits value added above default 3
|
32
|
-
*
|
33
|
-
* significantDigits = 1 - 9 000k and 10m
|
34
|
-
*
|
35
|
-
* significantDigits = 2 - 90 000m and 100b
|
36
|
-
*
|
37
|
-
* significantDigits = 3 - 900 000b and 1000t
|
38
|
-
*/
|
39
|
-
export const getNumberWithSignificantDigits = (value, significantDigits) => {
|
40
|
-
const multiplier = 10 ** significantDigits;
|
41
|
-
const thousandLevel = sizes.thousand.value * multiplier;
|
42
|
-
const millionLevel = sizes.million.value * multiplier;
|
43
|
-
const billionLevel = sizes.billion.value * multiplier;
|
44
|
-
const trillionLevel = sizes.trillion.value * multiplier;
|
45
|
-
let size = 'thousand';
|
46
|
-
if (value > thousandLevel) {
|
26
|
+
export const getNumberSizeUnit = (value) => {
|
27
|
+
let size = 'noUnit';
|
28
|
+
if (value >= sizes.thousand.value) {
|
47
29
|
size = 'thousand';
|
48
30
|
}
|
49
|
-
if (value >=
|
31
|
+
if (value >= sizes.million.value) {
|
50
32
|
size = 'million';
|
51
33
|
}
|
52
|
-
if (value >=
|
34
|
+
if (value >= sizes.billion.value) {
|
53
35
|
size = 'billion';
|
54
36
|
}
|
55
|
-
if (value >=
|
37
|
+
if (value >= sizes.trillion.value) {
|
56
38
|
size = 'trillion';
|
57
39
|
}
|
58
40
|
return size;
|
@@ -62,17 +44,18 @@ const formatToSize = ({ value, size = 'thousand', precision = 0 }) => {
|
|
62
44
|
return formatNumber(result);
|
63
45
|
};
|
64
46
|
const addSizeLabel = (result, size, delimiter = UNBREAKABLE_GAP) => {
|
65
|
-
|
47
|
+
const label = sizes[size].label;
|
48
|
+
if (!label) {
|
49
|
+
return result;
|
50
|
+
}
|
51
|
+
return result + delimiter + label;
|
66
52
|
};
|
67
|
-
|
68
|
-
* @param significantDigits - number of digits above 3
|
69
|
-
*/
|
70
|
-
export const formatNumberWithDigits = ({ value, size, withSizeLabel = true, significantDigits = 0, delimiter, ...params }) => {
|
53
|
+
export const formatNumberWithDigits = ({ value, size, withSizeLabel = true, delimiter, ...params }) => {
|
71
54
|
if (!isNumeric(value)) {
|
72
55
|
return '';
|
73
56
|
}
|
74
57
|
const numValue = Number(value);
|
75
|
-
const sizeToConvert = size !== null && size !== void 0 ? size :
|
58
|
+
const sizeToConvert = size !== null && size !== void 0 ? size : getNumberSizeUnit(numValue);
|
76
59
|
const result = formatToSize({ value: numValue, size: sizeToConvert, ...params });
|
77
60
|
if (withSizeLabel) {
|
78
61
|
return addSizeLabel(result, sizeToConvert, delimiter);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatNumber.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/formatNumber.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAEhE,MAAM,KAAK,GAAG;IACV,QAAQ,EAAE;QACN,KAAK,EAAE,IAAK;QACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;KAChC;IACD,OAAO,EAAE;QACL,KAAK,EAAE,OAAS;QAChB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;KAC/B;IACD,OAAO,EAAE;QACL,KAAK,EAAE,UAAa;QACpB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;KAC/B;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,aAAiB;QACxB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;KAChC;CACJ,CAAC;AAIF
|
1
|
+
{"version":3,"file":"formatNumber.js","sourceRoot":"","sources":["../../../src/utils/dataFormatters/formatNumber.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,12 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, PDISK_STATE_SEVERITY, } from './constants';
|
4
|
-
const getUsageSeverityForPDisk = generateEvaluator([EFlag.Green, EFlag.Yellow, EFlag.Red]);
|
1
|
+
import { NOT_AVAILABLE_SEVERITY, PDISK_STATE_SEVERITY } from './constants';
|
2
|
+
import { getSpaceSeverity } from './helpers';
|
5
3
|
export function calculatePDiskSeverity(pDisk) {
|
6
4
|
const stateSeverity = getStateSeverity(pDisk.State);
|
7
|
-
const
|
8
|
-
if (stateSeverity === NOT_AVAILABLE_SEVERITY || !
|
5
|
+
const spaceSeverity = getSpaceSeverity(pDisk.AllocatedPercent);
|
6
|
+
if (stateSeverity === NOT_AVAILABLE_SEVERITY || !spaceSeverity) {
|
9
7
|
return stateSeverity;
|
10
8
|
}
|
11
|
-
return Math.max(stateSeverity,
|
9
|
+
return Math.max(stateSeverity, spaceSeverity);
|
12
10
|
}
|
13
11
|
function getStateSeverity(pDiskState) {
|
14
12
|
return isSeverityKey(pDiskState) ? PDISK_STATE_SEVERITY[pDiskState] : NOT_AVAILABLE_SEVERITY;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calculatePDiskSeverity.js","sourceRoot":"","sources":["../../../src/utils/disks/calculatePDiskSeverity.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"calculatePDiskSeverity.js","sourceRoot":"","sources":["../../../src/utils/disks/calculatePDiskSeverity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,sBAAsB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAE3C,MAAM,UAAU,sBAAsB,CAKpC,KAAQ;IACN,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE/D,IAAI,aAAa,KAAK,sBAAsB,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7D,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAwB;IAC9C,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;AACjG,CAAC;AAED,SAAS,aAAa,CAAC,GAAiB;IACpC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,oBAAoB,CAAC;AAC5D,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/disks/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oCAAoC,GAA0B;IACvE,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/disks/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oCAAoC,GAA0B;IACvE,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC,OAAO,CAC9D,oCAAoC,CACvC,CAAC,MAAM,CAAkB,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAc,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,sBAAsB,GAAG,oCAAoC,CAAC,IAAI,CAAC;AAChF,MAAM,CAAC,MAAM,4BAA4B,GACrC,oCAAoC,CAAC,sBAAsB,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC7D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,oCAAoC,CAAC,KAAK;IAE5D,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,oCAAoC,CAAC,MAAM;IAClE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,CAAC,MAAM;IAE3E,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC1E,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC7E,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,oCAAoC,CAAC,GAAG;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,oCAAoC,CAAC,IAAI;IAChE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,oCAAoC,CAAC,KAAK;IAEhE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,oCAAoC,CAAC,MAAM;IAC5E,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,oCAAoC,CAAC,MAAM;IAC5E,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC,MAAM;IAE/E,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC9E,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC9E,CAAC,WAAW,CAAC,uBAAuB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC/E,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IACjF,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAClF,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC,GAAG;IAC7E,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,oCAAoC,CAAC,GAAG;IACrE,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,oCAAoC,CAAC,GAAG;IACvE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,oCAAoC,CAAC,GAAG;CACxE,CAAC"}
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import
|
1
|
+
import { EFlag } from '../../types/api/enums';
|
2
2
|
import type { TVDiskStateInfo, TVSlotId } from '../../types/api/vdisk';
|
3
3
|
import type { PreparedVDisk } from './types';
|
4
4
|
export declare function isFullVDiskData(disk: PreparedVDisk | TVDiskStateInfo | TVSlotId): disk is PreparedVDisk | TVDiskStateInfo;
|
5
|
+
export declare const getSpaceSeverity: (allocatedPercent?: number) => number;
|
5
6
|
export declare function getSeverityColor(severity: number | undefined): EFlag;
|
6
7
|
export declare function getColorSeverity(color?: EFlag): number;
|
7
8
|
export declare function getPDiskId(nodeId?: string | number | null, pDiskId?: string | number | null): string | undefined;
|