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() {