Update Status filter dropdown to use new shared component
Update the Status filter dropdown to use the new shared component created in this issue > #376324 (closed)
Implementation thoughts:
Since this refactor is behind a FF, it might be easier to create a new status_filter.vue
component (instead of modifying the existing component with conditional statements) and deprecate the old one. Once we roll out the feature, we can simply delete the old deprecated version.
Verification steps:
-
Go to any vulnerability report and verify that the refactored status filter is being used. You can check this by changing the selected dropdown items and looking at the querystring. If the IDs are separated by commas, i.e. ?status=DETECTED,CONFIRMED,RESOLVED
, then it's the refactored filter. If they're separated by multiple querystring keys, i.e.?status=DETECTED&status=CONFIRMED&status=RESOLVED
, then it's still the old filter. -
Verify that on page load, Needs triage
andConfirmed
are selected. -
Verify that multiple dropdown items can be selected. -
Verify that when one item is selected, the dropdown button will show the item name. When multiple items are selected, the dropdown button should show "Item name +1 more", where the number reflects the number of additional items selected beyond the first one. -
Verify that selecting All statuses
will select it and unselect everything else. -
Verify that unchecking the last selected item will automatically check All statuses
. -
Verify that the selected items are saved to the querystring. Note that when All statuses
are selected, the querystring should saveALL
. -
Verify that the selected items saved to the querystring are restored when the page is refreshed and when the URL is pasted into a new tab. Also verify that if ALL
is on the querystring, then the filter is restored withAll statuses
selected. -
Verify that the vulnerability list is filtered by the selected items. -
Verify that the status filter works properly for the project, group, and instance level reports.
Edited by David Pisek