From eb07dbfb01ece5aee0ecf0aed71d7b674fd2d7a9 Mon Sep 17 00:00:00 2001 From: Adam Nowotny Date: Sun, 25 Aug 2024 01:46:35 +0200 Subject: [PATCH] fix: pipeline list filtering --- src/components/filterQuery/filterQuery.tsx | 15 +++++++++++---- src/components/pipelineList/pipelineList.tsx | 18 +++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/components/filterQuery/filterQuery.tsx b/src/components/filterQuery/filterQuery.tsx index 83b67b22..79927e72 100644 --- a/src/components/filterQuery/filterQuery.tsx +++ b/src/components/filterQuery/filterQuery.tsx @@ -3,8 +3,14 @@ import './filterQuery.css'; export default ({ onUpdate }: { onUpdate: (string) => void }) => { const [query, setQuery] = useState(''); - const handleKeyUp = e => { - const value = e.key === 'Escape' ? '' : e.target.value; + const handleKeyDown = e => { + if (e.key === 'Escape') { + e.preventDefault(); + setQuery(''); + } + }; + const handleChange = e => { + const value = e.target.value; setQuery(value); onUpdate(value); }; @@ -12,11 +18,12 @@ export default ({ onUpdate }: { onUpdate: (string) => void }) => { return (
{query && ( { // selected // checkAll - // filter // highlight // TODO: save - const totalCount = items.length; - const visibleCount = items.length; const filterFunc = (item: CIPipeline) => { return filter ? item.name.toLowerCase().includes(filter.toLowerCase()) : true; }; - const handleCheck = e => { - console.log('handleCheck', e); + const handleCheck = (id: string, checked: boolean) => { + console.log('handleCheck', id, checked); }; + const filteredItems = items.filter(filterFunc); return ( @@ -38,19 +36,21 @@ const GroupPanel = ({ className="filter-count badge" title="Visible / All projects in group" > - {filter && {visibleCount} /} - {totalCount} + {filter && {filteredItems.length} /} + {items.length} - {items.filter(filterFunc).map((pipeline, index) => { + {filteredItems.map(pipeline => { const isSelected = selectedItems.includes(pipeline.id); return (