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

View file

@ -135,31 +135,45 @@ export function getFilterQueryParam(
): ProductListUrlFilters {
const { active, multiple, name, value } = filter;
if (active) {
switch (name) {
case ProductFilterKeys.price:
if (multiple) {
return {
priceFrom: value[0],
priceTo: value[1]
};
}
switch (name) {
case ProductFilterKeys.price:
if (!active) {
return {
priceFrom: undefined,
priceTo: undefined
};
}
if (multiple) {
return {
priceFrom: value[0],
priceTo: value[0]
priceTo: value[1]
};
}
case ProductFilterKeys.status:
return {
status: findValueInEnum(value[0], ProductStatus)
};
return {
priceFrom: value[0],
priceTo: value[0]
};
case ProductFilterKeys.stock:
case ProductFilterKeys.status:
if (!active) {
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(