From b5528727a447619ca0ee6b9ddf3e26b29cdac092 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Wed, 20 Nov 2024 16:02:56 +0400 Subject: [PATCH] Home Link: Remove label attribute synchronization (#67151) Co-authored-by: Mamaduka Co-authored-by: t-hamano --- packages/block-library/src/home-link/edit.js | 72 +++++++------------ .../block-library/src/home-link/index.php | 3 - 2 files changed, 27 insertions(+), 48 deletions(-) diff --git a/packages/block-library/src/home-link/edit.js b/packages/block-library/src/home-link/edit.js index fa6b27a3e2128b..793e13515411db 100644 --- a/packages/block-library/src/home-link/edit.js +++ b/packages/block-library/src/home-link/edit.js @@ -6,15 +6,10 @@ import clsx from 'clsx'; /** * WordPress dependencies */ -import { - RichText, - useBlockProps, - store as blockEditorStore, -} from '@wordpress/block-editor'; +import { RichText, useBlockProps } from '@wordpress/block-editor'; import { __ } from '@wordpress/i18n'; -import { useSelect, useDispatch } from '@wordpress/data'; +import { useSelect } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; -import { useEffect } from '@wordpress/element'; const preventDefault = ( event ) => event.preventDefault(); @@ -24,8 +19,6 @@ export default function HomeEdit( { attributes, setAttributes, context } ) { return select( coreStore ).getEntityRecord( 'root', '__unstableBase' ) ?.home; }, [] ); - const { __unstableMarkNextChangeAsNotPersistent } = - useDispatch( blockEditorStore ); const { textColor, backgroundColor, style } = context; const blockProps = useBlockProps( { @@ -41,42 +34,31 @@ export default function HomeEdit( { attributes, setAttributes, context } ) { }, } ); - const { label } = attributes; - - useEffect( () => { - if ( label === undefined ) { - __unstableMarkNextChangeAsNotPersistent(); - setAttributes( { label: __( 'Home' ) } ); - } - }, [ label ] ); - return ( - <> -
- - { - setAttributes( { label: labelValue } ); - } } - aria-label={ __( 'Home link text' ) } - placeholder={ __( 'Add home link' ) } - withoutInteractiveFormatting - allowedFormats={ [ - 'core/bold', - 'core/italic', - 'core/image', - 'core/strikethrough', - ] } - /> - -
- +
+ + { + setAttributes( { label: labelValue } ); + } } + aria-label={ __( 'Home link text' ) } + placeholder={ __( 'Add home link' ) } + withoutInteractiveFormatting + allowedFormats={ [ + 'core/bold', + 'core/italic', + 'core/image', + 'core/strikethrough', + ] } + /> + +
); } diff --git a/packages/block-library/src/home-link/index.php b/packages/block-library/src/home-link/index.php index fb7235834459d0..d61aa0bc235e22 100644 --- a/packages/block-library/src/home-link/index.php +++ b/packages/block-library/src/home-link/index.php @@ -137,9 +137,6 @@ function block_core_home_link_build_li_wrapper_attributes( $context ) { */ function render_block_core_home_link( $attributes, $content, $block ) { if ( empty( $attributes['label'] ) ) { - // Using a fallback for the label attribute allows rendering the block even if no attributes have been set, - // e.g. when using the block as a hooked block. - // Note that the fallback value needs to be kept in sync with the one set in `edit.js` (upon first loading the block in the editor). $attributes['label'] = __( 'Home' ); } $aria_current = '';