?
TRCKR-217
web ux enhancement
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