From 6bc1af661cb6af310ae0c8ee1e3787d50a3b86d3 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Thu, 13 Jul 2023 14:39:28 +0100 Subject: [PATCH] Pass setting to block editor settings via Edit Site store --- .../src/components/link-control/index.js | 24 ++++++------------- .../block-editor/use-site-editor-settings.js | 22 ++++++++++++++++- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/packages/block-editor/src/components/link-control/index.js b/packages/block-editor/src/components/link-control/index.js index 6a78c16ed6ca7..f64d8e2cfd179 100644 --- a/packages/block-editor/src/components/link-control/index.js +++ b/packages/block-editor/src/components/link-control/index.js @@ -12,7 +12,6 @@ import { useRef, useState, useEffect } from '@wordpress/element'; import { focus } from '@wordpress/dom'; import { ENTER } from '@wordpress/keycodes'; import { isShallowEqualObjects } from '@wordpress/is-shallow-equal'; -import { store as preferencesStore } from '@wordpress/preferences'; import { useSelect } from '@wordpress/data'; /** @@ -26,6 +25,7 @@ import useCreatePage from './use-create-page'; import useInternalValue from './use-internal-value'; import { ViewerFill } from './viewer-slot'; import { DEFAULT_LINK_SETTINGS } from './constants'; +import { store as blockEditorStore } from '../../store'; /** * Default properties associated with a link control value. @@ -135,22 +135,12 @@ function LinkControl( { withCreateSuggestion = true; } - const { settingsDrawerStatePreference } = useSelect( ( select ) => { - const prefsStore = select( preferencesStore ); - - const postEditorEnabled = - prefsStore.get( 'core/edit-post', 'linkControlSettingsDrawer' ) ?? - false; - - const siteEditorEnabled = - prefsStore.get( 'core/edit-site', 'linkControlSettingsDrawer' ) ?? - false; - - return { - settingsDrawerStatePreference: - postEditorEnabled || siteEditorEnabled, - }; - }, [] ); + const settingsDrawerStatePreference = useSelect( + ( select ) => + select( blockEditorStore ).getSettings() + .linkControlAdvancedSettingsPreference, + [] + ); const isMounting = useRef( true ); const wrapperNode = useRef(); diff --git a/packages/edit-site/src/components/block-editor/use-site-editor-settings.js b/packages/edit-site/src/components/block-editor/use-site-editor-settings.js index 732f662f5ddca..5f271268c9347 100644 --- a/packages/edit-site/src/components/block-editor/use-site-editor-settings.js +++ b/packages/edit-site/src/components/block-editor/use-site-editor-settings.js @@ -10,6 +10,7 @@ import { store as coreStore } from '@wordpress/core-data'; import { store as editSiteStore } from '../../store'; import { unlock } from '../../lock-unlock'; import inserterMediaCategories from './inserter-media-categories'; +import { store as preferencesStore } from '@wordpress/preferences'; export default function useSiteEditorSettings( templateType ) { const { storedSettings, canvasMode } = useSelect( ( select ) => { @@ -22,6 +23,18 @@ export default function useSiteEditorSettings( templateType ) { }; }, [] ); + const { linkControlAdvancedSettingsPreference } = useSelect( ( select ) => { + const prefsStore = select( preferencesStore ); + + return { + linkControlAdvancedSettingsPreference: + prefsStore.get( + 'core/edit-site', + 'linkControlSettingsDrawer' + ) ?? false, + }; + }, [] ); + const settingsBlockPatterns = storedSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0 storedSettings.__experimentalBlockPatterns; // WP 5.9 @@ -82,6 +95,13 @@ export default function useSiteEditorSettings( templateType ) { __experimentalBlockPatterns: blockPatterns, __experimentalBlockPatternCategories: blockPatternCategories, focusMode: canvasMode === 'view' && focusMode ? false : focusMode, + linkControlAdvancedSettingsPreference, }; - }, [ storedSettings, blockPatterns, blockPatternCategories, canvasMode ] ); + }, [ + storedSettings, + blockPatterns, + blockPatternCategories, + canvasMode, + linkControlAdvancedSettingsPreference, + ] ); }