From 0ac3cb54b92c0cb380c7c0747f53f9a7ef7b2aee Mon Sep 17 00:00:00 2001 From: ibolton336 Date: Tue, 31 Oct 2023 16:44:58 -0400 Subject: [PATCH 1/2] Fix style Signed-off-by: ibolton336 --- .../migration-targets/migration-targets.tsx | 92 ++++++++++--------- 1 file changed, 48 insertions(+), 44 deletions(-) diff --git a/client/src/app/pages/migration-targets/migration-targets.tsx b/client/src/app/pages/migration-targets/migration-targets.tsx index b6ca8a7162..d38f8696ff 100644 --- a/client/src/app/pages/migration-targets/migration-targets.tsx +++ b/client/src/app/pages/migration-targets/migration-targets.tsx @@ -180,6 +180,8 @@ export const MigrationTargets: React.FC = () => { + + { onCancel={() => setCreateUpdateModalState(null)} /> - - - - - {targetOrderSetting.isSuccess && - targetOrderSetting.data.map((id) => { - const matchingTarget = targets.find( - (target) => target.id === id - ); - if (matchingTarget) { - return ( - { - if (matchingTarget) { - setCreateUpdateModalState(matchingTarget); - } - }} - onDelete={() => { - const matchingTarget = targets.find( - (target) => target.id === id - ); - if (matchingTarget?.id) { - deleteTarget(matchingTarget.id); - } - }} - /> + + + {targetOrderSetting.isSuccess && + targetOrderSetting.data.map((id) => { + const matchingTarget = targets.find( + (target) => target.id === id ); - } else { - return null; - } - })} -
- - {activeId ? : null} - - + if (matchingTarget) { + return ( + { + if (matchingTarget) { + setCreateUpdateModalState(matchingTarget); + } + }} + onDelete={() => { + const matchingTarget = targets.find( + (target) => target.id === id + ); + if (matchingTarget?.id) { + deleteTarget(matchingTarget.id); + } + }} + /> + ); + } else { + return null; + } + })} +
+ + + {activeId ? : null} + + + + ); }; From 0191dc8ddb8e7d87801560d688b364b88c92725d Mon Sep 17 00:00:00 2001 From: ibolton336 Date: Tue, 31 Oct 2023 17:27:51 -0400 Subject: [PATCH 2/2] Add dropdown for filtering Signed-off-by: ibolton336 --- client/src/app/api/models.ts | 1 + .../analysis-wizard/set-targets.tsx | 20 +++++++++++++++-- .../migration-targets/migration-targets.tsx | 22 ++++++++++++++++--- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/client/src/app/api/models.ts b/client/src/app/api/models.ts index 61f9f88a11..e6ce4904e6 100644 --- a/client/src/app/api/models.ts +++ b/client/src/app/api/models.ts @@ -421,6 +421,7 @@ export interface Target { labels?: TargetLabel[]; image?: RulesetImage; ruleset: Ruleset; + provider?: string; } export interface Metadata { diff --git a/client/src/app/pages/applications/analysis-wizard/set-targets.tsx b/client/src/app/pages/applications/analysis-wizard/set-targets.tsx index 270cc42f99..5d7adca8f1 100644 --- a/client/src/app/pages/applications/analysis-wizard/set-targets.tsx +++ b/client/src/app/pages/applications/analysis-wizard/set-targets.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState } from "react"; import { Title, TextContent, @@ -15,12 +15,15 @@ import { AnalysisWizardFormValues } from "./schema"; import { useSetting } from "@app/queries/settings"; import { useFetchTargets } from "@app/queries/targets"; import { Target } from "@app/api/models"; +import { SimpleSelect } from "@app/components/SimpleSelect"; export const SetTargets: React.FC = () => { const { t } = useTranslation(); const { targets } = useFetchTargets(); + const [provider, setProvider] = useState("Java"); + const targetOrderSetting = useSetting("ui.target.order"); const { watch, setValue, getValues } = @@ -131,6 +134,19 @@ export const SetTargets: React.FC = () => { {t("wizard.terms.setTargets")} {t("wizard.label.setTargets")} + { + setProvider(selection as string); + }} + /> {targetOrderSetting.isSuccess @@ -139,7 +155,7 @@ export const SetTargets: React.FC = () => { const isSelected = selectedTargets?.includes(id); - if (matchingTarget) { + if (matchingTarget && matchingTarget.provider === provider) { return ( { const { t } = useTranslation(); const { pushNotification } = React.useContext(NotificationsContext); + const [provider, setProvider] = useState("Java"); const { targets, refetch: refetchTargets } = useFetchTargets(); @@ -164,12 +166,26 @@ export const MigrationTargets: React.FC = () => { - + {t("terms.customTargetsDetails")} - + + { + setProvider(selection as string); + }} + /> + +