This change allows people to set token expiration dates from the API tokens
config page through a date picker. Consequently, expiration dates can also be
updated through the API. We create a
RB.DateInlineEditorView to handle the
UI for the date editing.
This also updates the page to show the invalidated/expired text in
in red so that they stand out against valid tokens.
While running the JS unit tests it was discovered that the
RB.InlineEditorView would not disconnect from a window resize event that
it was handling, which caused problems with other JS tests when running the
full suite. This change adds a
RB.InlineEditorView.remove() method to
handle this and disconnect from any events.