Files
old-web/frontend-react/src/utils/createOlxLink.js

39 lines
1.3 KiB
JavaScript
Raw Normal View History

const isObject = obj => obj === Object(obj);
2019-01-19 14:24:54 +01:00
const mapOptionsToLink = options => {
const multipleOptions = ["grad"];
return Object.entries(options)
.filter(([optionName, optionValue]) => optionValue !== false)
.map(([optionName, optionValue]) =>
isObject(options[optionName])
? [optionName, options[optionName].value]
: [optionName, optionValue]
)
.map(
([optionName, optionValue]) =>
!console.log(optionName, optionValue) && [optionName, optionValue]
)
.reduce((acc, [optionName, optionValue]) => {
console.log(optionName, typeof optionName);
if (multipleOptions.some(option => ~optionName.indexOf(option))) {
const whatOption = multipleOptions.filter(
option => ~optionName.indexOf(option)
)[0];
return acc + `${whatOption}[]=${optionValue}&`;
}
return acc + `${optionName}=${optionValue}&`;
}, "");
};
2019-01-16 21:00:14 +01:00
export const createOlxLink = (category, subcategory, options) => {
2019-01-19 14:24:54 +01:00
const categoryChoice =
(Boolean(Object.keys(subcategory).length) &&
subcategory[
Object.keys(subcategory).reduce((max, key) => (max < key ? key : max))
]) ||
category;
return categoryChoice
? `kategorija=${categoryChoice.value}&${mapOptionsToLink(options)}`
: "";
2019-01-16 21:00:14 +01:00
};