UNPKG

@wordpress/block-library

Version:
47 lines (43 loc) 1.16 kB
/** * WordPress dependencies */ import { useSelect } from '@wordpress/data'; import { useState } from '@wordpress/element'; import { store as blockEditorStore } from '@wordpress/block-editor'; /** * Internal dependencies */ import QueryContent from './query-content'; import QueryPlaceholder from './query-placeholder'; import { PatternSelectionModal } from './pattern-selection'; const QueryEdit = ( props ) => { const { clientId, attributes } = props; const [ isPatternSelectionModalOpen, setIsPatternSelectionModalOpen ] = useState( false ); const hasInnerBlocks = useSelect( ( select ) => !! select( blockEditorStore ).getBlocks( clientId ).length, [ clientId ] ); const Component = hasInnerBlocks ? QueryContent : QueryPlaceholder; return ( <> <Component { ...props } openPatternSelectionModal={ () => setIsPatternSelectionModalOpen( true ) } /> { isPatternSelectionModalOpen && ( <PatternSelectionModal clientId={ clientId } attributes={ attributes } setIsPatternSelectionModalOpen={ setIsPatternSelectionModalOpen } /> ) } </> ); }; export default QueryEdit;