From 2febd180a328a415297cef700e7a2d67d2e5ab6c Mon Sep 17 00:00:00 2001 From: Ian Bolton Date: Tue, 27 Feb 2024 10:57:39 -0500 Subject: [PATCH] :bug: Add parser for custom rule file label title in manual upload flow (#1702) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves https://issues.redhat.com/browse/MTA-2004 Screenshot 2024-02-27 at 9 59 25 AM --------- Signed-off-by: Ian Bolton --- .../applications/analysis-wizard/custom-rules.tsx | 8 +++++--- client/src/app/utils/rules-utils.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/client/src/app/pages/applications/analysis-wizard/custom-rules.tsx b/client/src/app/pages/applications/analysis-wizard/custom-rules.tsx index 24508ac368..e839cf4b2b 100644 --- a/client/src/app/pages/applications/analysis-wizard/custom-rules.tsx +++ b/client/src/app/pages/applications/analysis-wizard/custom-rules.tsx @@ -163,6 +163,10 @@ export const CustomRules: React.FC = () => { filteredItems?.forEach((item) => { const { source, target, total } = parseRules(item); + const sourceLabelName = getParsedLabel(source)?.labelValue ?? ""; + const targetLabelName = getParsedLabel(target)?.labelValue ?? ""; + const sourceTargetLabel = `${sourceLabelName} / ${targetLabelName}`; + rows.push({ entity: item, cells: [ @@ -171,9 +175,7 @@ export const CustomRules: React.FC = () => { }, { title: ( - - {source} / {target} - + {sourceTargetLabel} ), }, { diff --git a/client/src/app/utils/rules-utils.ts b/client/src/app/utils/rules-utils.ts index a04dc88583..3c460d6587 100644 --- a/client/src/app/utils/rules-utils.ts +++ b/client/src/app/utils/rules-utils.ts @@ -104,16 +104,25 @@ interface ParsedLabel { labelValue: string; } -export const getParsedLabel = (label: string): ParsedLabel => { +export const getParsedLabel = (label: string | null): ParsedLabel => { + if (label === null) { + return { + labelType: "", + labelValue: "", + }; + } + const char1 = label.indexOf("/") + 1; const char2 = label.lastIndexOf("="); const type = label.substring(char1, char2); const value = label.split("=").pop(); + return { labelType: type || "", labelValue: value || "", }; }; + export const getLabels = (labels: string[]) => labels.reduce( (map: ILabelMap, label) => {