Skip to content

Commit

Permalink
Merge branch 'main' into 3248-bug-the-time-of-the-displayed-timeline-…
Browse files Browse the repository at this point in the history
…does-not-coincide-with-the-time-of-the-notification-from-checkmk
  • Loading branch information
talboren authored Feb 3, 2025
2 parents 52897c2 + 3561c78 commit a8d9830
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 12 deletions.
30 changes: 21 additions & 9 deletions keep-ui/features/filter/facets-panel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,24 @@ export const FacetsPanel: React.FC<FacetsPanelProps> = ({
return facetsState[facetId] || new Set<string>();
}

useEffect(() => {
const newFacetsState: FacetState = {};

facets.forEach((facet) => {
newFacetsState[facet.id] = getFacetState(facet.id);
});

setFacetsState(newFacetsState);
// we need to run this effect only once on mount
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);

const isOptionSelected = (facet_id: string, option_id: string) => {
return !facetsState[facet_id] || !facetsState[facet_id].has(option_id);
};

function calculateFacetsState(newFacetsState: FacetState): void {
setFacetsState(newFacetsState);
var cel = buildCel(facets, facetOptions, newFacetsState);
useEffect(() => {
var cel = buildCel(facets, facetOptions, facetsState);

if (cel !== celState) {
setCelState(cel);
Expand All @@ -152,12 +163,13 @@ export const FacetsPanel: React.FC<FacetsPanelProps> = ({
facetOptionQueries[facet.id] = buildCel(
otherFacets,
facetOptions,
newFacetsState
facetsState
);
});

onReloadFacetOptions && onReloadFacetOptions(facetOptionQueries);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [facetsState]);

function toggleFacetOption(facetId: string, value: string) {
setClickedFacetId(facetId);
Expand All @@ -169,7 +181,7 @@ export const FacetsPanel: React.FC<FacetsPanelProps> = ({
facetState.delete(value);
}

calculateFacetsState({ ...facetsState, [facetId]: facetState });
setFacetsState({ ...facetsState, [facetId]: facetState });
}

function selectOneFacetOption(facetId: string, optionValue: string): void {
Expand All @@ -185,7 +197,7 @@ export const FacetsPanel: React.FC<FacetsPanelProps> = ({
facetState.add(facetOption.display_name);
});

calculateFacetsState({
setFacetsState({
...facetsState,
[facetId]: facetState,
});
Expand All @@ -199,14 +211,14 @@ export const FacetsPanel: React.FC<FacetsPanelProps> = ({
facetState.delete(option.display_name)
);

calculateFacetsState({
setFacetsState({
...facetsState,
[facetId]: facetState,
});
}

function clearFilters(): void {
calculateFacetsState({});
setFacetsState({});
}

useEffect(
Expand Down
18 changes: 15 additions & 3 deletions keep-ui/utils/hooks/useIncidents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,28 @@ export const useIncidents = (

const filtersParams = new URLSearchParams();

filtersParams.set("confirmed", confirmed.toString());

if (limit !== undefined) {
filtersParams.set("limit", limit.toString());
}

if (offset !== undefined) {
filtersParams.set("offset", offset.toString());
}

if (sorting) {
filtersParams.set("sorting", sorting.desc ? `-${sorting.id}` : sorting.id);
}

if (cel) {
filtersParams.set("cel", cel);
}

const swrValue = useSWR<PaginatedIncidentsDto>(
() =>
api.isReady()
? `/incidents?confirmed=${confirmed}&limit=${limit}&offset=${offset}&sorting=${
sorting.desc ? "-" : ""
}${sorting.id}&${filtersParams.toString()}`
? `/incidents${filtersParams.size ? `?${filtersParams.toString()}` : ""}`
: null,
(url) => api.get(url),
options
Expand Down

0 comments on commit a8d9830

Please sign in to comment.