Files
xamxam/TODO.md
Pontoporeia 73fdda4a7f fix repertoire AP/OR/FI columns and main scroll containment
- repertoire-index.php: add $colHasMatches per-column guard.
  Entries in a column are only faded when that column has at least one
  matched entry in the current result set. When a dimension has no
  matched entries (e.g. no thesis has orientation_id set yet), the
  entire column stays fully interactive — all values remain clickable.
  This fixes: empty columns, forced single-select, cascade fading.

- Database.php: revert allAp/allOr/allFi to full lookup-table queries
  so all known values are always shown (not just ones linked to theses).

- common.css: body is now a flex column; main gets flex:1 + min-height:0;
  header-search-wrap gets flex-shrink:0; duplicate html/body blocks merged.
- public.css: removed redundant top-level main block; home-main gets min-height:0.
- repertoire.css: search-main gets min-height:0 for proper flex scroll.
2026-04-24 23:03:49 +02:00

14 lines
1.0 KiB
Markdown

# TODO
## Répertoire page fixes
- [x] Fix AP and orientation columns returning empty results when clicked
- [x] Fix multi-select being blocked (only one entry selectable at a time)
- [x] Fix all other columns becoming faded when AP/OR filter is selected
- [x] Always show all lookup-table values (ap/or/fi); only fade based on cross-dimension matched data when the column has at least one matched entry (`$colHasMatches` guard)
- [x] Make `main` the scrollable element instead of body
- [x] `common.css`: body is now `display:flex; flex-direction:column`, `main` gets `flex:1; min-height:0`
- [x] `public.css`: removed redundant `main` block, `.home-main` keeps its `overflow-y:auto`
- [x] `repertoire.css`: `.search-main` gets `min-height:0` for proper flex scroll containment
- [x] `common.css`: `.header-search-wrap` gets `flex-shrink:0`
- [x] `Database::getRepertoireFilterData`: `allAp`, `allOr`, `allFi` now sourced from actual published thesis joins (not bare lookup tables), matching the pattern used by years and keywords