Fix filter toggling

This commit is contained in:
dominik-zeglen 2019-12-20 17:40:19 +01:00
parent fe6996c0cf
commit 9e00800956
2 changed files with 55 additions and 32 deletions

View file

@ -133,9 +133,14 @@ export function getFilterQueryParam(
): OrderListUrlFilters { ): OrderListUrlFilters {
const { active, multiple, name, value } = filter; const { active, multiple, name, value } = filter;
if (active) {
switch (name) { switch (name) {
case OrderFilterKeys.created: case OrderFilterKeys.created:
if (!active) {
return {
createdFrom: undefined,
createdTo: undefined
};
}
if (multiple) { if (multiple) {
return { return {
createdFrom: value[0], createdFrom: value[0],
@ -149,12 +154,16 @@ export function getFilterQueryParam(
}; };
case OrderFilterKeys.status: case OrderFilterKeys.status:
if (!active) {
return {
status: undefined
};
}
return { return {
status: value.map(val => findInEnum(val, OrderStatus)) status: value.map(val => findInEnum(val, OrderStatus))
}; };
} }
} }
}
export function createFilterQueryParams( export function createFilterQueryParams(
filter: IFilter<OrderFilterKeys> filter: IFilter<OrderFilterKeys>
): OrderListUrlFilters { ): OrderListUrlFilters {

View file

@ -135,9 +135,14 @@ export function getFilterQueryParam(
): ProductListUrlFilters { ): ProductListUrlFilters {
const { active, multiple, name, value } = filter; const { active, multiple, name, value } = filter;
if (active) {
switch (name) { switch (name) {
case ProductFilterKeys.price: case ProductFilterKeys.price:
if (!active) {
return {
priceFrom: undefined,
priceTo: undefined
};
}
if (multiple) { if (multiple) {
return { return {
priceFrom: value[0], priceFrom: value[0],
@ -151,17 +156,26 @@ export function getFilterQueryParam(
}; };
case ProductFilterKeys.status: case ProductFilterKeys.status:
if (!active) {
return {
status: undefined
};
}
return { return {
status: findValueInEnum(value[0], ProductStatus) status: findValueInEnum(value[0], ProductStatus)
}; };
case ProductFilterKeys.stock: case ProductFilterKeys.stock:
if (!active) {
return {
stockStatus: undefined
};
}
return { return {
stockStatus: findValueInEnum(value[0], StockAvailability) stockStatus: findValueInEnum(value[0], StockAvailability)
}; };
} }
} }
}
export function createFilterQueryParams( export function createFilterQueryParams(
filter: IFilter<ProductFilterKeys> filter: IFilter<ProductFilterKeys>
): ProductListUrlFilters { ): ProductListUrlFilters {