diff --git a/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx b/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx index 449b3f0fb..fb4d7b7b0 100644 --- a/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx +++ b/src/frontend/src/modals/toolsModal/components/toolsTable/index.tsx @@ -80,18 +80,31 @@ export default function ToolsTable({ if (!open && selectedRows) { handleOnNewValue({ value: data.map((row) => { + const name = parseString(row.name, [ + "snake_case", + "no_blank", + "lowercase", + ]); + const display_name = parseString(row.display_name, [ + "snake_case", + "no_blank", + "lowercase", + ]); const processedValue = ( - row.name !== "" - ? parseString(row.name, ["snake_case", "no_blank", "lowercase"]) - : parseString(row.display_name, [ - "snake_case", - "no_blank", - "lowercase", - ]) + name !== "" && name !== display_name + ? name + : isAction + ? "" + : display_name ).slice(0, 46); const processedDescription = - row.description !== "" ? row.description : row.display_description; + row.description !== "" && + row.description !== row.display_description + ? row.description + : isAction + ? "" + : row.display_description; return selectedRows?.some( (selected) => diff --git a/src/frontend/src/utils/stringManipulation.ts b/src/frontend/src/utils/stringManipulation.ts index 0dde0aed1..49be06ddc 100644 --- a/src/frontend/src/utils/stringManipulation.ts +++ b/src/frontend/src/utils/stringManipulation.ts @@ -78,6 +78,14 @@ export function parseString( ): string { let result = str; + if (result === "") { + return ""; + } + + if (parsers.includes("no_blank") && result.trim() === "") { + return ""; + } + let parsersArray: FieldParserType[] = []; if (typeof parsers === "string") {