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,26 +133,35 @@ 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) {
if (multiple) { return {
return { createdFrom: undefined,
createdFrom: value[0], createdTo: undefined
createdTo: value[1] };
}; }
} if (multiple) {
return { return {
createdFrom: value[0], createdFrom: value[0],
createdTo: value[0] createdTo: value[1]
}; };
}
case OrderFilterKeys.status: return {
createdFrom: value[0],
createdTo: value[0]
};
case OrderFilterKeys.status:
if (!active) {
return { return {
status: value.map(val => findInEnum(val, OrderStatus)) status: undefined
}; };
} }
return {
status: value.map(val => findInEnum(val, OrderStatus))
};
} }
} }
export function createFilterQueryParams( export function createFilterQueryParams(

View file

@ -135,31 +135,45 @@ 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) {
if (multiple) { return {
return { priceFrom: undefined,
priceFrom: value[0], priceTo: undefined
priceTo: value[1] };
}; }
} if (multiple) {
return { return {
priceFrom: value[0], priceFrom: value[0],
priceTo: value[0] priceTo: value[1]
}; };
}
case ProductFilterKeys.status: return {
return { priceFrom: value[0],
status: findValueInEnum(value[0], ProductStatus) priceTo: value[0]
}; };
case ProductFilterKeys.stock: case ProductFilterKeys.status:
if (!active) {
return { return {
stockStatus: findValueInEnum(value[0], StockAvailability) status: undefined
}; };
} }
return {
status: findValueInEnum(value[0], ProductStatus)
};
case ProductFilterKeys.stock:
if (!active) {
return {
stockStatus: undefined
};
}
return {
stockStatus: findValueInEnum(value[0], StockAvailability)
};
} }
} }
export function createFilterQueryParams( export function createFilterQueryParams(