Skip to content

feat(ui): add collapsible left sidebar slicing, regex search, and breadcrumb bulk actions - #4

Merged
spelech merged 5 commits into
mainfrom
feature/sidebar-slicing-and-regex-search
Oct 14, 2026
Merged

spelech merged 5 commits into
mainfrom
feature/sidebar-slicing-and-regex-search

Conversation

@spelech

@spelech spelech commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Description

Introduces a Home Assistant-native 2-pane slicing interface, stacked multi-section filtering, instant regular expression & search syntax engine, and breadcrumb bulk actions to the Google Assistant Entity Console while preserving the user's active Home Assistant theme tokens.


Visual Preview

1. Stacked Multi-Section Slicing (Not Exposed + Basement) 2. Search Syntax Specifiers (not:exposed basement)
Combined Filters Syntax Search
3. Slicing Overview (Sidebar + Data Grid) 4. Regex Pattern Search (light\.(living|bar))
Sidebar Overview Regex Search

Key Features

  1. Stacked Multi-Section Sidebar Filtering:
    • Allows combining an Exposure State (Not Exposed, Exposed, etc.), an Area (Basement, Kitchen, etc.), and a Domain (Light, Switch, etc.) simultaneously.
    • Clicking an active filter item toggles it off.
    • Removable breadcrumb chips for each active facet ([Exposure: Not Exposed ✕] [Area: Basement ✕] [Domain: Light ✕]) plus a Clear All button.
  2. Search Syntax & Specifier Engine:
    • Supports search command tokens parsed dynamically:
      • is:exposed, is:unexposed, not:exposed, is:override, has:alias
      • area:<name> or area:"Living Room"
      • domain:<domain>
      • floor:<floor>
    • Remaining query terms are evaluated as regex or case-insensitive substrings across friendly names, entity IDs, voice names, aliases, and areas.
  3. Collapsible Sidebar Layout:
    • Sidebar toggles smoothly via ◀ / ▶ and top bar ☰; remembers collapsed state in localStorage.
    • Converts into an off-canvas drawer on mobile screens (< 768px).
  4. Breadcrumb Bulk Actions:
    • One-click bulk action button (Expose All in Filter / Unexpose All in Filter) automatically scopes to the combined active filters.
  5. Theme Preservation:
    • Strictly adheres to Home Assistant CSS tokens (--primary-background-color, --card-background-color, --secondary-background-color, --primary-text-color, --secondary-text-color, --primary-color, --divider-color).

Verification

  • Automated Tests: All 342 pytest integration tests passing (pytest tests/).
  • Live Browser Verification: Tested live on Home Assistant with 764 entities; verified stacked multi-section filters, syntax queries, regex matching, and responsive sidebar.

@spelech
spelech merged commit cb01604 into main Oct 14, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant