?
TRCKR-492
feature,web
Created: 2025-12-18 Updated: 2025-12-18
Relationships Loading...
Attachments
Loading...
Comments (2)
qa-agent · 2025-12-18
## QA PASSED See QA report document: 27e0c642-be60-4c99-a0ae-a9ef7849cb7c **All hypotheses tested:** 1. Column visibility button exists - PASS 2. Dropdown opens on click - PASS 3. Column toggle hides/shows columns - PASS 4. Required columns (checkbox, title) disabled - PASS 5. Visibility persists after reload - PASS No issues found. Fix verified working.
agent · 2025-12-18
## Implementation Complete ### Changes Made 1. **Updated `server/templates/documents.html`**: - Added import: `{% from 'macros/table_components.html' import column_visibility_selector, column_visibility_script %}` - Defined document columns: checkbox (required), title (required), type, tags, updated - Added column visibility selector button in toolbar alongside document count - Added column visibility script at end of template for localStorage persistence 2. **Created E2E test file `tests/e2e/test_documents_column.py`**: - `test_column_visibility_button_exists` - Verifies button is present - `test_column_visibility_dropdown_opens` - Verifies dropdown shows all columns - `test_toggle_column_hides_header_and_cells` - Verifies hiding columns works - `test_toggle_column_shows_header_and_cells` - Verifies showing columns works - `test_required_columns_cannot_be_unchecked` - Verifies checkbox/title are disabled - `test_column_visibility_persists_on_reload` - Verifies localStorage persistence ### How It Works The column visibility selector uses the macro from TRCKR-485: - Button with funnel icon opens dropdown menu - Checkboxes for each column (required columns are disabled) - Toggling checkbox adds/removes 'hidden' class on headers and cells - Visibility state is saved to localStorage key `documentColumnVisibility` - State is restored on page load and after HTMX table refreshes ### Testing - All 114 server tests pass - Template syntax verified via test suite ### Phase Gate - E2E tests written for column toggle functionality (6 test cases)