/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
packages/block-editor/src/components/link-control/settings.js
67 строк
2 KB
Marco Ciampini
ESLint: Replace strict config with bulk suppressions (#81248)
07 авг 2026, 14:34
Не верифицирован
07 авг 2026, 14:34
7f43eaf
Код
Авторство
О чём код?
import { __ } from '@wordpress/i18n'; import { CheckboxControl } from '@wordpress/components'; import { VisuallyHidden } from '@wordpress/ui'; const noop = () => {}; const LinkControlSettings = ( { value, onChange = noop, settings } ) => { if ( ! settings || ! settings.length ) { return null; } const handleSettingChange = ( setting ) => ( newValue ) => { onChange( { ...value, [ setting.id ]: newValue, } ); }; const theSettings = settings .map( ( setting ) => { // If render property is provided if ( 'render' in setting ) { // If it's a valid function, use it if ( typeof setting.render === 'function' ) { const renderedContent = setting.render( setting, value, onChange ); return ( <div key={ setting.id } className="block-editor-link-control__setting" > { renderedContent } </div> ); } // If render is provided but invalid, return null return null; } // If render property is not provided, use CheckboxControl return ( <CheckboxControl className="block-editor-link-control__setting" key={ setting.id } label={ setting.title } onChange={ handleSettingChange( setting ) } checked={ value ? !! value[ setting.id ] : false } help={ setting?.help } /> ); } ) .filter( Boolean ); // Remove null entries return ( <fieldset className="block-editor-link-control__settings"> <VisuallyHidden render={ <legend /> }> { __( 'Currently selected link settings' ) } </VisuallyHidden> { theSettings } </fieldset> ); }; export default LinkControlSettings;