From d48924a36ccde20e10e0314ca9b771fa86d8fdc5 Mon Sep 17 00:00:00 2001 From: Julien Pinsonneau Date: Thu, 13 Jun 2024 17:40:18 +0200 Subject: [PATCH 01/10] prettier sort imports --- web/.prettierrc.json | 3 ++- web/package-lock.json | 28 ++++++++++++++++++++++++++++ web/package.json | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/web/.prettierrc.json b/web/.prettierrc.json index 6dd621814..0c621f82f 100644 --- a/web/.prettierrc.json +++ b/web/.prettierrc.json @@ -2,5 +2,6 @@ "arrowParens": "avoid", "printWidth": 120, "singleQuote": true, - "trailingComma": "none" + "trailingComma": "none", + "plugins": ["prettier-plugin-organize-imports"] } diff --git a/web/package-lock.json b/web/package-lock.json index d1d8d16c4..96266421a 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -75,6 +75,7 @@ "mobx": "^5.15.7", "parse-duration": "^1.1.0", "prettier": "^2.5.1", + "prettier-plugin-organize-imports": "^3.2.4", "pretty-quick": "^3.1.2", "react-transition-group": "^4.4.2", "style-loader": "^3.3.1", @@ -15294,6 +15295,26 @@ "node": ">=10.13.0" } }, + "node_modules/prettier-plugin-organize-imports": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.4.tgz", + "integrity": "sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==", + "dev": true, + "peerDependencies": { + "@volar/vue-language-plugin-pug": "^1.0.4", + "@volar/vue-typescript": "^1.0.4", + "prettier": ">=2.0", + "typescript": ">=2.9" + }, + "peerDependenciesMeta": { + "@volar/vue-language-plugin-pug": { + "optional": true + }, + "@volar/vue-typescript": { + "optional": true + } + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -31806,6 +31827,13 @@ "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true }, + "prettier-plugin-organize-imports": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.4.tgz", + "integrity": "sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==", + "dev": true, + "requires": {} + }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", diff --git a/web/package.json b/web/package.json index ee6350f1c..017befc2a 100644 --- a/web/package.json +++ b/web/package.json @@ -72,6 +72,7 @@ "mobx": "^5.15.7", "parse-duration": "^1.1.0", "prettier": "^2.5.1", + "prettier-plugin-organize-imports": "^3.2.4", "pretty-quick": "^3.1.2", "react-transition-group": "^4.4.2", "style-loader": "^3.3.1", From 3153f78907baab1f56bd0c3d35a6c8c8dd9cfbad Mon Sep 17 00:00:00 2001 From: Julien Pinsonneau Date: Thu, 13 Jun 2024 17:40:56 +0200 Subject: [PATCH 02/10] sort imports + constants naming --- web/src/api/loki.ts | 2 +- web/src/api/routes.ts | 6 +- web/src/components/__tests-data__/filters.ts | 2 +- web/src/components/__tests-data__/flows.ts | 4 +- web/src/components/__tests-data__/metrics.ts | 2 +- .../__tests__/netflow-traffic.spec.tsx | 14 +- web/src/components/alerts/banner.tsx | 12 +- web/src/components/alerts/fetcher.tsx | 4 +- .../__tests__/group-dropdown.spec.tsx | 14 +- .../__tests__/layout-dropdown.spec.tsx | 10 +- .../metric-function-dropdown.spec.tsx | 2 +- .../__tests__/metric-type-dropdown.spec.tsx | 2 +- .../__tests__/query-options-dropdown.spec.tsx | 2 +- .../__tests__/refresh-dropdown.spec.tsx | 2 +- .../__tests__/time-range-dropdown.spec.tsx | 2 +- .../__tests__/truncate-dropdown.spec.tsx | 2 +- .../components/dropdowns/group-dropdown.tsx | 32 ++-- .../components/dropdowns/layout-dropdown.tsx | 22 +-- .../dropdowns/metric-function-dropdown.tsx | 10 +- .../dropdowns/overview-display-dropdown.tsx | 2 +- .../dropdowns/query-options-dropdown.tsx | 8 +- .../components/dropdowns/refresh-dropdown.tsx | 12 +- .../dropdowns/table-display-dropdown.tsx | 2 +- .../dropdowns/time-range-dropdown.tsx | 12 +- .../dropdowns/topology-display-dropdown.tsx | 8 +- .../filters/__tests__/compare-filter.spec.tsx | 24 +-- .../filters/autocomplete-filter.tsx | 10 +- web/src/components/filters/compare-filter.tsx | 26 +-- web/src/components/filters/filter-hints.tsx | 4 +- web/src/components/filters/filters-chips.tsx | 6 +- web/src/components/filters/filters-helper.ts | 2 +- .../components/filters/filters-toolbar.tsx | 22 +-- web/src/components/filters/quick-filters.tsx | 8 +- .../filters/summary-filter-button.tsx | 8 +- web/src/components/filters/text-filter.tsx | 4 +- .../metrics/__tests__/metrics-donut.spec.tsx | 2 +- .../metrics/__tests__/metrics-graph.spec.tsx | 2 +- web/src/components/metrics/histogram.tsx | 4 +- web/src/components/metrics/metrics-donut.tsx | 6 +- .../metrics/metrics-graph-total.tsx | 6 +- web/src/components/metrics/metrics-graph.tsx | 4 +- web/src/components/metrics/metrics-helper.tsx | 4 +- .../modals/__tests__/columns-modal.spec.tsx | 6 +- .../modals/__tests__/export-modal.spec.tsx | 4 +- .../__tests__/overview-panels-modal.spec.tsx | 6 +- .../__tests__/time-range-modal.spec.tsx | 6 +- web/src/components/modals/columns-modal.tsx | 6 +- web/src/components/modals/export-modal.tsx | 10 +- .../modals/overview-panels-modal.tsx | 6 +- .../components/modals/time-range-modal.tsx | 16 +- .../__tests__/netflow-overview-panel.spec.tsx | 2 +- .../__tests__/netflow-overview.spec.tsx | 4 +- .../netflow-overview-panel.tsx | 6 +- .../netflow-overview/netflow-overview.tsx | 18 +- .../netflow-overview/panel-kebab.tsx | 2 +- .../__tests__/record-field.spec.tsx | 6 +- .../__tests__/record-panel.spec.tsx | 4 +- .../netflow-record/record-field.tsx | 28 +-- .../netflow-record/record-panel.tsx | 8 +- web/src/components/netflow-tab.tsx | 2 +- .../__tests__/netflow-table-row.spec.tsx | 8 +- .../__tests__/netflow-table.spec.tsx | 12 +- .../netflow-table/netflow-table-row.tsx | 2 +- .../netflow-table/netflow-table.tsx | 24 +-- .../shapesComponentFactory.ts | 2 +- .../stylesComponentFactory.tsx | 4 +- .../netflow-topology/2d/components/edge.tsx | 34 ++-- .../netflow-topology/2d/components/node.tsx | 26 +-- .../2d/layouts/layoutFactory.ts | 14 +- .../2d/styles/styleDecorator.tsx | 6 +- .../2d/styles/styleDecorators.tsx | 34 ++-- .../netflow-topology/2d/styles/styleEdge.tsx | 2 +- .../netflow-topology/2d/styles/styleGroup.tsx | 4 +- .../netflow-topology/2d/styles/styleNode.tsx | 16 +- .../netflow-topology/2d/topology-content.tsx | 52 ++--- .../3d/three-d-topology-content.tsx | 14 +- .../__tests__/element-panel.spec.tsx | 12 +- .../__tests__/netflow-topology.spec.tsx | 8 +- .../netflow-topology/element-field.tsx | 2 +- .../netflow-topology/element-fields.tsx | 4 +- .../element-panel-metrics.tsx | 2 +- .../netflow-topology/element-panel-stats.tsx | 2 +- .../netflow-topology/element-panel.tsx | 14 +- .../netflow-topology/netflow-topology.tsx | 2 +- .../netflow-topology/peer-resource-link.tsx | 2 +- web/src/components/netflow-traffic-parent.tsx | 4 +- web/src/components/netflow-traffic.tsx | 149 +++++++-------- .../components/overflow/links-overflow.tsx | 2 +- .../__tests__/summary-panel.spec.tsx | 4 +- .../query-summary/flows-query-summary.tsx | 10 +- .../query-summary/metrics-query-summary.tsx | 12 +- .../query-summary/stats-query-summary.tsx | 2 +- .../query-summary/summary-panel.tsx | 20 +- web/src/components/slider/Slider.tsx | 6 +- web/src/components/slider/SliderStep.tsx | 4 +- web/src/components/tooltip/maybe-tooltip.tsx | 2 +- web/src/index.tsx | 8 +- web/src/model/config.ts | 2 +- web/src/model/metrics.ts | 2 +- web/src/model/topology.ts | 178 +++++++++--------- .../utils/__tests__/back-and-forth.spec.ts | 12 +- web/src/utils/__tests__/flows.spec.ts | 2 +- web/src/utils/__tests__/port.spec.ts | 4 +- web/src/utils/__tests__/protocol.spec.ts | 2 +- web/src/utils/__tests__/router.spec.ts | 6 +- web/src/utils/back-and-forth.ts | 8 +- web/src/utils/columns.ts | 4 +- web/src/utils/config.ts | 4 +- web/src/utils/datetime.ts | 4 +- web/src/utils/dns.ts | 28 +-- web/src/utils/filter-definitions.ts | 42 ++--- web/src/utils/filter-options.ts | 34 ++-- web/src/utils/icmp.ts | 136 +++++++------ web/src/utils/local-storage-hook.ts | 68 +++---- web/src/utils/overview-panels.ts | 14 +- web/src/utils/pkt-drop.ts | 34 ++-- web/src/utils/router.ts | 22 +-- 117 files changed, 795 insertions(+), 808 deletions(-) diff --git a/web/src/api/loki.ts b/web/src/api/loki.ts index 146e91e67..ddf5b8901 100644 --- a/web/src/api/loki.ts +++ b/web/src/api/loki.ts @@ -1,6 +1,6 @@ -import { getFunctionFromId, getRateFunctionFromId } from '../utils/overview-panels'; import { FlowScope, MetricType, StatFunction } from '../model/flow-query'; import { cyrb53 } from '../utils/hash'; +import { getFunctionFromId, getRateFunctionFromId } from '../utils/overview-panels'; import { Field, Fields, Labels, Record } from './ipfix'; export interface AggregatedQueryResponse { diff --git a/web/src/api/routes.ts b/web/src/api/routes.ts index 8d2d5b7ba..0e663e768 100644 --- a/web/src/api/routes.ts +++ b/web/src/api/routes.ts @@ -4,18 +4,18 @@ import { buildExportQuery } from '../model/export-query'; import { FlowQuery, FlowScope, isTimeMetric } from '../model/flow-query'; import { ContextSingleton } from '../utils/context'; import { TimeRange } from '../utils/datetime'; -import { parseTopologyMetrics, parseGenericMetrics } from '../utils/metrics'; +import { parseGenericMetrics, parseTopologyMetrics } from '../utils/metrics'; import { AlertsResult, SilencedAlert } from './alert'; import { Field } from './ipfix'; import { AggregatedQueryResponse, + FlowMetricsResult, GenericMetricsResult, parseStream, RawTopologyMetrics, RecordsResult, Stats, - StreamResult, - FlowMetricsResult + StreamResult } from './loki'; export const getFlowRecords = (params: FlowQuery): Promise => { diff --git a/web/src/components/__tests-data__/filters.ts b/web/src/components/__tests-data__/filters.ts index 516cba363..bc1970d3b 100644 --- a/web/src/components/__tests-data__/filters.ts +++ b/web/src/components/__tests-data__/filters.ts @@ -1,6 +1,6 @@ /* eslint-disable max-len */ -import { findFilter, getFilterDefinitions } from '../../utils/filter-definitions'; import { Filter, FilterId, FilterValue } from '../../model/filters'; +import { findFilter, getFilterDefinitions } from '../../utils/filter-definitions'; import { ColumnConfigSampleDefs } from './columns'; export const FilterConfigSampleDefs = [ diff --git a/web/src/components/__tests-data__/flows.ts b/web/src/components/__tests-data__/flows.ts index ee748fe20..7878f679c 100644 --- a/web/src/components/__tests-data__/flows.ts +++ b/web/src/components/__tests-data__/flows.ts @@ -1,6 +1,6 @@ -import { parseStream, RecordsResult, StreamResult } from '../../api/loki'; -import { FlowDirection, Record } from '../../api/ipfix'; import flowsJson from '../../../../mocks/loki/flow_records.json'; +import { FlowDirection, Record } from '../../api/ipfix'; +import { parseStream, RecordsResult, StreamResult } from '../../api/loki'; export const FlowsMock: Record[] = (flowsJson.data.result as StreamResult[]).flatMap(r => parseStream(r)); diff --git a/web/src/components/__tests-data__/metrics.ts b/web/src/components/__tests-data__/metrics.ts index 63284920d..f82fe6ac0 100644 --- a/web/src/components/__tests-data__/metrics.ts +++ b/web/src/components/__tests-data__/metrics.ts @@ -1,5 +1,5 @@ -import { parseTopologyMetrics } from '../../utils/metrics'; import { RawTopologyMetrics, TopologyMetrics } from '../../api/loki'; +import { parseTopologyMetrics } from '../../utils/metrics'; export const metric1: RawTopologyMetrics = { metric: { diff --git a/web/src/components/__tests__/netflow-traffic.spec.tsx b/web/src/components/__tests__/netflow-traffic.spec.tsx index 17aa80d12..55eb96a7b 100644 --- a/web/src/components/__tests__/netflow-traffic.spec.tsx +++ b/web/src/components/__tests__/netflow-traffic.spec.tsx @@ -1,17 +1,17 @@ import { useResolvedExtensions } from '@openshift-console/dynamic-plugin-sdk'; +import { waitFor } from '@testing-library/react'; import { mount, render, shallow } from 'enzyme'; import * as React from 'react'; -import { waitFor } from '@testing-library/react'; import { act } from 'react-dom/test-utils'; -import { getConfig, getFlowGenericMetrics, getFlowRecords, getFlowMetrics } from '../../api/routes'; +import { AlertsResult, SilencedAlert } from '../../api/alert'; +import { FlowMetricsResult, GenericMetricsResult } from '../../api/loki'; +import { getConfig, getFlowGenericMetrics, getFlowMetrics, getFlowRecords } from '../../api/routes'; +import { FlowQuery } from '../../model/flow-query'; import NetflowTraffic from '../netflow-traffic'; -import { extensionsMock } from '../__tests-data__/extensions'; -import { FlowsResultSample } from '../__tests-data__/flows'; import NetflowTrafficParent from '../netflow-traffic-parent'; -import { GenericMetricsResult, FlowMetricsResult } from '../../api/loki'; -import { AlertsResult, SilencedAlert } from '../../api/alert'; import { FullConfigResultSample, SimpleConfigResultSample } from '../__tests-data__/config'; -import { FlowQuery } from '../../model/flow-query'; +import { extensionsMock } from '../__tests-data__/extensions'; +import { FlowsResultSample } from '../__tests-data__/flows'; const useResolvedExtensionsMock = useResolvedExtensions as jest.Mock; diff --git a/web/src/components/alerts/banner.tsx b/web/src/components/alerts/banner.tsx index 95b03edbe..a8507cd0b 100644 --- a/web/src/components/alerts/banner.tsx +++ b/web/src/components/alerts/banner.tsx @@ -1,16 +1,16 @@ -import { useTranslation } from 'react-i18next'; -import * as React from 'react'; +import { Rule } from '@openshift-console/dynamic-plugin-sdk'; import { Alert, - AlertActionLink, AlertActionCloseButton, - TextContent, + AlertActionLink, Text, + TextContent, TextVariants } from '@patternfly/react-core'; -import './banner.css'; -import { Rule } from '@openshift-console/dynamic-plugin-sdk'; +import * as React from 'react'; +import { useTranslation } from 'react-i18next'; import { navigate } from '../dynamic-loader/dynamic-loader'; +import './banner.css'; export const AlertBanner: React.FC<{ rule: Rule; diff --git a/web/src/components/alerts/fetcher.tsx b/web/src/components/alerts/fetcher.tsx index 7c3b8eec3..50833c62e 100644 --- a/web/src/components/alerts/fetcher.tsx +++ b/web/src/components/alerts/fetcher.tsx @@ -1,7 +1,7 @@ +import { Rule } from '@openshift-console/dynamic-plugin-sdk'; import * as React from 'react'; -import AlertBanner from './banner'; import { getAlerts, getSilencedAlerts } from '../../api/routes'; -import { Rule } from '@openshift-console/dynamic-plugin-sdk'; +import AlertBanner from './banner'; import { murmur3 } from 'murmurhash-js'; diff --git a/web/src/components/dropdowns/__tests__/group-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/group-dropdown.spec.tsx index 22d8a4b45..aeb230bad 100644 --- a/web/src/components/dropdowns/__tests__/group-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/group-dropdown.spec.tsx @@ -1,15 +1,15 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; -import GroupDropdown from '../group-dropdown'; -import { TopologyGroupTypes } from '../../../model/topology'; -import { MetricScopeOptions } from '../../../model/metrics'; import { FlowScope } from '../../../model/flow-query'; +import { MetricScopeOptions } from '../../../model/metrics'; +import { TopologyGroupTypes } from '../../../model/topology'; +import GroupDropdown from '../group-dropdown'; describe('', () => { const props = { scope: MetricScopeOptions.RESOURCE, - selected: TopologyGroupTypes.HOSTS, + selected: TopologyGroupTypes.hosts, setGroupType: jest.fn(), id: 'group', allowedScopes: ['host', 'namespace', 'owner'] as FlowScope[] @@ -41,13 +41,13 @@ describe('', () => { //open dropdown and select NONE dropdown.at(0).simulate('click'); wrapper.find('[id="none"]').at(0).simulate('click'); - expect(props.setGroupType).toHaveBeenCalledWith(TopologyGroupTypes.NONE); + expect(props.setGroupType).toHaveBeenCalledWith(TopologyGroupTypes.none); expect(wrapper.find('li').length).toBe(0); //open dropdown and select OWNERS dropdown.at(0).simulate('click'); wrapper.find('[id="owners"]').at(0).simulate('click'); - expect(props.setGroupType).toHaveBeenCalledWith(TopologyGroupTypes.OWNERS); + expect(props.setGroupType).toHaveBeenCalledWith(TopologyGroupTypes.owners); expect(wrapper.find('li').length).toBe(0); //setGroupType should be called twice diff --git a/web/src/components/dropdowns/__tests__/layout-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/layout-dropdown.spec.tsx index 64a257f0e..d100417cd 100644 --- a/web/src/components/dropdowns/__tests__/layout-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/layout-dropdown.spec.tsx @@ -1,12 +1,12 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; -import LayoutDropdown from '../layout-dropdown'; import { LayoutName } from '../../../model/topology'; +import LayoutDropdown from '../layout-dropdown'; describe('', () => { const props = { - selected: LayoutName.Cola, + selected: LayoutName.cola, setLayout: jest.fn(), id: 'layout' }; @@ -37,13 +37,13 @@ describe('', () => { //open dropdown and select Dagre dropdown.at(0).simulate('click'); wrapper.find('[id="Dagre"]').at(0).simulate('click'); - expect(props.setLayout).toHaveBeenCalledWith(LayoutName.Dagre); + expect(props.setLayout).toHaveBeenCalledWith(LayoutName.dagre); expect(wrapper.find('li').length).toBe(0); //open dropdown and select Force dropdown.at(0).simulate('click'); wrapper.find('[id="Force"]').at(0).simulate('click'); - expect(props.setLayout).toHaveBeenCalledWith(LayoutName.Force); + expect(props.setLayout).toHaveBeenCalledWith(LayoutName.force); expect(wrapper.find('li').length).toBe(0); //setLayout should be called twice diff --git a/web/src/components/dropdowns/__tests__/metric-function-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/metric-function-dropdown.spec.tsx index 9ad7d412e..9705bd49c 100644 --- a/web/src/components/dropdowns/__tests__/metric-function-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/metric-function-dropdown.spec.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; import MetricFunctionDropdown from '../metric-function-dropdown'; diff --git a/web/src/components/dropdowns/__tests__/metric-type-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/metric-type-dropdown.spec.tsx index 53f0e167e..6d8febab7 100644 --- a/web/src/components/dropdowns/__tests__/metric-type-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/metric-type-dropdown.spec.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; import MetricTypeDropdown from '../metric-type-dropdown'; diff --git a/web/src/components/dropdowns/__tests__/query-options-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/query-options-dropdown.spec.tsx index 7cb9cff7f..4e5b48317 100644 --- a/web/src/components/dropdowns/__tests__/query-options-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/query-options-dropdown.spec.tsx @@ -1,6 +1,6 @@ -import * as React from 'react'; import { Checkbox, Radio, Select } from '@patternfly/react-core'; import { shallow } from 'enzyme'; +import * as React from 'react'; import { act } from 'react-dom/test-utils'; import QueryOptionsDropdown, { QueryOptionsDropdownProps, QueryOptionsPanel } from '../query-options-dropdown'; diff --git a/web/src/components/dropdowns/__tests__/refresh-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/refresh-dropdown.spec.tsx index 36d978666..41b8c0c67 100644 --- a/web/src/components/dropdowns/__tests__/refresh-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/refresh-dropdown.spec.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; import RefreshDropdown, { RefreshDropdownProps } from '../refresh-dropdown'; diff --git a/web/src/components/dropdowns/__tests__/time-range-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/time-range-dropdown.spec.tsx index 167768997..b20a47dd1 100644 --- a/web/src/components/dropdowns/__tests__/time-range-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/time-range-dropdown.spec.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; import TimeRangeDropdown, { TimeRangeDropdownProps } from '../time-range-dropdown'; diff --git a/web/src/components/dropdowns/__tests__/truncate-dropdown.spec.tsx b/web/src/components/dropdowns/__tests__/truncate-dropdown.spec.tsx index 84c964474..12b664521 100644 --- a/web/src/components/dropdowns/__tests__/truncate-dropdown.spec.tsx +++ b/web/src/components/dropdowns/__tests__/truncate-dropdown.spec.tsx @@ -1,5 +1,5 @@ -import * as React from 'react'; import { mount, shallow } from 'enzyme'; +import * as React from 'react'; import { TruncateDropdown, TruncateLength } from '../truncate-dropdown'; diff --git a/web/src/components/dropdowns/group-dropdown.tsx b/web/src/components/dropdowns/group-dropdown.tsx index 6cd1d036d..272775409 100644 --- a/web/src/components/dropdowns/group-dropdown.tsx +++ b/web/src/components/dropdowns/group-dropdown.tsx @@ -1,9 +1,9 @@ import { Dropdown, DropdownItem, DropdownToggle } from '@patternfly/react-core'; import * as React from 'react'; import { useTranslation } from 'react-i18next'; +import { FlowScope } from '../../model/flow-query'; import { MetricScopeOptions } from '../../model/metrics'; import { getGroupsForScope, isGroupEnabled, TopologyGroupTypes } from '../../model/topology'; -import { FlowScope } from '../../model/flow-query'; export const GroupDropdown: React.FC<{ disabled?: boolean; @@ -19,39 +19,39 @@ export const GroupDropdown: React.FC<{ const getGroupDisplay = (groupType: TopologyGroupTypes) => { switch (groupType) { /** Clusters aggregation and groups */ - case TopologyGroupTypes.CLUSTERS: + case TopologyGroupTypes.clusters: return t('Clusters'); - case TopologyGroupTypes.CLUSTERS_HOSTS: + case TopologyGroupTypes.clustersHosts: return t('Clusters + Nodes'); - case TopologyGroupTypes.CLUSTERS_ZONES: + case TopologyGroupTypes.clustersZones: return t('Clusters + Zones'); - case TopologyGroupTypes.CLUSTERS_NAMESPACES: + case TopologyGroupTypes.clustersNamespaces: return t('Clusters + Namespaces'); - case TopologyGroupTypes.CLUSTERS_OWNERS: + case TopologyGroupTypes.clustersOwners: return t('Clusters + Owners'); /** Zones aggregation and groups */ - case TopologyGroupTypes.ZONES: + case TopologyGroupTypes.zones: return t('Zones'); - case TopologyGroupTypes.ZONES_HOSTS: + case TopologyGroupTypes.zonesHosts: return t('Zones + Nodes'); - case TopologyGroupTypes.ZONES_NAMESPACES: + case TopologyGroupTypes.zonesNamespaces: return t('Zones + Namespaces'); - case TopologyGroupTypes.ZONES_OWNERS: + case TopologyGroupTypes.zonesOwners: return t('Zones + Owners'); /** Hosts aggregation and groups */ - case TopologyGroupTypes.HOSTS: + case TopologyGroupTypes.hosts: return t('Nodes'); - case TopologyGroupTypes.HOSTS_NAMESPACES: + case TopologyGroupTypes.hostsNamespaces: return t('Nodes + Namespaces'); - case TopologyGroupTypes.HOSTS_OWNERS: + case TopologyGroupTypes.hostsOwners: return t('Nodes + Owners'); /** Namespaces aggregation and groups */ - case TopologyGroupTypes.NAMESPACES: + case TopologyGroupTypes.namespaces: return t('Namespaces'); - case TopologyGroupTypes.NAMESPACES_OWNERS: + case TopologyGroupTypes.namespacesOwners: return t('Namespaces + Owners'); /** Owner aggregation */ - case TopologyGroupTypes.OWNERS: + case TopologyGroupTypes.owners: return t('Owners'); default: return t('None'); diff --git a/web/src/components/dropdowns/layout-dropdown.tsx b/web/src/components/dropdowns/layout-dropdown.tsx index debcf3a41..3b16d212c 100644 --- a/web/src/components/dropdowns/layout-dropdown.tsx +++ b/web/src/components/dropdowns/layout-dropdown.tsx @@ -1,8 +1,8 @@ import { Dropdown, DropdownItem, DropdownToggle } from '@patternfly/react-core'; import * as React from 'react'; import { useTranslation } from 'react-i18next'; -import { Feature, isAllowed } from '../../utils/features-gate'; import { LayoutName } from '../../model/topology'; +import { Feature, isAllowed } from '../../utils/features-gate'; export const LayoutDropdown: React.FC<{ selected: LayoutName; @@ -14,23 +14,23 @@ export const LayoutDropdown: React.FC<{ const getLayoutDisplay = (layoutName: LayoutName) => { switch (layoutName) { - case LayoutName.ThreeD: + case LayoutName.threeD: return t('3D'); - case LayoutName.BreadthFirst: + case LayoutName.breadthFirst: return t('BreadthFirst'); - case LayoutName.Cola: + case LayoutName.cola: return t('Cola'); - case LayoutName.ColaNoForce: + case LayoutName.colaNoForce: return t('ColaNoForce'); - case LayoutName.Concentric: + case LayoutName.concentric: return t('Concentric'); - case LayoutName.Dagre: + case LayoutName.dagre: return t('Dagre'); - case LayoutName.Force: + case LayoutName.force: return t('Force'); - case LayoutName.Grid: + case LayoutName.grid: return t('Grid'); - case LayoutName.ColaGroups: + case LayoutName.colaGroups: return t('ColaGroups'); default: return t('Invalid'); @@ -52,7 +52,7 @@ export const LayoutDropdown: React.FC<{ } isOpen={layoutDropdownOpen} dropdownItems={Object.values(LayoutName) - .filter(v => v != LayoutName.ThreeD || isAllowed(Feature.ThreeD)) + .filter(v => v != LayoutName.threeD || isAllowed(Feature.ThreeD)) .map(v => ( = ({ } ]; - const limitValues = useTopK ? TOP_VALUES : LIMIT_VALUES; + const values = useTopK ? topValues : limitValues; return ( <> @@ -351,7 +351,7 @@ export const QueryOptionsPanel: React.FC = ({ - {limitValues.map(l => ( + {values.map(l => (