/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
packages/block-directory/src/plugins/get-install-missing/install-button.js
51 строка
1 KB
Marco Ciampini
ESLint: Replace strict config with bulk suppressions (#81248)
07 авг 2026, 14:34
Не верифицирован
07 авг 2026, 14:34
7f43eaf
Код
Авторство
О чём код?
import { __, sprintf } from '@wordpress/i18n'; import { Button } from '@wordpress/components'; import { createBlock, getBlockType, parse } from '@wordpress/blocks'; import { useSelect, useDispatch } from '@wordpress/data'; import { store as blockEditorStore } from '@wordpress/block-editor'; import { store as blockDirectoryStore } from '../../store'; export default function InstallButton( { attributes, block, clientId } ) { const isInstallingBlock = useSelect( ( select ) => select( blockDirectoryStore ).isInstalling( block.id ), [ block.id ] ); const { installBlockType } = useDispatch( blockDirectoryStore ); const { replaceBlock } = useDispatch( blockEditorStore ); return ( <Button __next40pxDefaultSize onClick={ () => installBlockType( block ).then( ( success ) => { if ( success ) { const blockType = getBlockType( block.name ); const [ originalBlock ] = parse( attributes.originalContent ); if ( originalBlock && blockType ) { replaceBlock( clientId, createBlock( blockType.name, originalBlock.attributes, originalBlock.innerBlocks ) ); } } } ) } accessibleWhenDisabled disabled={ isInstallingBlock } isBusy={ isInstallingBlock } variant="primary" > { sprintf( /* translators: %s: block name */ __( 'Install %s' ), block.title ) } </Button> ); }