ndla-ui
Version:
UI component library for NDLA.
69 lines (63 loc) • 2.02 kB
JavaScript
/**
* Copyright (c) 2017-present, NDLA.
*
* This source code is licensed under the GPLv3 license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import React from 'react';
import PropTypes from 'prop-types';
import BEMHelper from 'react-bem-helper';
import { ResourceShape, ContentTypeShape } from '../shapes';
import ResourceList from './ResourceList';
import ResourcesTitle from '../ResourcesWrapper/ResourcesTitle';
var classes = new BEMHelper({
name: 'resource-group',
prefix: 'c-'
});
var ResourceGroup = function ResourceGroup(_ref) {
var title = _ref.title,
icon = _ref.icon,
resources = _ref.resources,
toggleAdditionalResources = _ref.toggleAdditionalResources,
showAdditionalResources = _ref.showAdditionalResources,
resourceToLinkProps = _ref.resourceToLinkProps,
contentType = _ref.contentType;
return React.createElement(
'section',
classes('', [contentType, showAdditionalResources ? 'showall' : '']),
React.createElement(
'header',
classes('header'),
React.createElement(
ResourcesTitle,
null,
title
)
),
resources.length > 0 ? React.createElement(ResourceList, {
title: title,
resourceToLinkProps: resourceToLinkProps,
onClick: toggleAdditionalResources,
showAdditionalResources: showAdditionalResources,
icon: icon,
resources: resources
}) : null
);
};
ResourceGroup.propTypes = {
title: PropTypes.string.isRequired,
icon: PropTypes.node.isRequired,
contentType: ContentTypeShape.isRequired,
resources: PropTypes.arrayOf(ResourceShape).isRequired,
toggleAdditionalResources: PropTypes.func.isRequired,
resourceToLinkProps: PropTypes.func.isRequired,
hideResourceToggleFilter: PropTypes.bool,
empty: PropTypes.bool,
showAdditionalResources: PropTypes.bool
};
ResourceGroup.defaultProps = {
hideResourceToggleFilter: false,
showAdditionalResources: false
};
export default ResourceGroup;