decap-cms-core
Version:
Decap CMS core application, see decap-cms package for the main distribution.
32 lines • 975 B
JavaScript
import { translate } from 'react-polyglot';
import { Dropdown, DropdownItem } from 'decap-cms-ui-default';
import { ControlButton } from './ControlButton';
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
function GroupControl({
viewGroups,
t,
onGroupClick,
group
}) {
const hasActiveGroup = group?.valueSeq().toJS().some(f => f.active === true);
return _jsx(Dropdown, {
renderButton: () => {
return _jsx(ControlButton, {
active: hasActiveGroup,
title: t('collection.collectionTop.groupBy')
});
},
closeOnSelection: false,
dropdownTopOverlap: "30px",
dropdownWidth: "160px",
dropdownPosition: "left",
children: viewGroups.map(viewGroup => {
return _jsx(DropdownItem, {
label: viewGroup.label,
onClick: () => onGroupClick(viewGroup),
isActive: group.getIn([viewGroup.id, 'active'], false)
}, viewGroup.id);
})
});
}
export default translate()(GroupControl);