Upon reviewing the patch, the patch itself does what it says and it matches how the old AngularJS holdings editor retrieved the alert types.
However, I turned up some ramifications that I think warrant additional discussion.
In particular, suppose you add an alert, then make its alert type inactive. What should happen?
With Josh's patch, the Angular interfaces will:
- not display the old alert at all in the item alerts dialog - it is currently explicitly filtering out alerts whose type is retrieved.
- but still display that the item has an alert in the Holdings View table.
In contract, the AngularJS interfaces will:
- display the alert in the item alerts dialog, but with the alert type dropdown set to a blank value
- display that the item has alerts in the Holdings View and Item Status tables
What's the desired behavior if an item alert's type is turned off? Options I see include:
- Act as if existing alerts of that type do not exist at all, and adjust the interfaces to not display or count them
- Actually display such existing alerts, but with some indication that their current type is inactive.
Upon reviewing the patch, the patch itself does what it says and it matches how the old AngularJS holdings editor retrieved the alert types.
However, I turned up some ramifications that I think warrant additional discussion.
In particular, suppose you add an alert, then make its alert type inactive. What should happen?
With Josh's patch, the Angular interfaces will:
- not display the old alert at all in the item alerts dialog - it is currently explicitly filtering out alerts whose type is retrieved.
- but still display that the item has an alert in the Holdings View table.
In contract, the AngularJS interfaces will:
- display the alert in the item alerts dialog, but with the alert type dropdown set to a blank value
- display that the item has alerts in the Holdings View and Item Status tables
What's the desired behavior if an item alert's type is turned off? Options I see include:
- Act as if existing alerts of that type do not exist at all, and adjust the interfaces to not display or count them
- Actually display such existing alerts, but with some indication that their current type is inactive.