Files
old-web/frontend-react/src/utils/createOlxLink.js
2019-01-19 14:24:54 +01:00

39 lines
1.3 KiB
JavaScript

const isObject = obj => obj === Object(obj);
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}&`;
}, "");
};
export const createOlxLink = (category, subcategory, options) => {
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)}`
: "";
};