Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edit Post: Replace store name string with exposed store definition #27414

Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { noop } from 'lodash';
* WordPress dependencies
*/
import { useDispatch } from '@wordpress/data';
import { store as editPostStore } from '@wordpress/edit-post';

/**
* Internal dependencies
Expand All @@ -16,7 +17,7 @@ import { store as blockDirectoryStore } from '../../store';

function DownloadableBlocksList( { items, onHover = noop, onSelect } ) {
const { installBlockType } = useDispatch( blockDirectoryStore );
const { setIsInserterOpened } = useDispatch( 'core/edit-post' );
const { setIsInserterOpened } = useDispatch( editPostStore );

if ( ! items.length ) {
return null;
Expand Down
1 change: 1 addition & 0 deletions packages/block-library/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"@wordpress/date": "file:../date",
"@wordpress/deprecated": "file:../deprecated",
"@wordpress/dom": "file:../dom",
"@wordpress/edit-post": "file:../edit-post",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's avoid this cyclic dependency for @wordpress/block-library package and leave it as a string for now.

gziolo marked this conversation as resolved.
Show resolved Hide resolved
"@wordpress/editor": "file:../editor",
"@wordpress/element": "file:../element",
"@wordpress/escape-html": "file:../escape-html",
Expand Down
5 changes: 3 additions & 2 deletions packages/block-library/src/button/edit.native.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {
ToolbarButton,
LinkSettingsNavigation,
} from '@wordpress/components';
import { store as editPostStore } from '@wordpress/edit-post';
gziolo marked this conversation as resolved.
Show resolved Hide resolved
import { Component } from '@wordpress/element';
import { withSelect, withDispatch } from '@wordpress/data';
import { link } from '@wordpress/icons';
Expand Down Expand Up @@ -422,7 +423,7 @@ export default compose( [
withGradient,
withColors( 'backgroundColor', { textColor: 'color' } ),
withSelect( ( select, { clientId } ) => {
const { isEditorSidebarOpened } = select( 'core/edit-post' );
const { isEditorSidebarOpened } = select( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved
const {
getSelectedBlockClientId,
getBlockCount,
Expand All @@ -442,7 +443,7 @@ export default compose( [
withDispatch( ( dispatch ) => {
return {
closeSettingsBottomSheet() {
dispatch( 'core/edit-post' ).closeGeneralSidebar();
dispatch( editPostStore ).closeGeneralSidebar();
gziolo marked this conversation as resolved.
Show resolved Hide resolved
},
};
} ),
Expand Down
3 changes: 2 additions & 1 deletion packages/block-library/src/columns/edit.native.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
BlockVariationPicker,
} from '@wordpress/block-editor';
import { withDispatch, useSelect } from '@wordpress/data';
import { store as editPostStore } from '@wordpress/edit-post';
gziolo marked this conversation as resolved.
Show resolved Hide resolved
import { useEffect, useState, useMemo } from '@wordpress/element';
import { useResizeObserver } from '@wordpress/compose';
import { createBlock } from '@wordpress/blocks';
Expand Down Expand Up @@ -422,7 +423,7 @@ const ColumnsEdit = ( props ) => {
getBlockParents,
getBlockAttributes,
} = select( 'core/block-editor' );
const { isEditorSidebarOpened } = select( 'core/edit-post' );
const { isEditorSidebarOpened } = select( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved
const block = getBlock( clientId );
const innerBlocks = block?.innerBlocks;
const isContentEmpty = map(
Expand Down
5 changes: 3 additions & 2 deletions packages/block-library/src/cover/edit.native.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ import {
} from '@wordpress/block-editor';
import { compose, withPreferredColorScheme } from '@wordpress/compose';
import { withSelect, withDispatch } from '@wordpress/data';
import { store as editPostStore } from '@wordpress/edit-post';
gziolo marked this conversation as resolved.
Show resolved Hide resolved
import { useEffect, useState, useRef } from '@wordpress/element';
import { cover as icon, replace, image, warning } from '@wordpress/icons';
import { getProtocol } from '@wordpress/url';
Expand Down Expand Up @@ -595,12 +596,12 @@ export default compose( [
};
} ),
withDispatch( ( dispatch ) => {
const { openGeneralSidebar } = dispatch( 'core/edit-post' );
const { openGeneralSidebar } = dispatch( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved

return {
openGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),
closeSettingsBottomSheet() {
dispatch( 'core/edit-post' ).closeGeneralSidebar();
dispatch( editPostStore ).closeGeneralSidebar();
gziolo marked this conversation as resolved.
Show resolved Hide resolved
},
};
} ),
Expand Down
5 changes: 3 additions & 2 deletions packages/block-library/src/file/edit.native.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import {
import { Component } from '@wordpress/element';
import { __, _x } from '@wordpress/i18n';
import { compose, withPreferredColorScheme } from '@wordpress/compose';
import { store as editPostStore } from '@wordpress/edit-post';
gziolo marked this conversation as resolved.
Show resolved Hide resolved
import { withDispatch, withSelect } from '@wordpress/data';
import { getProtocol } from '@wordpress/url';

Expand Down Expand Up @@ -582,15 +583,15 @@ export default compose( [
withSelect( ( select, props ) => {
const { attributes } = props;
const { id, href } = attributes;
const { isEditorSidebarOpened } = select( 'core/edit-post' );
const { isEditorSidebarOpened } = select( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved
const isNotFileHref = id && getProtocol( href ) !== 'file:';
return {
media: isNotFileHref ? select( 'core' ).getMedia( id ) : undefined,
isSidebarOpened: isEditorSidebarOpened(),
};
} ),
withDispatch( ( dispatch ) => {
const { openGeneralSidebar } = dispatch( 'core/edit-post' );
const { openGeneralSidebar } = dispatch( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved
return {
openSidebar: () => openGeneralSidebar( 'edit-post/block' ),
};
Expand Down
3 changes: 2 additions & 1 deletion packages/block-library/src/latest-posts/edit.native.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { isEmpty } from 'lodash';
import { Component } from '@wordpress/element';
import { compose, withPreferredColorScheme } from '@wordpress/compose';
import { withDispatch } from '@wordpress/data';
import { store as editPostStore } from '@wordpress/edit-post';
gziolo marked this conversation as resolved.
Show resolved Hide resolved
import { coreBlocks } from '@wordpress/block-library';
import { __ } from '@wordpress/i18n';
import { postList as icon } from '@wordpress/icons';
Expand Down Expand Up @@ -235,7 +236,7 @@ class LatestPostsEdit extends Component {

export default compose( [
withDispatch( ( dispatch ) => {
const { openGeneralSidebar } = dispatch( 'core/edit-post' );
const { openGeneralSidebar } = dispatch( editPostStore );
gziolo marked this conversation as resolved.
Show resolved Hide resolved

return {
openGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),
Expand Down
12 changes: 12 additions & 0 deletions packages/edit-post/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,18 @@ _Parameters_
- _settings_ `?Object`: Editor settings object.
- _initialEdits_ `Object`: Programmatic edits to apply initially, to be considered as non-user-initiated (bypass for unsaved changes prompt).

<a name="store" href="#store">#</a> **store**
gziolo marked this conversation as resolved.
Show resolved Hide resolved

Store definition for the edit post namespace.

_Related_

- <https://github.com/WordPress/gutenberg/blob/master/packages/data/README.md#createReduxStore>

_Type_

- `Object`


<!-- END TOKEN(Autogenerated API docs) -->

Expand Down
13 changes: 9 additions & 4 deletions packages/edit-post/src/components/device-preview/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ import { __ } from '@wordpress/i18n';
import { __experimentalPreviewOptions as PreviewOptions } from '@wordpress/block-editor';
import { useDispatch, useSelect } from '@wordpress/data';

/**
* Internal dependencies
*/
import { store as editPostStore } from '../../store';

export default function DevicePreview() {
const {
hasActiveMetaboxes,
Expand All @@ -16,18 +21,18 @@ export default function DevicePreview() {
deviceType,
} = useSelect(
( select ) => ( {
hasActiveMetaboxes: select( 'core/edit-post' ).hasMetaBoxes(),
isSaving: select( 'core/edit-post' ).isSavingMetaBoxes(),
hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
isSaving: select( editPostStore ).isSavingMetaBoxes(),
isPostSaveable: select( 'core/editor' ).isEditedPostSaveable(),
deviceType: select(
'core/edit-post'
editPostStore
).__experimentalGetPreviewDeviceType(),
} ),
[]
);
const {
__experimentalSetPreviewDeviceType: setPreviewDeviceType,
} = useDispatch( 'core/edit-post' );
} = useDispatch( editPostStore );

return (
<PreviewOptions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ import { __ } from '@wordpress/i18n';
import { check } from '@wordpress/icons';
import { speak } from '@wordpress/a11y';

/**
* Internal dependencies
*/
import { store as editPostStore } from '../../../store';

function FeatureToggle( {
onToggle,
isActive,
Expand Down Expand Up @@ -46,11 +51,11 @@ function FeatureToggle( {

export default compose( [
withSelect( ( select, { feature } ) => ( {
isActive: select( 'core/edit-post' ).isFeatureActive( feature ),
isActive: select( editPostStore ).isFeatureActive( feature ),
} ) ),
withDispatch( ( dispatch, ownProps ) => ( {
onToggle() {
dispatch( 'core/edit-post' ).toggleFeature( ownProps.feature );
dispatch( editPostStore ).toggleFeature( ownProps.feature );
},
} ) ),
] )( FeatureToggle );
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,16 @@ import { __ } from '@wordpress/i18n';
import { addQueryArgs } from '@wordpress/url';
import { wordpress } from '@wordpress/icons';

/**
* Internal dependencies
*/
import { store as editPostStore } from '../../../store';

function FullscreenModeClose( { showTooltip, icon, href } ) {
const { isActive, isRequestingSiteIcon, postType, siteIconUrl } = useSelect(
( select ) => {
const { getCurrentPostType } = select( 'core/editor' );
const { isFeatureActive } = select( 'core/edit-post' );
const { isFeatureActive } = select( editPostStore );
const { isResolving } = select( 'core/data' );
const { getEntityRecord, getPostType } = select( 'core' );
const siteData =
Expand Down
17 changes: 9 additions & 8 deletions packages/edit-post/src/components/header/header-toolbar/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,11 @@ import { useRef } from '@wordpress/element';
* Internal dependencies
*/
import TemplateTitle from '../template-title';
import { store as editPostStore } from '../../../store';

function HeaderToolbar() {
const inserterButton = useRef();
const { setIsInserterOpened } = useDispatch( 'core/edit-post' );
const { setIsInserterOpened } = useDispatch( editPostStore );
const {
hasFixedToolbar,
isInserterEnabled,
Expand All @@ -54,28 +55,28 @@ function HeaderToolbar() {
getBlockSelectionEnd,
} = select( 'core/block-editor' );
return {
hasFixedToolbar: select( 'core/edit-post' ).isFeatureActive(
hasFixedToolbar: select( editPostStore ).isFeatureActive(
'fixedToolbar'
),
// This setting (richEditingEnabled) should not live in the block editor's setting.
isInserterEnabled:
select( 'core/edit-post' ).getEditorMode() === 'visual' &&
select( editPostStore ).getEditorMode() === 'visual' &&
select( 'core/editor' ).getEditorSettings()
.richEditingEnabled &&
hasInserterItems(
getBlockRootClientId( getBlockSelectionEnd() )
),
isInserterOpened: select( 'core/edit-post' ).isInserterOpened(),
isInserterOpened: select( editPostStore ).isInserterOpened(),
isTextModeEnabled:
select( 'core/edit-post' ).getEditorMode() === 'text',
select( editPostStore ).getEditorMode() === 'text',
previewDeviceType: select(
'core/edit-post'
editPostStore
).__experimentalGetPreviewDeviceType(),
showIconLabels: select( 'core/edit-post' ).isFeatureActive(
showIconLabels: select( editPostStore ).isFeatureActive(
'showIconLabels'
),
isNavigationTool: select( 'core/block-editor' ).isNavigationMode(),
isTemplateMode: select( 'core/edit-post' ).isEditingTemplate(),
isTemplateMode: select( editPostStore ).isEditingTemplate(),
};
}, [] );
const isLargeViewport = useViewportMatch( 'medium' );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
* Internal dependencies
*/
import styles from './style.scss';
import { store as editPostStore } from '../../../store';

function HeaderToolbar( {
hasRedo,
Expand Down Expand Up @@ -110,10 +111,9 @@ export default compose( [
hasUndo: select( 'core/editor' ).hasEditorUndo(),
// This setting (richEditingEnabled) should not live in the block editor's setting.
showInserter:
select( 'core/edit-post' ).getEditorMode() === 'visual' &&
select( editPostStore ).getEditorMode() === 'visual' &&
select( 'core/editor' ).getEditorSettings().richEditingEnabled,
isTextModeEnabled:
select( 'core/edit-post' ).getEditorMode() === 'text',
isTextModeEnabled: select( editPostStore ).getEditorMode() === 'text',
isRTL: select( 'core/block-editor' ).getSettings().isRTL,
} ) ),
withDispatch( ( dispatch ) => {
Expand Down
13 changes: 7 additions & 6 deletions packages/edit-post/src/components/header/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import PostPublishButtonOrToggle from './post-publish-button-or-toggle';
import { default as DevicePreview } from '../device-preview';
import MainDashboardButton from './main-dashboard-button';
import TemplateSaveButton from './template-save-button';
import { store as editPostStore } from '../../store';

function Header( { setEntitiesSavedStatesCallback } ) {
const {
Expand All @@ -32,18 +33,18 @@ function Header( { setEntitiesSavedStatesCallback } ) {
isEditingTemplate,
} = useSelect(
( select ) => ( {
hasActiveMetaboxes: select( 'core/edit-post' ).hasMetaBoxes(),
hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
isPublishSidebarOpened: select(
'core/edit-post'
editPostStore
).isPublishSidebarOpened(),
isSaving: select( 'core/edit-post' ).isSavingMetaBoxes(),
showIconLabels: select( 'core/edit-post' ).isFeatureActive(
isSaving: select( editPostStore ).isSavingMetaBoxes(),
showIconLabels: select( editPostStore ).isFeatureActive(
'showIconLabels'
),
hasReducedUI: select( 'core/edit-post' ).isFeatureActive(
hasReducedUI: select( editPostStore ).isFeatureActive(
'reducedUI'
),
isEditingTemplate: select( 'core/edit-post' ).isEditingTemplate(),
isEditingTemplate: select( editPostStore ).isEditingTemplate(),
} ),
[]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ import { MenuItemsChoice, MenuGroup } from '@wordpress/components';
import { useSelect, useDispatch } from '@wordpress/data';
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';

/**
* Internal dependencies
*/
import { store as editPostStore } from '../../../store';

/**
* Set of available mode options.
*
Expand Down Expand Up @@ -37,11 +42,11 @@ function ModeSwitcher() {
.richEditingEnabled,
isCodeEditingEnabled: select( 'core/editor' ).getEditorSettings()
.codeEditingEnabled,
mode: select( 'core/edit-post' ).getEditorMode(),
mode: select( editPostStore ).getEditorMode(),
} ),
[]
);
const { switchEditorMode } = useDispatch( 'core/edit-post' );
const { switchEditorMode } = useDispatch( editPostStore );

if ( ! isRichEditingEnabled || ! isCodeEditingEnabled ) {
return null;
Expand Down
Loading