←
TRCKR-217
Created: 2025-12-09
•
Updated: 2025-12-16
Relationships
Loading...
Attachments
Loading...
Comments (1)
agent
·
2025-12-09
Completed implementation of save buttons for issue and milestone detail modals.
## Changes Made
### /server/templates/modals/issue_detail.html
- Line 8-11: Added save button in header next to close button, initially hidden
- Line 14: Wrapped fields in form with id="issue-form"
- Lines 16, 21, 33, 43, 47, 73, 77, 81, 85: Added data-original attributes to track original values
- Lines 16, 21, 33, 43, 47, 73, 77, 81, 85: Added oninput/onchange handlers to call checkForChanges()
- Lines 212-291: Added JavaScript functions (checkForChanges and saveIssueChanges)
### /server/templates/modals/milestone_detail.html
- Line 7-10: Added save button in header
- Line 13: Wrapped fields in form with id="milestone-form"
- Lines 15, 20, 29, 46: Added data-original attributes
- Lines 15, 20, 29, 46: Added oninput/onchange handlers
- Lines 100-179: Added JavaScript functions (checkForChanges and saveMilestoneChanges)
## Pattern Applied
Followed the exact pattern from project_detail.html (TRCKR-195):
1. Removed htmx attributes from individual fields
2. Added form wrapper for batch updates
3. Track original values via data-original
4. Show save button only when values change
5. Pulse animation on button appearance
6. Show 'Saving...' state during request
7. Toast notifications for success/failure
8. Refresh background table after save
## Testing
- All backend tests passed (no failures in pytest run)
- Package installed via make install
- Deployed to https://trckr.roboalch.com successfully