/** * External dependencies */ import { __ } from '@wordpress/i18n'; import { InspectorControls } from '@wordpress/block-editor'; import { PanelBody, ToggleControl } from '@wordpress/components'; import { Fragment } from '@wordpress/element'; import PropTypes from 'prop-types'; import { Icon, discussion } from '@woocommerce/icons'; /** * Internal dependencies */ import EditorContainerBlock from '../editor-container-block.js'; import NoReviewsPlaceholder from './no-reviews-placeholder.js'; import { getSharedReviewContentControls, getSharedReviewListControls, } from '../edit-utils.js'; /** * Component to handle edit mode of "All Reviews". * * @param {Object} props Incoming props for the component. * @param {Object} props.attributes Incoming block attributes. * @param {function(any):any} props.setAttributes Setter for block attributes. */ const AllReviewsEditor = ( { attributes, setAttributes } ) => { const getInspectorControls = () => { return ( setAttributes( { showProductName: ! attributes.showProductName, } ) } /> { getSharedReviewContentControls( attributes, setAttributes ) } { getSharedReviewListControls( attributes, setAttributes ) } ); }; return ( { getInspectorControls() } } name={ __( 'All Reviews', 'woo-gutenberg-products-block' ) } noReviewsPlaceholder={ NoReviewsPlaceholder } /> ); }; AllReviewsEditor.propTypes = { /** * The attributes for this block. */ attributes: PropTypes.object.isRequired, /** * The register block name. */ name: PropTypes.string.isRequired, /** * A callback to update attributes. */ setAttributes: PropTypes.func.isRequired, }; export default AllReviewsEditor;