- Preserve icon structure when updating total count in trait badge
- Add gap between title and count in preview popover header
- Style the count badge with background, padding, and rounded corners
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add _entity-item.scss shared component for chips and list items
- Refactor _list-preview.scss to use shared patterns
- Delete entity-list-preview.css (duplicate hardcoded styles)
- All preview styling now comes from SCSS build only
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add bootstrap specificity overrides for input/select in chips toolbar
- Use #content.bootstrap selector with doubled classes for specificity
- Reduce toolbar height with consistent padding (0.2rem vertical)
- Change border-radius from pill to subtle rounded corners
- Simplify input structure (embedded search icon via background)
- Align all toolbar elements (input, select, count, clear button)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Chips toolbar improvements:
- Filter input now uses all available space (flex: 1)
- Added sort dropdown: Order added, Name A-Z, Name Z-A
- Changed "Show X more" button to select dropdown pattern
- Load 20, 50, 100, or All
- Shows remaining count
- Collapse button to return to default view
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Wrap filter input in pill-shaped container (.chips-filter-group)
- Remove hard border separation between toolbar and chips
- Make toolbar feel like part of the chips area with shared background
- Smaller, subtler count badge and clear button
- Clear button styled as danger pill that fills on hover
- Responsive: hide clear text on small screens
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add validation system to prevent contradicting conditions:
- Same entity in include/exclude detection
- Parent-child conflict detection for tree entities
- Redundant selection prevention
- Toast notifications for validation errors
- Fix entity icons (employees: briefcase, taxes: calculator)
- Improve tooltip component:
- Use Material Icons instead of broken FA4 icons
- Fix positioning using getBoundingClientRect for viewport coords
- Add click-to-pin functionality with close button
- Pinned tooltips show X icon and close button in corner
- Add lightweight test suite (31 tests) for validation logic
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Features:
- Tree view mode for categories with expand/collapse
- Product count badges with clickable preview popover
- Select parent with all children button
- Client-side tree filtering (refine search)
- Keyboard shortcuts: Ctrl+A (select all), Ctrl+D (clear)
- View mode switching between tree/list/columns
- Tree view as default for categories, respects user preference
Backend:
- Add previewCategoryProducts and previewCategoryPages AJAX handlers
- Support pagination and filtering in category previews
Styling:
- Consistent count-badge styling across tree and other views
- Loading and popover-open states for count badges
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert preview filter from client-side JS to server-side AJAX
- Add debounce utility function for 300ms delayed AJAX calls
- Add filter handlers for all 4 preview types (tab, condition, group, filter-group)
- Add filterProductIdsByQuery() method to EntityPreviewHandler
- Update all AJAX handlers to support filter parameter
- Lock popover width when filtering to prevent resize
- Add loading overlay CSS for filter state
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Refactor preview popover into reusable component with filter input and load more
- Fix sort controls: connect sort-field-select to btn-sort-dir (shared border)
- Fix refine controls: connect btn-refine-negate to refine-input
- Add flex-shrink: 0 and min-width to prevent button shrinking
- Fix grid view items: border on all 4 sides, no padding
- Add EXCEPT separator styling for selection groups
- Various button width and height fixes for consistency
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add showFilterGroupPreviewPopover method in _preview.js
- Make toggle-count badges clickable with data attributes
- Add event binding for .toggle-count.clickable in _events.js
- Add hover/active/loading styles for clickable toggle-count
- Requires previewFilterGroupProducts AJAX handler in PHP backend
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>