2018-04-13 00:09:37 +03:00
|
|
|
import React from "react";
|
|
|
|
import groupBy from "lodash.groupby";
|
|
|
|
|
|
|
|
import { SidebarCategory } from "./components";
|
|
|
|
import Option from "./options";
|
|
|
|
|
|
|
|
export default function({
|
|
|
|
categories,
|
|
|
|
availableOptions,
|
|
|
|
optionValues,
|
|
|
|
onOptionValueChange
|
|
|
|
}) {
|
|
|
|
const options = groupBy(availableOptions, "category");
|
|
|
|
return categories.map(
|
|
|
|
category =>
|
|
|
|
options[category] ? (
|
|
|
|
<SidebarCategory key={category} title={category}>
|
2018-04-20 17:50:36 +03:00
|
|
|
{options[category].map(option => (
|
|
|
|
<Option
|
|
|
|
key={option.name}
|
|
|
|
option={option}
|
|
|
|
value={optionValues[option.name]}
|
|
|
|
onChange={onOptionValueChange}
|
|
|
|
/>
|
|
|
|
))}
|
2018-04-13 00:09:37 +03:00
|
|
|
</SidebarCategory>
|
|
|
|
) : null
|
|
|
|
);
|
|
|
|
}
|