[Task]: Improve due date update on reviewer tools page
Description
This sits somewhere in between a feature request and a bug. The current behavior works somewhat but is very cumbersome and requires a very specific workaround.
When a reviewer needs to update the due date for a review, there is a datetime box including a date widget at the bottom of the review page.
Issue: Every change is applied instantly and (I assume to avoid race conditions), the box is disabled for a few seconds and then re-enabled.
Things that work fine:
- Using the date picker to change the date.
Things that are barely usable:
- Manually changing digits in the datetime box
- for changing the date there is a workaround above
- for changing the time there is no workaround using a widget. If you need to change the time, you can only change one digit at the time. Due to how selection works in this box (all digits in a group are auto-selected when you click it, and you can't select a single digit), you basically have to type quick enough to make the change before the box gets disabled, and/or do it multiple times. More often than not, it does not work properly.
Acceptance Criteria
- [ ] There should be a way to update any and all of date and/or time of the due date (without having to fight with the UI)
Checks
- [X] If the issue is ready to work on, I have removed the "needs:info" label.
- [X] If I have identified that the work is specific to a repository, I have removed "repository:addons-server" or "repository:addons-frontend"
┆Issue is synchronized with this Jira Task
We're using a standard <input type=datetime-local> field and I'd like to keep it that way, if possible. A few possible solutions to investigate:
- Wait until another event than
change- maybeblur, waiting for the input to lose focus - Debounce the callback in such a way that it waits long enough to let the user change the time as well (but not too long either!)
- Remove auto-submitting altogether and have an explicit submit button for that value
Relevant JavaScript code is https://github.com/mozilla/addons-server/blob/2b9c75ca4d34bbfa6c53b01f6edf56cb0714c68d/static/js/zamboni/reviewers.js#L266-L275 btw.