From 4ff667d2d147b642a8eb6c2795ab80cbb40ad69b Mon Sep 17 00:00:00 2001 From: Malav Mevada Date: Wed, 10 May 2023 14:33:28 +0530 Subject: [PATCH] Added brokerConfig search functionality by value --- .../kafka/ui/pages/brokers/BrokersConfigTab.java | 2 +- .../src/components/Brokers/Broker/Configs/Configs.tsx | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersConfigTab.java b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersConfigTab.java index f358614dc8..de1e11da3c 100644 --- a/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersConfigTab.java +++ b/kafka-ui-e2e-checks/src/main/java/com/provectus/kafka/ui/pages/brokers/BrokersConfigTab.java @@ -14,7 +14,7 @@ import java.util.stream.Stream; public class BrokersConfigTab extends BasePage { protected List editBtn = $$x("//button[@aria-label='editAction']"); - protected SelenideElement searchByKeyField = $x("//input[@placeholder='Search by Key']"); + protected SelenideElement searchByKeyField = $x("//input[@placeholder='Search by Key or Value']"); @Step public BrokersConfigTab waitUntilScreenReady() { diff --git a/kafka-ui-react-app/src/components/Brokers/Broker/Configs/Configs.tsx b/kafka-ui-react-app/src/components/Brokers/Broker/Configs/Configs.tsx index 8f909facac..1c6af132b5 100644 --- a/kafka-ui-react-app/src/components/Brokers/Broker/Configs/Configs.tsx +++ b/kafka-ui-react-app/src/components/Brokers/Broker/Configs/Configs.tsx @@ -34,14 +34,18 @@ const Configs: React.FC = () => { const getData = () => { return data - .filter((item) => item.name.toLocaleLowerCase().indexOf(keyword) > -1) + .filter((item) => { + const nameMatch = item.name.toLocaleLowerCase().includes(keyword); + const valueMatch = item.value && item.value.includes(keyword); + return nameMatch || valueMatch; + }) .sort((a, b) => { if (a.source === b.source) return 0; - return a.source === ConfigSource.DYNAMIC_BROKER_CONFIG ? -1 : 1; }); }; + const dataSource = React.useMemo(() => getData(), [data, keyword]); const renderCell = (props: CellContext) => (