Alerting: Fix advanced filter not preserving freewords filter in the list view (#114651)

fix custom advanced filter not preserving freewords filter in the list view
This commit is contained in:
Sonia Aguilar
2025-12-02 10:59:47 +01:00
committed by GitHub
parent d5de92e5b2
commit f8f4fb5640
2 changed files with 7 additions and 4 deletions
@@ -82,7 +82,7 @@ export default function RulesFilter({ viewMode, onViewModeChange }: RulesFilterP
const styles = useStyles2(getStyles);
const [isPopupOpen, setIsPopupOpen] = useState(false);
const { searchQuery, updateFilters, setSearchQuery } = useRulesFilter();
const { filterState, searchQuery, updateFilters, setSearchQuery } = useRulesFilter();
const popupRef = useRef<HTMLDivElement>(null);
const { pluginsFilterEnabled } = usePluginsFilterStatus();
@@ -104,7 +104,7 @@ export default function RulesFilter({ viewMode, onViewModeChange }: RulesFilterP
};
const handleAdvancedFilters: SubmitHandler<AdvancedFilters> = (values) => {
updateFilters(formAdvancedFiltersToRuleFilter(values));
updateFilters(formAdvancedFiltersToRuleFilter(values, filterState.freeFormWords));
trackFilterButtonApplyClick(values, pluginsFilterEnabled);
setIsPopupOpen(false);
};
@@ -5,9 +5,12 @@ import { RulesFilter } from '../../search/rulesSearchParser';
import { AdvancedFilters } from './types';
export function formAdvancedFiltersToRuleFilter(values: AdvancedFilters): RulesFilter {
export function formAdvancedFiltersToRuleFilter(
values: AdvancedFilters,
existingFreeFormWords: string[] = []
): RulesFilter {
return {
freeFormWords: [],
freeFormWords: existingFreeFormWords,
...values,
namespace: values.namespace || undefined,
groupName: values.groupName || undefined,