@wordpress/block-editor 15.13.2-next.v.202602271551.0 → 15.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-bindings/attribute-control.cjs +5 -2
- package/build/components/block-bindings/attribute-control.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +5 -4
- package/build/components/block-inspector/edit-contents.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs +6 -2
- package/build/components/block-list/block-html.cjs.map +2 -2
- package/build/components/block-list/block.cjs +9 -1
- package/build/components/block-list/block.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +10 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-quick-navigation/index.cjs +1 -6
- package/build/components/block-quick-navigation/index.cjs.map +3 -3
- package/build/components/block-settings-menu/block-settings-dropdown.cjs +4 -47
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
- package/build/components/block-settings-menu-controls/index.cjs +1 -0
- package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
- package/build/components/block-styles/index.cjs +7 -1
- package/build/components/block-styles/index.cjs.map +3 -3
- package/build/components/block-styles/menu-items.cjs +16 -10
- package/build/components/block-styles/menu-items.cjs.map +3 -3
- package/build/components/block-switcher/block-styles-menu.cjs +2 -50
- package/build/components/block-switcher/block-styles-menu.cjs.map +3 -3
- package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs +8 -4
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +4 -3
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +11 -5
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-visibility/modal.cjs +2 -2
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +4 -3
- package/build/components/block-visibility/use-block-visibility.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +6 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/grid/grid-visualizer.cjs +0 -3
- package/build/components/grid/grid-visualizer.cjs.map +2 -2
- package/build/components/iframe/index.cjs +1 -3
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +0 -1
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs +8 -4
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/link-picker/link-preview.cjs +2 -1
- package/build/components/link-picker/link-preview.cjs.map +3 -3
- package/build/components/list-view/block.cjs +1 -2
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/provider/index.cjs +23 -7
- package/build/components/provider/index.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs +1 -0
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/writing-flow/use-arrow-nav.cjs +1 -1
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/hooks/auto-inspector-controls.cjs +26 -2
- package/build/hooks/auto-inspector-controls.cjs.map +3 -3
- package/build/hooks/cross-origin-isolation.cjs +9 -75
- package/build/hooks/cross-origin-isolation.cjs.map +2 -2
- package/build/hooks/custom-css.cjs +26 -0
- package/build/hooks/custom-css.cjs.map +3 -3
- package/build/private-apis.cjs +1 -0
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs +0 -8
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -0
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +4 -3
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +65 -59
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +16 -14
- package/build/store/selectors.cjs.map +2 -2
- package/build-module/components/block-bindings/attribute-control.mjs +5 -2
- package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +5 -4
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs +7 -3
- package/build-module/components/block-list/block-html.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +10 -2
- package/build-module/components/block-list/block.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +11 -2
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-quick-navigation/index.mjs +1 -6
- package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +5 -48
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
- package/build-module/components/block-settings-menu-controls/index.mjs +1 -0
- package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
- package/build-module/components/block-styles/index.mjs +7 -1
- package/build-module/components/block-styles/index.mjs.map +2 -2
- package/build-module/components/block-styles/menu-items.mjs +6 -10
- package/build-module/components/block-styles/menu-items.mjs.map +2 -2
- package/build-module/components/block-switcher/block-styles-menu.mjs +3 -51
- package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs +8 -4
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +4 -3
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +11 -5
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs +2 -2
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +4 -3
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +6 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/grid/grid-visualizer.mjs +0 -3
- package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +2 -9
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +0 -1
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs +8 -4
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/link-picker/link-preview.mjs +2 -1
- package/build-module/components/link-picker/link-preview.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +1 -2
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +23 -7
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs +1 -0
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/hooks/auto-inspector-controls.mjs +28 -4
- package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
- package/build-module/hooks/cross-origin-isolation.mjs +9 -75
- package/build-module/hooks/cross-origin-isolation.mjs.map +2 -2
- package/build-module/hooks/custom-css.mjs +28 -2
- package/build-module/hooks/custom-css.mjs.map +2 -2
- package/build-module/private-apis.mjs +3 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +0 -8
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -0
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +4 -3
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +65 -58
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +16 -14
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-style/content-rtl.css +25 -1
- package/build-style/content.css +25 -2
- package/build-style/style-rtl.css +3 -0
- package/build-style/style.css +3 -0
- package/package.json +39 -39
- package/src/components/block-bindings/attribute-control.js +8 -3
- package/src/components/block-inspector/edit-contents.js +5 -3
- package/src/components/block-list/block-html.js +13 -3
- package/src/components/block-list/block.js +10 -1
- package/src/components/block-list/content.scss +35 -4
- package/src/components/block-list/use-block-props/index.js +11 -1
- package/src/components/block-quick-navigation/index.js +1 -6
- package/src/components/block-settings-menu/block-settings-dropdown.js +2 -46
- package/src/components/block-settings-menu-controls/index.js +1 -0
- package/src/components/block-styles/index.js +7 -1
- package/src/components/block-styles/menu-items.js +11 -10
- package/src/components/block-switcher/block-styles-menu.js +1 -47
- package/src/components/block-toolbar/block-toolbar-icon.js +6 -1
- package/src/components/block-toolbar/index.js +7 -2
- package/src/components/block-tools/index.js +11 -4
- package/src/components/block-tools/style.scss +5 -0
- package/src/components/block-variation-transforms/index.js +41 -36
- package/src/components/block-visibility/use-block-visibility.js +4 -2
- package/src/components/block-visibility/viewport-visibility-info.js +8 -1
- package/src/components/dimensions-tool/scale-tool.js +2 -2
- package/src/components/grid/grid-visualizer.js +0 -3
- package/src/components/iframe/index.js +2 -12
- package/src/components/iframe/use-scale-canvas.js +0 -1
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +9 -5
- package/src/components/link-picker/link-preview.js +2 -1
- package/src/components/list-view/block.js +0 -5
- package/src/components/provider/index.js +49 -6
- package/src/components/provider/use-media-upload-settings.js +1 -0
- package/src/components/writing-flow/use-arrow-nav.js +9 -2
- package/src/hooks/auto-inspector-controls.js +31 -4
- package/src/hooks/cross-origin-isolation.js +10 -109
- package/src/hooks/custom-css.js +36 -2
- package/src/hooks/test/cross-origin-isolation.js +15 -42
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +0 -8
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +6 -3
- package/src/store/reducer.js +96 -77
- package/src/store/selectors.js +59 -22
- package/src/store/test/private-selectors.js +67 -34
- package/src/store/test/reducer.js +436 -57
- package/src/store/test/selectors.js +611 -53
package/src/store/selectors.js
CHANGED
|
@@ -1705,9 +1705,21 @@ const canInsertBlockTypeUnmemoized = (
|
|
|
1705
1705
|
}
|
|
1706
1706
|
|
|
1707
1707
|
const blockEditingMode = getBlockEditingMode( state, rootClientId ?? '' );
|
|
1708
|
+
|
|
1709
|
+
// Compute section context early so the disabled check below can use it.
|
|
1710
|
+
const isParentSectionBlock = !! isSectionBlock( state, rootClientId );
|
|
1711
|
+
const sectionClientId = isParentSectionBlock
|
|
1712
|
+
? rootClientId
|
|
1713
|
+
: getParentSectionBlock( state, rootClientId );
|
|
1714
|
+
const isWithinSection = !! sectionClientId;
|
|
1715
|
+
|
|
1716
|
+
// Disabled containers reject all blocks, with one exception: within a
|
|
1717
|
+
// section, the default block (paragraph) is allowed through so it can
|
|
1718
|
+
// reach the content-insertion logic further down (lines 1748-1772)
|
|
1719
|
+
// which conditionally permits it where a sibling paragraph exists.
|
|
1708
1720
|
if (
|
|
1709
1721
|
blockEditingMode === 'disabled' &&
|
|
1710
|
-
blockName !== getDefaultBlockName()
|
|
1722
|
+
( ! isWithinSection || blockName !== getDefaultBlockName() )
|
|
1711
1723
|
) {
|
|
1712
1724
|
return false;
|
|
1713
1725
|
}
|
|
@@ -1723,11 +1735,6 @@ const canInsertBlockTypeUnmemoized = (
|
|
|
1723
1735
|
// It shouldn't be possible to insert inside a section block unless in
|
|
1724
1736
|
// some cases when the block is a content block.
|
|
1725
1737
|
const isContentRoleBlock = isContentBlock( blockName );
|
|
1726
|
-
const isParentSectionBlock = !! isSectionBlock( state, rootClientId );
|
|
1727
|
-
const sectionClientId = isParentSectionBlock
|
|
1728
|
-
? rootClientId
|
|
1729
|
-
: getParentSectionBlock( state, rootClientId );
|
|
1730
|
-
const isWithinSection = !! sectionClientId;
|
|
1731
1738
|
if ( isWithinSection && ! isContentRoleBlock ) {
|
|
1732
1739
|
return false;
|
|
1733
1740
|
}
|
|
@@ -1740,22 +1747,40 @@ const canInsertBlockTypeUnmemoized = (
|
|
|
1740
1747
|
return false;
|
|
1741
1748
|
}
|
|
1742
1749
|
|
|
1743
|
-
|
|
1750
|
+
/*
|
|
1751
|
+
* In content only mode, check if this container allows insertion.
|
|
1752
|
+
* We need the `isParentSectionBlock` check because section blocks
|
|
1753
|
+
* (synced patterns, contentOnly groups) have a `getBlockEditingMode`
|
|
1754
|
+
* of 'default', not 'contentOnly' — the 'contentOnly' mode is only
|
|
1755
|
+
* set on their *children*.
|
|
1756
|
+
*
|
|
1757
|
+
* Also include `disabled` alongside `contentOnly`: structural inner blocks
|
|
1758
|
+
* (e.g. Column) inside a content-only section use `disabled` mode, and they
|
|
1759
|
+
* need the same default-block sibling rules so insertion stays aligned with
|
|
1760
|
+
* `canRemoveBlock`.
|
|
1761
|
+
*/
|
|
1744
1762
|
if (
|
|
1745
|
-
|
|
1763
|
+
isWithinSection &&
|
|
1764
|
+
( isParentSectionBlock ||
|
|
1765
|
+
blockEditingMode === 'contentOnly' ||
|
|
1766
|
+
blockEditingMode === 'disabled' ) &&
|
|
1746
1767
|
! isContainerInsertableToInContentOnlyMode(
|
|
1747
1768
|
state,
|
|
1748
1769
|
blockName,
|
|
1749
1770
|
rootClientId
|
|
1750
1771
|
)
|
|
1751
1772
|
) {
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1773
|
+
const defaultBlockName = getDefaultBlockName();
|
|
1774
|
+
/*
|
|
1775
|
+
* Allow inserting the default block anywhere that another default block already exists
|
|
1776
|
+
* when in contentOnly mode. The same sibling rule applies when the parent is `disabled`
|
|
1777
|
+
* within a content-only section (see the condition above).
|
|
1778
|
+
*/
|
|
1779
|
+
if ( blockName === defaultBlockName ) {
|
|
1755
1780
|
const existingBlocks = getBlockOrder( state, rootClientId );
|
|
1756
1781
|
const hasDefaultBlock = existingBlocks.some(
|
|
1757
1782
|
( clientId ) =>
|
|
1758
|
-
getBlockName( state, clientId ) ===
|
|
1783
|
+
getBlockName( state, clientId ) === defaultBlockName
|
|
1759
1784
|
);
|
|
1760
1785
|
if ( ! hasDefaultBlock ) {
|
|
1761
1786
|
return false;
|
|
@@ -1938,11 +1963,18 @@ export function canRemoveBlock( state, clientId ) {
|
|
|
1938
1963
|
|
|
1939
1964
|
const rootBlockEditingMode = getBlockEditingMode( state, rootClientId );
|
|
1940
1965
|
const blockName = getBlockName( state, clientId );
|
|
1941
|
-
|
|
1966
|
+
const defaultBlockName = getDefaultBlockName();
|
|
1967
|
+
|
|
1968
|
+
// Check if the parent container allows insertion/removal in contentOnly
|
|
1969
|
+
// mode. We need the `isParentSectionBlock` check because section blocks
|
|
1970
|
+
// (synced patterns, contentOnly groups) have a `getBlockEditingMode` of
|
|
1971
|
+
// 'default', not 'contentOnly' — the 'contentOnly' mode is only set on
|
|
1972
|
+
// their *children*.
|
|
1942
1973
|
if (
|
|
1974
|
+
isWithinSection &&
|
|
1943
1975
|
( isParentSectionBlock ||
|
|
1944
|
-
|
|
1945
|
-
|
|
1976
|
+
blockName === defaultBlockName ||
|
|
1977
|
+
rootBlockEditingMode === 'contentOnly' ) &&
|
|
1946
1978
|
! isContainerInsertableToInContentOnlyMode(
|
|
1947
1979
|
state,
|
|
1948
1980
|
getBlockName( state, clientId ),
|
|
@@ -1951,18 +1983,18 @@ export function canRemoveBlock( state, clientId ) {
|
|
|
1951
1983
|
) {
|
|
1952
1984
|
// Allow removing the default block when other default blocks exist
|
|
1953
1985
|
// in contentOnly mode.
|
|
1954
|
-
if ( blockName ===
|
|
1986
|
+
if ( blockName === defaultBlockName ) {
|
|
1955
1987
|
const existingBlocks = getBlockOrder( state, rootClientId );
|
|
1956
1988
|
const defaultBlocks = existingBlocks.filter(
|
|
1957
|
-
( id ) => getBlockName( state, id ) ===
|
|
1989
|
+
( id ) => getBlockName( state, id ) === defaultBlockName
|
|
1958
1990
|
);
|
|
1959
1991
|
// Allow removal if there are other default blocks besides this one
|
|
1960
1992
|
if ( defaultBlocks.length > 1 ) {
|
|
1961
1993
|
return true;
|
|
1962
1994
|
}
|
|
1963
|
-
} else {
|
|
1964
1995
|
return false;
|
|
1965
1996
|
}
|
|
1997
|
+
return false;
|
|
1966
1998
|
}
|
|
1967
1999
|
|
|
1968
2000
|
return rootBlockEditingMode !== 'disabled';
|
|
@@ -2016,11 +2048,16 @@ export function canMoveBlock( state, clientId ) {
|
|
|
2016
2048
|
return false;
|
|
2017
2049
|
}
|
|
2018
2050
|
|
|
2019
|
-
// If the
|
|
2020
|
-
//
|
|
2051
|
+
// If the block is within a section and the parent is either a section
|
|
2052
|
+
// block itself or has contentOnly editing mode, check whether the inner
|
|
2053
|
+
// block should be allowed to move. We need the `isParentSectionBlock`
|
|
2054
|
+
// check because section blocks (synced patterns, contentOnly groups)
|
|
2055
|
+
// have a `getBlockEditingMode` of 'default', not 'contentOnly' — the
|
|
2056
|
+
// 'contentOnly' mode is only set on their *children*.
|
|
2021
2057
|
const isParentSectionBlock = !! isSectionBlock( state, rootClientId );
|
|
2022
2058
|
const rootBlockEditingMode = getBlockEditingMode( state, rootClientId );
|
|
2023
2059
|
if (
|
|
2060
|
+
isBlockWithinSection &&
|
|
2024
2061
|
( isParentSectionBlock || rootBlockEditingMode === 'contentOnly' ) &&
|
|
2025
2062
|
! isContainerInsertableToInContentOnlyMode(
|
|
2026
2063
|
state,
|
|
@@ -3217,8 +3254,8 @@ export function getBlockEditingMode( state, clientId = '' ) {
|
|
|
3217
3254
|
}
|
|
3218
3255
|
|
|
3219
3256
|
// In normal mode, consider that an explicitly set editing mode takes over.
|
|
3220
|
-
if ( state.blockEditingModes.has( clientId ) ) {
|
|
3221
|
-
return state.blockEditingModes.get( clientId );
|
|
3257
|
+
if ( state.blocks.blockEditingModes.has( clientId ) ) {
|
|
3258
|
+
return state.blocks.blockEditingModes.get( clientId );
|
|
3222
3259
|
}
|
|
3223
3260
|
|
|
3224
3261
|
return 'default';
|
|
@@ -131,12 +131,12 @@ describe( 'private selectors', () => {
|
|
|
131
131
|
'9b9c5c3f-2e46-4f02-9e14-9fe9515b958f',
|
|
132
132
|
],
|
|
133
133
|
] ),
|
|
134
|
+
blockEditingModes: new Map( [] ),
|
|
134
135
|
},
|
|
135
136
|
blockListSettings: {
|
|
136
137
|
'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337': {},
|
|
137
138
|
'9b9c5c3f-2e46-4f02-9e14-9fe9515b958f': {},
|
|
138
139
|
},
|
|
139
|
-
blockEditingModes: new Map( [] ),
|
|
140
140
|
derivedBlockEditingModes: new Map( [] ),
|
|
141
141
|
};
|
|
142
142
|
|
|
@@ -152,7 +152,10 @@ describe( 'private selectors', () => {
|
|
|
152
152
|
it( 'should return false when top level block is not disabled', () => {
|
|
153
153
|
const state = {
|
|
154
154
|
...baseState,
|
|
155
|
-
|
|
155
|
+
blocks: {
|
|
156
|
+
...baseState.blocks,
|
|
157
|
+
blockEditingModes: new Map( [] ),
|
|
158
|
+
},
|
|
156
159
|
derivedBlockEditingModes: new Map( [] ),
|
|
157
160
|
};
|
|
158
161
|
expect(
|
|
@@ -166,9 +169,12 @@ describe( 'private selectors', () => {
|
|
|
166
169
|
it( 'should return true when top level block is disabled and there are no editing modes within it', () => {
|
|
167
170
|
const state = {
|
|
168
171
|
...baseState,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
+
blocks: {
|
|
173
|
+
...baseState.blocks,
|
|
174
|
+
blockEditingModes: new Map( [
|
|
175
|
+
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
176
|
+
] ),
|
|
177
|
+
},
|
|
172
178
|
derivedBlockEditingModes: new Map( [
|
|
173
179
|
[ 'b26fc763-417d-4f01-b81c-2ec61e14a972', 'disabled' ],
|
|
174
180
|
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'disabled' ],
|
|
@@ -187,7 +193,10 @@ describe( 'private selectors', () => {
|
|
|
187
193
|
it( 'should return true when top level block is disabled via inheritance and there are no editing modes within it', () => {
|
|
188
194
|
const state = {
|
|
189
195
|
...baseState,
|
|
190
|
-
|
|
196
|
+
blocks: {
|
|
197
|
+
...baseState.blocks,
|
|
198
|
+
blockEditingModes: new Map( [ [ '', 'disabled' ] ] ),
|
|
199
|
+
},
|
|
191
200
|
derivedBlockEditingModes: new Map( [
|
|
192
201
|
[ '6cf70164-9097-4460-bcbf-200560546988', 'disabled' ],
|
|
193
202
|
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
@@ -208,10 +217,13 @@ describe( 'private selectors', () => {
|
|
|
208
217
|
it( 'should return true when top level block is disabled and there are disabled editing modes within it', () => {
|
|
209
218
|
const state = {
|
|
210
219
|
...baseState,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
220
|
+
blocks: {
|
|
221
|
+
...baseState.blocks,
|
|
222
|
+
blockEditingModes: new Map( [
|
|
223
|
+
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
224
|
+
[ 'b3247f75-fd94-4fef-97f9-5bfd162cc416', 'disabled' ],
|
|
225
|
+
] ),
|
|
226
|
+
},
|
|
215
227
|
derivedBlockEditingModes: new Map( [
|
|
216
228
|
[ 'b26fc763-417d-4f01-b81c-2ec61e14a972', 'disabled' ],
|
|
217
229
|
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'disabled' ],
|
|
@@ -229,10 +241,13 @@ describe( 'private selectors', () => {
|
|
|
229
241
|
it( 'should return false when top level block is disabled and there are non-disabled editing modes within it', () => {
|
|
230
242
|
const state = {
|
|
231
243
|
...baseState,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
244
|
+
blocks: {
|
|
245
|
+
...baseState.blocks,
|
|
246
|
+
blockEditingModes: new Map( [
|
|
247
|
+
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
248
|
+
[ 'b3247f75-fd94-4fef-97f9-5bfd162cc416', 'default' ],
|
|
249
|
+
] ),
|
|
250
|
+
},
|
|
236
251
|
derivedBlockEditingModes: new Map( [
|
|
237
252
|
[ 'b26fc763-417d-4f01-b81c-2ec61e14a972', 'disabled' ],
|
|
238
253
|
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'disabled' ],
|
|
@@ -250,10 +265,13 @@ describe( 'private selectors', () => {
|
|
|
250
265
|
it( 'should return false when top level block is disabled via inheritance and there are non-disabled editing modes within it', () => {
|
|
251
266
|
const state = {
|
|
252
267
|
...baseState,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
268
|
+
blocks: {
|
|
269
|
+
...baseState.blocks,
|
|
270
|
+
blockEditingModes: new Map( [
|
|
271
|
+
[ '', 'disabled' ],
|
|
272
|
+
[ 'b3247f75-fd94-4fef-97f9-5bfd162cc416', 'default' ],
|
|
273
|
+
] ),
|
|
274
|
+
},
|
|
257
275
|
derivedBlockEditingModes: new Map( [
|
|
258
276
|
[ '6cf70164-9097-4460-bcbf-200560546988', 'disabled' ],
|
|
259
277
|
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
@@ -343,7 +361,10 @@ describe( 'private selectors', () => {
|
|
|
343
361
|
it( 'should return tree containing only clientId and innerBlocks', () => {
|
|
344
362
|
const state = {
|
|
345
363
|
...baseState,
|
|
346
|
-
|
|
364
|
+
blocks: {
|
|
365
|
+
...baseState.blocks,
|
|
366
|
+
blockEditingModes: new Map( [] ),
|
|
367
|
+
},
|
|
347
368
|
derivedBlockEditingModes: new Map( [] ),
|
|
348
369
|
};
|
|
349
370
|
expect( getEnabledClientIdsTree( state ) ).toEqual( [
|
|
@@ -381,7 +402,10 @@ describe( 'private selectors', () => {
|
|
|
381
402
|
it( 'should return a subtree when rootBlockClientId is given', () => {
|
|
382
403
|
const state = {
|
|
383
404
|
...baseState,
|
|
384
|
-
|
|
405
|
+
blocks: {
|
|
406
|
+
...baseState.blocks,
|
|
407
|
+
blockEditingModes: new Map( [] ),
|
|
408
|
+
},
|
|
385
409
|
derivedBlockEditingModes: new Map( [] ),
|
|
386
410
|
};
|
|
387
411
|
expect(
|
|
@@ -413,11 +437,20 @@ describe( 'private selectors', () => {
|
|
|
413
437
|
it( 'should filter out disabled blocks', () => {
|
|
414
438
|
const state = {
|
|
415
439
|
...baseState,
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
440
|
+
blocks: {
|
|
441
|
+
...baseState.blocks,
|
|
442
|
+
blockEditingModes: new Map( [
|
|
443
|
+
[ '', 'disabled' ],
|
|
444
|
+
[
|
|
445
|
+
'b26fc763-417d-4f01-b81c-2ec61e14a972',
|
|
446
|
+
'contentOnly',
|
|
447
|
+
],
|
|
448
|
+
[
|
|
449
|
+
'9b9c5c3f-2e46-4f02-9e14-9fe9515b958f',
|
|
450
|
+
'contentOnly',
|
|
451
|
+
],
|
|
452
|
+
] ),
|
|
453
|
+
},
|
|
421
454
|
derivedBlockEditingModes: new Map( [
|
|
422
455
|
[ '6cf70164-9097-4460-bcbf-200560546988', 'disabled' ],
|
|
423
456
|
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
@@ -457,8 +490,8 @@ describe( 'private selectors', () => {
|
|
|
457
490
|
[ '6cf70164-9097-4460-bcbf-200560546988', [] ],
|
|
458
491
|
[ '', [ '6cf70164-9097-4460-bcbf-200560546988' ] ],
|
|
459
492
|
] ),
|
|
493
|
+
blockEditingModes: new Map(),
|
|
460
494
|
},
|
|
461
|
-
blockEditingModes: new Map(),
|
|
462
495
|
derivedBlockEditingModes: new Map(),
|
|
463
496
|
};
|
|
464
497
|
expect(
|
|
@@ -503,11 +536,11 @@ describe( 'private selectors', () => {
|
|
|
503
536
|
[ '4c2b7140-fffd-44b4-b2a7-820c670a6514' ],
|
|
504
537
|
],
|
|
505
538
|
] ),
|
|
539
|
+
blockEditingModes: new Map( [
|
|
540
|
+
[ '', 'disabled' ],
|
|
541
|
+
[ 'e178812d-ce5e-48c7-a945-8ae4ffcbbb7c', 'default' ],
|
|
542
|
+
] ),
|
|
506
543
|
},
|
|
507
|
-
blockEditingModes: new Map( [
|
|
508
|
-
[ '', 'disabled' ],
|
|
509
|
-
[ 'e178812d-ce5e-48c7-a945-8ae4ffcbbb7c', 'default' ],
|
|
510
|
-
] ),
|
|
511
544
|
derivedBlockEditingModes: new Map( [
|
|
512
545
|
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
513
546
|
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'disabled' ],
|
|
@@ -556,11 +589,11 @@ describe( 'private selectors', () => {
|
|
|
556
589
|
[ '4c2b7140-fffd-44b4-b2a7-820c670a6514' ],
|
|
557
590
|
],
|
|
558
591
|
] ),
|
|
592
|
+
blockEditingModes: new Map( [
|
|
593
|
+
[ '', 'disabled' ],
|
|
594
|
+
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'default' ],
|
|
595
|
+
] ),
|
|
559
596
|
},
|
|
560
|
-
blockEditingModes: new Map( [
|
|
561
|
-
[ '', 'disabled' ],
|
|
562
|
-
[ '9b9c5c3f-2e46-4f02-9e14-9fe9515b958f', 'default' ],
|
|
563
|
-
] ),
|
|
564
597
|
derivedBlockEditingModes: new Map( [
|
|
565
598
|
[ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', 'disabled' ],
|
|
566
599
|
] ),
|