Skip to content

Commit

Permalink
feat: donors multi-level filter
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanoshadjipetrou committed Oct 7, 2022
1 parent ae972ea commit 22afc2e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/app/components/ToolBoxPanel/components/filters/data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ export const filtergroups: FilterGroupProps[] = [
},
{
name: "Donors",
addSubOptionFilters: false,
addSubOptionFilters: true,
},
{
name: "Replenishment Periods",
Expand Down
10 changes: 5 additions & 5 deletions src/app/hooks/useAppliedFilters.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ interface UseAppliedFiltersProps {
type: string;
}

export function useAppliedFilters(
props: UseAppliedFiltersProps
): {
export function useAppliedFilters(props: UseAppliedFiltersProps): {
setAppliedFilters: ActionCreator<string[]>;
appliedFilters: string[];
setAppliedFiltersChildren?: ActionCreator<string[]>;
Expand Down Expand Up @@ -59,8 +57,10 @@ export function useAppliedFilters(
return {
setAppliedFilters: actions.setDonorCategories,
appliedFilters: data.donorCategories,
setAppliedFiltersChildren: actions.setDonors,
appliedFiltersChildren: data.donors,
setAppliedFiltersChildren: actions.setDonorSubCategories,
appliedFiltersChildren: data.donorSubCategories,
setAppliedFiltersGrandChildren: actions.setDonors,
appliedFiltersGrandChildren: data.donors,
};
}
return {
Expand Down
10 changes: 10 additions & 0 deletions src/app/state/api/action-reducers/sync/filters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export const defaultAppliedFilters: AppliedFiltersModel = {
replenishmentPeriods: [] as string[],
donors: [] as string[],
donorCategories: [] as string[],
donorSubCategories: [] as string[],
};

export interface AppliedFiltersModel {
Expand All @@ -23,6 +24,7 @@ export interface AppliedFiltersModel {
replenishmentPeriods: string[];
donors: string[];
donorCategories: string[];
donorSubCategories: string[];
}

export interface AppliedFiltersStateModel {
Expand All @@ -44,6 +46,8 @@ export interface AppliedFiltersStateModel {
setDonors: Action<AppliedFiltersStateModel, string[]>;
donorCategories: string[];
setDonorCategories: Action<AppliedFiltersStateModel, string[]>;
donorSubCategories: string[];
setDonorSubCategories: Action<AppliedFiltersStateModel, string[]>;
setAll: Action<AppliedFiltersStateModel, AppliedFiltersModel>;
actionDefaultNone: Action<AppliedFiltersStateModel, string[]>;
appliedFiltersCount: number;
Expand Down Expand Up @@ -95,6 +99,11 @@ export const AppliedFiltersState: AppliedFiltersStateModel = {
state.donorCategories = payload;
state.appliedFiltersCount += payload.length;
}),
donorSubCategories: [],
setDonorSubCategories: action((state, payload: string[]) => {
state.donorSubCategories = payload;
state.appliedFiltersCount += payload.length;
}),
setAll: action((state, payload: AppliedFiltersModel) => {
state.locations = payload.locations;
state.components = payload.components;
Expand All @@ -105,6 +114,7 @@ export const AppliedFiltersState: AppliedFiltersStateModel = {
state.replenishmentPeriods = payload.replenishmentPeriods;
state.donors = payload.donors;
state.donorCategories = payload.donorCategories;
state.donorSubCategories = payload.donorSubCategories;
state.appliedFiltersCount =
payload.locations.length +
payload.components.length +
Expand Down

0 comments on commit 22afc2e

Please sign in to comment.