Skip to content

feat: add faceted classification filter sidebar#135

Open
kyuchia wants to merge 3 commits into
mainfrom
feat/hierarchical-filter
Open

feat: add faceted classification filter sidebar#135
kyuchia wants to merge 3 commits into
mainfrom
feat/hierarchical-filter

Conversation

@kyuchia
Copy link
Copy Markdown

@kyuchia kyuchia commented Apr 29, 2026

Faceted Classification Filter

Adds a sidebar panel for filtering rows by classification hierarchy. This implements a faceted search / faceted navigation pattern for the classification column, allowing users to browse and filter by category/type/modifier using a tree UI, instead of scrolling through a flat list of full classification strings.

Tree structure (Neume shape-small.docx example)

neume (20)
├── tractulus (2)
│   └── episema (1)
├── punctum (1)
├── gravis (1)
├── virga (2)
│   └── episema (1)
├── oriscus (3)
│   ├── curved (1)
│   ├── flat (1)
│   └── wave (1)
├── stropha (2)
│   └── episema (1)
└── pes (9)
    ├── rotundus (2)
    │   └── 2episema (1)
    ├── quadratus (2)
    │   └── 2episema (1)
    └── quassus (5)
        ├── 2episema (1)
        ├── flexus (2)
        │   └── 23episema (1)
        └── ...

Features

  • Toolbar "Filter" button (matches File/Help style) → right sidebar with tree UI
  • Three-state checkboxes (all/some/none) with parent-child propagation
  • Apply/Clear buttons driving Handsontable's by_value filter
  • Resizable sidebar (drag left edge, 200–600px)
  • Data quality warnings (⚠) for en-dash characters in classifications
  • Also includes column sorting and custom dropdownMenu (removes built-in filter UI from column headers)

Files added

src/Editor/hierarchicalFilter/
├── types.ts
├── classificationTreeParser.ts
├── FilterTree.ts
├── FilterSidebar.ts
└── hierarchicalFilter.css

Testing

Tested with Neume shape-small.docx (20 rows) and SQUAREnotation-NEUMElevel.csv (39 rows, mixed categories). No console errors.

Screenshot 2026-04-28 at 23 59 21

@kyuchia kyuchia changed the title feat: add hierarchical classification filter sidebar feat: add faceted classification filter sidebar May 2, 2026
@kyuchia kyuchia requested review from yinanazhou and removed request for yinanazhou May 4, 2026 19:34
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