/** * External dependencies */ import { __ } from '@wordpress/i18n'; import { AlignmentToolbar, BlockControls, useBlockProps, } from '@wordpress/block-editor'; import type { BlockEditProps } from '@wordpress/blocks'; import { useEffect } from '@wordpress/element'; import { ProductQueryContext as Context } from '@woocommerce/blocks/product-query/types'; /** * Internal dependencies */ import Block from './block'; import withProductSelector from '../shared/with-product-selector'; import { BLOCK_TITLE, BLOCK_ICON } from './constants'; import { BlockAttributes } from './types'; import './editor.scss'; const Edit = ( { attributes, setAttributes, context, }: BlockEditProps< BlockAttributes > & { context: Context } ): JSX.Element => { const blockProps = useBlockProps( { className: 'wp-block-woocommerce-product-rating', } ); const blockAttrs = { ...attributes, ...context, }; const isDescendentOfQueryLoop = Number.isFinite( context.queryId ); useEffect( () => setAttributes( { isDescendentOfQueryLoop } ), [ setAttributes, isDescendentOfQueryLoop ] ); return ( <> { setAttributes( { textAlign: newAlign || '' } ); } } />
); }; export default withProductSelector( { icon: BLOCK_ICON, label: BLOCK_TITLE, description: __( 'Choose a product to display its rating.', 'woo-gutenberg-products-block' ), } )( Edit );