@wordpress/edit-post 7.28.2 → 7.29.0
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/CHANGELOG.md +2 -0
- package/build/components/editor-initialization/listener-hooks.js +14 -6
- package/build/components/editor-initialization/listener-hooks.js.map +1 -1
- package/build/components/header/index.js +1 -1
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/more-menu/index.js +6 -2
- package/build/components/header/more-menu/index.js.map +1 -1
- package/build/components/header/writing-menu/index.js +2 -6
- package/build/components/header/writing-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -38
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +3 -4
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/index.native.js +2 -5
- package/build/components/layout/index.native.js.map +1 -1
- package/build/components/text-editor/index.js +1 -1
- package/build/components/text-editor/index.js.map +1 -1
- package/build/editor.js +2 -16
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +2 -3
- package/build/editor.native.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +2 -135
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/index.js +3 -31
- package/build/index.js.map +1 -1
- package/build/index.native.js +0 -1
- package/build/index.native.js.map +1 -1
- package/build/store/actions.js +24 -77
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +0 -12
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/editor-initialization/listener-hooks.js +14 -6
- package/build-module/components/editor-initialization/listener-hooks.js.map +1 -1
- package/build-module/components/header/index.js +1 -1
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/more-menu/index.js +5 -1
- package/build-module/components/header/more-menu/index.js.map +1 -1
- package/build-module/components/header/writing-menu/index.js +2 -6
- package/build-module/components/header/writing-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -38
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +4 -5
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/index.native.js +2 -5
- package/build-module/components/layout/index.native.js.map +1 -1
- package/build-module/components/text-editor/index.js +1 -1
- package/build-module/components/text-editor/index.js.map +1 -1
- package/build-module/editor.js +3 -17
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +3 -4
- package/build-module/editor.native.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +3 -136
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/index.js +3 -31
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +0 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/store/actions.js +23 -75
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +0 -12
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +6 -6
- package/build-style/style.css +6 -6
- package/package.json +32 -32
- package/src/components/editor-initialization/listener-hooks.js +16 -9
- package/src/components/editor-initialization/test/listener-hooks.js +40 -0
- package/src/components/header/index.js +1 -1
- package/src/components/header/more-menu/index.js +4 -1
- package/src/components/header/writing-menu/index.js +2 -6
- package/src/components/keyboard-shortcuts/index.js +3 -50
- package/src/components/layout/index.js +4 -5
- package/src/components/layout/index.native.js +1 -3
- package/src/components/text-editor/index.js +1 -1
- package/src/editor.js +31 -53
- package/src/editor.native.js +3 -4
- package/src/hooks/commands/use-common-commands.js +17 -170
- package/src/index.js +3 -44
- package/src/index.native.js +0 -1
- package/src/store/actions.js +24 -126
- package/src/store/selectors.js +0 -18
- package/src/store/test/actions.js +0 -146
- package/src/style.scss +1 -2
- package/build/components/header/mode-switcher/index.js +0 -87
- package/build/components/header/mode-switcher/index.js.map +0 -1
- package/build-module/components/header/mode-switcher/index.js +0 -81
- package/build-module/components/header/mode-switcher/index.js.map +0 -1
- package/src/components/header/mode-switcher/index.js +0 -91
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-post",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.29.0",
|
|
4
4
|
"description": "Edit Post module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -27,36 +27,36 @@
|
|
|
27
27
|
"react-native": "src/index",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
|
-
"@wordpress/a11y": "^3.
|
|
31
|
-
"@wordpress/api-fetch": "^6.
|
|
32
|
-
"@wordpress/block-editor": "^12.
|
|
33
|
-
"@wordpress/block-library": "^8.
|
|
34
|
-
"@wordpress/blocks": "^12.
|
|
35
|
-
"@wordpress/commands": "^0.
|
|
36
|
-
"@wordpress/components": "^
|
|
37
|
-
"@wordpress/compose": "^6.
|
|
38
|
-
"@wordpress/core-commands": "^0.
|
|
39
|
-
"@wordpress/core-data": "^6.
|
|
40
|
-
"@wordpress/data": "^9.
|
|
41
|
-
"@wordpress/deprecated": "^3.
|
|
42
|
-
"@wordpress/dom": "^3.
|
|
43
|
-
"@wordpress/editor": "^13.
|
|
44
|
-
"@wordpress/element": "^5.
|
|
45
|
-
"@wordpress/hooks": "^3.
|
|
46
|
-
"@wordpress/i18n": "^4.
|
|
47
|
-
"@wordpress/icons": "^9.
|
|
48
|
-
"@wordpress/interface": "^5.
|
|
49
|
-
"@wordpress/keyboard-shortcuts": "^4.
|
|
50
|
-
"@wordpress/keycodes": "^3.
|
|
51
|
-
"@wordpress/media-utils": "^4.
|
|
52
|
-
"@wordpress/notices": "^4.
|
|
53
|
-
"@wordpress/plugins": "^6.
|
|
54
|
-
"@wordpress/preferences": "^3.
|
|
55
|
-
"@wordpress/private-apis": "^0.
|
|
56
|
-
"@wordpress/url": "^3.
|
|
57
|
-
"@wordpress/viewport": "^5.
|
|
58
|
-
"@wordpress/warning": "^2.
|
|
59
|
-
"@wordpress/widgets": "^3.
|
|
30
|
+
"@wordpress/a11y": "^3.52.0",
|
|
31
|
+
"@wordpress/api-fetch": "^6.49.0",
|
|
32
|
+
"@wordpress/block-editor": "^12.20.0",
|
|
33
|
+
"@wordpress/block-library": "^8.29.0",
|
|
34
|
+
"@wordpress/blocks": "^12.29.0",
|
|
35
|
+
"@wordpress/commands": "^0.23.0",
|
|
36
|
+
"@wordpress/components": "^27.0.0",
|
|
37
|
+
"@wordpress/compose": "^6.29.0",
|
|
38
|
+
"@wordpress/core-commands": "^0.21.0",
|
|
39
|
+
"@wordpress/core-data": "^6.29.0",
|
|
40
|
+
"@wordpress/data": "^9.22.0",
|
|
41
|
+
"@wordpress/deprecated": "^3.52.0",
|
|
42
|
+
"@wordpress/dom": "^3.52.0",
|
|
43
|
+
"@wordpress/editor": "^13.29.0",
|
|
44
|
+
"@wordpress/element": "^5.29.0",
|
|
45
|
+
"@wordpress/hooks": "^3.52.0",
|
|
46
|
+
"@wordpress/i18n": "^4.52.0",
|
|
47
|
+
"@wordpress/icons": "^9.43.0",
|
|
48
|
+
"@wordpress/interface": "^5.29.0",
|
|
49
|
+
"@wordpress/keyboard-shortcuts": "^4.29.0",
|
|
50
|
+
"@wordpress/keycodes": "^3.52.0",
|
|
51
|
+
"@wordpress/media-utils": "^4.43.0",
|
|
52
|
+
"@wordpress/notices": "^4.20.0",
|
|
53
|
+
"@wordpress/plugins": "^6.20.0",
|
|
54
|
+
"@wordpress/preferences": "^3.29.0",
|
|
55
|
+
"@wordpress/private-apis": "^0.34.0",
|
|
56
|
+
"@wordpress/url": "^3.53.0",
|
|
57
|
+
"@wordpress/viewport": "^5.29.0",
|
|
58
|
+
"@wordpress/warning": "^2.52.0",
|
|
59
|
+
"@wordpress/widgets": "^3.29.0",
|
|
60
60
|
"classnames": "^2.3.1",
|
|
61
61
|
"memize": "^2.1.0",
|
|
62
62
|
"rememo": "^4.0.2"
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "c139588f4c668b38bafbc5431f2f4e3903dbe683"
|
|
72
72
|
}
|
|
@@ -5,6 +5,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
|
|
|
5
5
|
import { useEffect, useRef } from '@wordpress/element';
|
|
6
6
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
7
|
import { store as editorStore } from '@wordpress/editor';
|
|
8
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
@@ -22,19 +23,25 @@ import {
|
|
|
22
23
|
* @param {number} postId The current post id.
|
|
23
24
|
*/
|
|
24
25
|
export const useBlockSelectionListener = ( postId ) => {
|
|
25
|
-
const { hasBlockSelection, isEditorSidebarOpened } =
|
|
26
|
-
(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const { hasBlockSelection, isEditorSidebarOpened, isDistractionFree } =
|
|
27
|
+
useSelect(
|
|
28
|
+
( select ) => {
|
|
29
|
+
const { get } = select( preferencesStore );
|
|
30
|
+
return {
|
|
31
|
+
hasBlockSelection:
|
|
32
|
+
!! select( blockEditorStore ).getBlockSelectionStart(),
|
|
33
|
+
isEditorSidebarOpened:
|
|
34
|
+
select( STORE_NAME ).isEditorSidebarOpened(),
|
|
35
|
+
isDistractionFree: get( 'core', 'distractionFree' ),
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
[ postId ]
|
|
39
|
+
);
|
|
33
40
|
|
|
34
41
|
const { openGeneralSidebar } = useDispatch( STORE_NAME );
|
|
35
42
|
|
|
36
43
|
useEffect( () => {
|
|
37
|
-
if ( ! isEditorSidebarOpened ) {
|
|
44
|
+
if ( ! isEditorSidebarOpened || isDistractionFree ) {
|
|
38
45
|
return;
|
|
39
46
|
}
|
|
40
47
|
if ( hasBlockSelection ) {
|
|
@@ -44,6 +44,12 @@ describe( 'listener hook tests', () => {
|
|
|
44
44
|
isViewportMatch: jest.fn(),
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
|
+
'core/preferences': {
|
|
48
|
+
...storeConfig,
|
|
49
|
+
selectors: {
|
|
50
|
+
get: jest.fn(),
|
|
51
|
+
},
|
|
52
|
+
},
|
|
47
53
|
[ STORE_NAME ]: {
|
|
48
54
|
...storeConfig,
|
|
49
55
|
actions: {
|
|
@@ -112,6 +118,7 @@ describe( 'listener hook tests', () => {
|
|
|
112
118
|
'getBlockSelectionStart',
|
|
113
119
|
true
|
|
114
120
|
);
|
|
121
|
+
setMockReturnValue( 'core/preferences', 'get', false );
|
|
115
122
|
|
|
116
123
|
render( <TestedOutput /> );
|
|
117
124
|
|
|
@@ -120,12 +127,14 @@ describe( 'listener hook tests', () => {
|
|
|
120
127
|
).toHaveBeenCalledWith( 'edit-post/block' );
|
|
121
128
|
} );
|
|
122
129
|
it( 'opens document sidebar if block is not selected', () => {
|
|
130
|
+
setMockReturnValue( STORE_NAME, 'isEditorSidebarOpened', true );
|
|
123
131
|
setMockReturnValue( STORE_NAME, 'isEditorSidebarOpened', true );
|
|
124
132
|
setMockReturnValue(
|
|
125
133
|
'core/block-editor',
|
|
126
134
|
'getBlockSelectionStart',
|
|
127
135
|
false
|
|
128
136
|
);
|
|
137
|
+
setMockReturnValue( 'core/preferences', 'get', false );
|
|
129
138
|
|
|
130
139
|
render( <TestedOutput /> );
|
|
131
140
|
|
|
@@ -133,6 +142,37 @@ describe( 'listener hook tests', () => {
|
|
|
133
142
|
getSpyedAction( STORE_NAME, 'openGeneralSidebar' )
|
|
134
143
|
).toHaveBeenCalledWith( 'edit-post/document' );
|
|
135
144
|
} );
|
|
145
|
+
it( 'does not open block sidebar if block is selected and distraction free mode is on', () => {
|
|
146
|
+
setMockReturnValue( STORE_NAME, 'isEditorSidebarOpened', true );
|
|
147
|
+
setMockReturnValue(
|
|
148
|
+
'core/block-editor',
|
|
149
|
+
'getBlockSelectionStart',
|
|
150
|
+
true
|
|
151
|
+
);
|
|
152
|
+
setMockReturnValue( 'core/preferences', 'get', true );
|
|
153
|
+
|
|
154
|
+
render( <TestedOutput /> );
|
|
155
|
+
|
|
156
|
+
expect(
|
|
157
|
+
getSpyedAction( STORE_NAME, 'openGeneralSidebar' )
|
|
158
|
+
).toHaveBeenCalledTimes( 0 );
|
|
159
|
+
} );
|
|
160
|
+
it( 'does not open document sidebar if block is not selected and distraction free is on', () => {
|
|
161
|
+
setMockReturnValue( STORE_NAME, 'isEditorSidebarOpened', true );
|
|
162
|
+
setMockReturnValue( STORE_NAME, 'isEditorSidebarOpened', true );
|
|
163
|
+
setMockReturnValue(
|
|
164
|
+
'core/block-editor',
|
|
165
|
+
'getBlockSelectionStart',
|
|
166
|
+
false
|
|
167
|
+
);
|
|
168
|
+
setMockReturnValue( 'core/preferences', 'get', true );
|
|
169
|
+
|
|
170
|
+
render( <TestedOutput /> );
|
|
171
|
+
|
|
172
|
+
expect(
|
|
173
|
+
getSpyedAction( STORE_NAME, 'openGeneralSidebar' )
|
|
174
|
+
).toHaveBeenCalledTimes( 0 );
|
|
175
|
+
} );
|
|
136
176
|
} );
|
|
137
177
|
|
|
138
178
|
describe( 'useUpdatePostLinkListener', () => {
|
|
@@ -69,7 +69,7 @@ function Header( { setEntitiesSavedStatesCallback, initialPost } ) {
|
|
|
69
69
|
hasHistory,
|
|
70
70
|
} = useSelect( ( select ) => {
|
|
71
71
|
const { get: getPreference } = select( preferencesStore );
|
|
72
|
-
const { getEditorMode } = select(
|
|
72
|
+
const { getEditorMode } = select( editorStore );
|
|
73
73
|
|
|
74
74
|
return {
|
|
75
75
|
isTextEditor: getEditorMode() === 'text',
|
|
@@ -9,14 +9,17 @@ import {
|
|
|
9
9
|
PinnedItems,
|
|
10
10
|
} from '@wordpress/interface';
|
|
11
11
|
import { useViewportMatch } from '@wordpress/compose';
|
|
12
|
+
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
15
16
|
*/
|
|
16
|
-
import ModeSwitcher from '../mode-switcher';
|
|
17
17
|
import PreferencesMenuItem from '../preferences-menu-item';
|
|
18
18
|
import ToolsMoreMenuGroup from '../tools-more-menu-group';
|
|
19
19
|
import WritingMenu from '../writing-menu';
|
|
20
|
+
import { unlock } from '../../../lock-unlock';
|
|
21
|
+
|
|
22
|
+
const { ModeSwitcher } = unlock( editorPrivateApis );
|
|
20
23
|
|
|
21
24
|
const MoreMenu = ( { showIconLabels } ) => {
|
|
22
25
|
const isLargeViewport = useViewportMatch( 'large' );
|
|
@@ -10,15 +10,11 @@ import {
|
|
|
10
10
|
PreferenceToggleMenuItem,
|
|
11
11
|
store as preferencesStore,
|
|
12
12
|
} from '@wordpress/preferences';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Internal dependencies
|
|
16
|
-
*/
|
|
17
|
-
import { store as postEditorStore } from '../../../store';
|
|
13
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
18
14
|
|
|
19
15
|
function WritingMenu() {
|
|
20
16
|
const { set: setPreference } = useDispatch( preferencesStore );
|
|
21
|
-
const { toggleDistractionFree } = useDispatch(
|
|
17
|
+
const { toggleDistractionFree } = useDispatch( editorStore );
|
|
22
18
|
|
|
23
19
|
const turnOffDistractionFree = () => {
|
|
24
20
|
setPreference( 'core', 'distractionFree', false );
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
store as keyboardShortcutsStore,
|
|
9
9
|
} from '@wordpress/keyboard-shortcuts';
|
|
10
10
|
import { __ } from '@wordpress/i18n';
|
|
11
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
12
11
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
12
|
import { createBlock } from '@wordpress/blocks';
|
|
14
13
|
|
|
@@ -18,19 +17,9 @@ import { createBlock } from '@wordpress/blocks';
|
|
|
18
17
|
import { store as editPostStore } from '../../store';
|
|
19
18
|
|
|
20
19
|
function KeyboardShortcuts() {
|
|
21
|
-
const {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
select( editorStore ).getEditorSettings();
|
|
25
|
-
return ! richEditingEnabled || ! codeEditingEnabled;
|
|
26
|
-
}, [] );
|
|
27
|
-
const {
|
|
28
|
-
switchEditorMode,
|
|
29
|
-
openGeneralSidebar,
|
|
30
|
-
closeGeneralSidebar,
|
|
31
|
-
toggleFeature,
|
|
32
|
-
toggleDistractionFree,
|
|
33
|
-
} = useDispatch( editPostStore );
|
|
20
|
+
const { isEditorSidebarOpened } = useSelect( editPostStore );
|
|
21
|
+
const { openGeneralSidebar, closeGeneralSidebar, toggleFeature } =
|
|
22
|
+
useDispatch( editPostStore );
|
|
34
23
|
const { registerShortcut } = useDispatch( keyboardShortcutsStore );
|
|
35
24
|
const { replaceBlocks } = useDispatch( blockEditorStore );
|
|
36
25
|
const {
|
|
@@ -69,26 +58,6 @@ function KeyboardShortcuts() {
|
|
|
69
58
|
};
|
|
70
59
|
|
|
71
60
|
useEffect( () => {
|
|
72
|
-
registerShortcut( {
|
|
73
|
-
name: 'core/edit-post/toggle-mode',
|
|
74
|
-
category: 'global',
|
|
75
|
-
description: __( 'Switch between visual editor and code editor.' ),
|
|
76
|
-
keyCombination: {
|
|
77
|
-
modifier: 'secondary',
|
|
78
|
-
character: 'm',
|
|
79
|
-
},
|
|
80
|
-
} );
|
|
81
|
-
|
|
82
|
-
registerShortcut( {
|
|
83
|
-
name: 'core/edit-post/toggle-distraction-free',
|
|
84
|
-
category: 'global',
|
|
85
|
-
description: __( 'Toggle distraction free mode.' ),
|
|
86
|
-
keyCombination: {
|
|
87
|
-
modifier: 'primaryShift',
|
|
88
|
-
character: '\\',
|
|
89
|
-
},
|
|
90
|
-
} );
|
|
91
|
-
|
|
92
61
|
registerShortcut( {
|
|
93
62
|
name: 'core/edit-post/toggle-fullscreen',
|
|
94
63
|
category: 'global',
|
|
@@ -178,26 +147,10 @@ function KeyboardShortcuts() {
|
|
|
178
147
|
} );
|
|
179
148
|
}, [] );
|
|
180
149
|
|
|
181
|
-
useShortcut(
|
|
182
|
-
'core/edit-post/toggle-mode',
|
|
183
|
-
() => {
|
|
184
|
-
switchEditorMode(
|
|
185
|
-
getEditorMode() === 'visual' ? 'text' : 'visual'
|
|
186
|
-
);
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
isDisabled: isModeToggleDisabled,
|
|
190
|
-
}
|
|
191
|
-
);
|
|
192
|
-
|
|
193
150
|
useShortcut( 'core/edit-post/toggle-fullscreen', () => {
|
|
194
151
|
toggleFeature( 'fullscreenMode' );
|
|
195
152
|
} );
|
|
196
153
|
|
|
197
|
-
useShortcut( 'core/edit-post/toggle-distraction-free', () => {
|
|
198
|
-
toggleDistractionFree();
|
|
199
|
-
} );
|
|
200
|
-
|
|
201
154
|
useShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {
|
|
202
155
|
// This shortcut has no known clashes, but use preventDefault to prevent any
|
|
203
156
|
// obscure shortcuts from triggering.
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
} from '@wordpress/editor';
|
|
21
21
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
22
22
|
import {
|
|
23
|
-
useBlockCommands,
|
|
24
23
|
BlockBreadcrumb,
|
|
25
24
|
BlockToolbar,
|
|
26
25
|
privateApis as blockEditorPrivateApis,
|
|
@@ -134,7 +133,6 @@ function useEditorStyles() {
|
|
|
134
133
|
function Layout( { initialPost } ) {
|
|
135
134
|
useCommands();
|
|
136
135
|
useCommonCommands();
|
|
137
|
-
useBlockCommands();
|
|
138
136
|
|
|
139
137
|
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
140
138
|
const isHugeViewport = useViewportMatch( 'huge', '>=' );
|
|
@@ -180,7 +178,7 @@ function Layout( { initialPost } ) {
|
|
|
180
178
|
select( editPostStore ).isFeatureActive( 'fullscreenMode' ),
|
|
181
179
|
isInserterOpened: select( editorStore ).isInserterOpened(),
|
|
182
180
|
isListViewOpened: select( editorStore ).isListViewOpened(),
|
|
183
|
-
mode: select(
|
|
181
|
+
mode: select( editorStore ).getEditorMode(),
|
|
184
182
|
isRichEditingEnabled: editorSettings.richEditingEnabled,
|
|
185
183
|
hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
|
|
186
184
|
previousShortcut: select(
|
|
@@ -310,7 +308,8 @@ function Layout( { initialPost } ) {
|
|
|
310
308
|
editorNotices={ <EditorNotices /> }
|
|
311
309
|
secondarySidebar={ secondarySidebar() }
|
|
312
310
|
sidebar={
|
|
313
|
-
(
|
|
311
|
+
( ( isMobileViewport && sidebarIsOpened ) ||
|
|
312
|
+
( ! isMobileViewport && ! isDistractionFree ) ) && (
|
|
314
313
|
<>
|
|
315
314
|
{ ! isMobileViewport && ! sidebarIsOpened && (
|
|
316
315
|
<div className="edit-post-layout__toggle-sidebar-panel">
|
|
@@ -385,7 +384,7 @@ function Layout( { initialPost } ) {
|
|
|
385
384
|
<PostSyncStatusModal />
|
|
386
385
|
<StartPageOptions />
|
|
387
386
|
<PluginArea onError={ onPluginAreaError } />
|
|
388
|
-
<SettingsSidebar />
|
|
387
|
+
{ ! isDistractionFree && <SettingsSidebar /> }
|
|
389
388
|
</>
|
|
390
389
|
);
|
|
391
390
|
}
|
|
@@ -36,7 +36,6 @@ import styles from './style.scss';
|
|
|
36
36
|
import headerToolbarStyles from '../header/header-toolbar/style.scss';
|
|
37
37
|
import Header from '../header';
|
|
38
38
|
import VisualEditor from '../visual-editor';
|
|
39
|
-
import { store as editPostStore } from '../../store';
|
|
40
39
|
|
|
41
40
|
class Layout extends Component {
|
|
42
41
|
constructor() {
|
|
@@ -192,9 +191,8 @@ class Layout extends Component {
|
|
|
192
191
|
|
|
193
192
|
export default compose( [
|
|
194
193
|
withSelect( ( select ) => {
|
|
195
|
-
const { __unstableIsEditorReady: isEditorReady } =
|
|
194
|
+
const { __unstableIsEditorReady: isEditorReady, getEditorMode } =
|
|
196
195
|
select( editorStore );
|
|
197
|
-
const { getEditorMode } = select( editPostStore );
|
|
198
196
|
const { getSettings } = select( blockEditorStore );
|
|
199
197
|
const globalStyles =
|
|
200
198
|
getSettings()?.__experimentalGlobalStylesBaseStyles?.color;
|
|
@@ -21,7 +21,7 @@ export default function TextEditor() {
|
|
|
21
21
|
const isRichEditingEnabled = useSelect( ( select ) => {
|
|
22
22
|
return select( editorStore ).getEditorSettings().richEditingEnabled;
|
|
23
23
|
}, [] );
|
|
24
|
-
const { switchEditorMode } = useDispatch(
|
|
24
|
+
const { switchEditorMode } = useDispatch( editorStore );
|
|
25
25
|
|
|
26
26
|
const { isWelcomeGuideVisible } = useSelect( ( select ) => {
|
|
27
27
|
const { isFeatureActive } = select( editPostStore );
|
package/src/editor.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useSelect
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
5
5
|
import {
|
|
6
6
|
ErrorBoundary,
|
|
7
7
|
PostLockedModal,
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
import { useMemo } from '@wordpress/element';
|
|
12
12
|
import { SlotFillProvider } from '@wordpress/components';
|
|
13
13
|
import { store as coreStore } from '@wordpress/core-data';
|
|
14
|
-
import { store as preferencesStore } from '@wordpress/preferences';
|
|
15
14
|
import { CommandMenu } from '@wordpress/commands';
|
|
16
15
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
17
16
|
import { __ } from '@wordpress/i18n';
|
|
@@ -49,46 +48,37 @@ function Editor( {
|
|
|
49
48
|
onNavigateToPreviousEntityRecord,
|
|
50
49
|
} = useNavigateToEntityRecord( initialPostId, initialPostType );
|
|
51
50
|
|
|
52
|
-
const {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
select( coreStore );
|
|
59
|
-
const { getEditorSettings } = select( editorStore );
|
|
51
|
+
const { post, template } = useSelect(
|
|
52
|
+
( select ) => {
|
|
53
|
+
const { getEditedPostTemplate } = select( editPostStore );
|
|
54
|
+
const { getEntityRecord, getPostType, canUser } =
|
|
55
|
+
select( coreStore );
|
|
56
|
+
const { getEditorSettings } = select( editorStore );
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
const postObject = getEntityRecord(
|
|
59
|
+
'postType',
|
|
60
|
+
currentPost.postType,
|
|
61
|
+
currentPost.postId
|
|
62
|
+
);
|
|
66
63
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
post: postObject,
|
|
86
|
-
};
|
|
87
|
-
},
|
|
88
|
-
[ currentPost.postType, currentPost.postId ]
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
const { updatePreferredStyleVariations } = useDispatch( editPostStore );
|
|
64
|
+
const supportsTemplateMode =
|
|
65
|
+
getEditorSettings().supportsTemplateMode;
|
|
66
|
+
const isViewable =
|
|
67
|
+
getPostType( currentPost.postType )?.viewable ?? false;
|
|
68
|
+
const canEditTemplate = canUser( 'create', 'templates' );
|
|
69
|
+
return {
|
|
70
|
+
template:
|
|
71
|
+
supportsTemplateMode &&
|
|
72
|
+
isViewable &&
|
|
73
|
+
canEditTemplate &&
|
|
74
|
+
currentPost.postType !== 'wp_template'
|
|
75
|
+
? getEditedPostTemplate()
|
|
76
|
+
: null,
|
|
77
|
+
post: postObject,
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
[ currentPost.postType, currentPost.postId ]
|
|
81
|
+
);
|
|
92
82
|
|
|
93
83
|
const editorSettings = useMemo(
|
|
94
84
|
() => ( {
|
|
@@ -96,20 +86,8 @@ function Editor( {
|
|
|
96
86
|
onNavigateToEntityRecord,
|
|
97
87
|
onNavigateToPreviousEntityRecord,
|
|
98
88
|
defaultRenderingMode: 'post-only',
|
|
99
|
-
__experimentalPreferredStyleVariations: {
|
|
100
|
-
value: preferredStyleVariations,
|
|
101
|
-
onChange: updatePreferredStyleVariations,
|
|
102
|
-
},
|
|
103
|
-
hasInlineToolbar,
|
|
104
89
|
} ),
|
|
105
|
-
[
|
|
106
|
-
settings,
|
|
107
|
-
hasInlineToolbar,
|
|
108
|
-
preferredStyleVariations,
|
|
109
|
-
updatePreferredStyleVariations,
|
|
110
|
-
onNavigateToEntityRecord,
|
|
111
|
-
onNavigateToPreviousEntityRecord,
|
|
112
|
-
]
|
|
90
|
+
[ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ]
|
|
113
91
|
);
|
|
114
92
|
|
|
115
93
|
if ( ! post ) {
|
package/src/editor.native.js
CHANGED
|
@@ -9,7 +9,7 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
import { Component } from '@wordpress/element';
|
|
12
|
-
import { EditorProvider } from '@wordpress/editor';
|
|
12
|
+
import { EditorProvider, store as editorStore } from '@wordpress/editor';
|
|
13
13
|
import { parse, serialize } from '@wordpress/blocks';
|
|
14
14
|
import { withDispatch, withSelect } from '@wordpress/data';
|
|
15
15
|
import { compose } from '@wordpress/compose';
|
|
@@ -24,7 +24,6 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
24
24
|
* Internal dependencies
|
|
25
25
|
*/
|
|
26
26
|
import Layout from './components/layout';
|
|
27
|
-
import { store as editPostStore } from './store';
|
|
28
27
|
|
|
29
28
|
class Editor extends Component {
|
|
30
29
|
constructor( props ) {
|
|
@@ -154,14 +153,14 @@ class Editor extends Component {
|
|
|
154
153
|
|
|
155
154
|
export default compose( [
|
|
156
155
|
withSelect( ( select ) => {
|
|
157
|
-
const { getEditorMode } = select(
|
|
156
|
+
const { getEditorMode } = select( editorStore );
|
|
158
157
|
|
|
159
158
|
return {
|
|
160
159
|
mode: getEditorMode(),
|
|
161
160
|
};
|
|
162
161
|
} ),
|
|
163
162
|
withDispatch( ( dispatch ) => {
|
|
164
|
-
const { switchEditorMode } = dispatch(
|
|
163
|
+
const { switchEditorMode } = dispatch( editorStore );
|
|
165
164
|
const { editEntityRecord } = dispatch( coreStore );
|
|
166
165
|
return {
|
|
167
166
|
switchEditorMode,
|