import PropTypes from 'prop-types'; import React from 'react'; import { ADMIN_URLS, STRINGS } from '../../config/wagtailConfig'; import Icon from '../../components/Icon/Icon'; import Button from '../../components/Button/Button'; import PublicationStatus from '../../components/PublicationStatus/PublicationStatus'; // Hoist icons in the explorer item, as it is re-rendered many times. const childrenIcon = ( ); /** * One menu item in the page explorer, with different available actions * and information depending on the metadata of the page. */ const ExplorerItem = ({ item, onClick }) => { const { id, admin_display_title: title, meta } = item; const hasChildren = meta.children.count > 0; const isPublished = meta.status.live && !meta.status.has_unpublished_changes; return (
{hasChildren ? ( ) : null}
); }; ExplorerItem.propTypes = { item: PropTypes.shape({ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, admin_display_title: PropTypes.string.isRequired, meta: PropTypes.shape({ status: PropTypes.object.isRequired, }).isRequired, }).isRequired, onClick: PropTypes.func.isRequired, }; export default ExplorerItem;