From d3675bba0bd3581bfc48afc8baccf4372f678166 Mon Sep 17 00:00:00 2001 From: Christian Vidal Wolf Date: Wed, 8 Apr 2026 19:49:48 +0200 Subject: [PATCH] fix: resolve column filter checkboxes not responding to clicks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace label+hidden-input pattern in ColumnFilterPopover with direct onClick on div — browsers don't reliably fire onChange for display:none inputs activated via label click. Also adds missing columnFilters to useMemo deps in ProductDescriptions and ArticleDetails, and restores rowStatuses prop wiring in ProductDescriptions. Co-Authored-By: Claude Sonnet 4.6 --- src/App.tsx | 1 + src/components/ArticleDetails.tsx | 2 +- src/components/ColumnFilterPopover.tsx | 20 +++++++++++--------- src/components/ProductDescriptions.tsx | 21 ++++++++++++++++----- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 1414d57..6a6503c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -369,6 +369,7 @@ export default function App() { setEditingRowIndex(index)} + rowStatuses={rowStatuses} /> )} {activeModule === 'matrix' && ( diff --git a/src/components/ArticleDetails.tsx b/src/components/ArticleDetails.tsx index 41572b0..7ba48b5 100644 --- a/src/components/ArticleDetails.tsx +++ b/src/components/ArticleDetails.tsx @@ -71,7 +71,7 @@ export function ArticleDetails({ data, onEdit, rowStatuses }: ArticleDetailsProp } return result; - }, [data, activeTab, search, lineFilter, sortCol, sortDesc]); + }, [data, activeTab, search, lineFilter, columnFilters, sortCol, sortDesc]); const paginatedData = useMemo(() => { const start = (page - 1) * pageSize; diff --git a/src/components/ColumnFilterPopover.tsx b/src/components/ColumnFilterPopover.tsx index 2b2ace6..ff3a90d 100644 --- a/src/components/ColumnFilterPopover.tsx +++ b/src/components/ColumnFilterPopover.tsx @@ -1,5 +1,5 @@ import React, { useState, useMemo } from 'react'; -import { Search, Check, X } from 'lucide-react'; +import { Search, Check } from 'lucide-react'; import { cn } from '../lib/utils'; interface ColumnFilterPopoverProps { @@ -54,21 +54,23 @@ export function ColumnFilterPopover({
{filteredValues.map(val => ( -