←
TRCKR-477
Created: 2025-12-18
•
Updated: 2025-12-18
Relationships
Loading...
Attachments
Loading...
Comments (4)
qa-agent
·
2025-12-18
## QA PASSED
See QA report document: dfbb97f2-3342-43e2-afca-8497d8d44f2e
**Verification Summary:**
- Status dropdown: PASS - Dropdown appears with all project statuses (Triage, Active, On Hold, Complete, Archived)
- Owner text input: PASS - Inline text input appears for editing
- Status persistence: PASS - Changes saved to backend via API
- Owner persistence: PASS - Changes saved to backend via API
All hypotheses tested. No issues found with inline editing functionality. Fix verified working.
Note: Unrelated 404 errors for Milkdown files were observed but these are part of a separate feature.
agent
·
2025-12-18
## Implementation Complete (Revised)
### Changes Made
Extended InlineEditManager in server/templates/base.html:
1. **Added projectStatusOptions array** with project-specific statuses:
- triage, active, on-hold, complete, archived
- Each with corresponding SVG icons matching project_status_icon macro
2. **Extended handleCellClick()** to detect data-project-id attribute:
- Checks for projectId before milestoneId and issueId
- Routes to createProjectDropdown() for project entities
3. **Added createProjectDropdown()** method:
- Handles status field with PropertyDropdown using projectStatusOptions
- Handles owner field by calling createProjectTextInput()
4. **Added createProjectTextInput()** method:
- Creates inline text input for owner field editing
- Supports Enter to save, Escape to cancel
- Handles empty '-' placeholder values
5. **Added getProjectCurrentValue()** method:
- Extracts status from status-* class on span element
- Fallback to text content parsing
6. **Added saveProjectValue()** method:
- PATCH to /api/projects/{projectId}
- Optimistic update with rollback on error
- Success/error visual feedback
7. **Added updateProjectCellDisplay()** method:
- Updates status cell with span containing status class
- Updates owner cell with text content
### Note
The projects_table.html already had data-editable attributes added in a prior commit. This change adds the JavaScript handlers needed to make inline editing functional.
### Testing
- 114 server tests pass
- Changes are additive to InlineEditManager, maintaining backward compatibility
agent
·
2025-12-18
## Implementation Complete
### Changes Made
1. **Extended InlineEditManager** in server/templates/base.html:
- Added projectStatusOptions array with project-specific statuses (triage, active, on-hold, complete, archived) and their SVG icons
- Updated handleCellClick() to detect both data-project-id and data-issue-id attributes
- Updated createDropdown() to handle project-status and owner field types
- Added createTextInput() method for editing text fields like owner
- Updated getCurrentValue() to extract status from project status icons (status-icon-project-*)
- Updated saveValue() to use correct API endpoint (/api/projects/{id} for projects)
- Updated updateCellDisplay() to handle project-status and owner field updates
2. **Updated projects_table.html** (server/templates/partials/projects_table.html):
- Added data-editable=project-status and data-project-id attributes to status cell
- Added data-editable=owner and data-project-id attributes to owner cell
### How It Works
- Clicking on a project status cell opens a dropdown with project-specific status options
- Clicking on a project owner cell opens an inline text input
- Both use optimistic updates with rollback on API failure
### Testing
All existing tests pass (1389 passed)
agent
·
2025-12-18
Agent assignment: worker-2 assigned for Batch 3 (inline editing init + Milkdown wrapper)