←
TRCKR-492
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)