From 28161fbb4e046cec630ce07357c9338ffeab271b Mon Sep 17 00:00:00 2001 From: khanhtc1202 Date: Wed, 8 Jun 2022 15:56:15 +0700 Subject: [PATCH 1/3] Sort the application suggestion name in application filter form --- web/src/utils/unique-array.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/utils/unique-array.ts b/web/src/utils/unique-array.ts index 5751c51805..03e1e1ebfa 100644 --- a/web/src/utils/unique-array.ts +++ b/web/src/utils/unique-array.ts @@ -1 +1,2 @@ -export const uniqueArray = (arr: Array): Array => [...new Set(arr)]; +export const uniqueArray = (arr: Array): Array => + [...new Set(arr)].sort(); From c432ef7894de87caf250b04fac44ca5f4aa7b70a Mon Sep 17 00:00:00 2001 From: khanhtc1202 Date: Wed, 8 Jun 2022 16:56:59 +0700 Subject: [PATCH 2/3] Rename --- .../kubernetes-state-view/index.tsx | 4 ++-- .../application-filter/application-autocomplete.tsx | 4 ++-- web/src/utils/unique-array.test.ts | 8 ++++---- web/src/utils/unique-array.ts | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx b/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx index 18be95ad79..fe5953ca33 100644 --- a/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx +++ b/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx @@ -4,7 +4,7 @@ import dagre from "dagre"; import { FC, useState } from "react"; import { KubernetesResourceState } from "~/modules/applications-live-state"; import { theme } from "~/theme"; -import { uniqueArray } from "~/utils/unique-array"; +import { sortedSet } from "~/utils/unique-array"; import { KubernetesResource } from "./kubernetes-resource"; import { KubernetesResourceDetail } from "./kubernetes-resource-detail"; import { ResourceFilterPopover } from "./resource-filter-popover"; @@ -95,7 +95,7 @@ export const KubernetesStateView: FC = ({ setSelectedResource, ] = useState(null); - const kinds: string[] = uniqueArray(resources.map((r) => r.kind)); + const kinds: string[] = sortedSet(resources.map((r) => r.kind)); const [filterState, setFilterState] = useState>( kinds.reduce>((prev, current) => { prev[current] = true; diff --git a/web/src/components/applications-page/application-filter/application-autocomplete.tsx b/web/src/components/applications-page/application-filter/application-autocomplete.tsx index 3ea348d01b..236856ee4d 100644 --- a/web/src/components/applications-page/application-filter/application-autocomplete.tsx +++ b/web/src/components/applications-page/application-filter/application-autocomplete.tsx @@ -3,7 +3,7 @@ import Autocomplete from "@material-ui/lab/Autocomplete"; import { FC } from "react"; import { useAppSelector } from "~/hooks/redux"; import { selectAll as selectAllApplications } from "~/modules/applications"; -import { uniqueArray } from "~/utils/unique-array"; +import { sortedSet } from "~/utils/unique-array"; interface Props { value: string | null; @@ -13,7 +13,7 @@ interface Props { export const ApplicationAutocomplete: FC = ({ value, onChange }) => { const applications = useAppSelector( (state) => - uniqueArray( + sortedSet( selectAllApplications(state.applications).map((app) => app.name) ), (left, right) => JSON.stringify(left) === JSON.stringify(right) diff --git a/web/src/utils/unique-array.test.ts b/web/src/utils/unique-array.test.ts index 189cca7c19..485284a065 100644 --- a/web/src/utils/unique-array.test.ts +++ b/web/src/utils/unique-array.test.ts @@ -1,7 +1,7 @@ -import { uniqueArray } from "./unique-array"; +import { sortedSet } from "./unique-array"; test("uniqueArray", () => { - expect(uniqueArray([])).toEqual([]); - expect(uniqueArray([1, 2, 3])).toEqual([1, 2, 3]); - expect(uniqueArray([1, 2, 2, 3])).toEqual([1, 2, 3]); + expect(sortedSet([])).toEqual([]); + expect(sortedSet([1, 2, 3])).toEqual([1, 2, 3]); + expect(sortedSet([1, 2, 2, 3])).toEqual([1, 2, 3]); }); diff --git a/web/src/utils/unique-array.ts b/web/src/utils/unique-array.ts index 03e1e1ebfa..6648708636 100644 --- a/web/src/utils/unique-array.ts +++ b/web/src/utils/unique-array.ts @@ -1,2 +1,2 @@ -export const uniqueArray = (arr: Array): Array => +export const sortedSet = (arr: Array): Array => [...new Set(arr)].sort(); From 20c692f8d05b14005ffb2107de8099b5a5d7d692 Mon Sep 17 00:00:00 2001 From: khanhtc1202 Date: Wed, 8 Jun 2022 16:58:37 +0700 Subject: [PATCH 3/3] Rename --- .../application-state-view/kubernetes-state-view/index.tsx | 2 +- .../application-filter/application-autocomplete.tsx | 2 +- web/src/utils/{unique-array.test.ts => sorted-set.test.ts} | 2 +- web/src/utils/{unique-array.ts => sorted-set.ts} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename web/src/utils/{unique-array.test.ts => sorted-set.test.ts} (79%) rename web/src/utils/{unique-array.ts => sorted-set.ts} (100%) diff --git a/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx b/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx index fe5953ca33..0881f604f8 100644 --- a/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx +++ b/web/src/components/application-detail-page/application-state-view/kubernetes-state-view/index.tsx @@ -4,7 +4,7 @@ import dagre from "dagre"; import { FC, useState } from "react"; import { KubernetesResourceState } from "~/modules/applications-live-state"; import { theme } from "~/theme"; -import { sortedSet } from "~/utils/unique-array"; +import { sortedSet } from "~/utils/sorted-set"; import { KubernetesResource } from "./kubernetes-resource"; import { KubernetesResourceDetail } from "./kubernetes-resource-detail"; import { ResourceFilterPopover } from "./resource-filter-popover"; diff --git a/web/src/components/applications-page/application-filter/application-autocomplete.tsx b/web/src/components/applications-page/application-filter/application-autocomplete.tsx index 236856ee4d..3d5b6b278a 100644 --- a/web/src/components/applications-page/application-filter/application-autocomplete.tsx +++ b/web/src/components/applications-page/application-filter/application-autocomplete.tsx @@ -3,7 +3,7 @@ import Autocomplete from "@material-ui/lab/Autocomplete"; import { FC } from "react"; import { useAppSelector } from "~/hooks/redux"; import { selectAll as selectAllApplications } from "~/modules/applications"; -import { sortedSet } from "~/utils/unique-array"; +import { sortedSet } from "~/utils/sorted-set"; interface Props { value: string | null; diff --git a/web/src/utils/unique-array.test.ts b/web/src/utils/sorted-set.test.ts similarity index 79% rename from web/src/utils/unique-array.test.ts rename to web/src/utils/sorted-set.test.ts index 485284a065..d21f129be4 100644 --- a/web/src/utils/unique-array.test.ts +++ b/web/src/utils/sorted-set.test.ts @@ -1,4 +1,4 @@ -import { sortedSet } from "./unique-array"; +import { sortedSet } from "./sorted-set"; test("uniqueArray", () => { expect(sortedSet([])).toEqual([]); diff --git a/web/src/utils/unique-array.ts b/web/src/utils/sorted-set.ts similarity index 100% rename from web/src/utils/unique-array.ts rename to web/src/utils/sorted-set.ts