diff --git a/web/server/vue-cli/src/components/Report/ReportFilter/Filters/BaselineRunFilter.vue b/web/server/vue-cli/src/components/Report/ReportFilter/Filters/BaselineRunFilter.vue
index 50338d407f..e668d2a80b 100644
--- a/web/server/vue-cli/src/components/Report/ReportFilter/Filters/BaselineRunFilter.vue
+++ b/web/server/vue-cli/src/components/Report/ReportFilter/Filters/BaselineRunFilter.vue
@@ -458,6 +458,7 @@ defineExpose({
update: baseSelectOptionFilter.update,
registerWatchers: baseSelectOptionFilter.registerWatchers,
unregisterWatchers: baseSelectOptionFilter.unregisterWatchers,
+ selectedItems: baseSelectOptionFilter.selectedItems,
id,
initByUrl,
diff --git a/web/server/vue-cli/src/components/Report/ReportFilter/ReportFilter.vue b/web/server/vue-cli/src/components/Report/ReportFilter/ReportFilter.vue
index f625b53b26..87caeb8d65 100644
--- a/web/server/vue-cli/src/components/Report/ReportFilter/ReportFilter.vue
+++ b/web/server/vue-cli/src/components/Report/ReportFilter/ReportFilter.vue
@@ -39,7 +39,7 @@
-
{
watch(() => props.refreshFilter, state => {
if (!state) return;
-
+
initByUrl();
emit("set-refresh-filter-state", false);
});
@@ -654,14 +654,20 @@ onBeforeUnmount(() => {
});
function saveCurrentFilter(mode) {
- const activePresetId = presetMenuRef.value?.activePresetId;
+ const presetReportFilter = structuredClone(reportFilter.value);
+
+ // Store selected run names in reportFilter.runName (not part of the
+ // standard filter state, but needed for preset serialization).
+ const runFilter = filters.value.find(f => f.id === "run");
+ presetReportFilter.runName = runFilter?.selectedItems?.map(i => i.id) ?? [];
+ const activePresetId = presetMenuRef.value?.activePresetId;
const preset = {
id: mode === "override" && activePresetId
? activePresetId
: -1,
name: presetName.value,
- reportFilter: reportFilter.value
+ reportFilter: presetReportFilter
};
new Promise(
@@ -958,7 +964,6 @@ async function getFilterPreset(preset_id) {
await router.replace({ query: nextQuery }).catch(() => {});
initByUrl();
- updateUrl();
await nextTick();
if (presetMenuRef.value) {
@@ -971,7 +976,6 @@ async function clearToolbarSilently() {
unregisterWatchers();
_filters.forEach(f => f.unregisterWatchers());
await Promise.all(_filters.map(f => f.clear(false)));
- updateAllFilters();
}
/*function listFilterPreset() {