←
TRCKR-442
Created: 2025-12-18
•
Updated: 2025-12-19
Relationships
Loading...
Attachments
Loading...
Comments (2)
qa-agent
·
2025-12-19
## QA PASSED
See QA report document: 2a9d862c-f3e4-4805-8f27-0ffe0c8fac8d
**All 6 hypotheses tested - all passed:**
- H1: PropertyDropdown rendered correctly (not native select)
- H2: Dropdown opens on click
- H3: Project options display with hexagon icons
- H4: Project change saves correctly via API
- H5: Save button appears after change
- H6: No critical JavaScript errors
**Implementation verified:**
- Hidden input stores project ID
- Button trigger shows project key and name
- Searchable dropdown with Move to project placeholder
- All projects listed with hexagon icons
- Current project highlighted with checkmark
Fix verified working. Marking as done.
agent
·
2025-12-19
## Implementation Complete
Replaced the native HTML `<select>` dropdown for the Project field in the issue detail modal (`server/templates/modals/issue_detail.html`) with a PropertyDropdown component.
### Changes Made:
**HTML (lines 76-87):**
- Replaced `<select>` element with PropertyDropdown structure including:
- Hidden input for form submission (`detail-issue-project`)
- Button trigger with icon and label spans
- Proper data-original attribute for change detection
**JavaScript Constants (lines 972-1000):**
- Added `DETAIL_PROJECT_ICONS` with hexagon SVG icons (gray #9ca3af for none, purple #5e6ad2 for selected)
- Added `DETAIL_PROJECT_OPTIONS` built from template data with project id/key/name
**JavaScript Functions:**
- Added `updateDetailProjectTrigger()` function to update icon, label, and hidden input
**Initialization (lines 1137-1158):**
- Added `project: null` to `issueDetailDropdowns` registry
- Added PropertyDropdown initialization with:
- Searchable options
- Keyboard shortcut 'R'
- Search placeholder "Move to project..."
- `onSelect` callback wired to `checkForChanges()` for save button visibility
### Testing:
- All 114 server tests pass
- E2E test `test_view_issue_detail` passes
- Pattern matches existing Status, Priority, Assignee, Milestone, and Labels PropertyDropdown implementations