@wordpress/edit-post 7.25.0 → 7.26.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 +6 -0
- package/LICENSE.md +1 -1
- package/build/components/browser-url/index.js +3 -2
- package/build/components/browser-url/index.js.map +1 -1
- package/build/components/header/index.js +25 -25
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/writing-menu/index.js +11 -8
- package/build/components/header/writing-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -20
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +33 -26
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/index.native.js +3 -1
- package/build/components/layout/index.native.js.map +1 -1
- package/build/components/meta-boxes/meta-box-visibility.js +2 -6
- package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
- package/build/components/preferences-modal/index.js +25 -8
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preferences-modal/options/enable-feature.js +23 -23
- package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
- package/build/components/preferences-modal/options/enable-panel.js +3 -6
- package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
- package/build/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +2 -10
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-status/index.js +2 -3
- package/build/components/sidebar/post-status/index.js.map +1 -1
- package/build/components/sidebar/settings-sidebar/index.js +1 -7
- package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build/editor.js +19 -28
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +3 -10
- package/build/editor.native.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +16 -12
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/use-post-history.js +79 -0
- package/build/hooks/use-post-history.js.map +1 -0
- package/build/index.js +19 -16
- package/build/index.js.map +1 -1
- package/build/index.native.js +7 -1
- package/build/index.native.js.map +1 -1
- package/build/store/actions.js +59 -73
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +1 -62
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +66 -38
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/browser-url/index.js +3 -2
- package/build-module/components/browser-url/index.js.map +1 -1
- package/build-module/components/header/index.js +25 -25
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/writing-menu/index.js +11 -8
- package/build-module/components/header/writing-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -20
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +33 -25
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/index.native.js +4 -2
- package/build-module/components/layout/index.native.js.map +1 -1
- package/build-module/components/meta-boxes/meta-box-visibility.js +2 -6
- package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +25 -8
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preferences-modal/options/enable-feature.js +22 -23
- package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
- package/build-module/components/preferences-modal/options/enable-panel.js +3 -7
- package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +2 -10
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-status/index.js +3 -4
- package/build-module/components/sidebar/post-status/index.js.map +1 -1
- package/build-module/components/sidebar/settings-sidebar/index.js +2 -8
- package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build-module/editor.js +19 -28
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +3 -10
- package/build-module/editor.native.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +16 -12
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/use-post-history.js +73 -0
- package/build-module/hooks/use-post-history.js.map +1 -0
- package/build-module/index.js +17 -11
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +7 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/store/actions.js +55 -69
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +1 -60
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +58 -29
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +13 -284
- package/build-style/style.css +13 -284
- package/package.json +32 -32
- package/src/components/browser-url/index.js +4 -2
- package/src/components/header/index.js +24 -40
- package/src/components/header/style.scss +3 -3
- package/src/components/header/writing-menu/index.js +10 -8
- package/src/components/keyboard-shortcut-help-modal/test/index.js +0 -15
- package/src/components/keyboard-shortcuts/index.js +1 -23
- package/src/components/layout/index.js +18 -27
- package/src/components/layout/index.native.js +9 -1
- package/src/components/meta-boxes/meta-box-visibility.js +2 -8
- package/src/components/preferences-modal/index.js +27 -9
- package/src/components/preferences-modal/options/enable-feature.js +26 -21
- package/src/components/preferences-modal/options/enable-panel.js +3 -7
- package/src/components/preferences-modal/test/__snapshots__/meta-boxes-section.js.snap +187 -175
- package/src/components/sidebar/plugin-document-setting-panel/index.js +3 -3
- package/src/components/sidebar/plugin-sidebar/index.js +1 -9
- package/src/components/sidebar/post-status/index.js +3 -3
- package/src/components/sidebar/settings-sidebar/index.js +15 -13
- package/src/components/text-editor/style.scss +0 -6
- package/src/editor.js +34 -33
- package/src/editor.native.js +2 -17
- package/src/hooks/commands/use-common-commands.js +14 -16
- package/src/hooks/use-post-history.js +73 -0
- package/src/index.js +22 -12
- package/src/index.native.js +8 -1
- package/src/store/actions.js +48 -85
- package/src/store/reducer.js +0 -60
- package/src/store/selectors.js +74 -46
- package/src/store/test/actions.js +10 -103
- package/src/store/test/reducer.js +1 -108
- package/src/store/test/selectors.js +0 -50
- package/src/style.scss +1 -5
- package/src/test/editor.native.js +17 -0
- package/build/components/header/header-toolbar/index.js +0 -160
- package/build/components/header/header-toolbar/index.js.map +0 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +0 -73
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
- package/build/components/secondary-sidebar/list-view-outline.js +0 -112
- package/build/components/secondary-sidebar/list-view-outline.js.map +0 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +0 -148
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
- package/build/components/sidebar/discussion-panel/index.js +0 -59
- package/build/components/sidebar/discussion-panel/index.js.map +0 -1
- package/build/components/sidebar/featured-image/index.js +0 -70
- package/build/components/sidebar/featured-image/index.js.map +0 -1
- package/build/components/sidebar/last-revision/index.js +0 -21
- package/build/components/sidebar/last-revision/index.js.map +0 -1
- package/build/components/sidebar/page-attributes/index.js +0 -65
- package/build/components/sidebar/page-attributes/index.js.map +0 -1
- package/build/components/sidebar/plugin-post-excerpt/index.js +0 -72
- package/build/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
- package/build/components/sidebar/post-excerpt/index.js +0 -54
- package/build/components/sidebar/post-excerpt/index.js.map +0 -1
- package/build/components/sidebar/post-taxonomies/index.js +0 -30
- package/build/components/sidebar/post-taxonomies/index.js.map +0 -1
- package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -56
- package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
- package/build/components/view-link/index.js +0 -53
- package/build/components/view-link/index.js.map +0 -1
- package/build-module/components/header/header-toolbar/index.js +0 -152
- package/build-module/components/header/header-toolbar/index.js.map +0 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +0 -66
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
- package/build-module/components/secondary-sidebar/list-view-outline.js +0 -105
- package/build-module/components/secondary-sidebar/list-view-outline.js.map +0 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +0 -140
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
- package/build-module/components/sidebar/discussion-panel/index.js +0 -52
- package/build-module/components/sidebar/discussion-panel/index.js.map +0 -1
- package/build-module/components/sidebar/featured-image/index.js +0 -63
- package/build-module/components/sidebar/featured-image/index.js.map +0 -1
- package/build-module/components/sidebar/last-revision/index.js +0 -13
- package/build-module/components/sidebar/last-revision/index.js.map +0 -1
- package/build-module/components/sidebar/page-attributes/index.js +0 -57
- package/build-module/components/sidebar/page-attributes/index.js.map +0 -1
- package/build-module/components/sidebar/plugin-post-excerpt/index.js +0 -64
- package/build-module/components/sidebar/plugin-post-excerpt/index.js.map +0 -1
- package/build-module/components/sidebar/post-excerpt/index.js +0 -47
- package/build-module/components/sidebar/post-excerpt/index.js.map +0 -1
- package/build-module/components/sidebar/post-taxonomies/index.js +0 -21
- package/build-module/components/sidebar/post-taxonomies/index.js.map +0 -1
- package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
- package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +0 -1
- package/build-module/components/view-link/index.js +0 -46
- package/build-module/components/view-link/index.js.map +0 -1
- package/src/components/header/header-toolbar/index.js +0 -186
- package/src/components/header/header-toolbar/style.scss +0 -116
- package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +0 -929
- package/src/components/secondary-sidebar/inserter-sidebar.js +0 -71
- package/src/components/secondary-sidebar/list-view-outline.js +0 -98
- package/src/components/secondary-sidebar/list-view-sidebar.js +0 -170
- package/src/components/secondary-sidebar/style.scss +0 -120
- package/src/components/sidebar/discussion-panel/index.js +0 -62
- package/src/components/sidebar/featured-image/index.js +0 -67
- package/src/components/sidebar/last-revision/index.js +0 -17
- package/src/components/sidebar/last-revision/style.scss +0 -10
- package/src/components/sidebar/page-attributes/index.js +0 -65
- package/src/components/sidebar/plugin-post-excerpt/index.js +0 -61
- package/src/components/sidebar/plugin-post-excerpt/test/index.js +0 -36
- package/src/components/sidebar/post-excerpt/index.js +0 -59
- package/src/components/sidebar/post-taxonomies/index.js +0 -30
- package/src/components/sidebar/post-taxonomies/taxonomy-panel.js +0 -48
- package/src/components/view-link/index.js +0 -48
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
PreferenceToggleMenuItem,
|
|
11
11
|
store as preferencesStore,
|
|
12
12
|
} from '@wordpress/preferences';
|
|
13
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
@@ -19,13 +20,14 @@ import { store as postEditorStore } from '../../../store';
|
|
|
19
20
|
function WritingMenu() {
|
|
20
21
|
const registry = useRegistry();
|
|
21
22
|
|
|
22
|
-
const {
|
|
23
|
-
useDispatch( postEditorStore );
|
|
23
|
+
const { closeGeneralSidebar } = useDispatch( postEditorStore );
|
|
24
24
|
const { set: setPreference } = useDispatch( preferencesStore );
|
|
25
|
+
const { setIsInserterOpened, setIsListViewOpened } =
|
|
26
|
+
useDispatch( editorStore );
|
|
25
27
|
|
|
26
28
|
const toggleDistractionFree = () => {
|
|
27
29
|
registry.batch( () => {
|
|
28
|
-
setPreference( 'core
|
|
30
|
+
setPreference( 'core', 'fixedToolbar', true );
|
|
29
31
|
setIsInserterOpened( false );
|
|
30
32
|
setIsListViewOpened( false );
|
|
31
33
|
closeGeneralSidebar();
|
|
@@ -33,7 +35,7 @@ function WritingMenu() {
|
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
const turnOffDistractionFree = () => {
|
|
36
|
-
setPreference( 'core
|
|
38
|
+
setPreference( 'core', 'distractionFree', false );
|
|
37
39
|
};
|
|
38
40
|
|
|
39
41
|
const isLargeViewport = useViewportMatch( 'medium' );
|
|
@@ -44,7 +46,7 @@ function WritingMenu() {
|
|
|
44
46
|
return (
|
|
45
47
|
<MenuGroup label={ _x( 'View', 'noun' ) }>
|
|
46
48
|
<PreferenceToggleMenuItem
|
|
47
|
-
scope="core
|
|
49
|
+
scope="core"
|
|
48
50
|
name="fixedToolbar"
|
|
49
51
|
onToggle={ turnOffDistractionFree }
|
|
50
52
|
label={ __( 'Top toolbar' ) }
|
|
@@ -55,7 +57,7 @@ function WritingMenu() {
|
|
|
55
57
|
messageDeactivated={ __( 'Top toolbar deactivated' ) }
|
|
56
58
|
/>
|
|
57
59
|
<PreferenceToggleMenuItem
|
|
58
|
-
scope="core
|
|
60
|
+
scope="core"
|
|
59
61
|
name="distractionFree"
|
|
60
62
|
onToggle={ toggleDistractionFree }
|
|
61
63
|
label={ __( 'Distraction free' ) }
|
|
@@ -65,7 +67,7 @@ function WritingMenu() {
|
|
|
65
67
|
shortcut={ displayShortcut.primaryShift( '\\' ) }
|
|
66
68
|
/>
|
|
67
69
|
<PreferenceToggleMenuItem
|
|
68
|
-
scope="core
|
|
70
|
+
scope="core"
|
|
69
71
|
name="focusMode"
|
|
70
72
|
label={ __( 'Spotlight mode' ) }
|
|
71
73
|
info={ __( 'Focus on one block at a time' ) }
|
|
@@ -76,7 +78,7 @@ function WritingMenu() {
|
|
|
76
78
|
scope="core/edit-post"
|
|
77
79
|
name="fullscreenMode"
|
|
78
80
|
label={ __( 'Fullscreen mode' ) }
|
|
79
|
-
info={ __( 'Show and hide admin
|
|
81
|
+
info={ __( 'Show and hide the admin user interface' ) }
|
|
80
82
|
messageActivated={ __( 'Fullscreen mode activated' ) }
|
|
81
83
|
messageDeactivated={ __( 'Fullscreen mode deactivated' ) }
|
|
82
84
|
shortcut={ displayShortcut.secondary( 'f' ) }
|
|
@@ -16,21 +16,6 @@ import { KeyboardShortcutHelpModal } from '../index';
|
|
|
16
16
|
const noop = () => {};
|
|
17
17
|
|
|
18
18
|
describe( 'KeyboardShortcutHelpModal', () => {
|
|
19
|
-
it( 'should match snapshot when the modal is active', () => {
|
|
20
|
-
render(
|
|
21
|
-
<>
|
|
22
|
-
<EditorKeyboardShortcutsRegister />
|
|
23
|
-
<KeyboardShortcutHelpModal isModalActive toggleModal={ noop } />
|
|
24
|
-
</>
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
expect(
|
|
28
|
-
screen.getByRole( 'dialog', {
|
|
29
|
-
name: 'Keyboard shortcuts',
|
|
30
|
-
} )
|
|
31
|
-
).toMatchSnapshot();
|
|
32
|
-
} );
|
|
33
|
-
|
|
34
19
|
it( 'should not render the modal when inactive', () => {
|
|
35
20
|
render(
|
|
36
21
|
<>
|
|
@@ -18,24 +18,20 @@ import { createBlock } from '@wordpress/blocks';
|
|
|
18
18
|
import { store as editPostStore } from '../../store';
|
|
19
19
|
|
|
20
20
|
function KeyboardShortcuts() {
|
|
21
|
-
const { getEditorMode, isEditorSidebarOpened
|
|
22
|
-
useSelect( editPostStore );
|
|
21
|
+
const { getEditorMode, isEditorSidebarOpened } = useSelect( editPostStore );
|
|
23
22
|
const isModeToggleDisabled = useSelect( ( select ) => {
|
|
24
23
|
const { richEditingEnabled, codeEditingEnabled } =
|
|
25
24
|
select( editorStore ).getEditorSettings();
|
|
26
25
|
return ! richEditingEnabled || ! codeEditingEnabled;
|
|
27
26
|
}, [] );
|
|
28
|
-
|
|
29
27
|
const {
|
|
30
28
|
switchEditorMode,
|
|
31
29
|
openGeneralSidebar,
|
|
32
30
|
closeGeneralSidebar,
|
|
33
31
|
toggleFeature,
|
|
34
|
-
setIsListViewOpened,
|
|
35
32
|
toggleDistractionFree,
|
|
36
33
|
} = useDispatch( editPostStore );
|
|
37
34
|
const { registerShortcut } = useDispatch( keyboardShortcutsStore );
|
|
38
|
-
|
|
39
35
|
const { replaceBlocks } = useDispatch( blockEditorStore );
|
|
40
36
|
const {
|
|
41
37
|
getBlockName,
|
|
@@ -103,16 +99,6 @@ function KeyboardShortcuts() {
|
|
|
103
99
|
},
|
|
104
100
|
} );
|
|
105
101
|
|
|
106
|
-
registerShortcut( {
|
|
107
|
-
name: 'core/edit-post/toggle-list-view',
|
|
108
|
-
category: 'global',
|
|
109
|
-
description: __( 'Open the block list view.' ),
|
|
110
|
-
keyCombination: {
|
|
111
|
-
modifier: 'access',
|
|
112
|
-
character: 'o',
|
|
113
|
-
},
|
|
114
|
-
} );
|
|
115
|
-
|
|
116
102
|
registerShortcut( {
|
|
117
103
|
name: 'core/edit-post/toggle-sidebar',
|
|
118
104
|
category: 'global',
|
|
@@ -227,14 +213,6 @@ function KeyboardShortcuts() {
|
|
|
227
213
|
}
|
|
228
214
|
} );
|
|
229
215
|
|
|
230
|
-
// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
|
|
231
|
-
useShortcut( 'core/edit-post/toggle-list-view', ( event ) => {
|
|
232
|
-
if ( ! isListViewOpened() ) {
|
|
233
|
-
event.preventDefault();
|
|
234
|
-
setIsListViewOpened( true );
|
|
235
|
-
}
|
|
236
|
-
} );
|
|
237
|
-
|
|
238
216
|
useShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>
|
|
239
217
|
handleTextLevelShortcut( event, 0 )
|
|
240
218
|
);
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
EditorSnackbars,
|
|
17
17
|
PostSyncStatusModal,
|
|
18
18
|
store as editorStore,
|
|
19
|
+
privateApis as editorPrivateApis,
|
|
19
20
|
} from '@wordpress/editor';
|
|
20
21
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
21
22
|
import {
|
|
@@ -38,13 +39,10 @@ import {
|
|
|
38
39
|
import { useState, useEffect, useCallback, useMemo } from '@wordpress/element';
|
|
39
40
|
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
40
41
|
import { store as noticesStore } from '@wordpress/notices';
|
|
41
|
-
|
|
42
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
42
43
|
import { privateApis as commandsPrivateApis } from '@wordpress/commands';
|
|
43
44
|
import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
|
|
44
45
|
|
|
45
|
-
const { useCommands } = unlock( coreCommandsPrivateApis );
|
|
46
|
-
const { useCommandContext } = unlock( commandsPrivateApis );
|
|
47
|
-
|
|
48
46
|
/**
|
|
49
47
|
* Internal dependencies
|
|
50
48
|
*/
|
|
@@ -55,8 +53,6 @@ import KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';
|
|
|
55
53
|
import EditPostPreferencesModal from '../preferences-modal';
|
|
56
54
|
import BrowserURL from '../browser-url';
|
|
57
55
|
import Header from '../header';
|
|
58
|
-
import InserterSidebar from '../secondary-sidebar/inserter-sidebar';
|
|
59
|
-
import ListViewSidebar from '../secondary-sidebar/list-view-sidebar';
|
|
60
56
|
import SettingsSidebar from '../sidebar/settings-sidebar';
|
|
61
57
|
import MetaBoxes from '../meta-boxes';
|
|
62
58
|
import WelcomeGuide from '../welcome-guide';
|
|
@@ -67,6 +63,9 @@ import { unlock } from '../../lock-unlock';
|
|
|
67
63
|
import useCommonCommands from '../../hooks/commands/use-common-commands';
|
|
68
64
|
|
|
69
65
|
const { getLayoutStyles } = unlock( blockEditorPrivateApis );
|
|
66
|
+
const { useCommands } = unlock( coreCommandsPrivateApis );
|
|
67
|
+
const { useCommandContext } = unlock( commandsPrivateApis );
|
|
68
|
+
const { InserterSidebar, ListViewSidebar } = unlock( editorPrivateApis );
|
|
70
69
|
|
|
71
70
|
const interfaceLabels = {
|
|
72
71
|
/* translators: accessibility text for the editor top bar landmark region. */
|
|
@@ -142,9 +141,10 @@ function Layout() {
|
|
|
142
141
|
const isWideViewport = useViewportMatch( 'large' );
|
|
143
142
|
const isLargeViewport = useViewportMatch( 'medium' );
|
|
144
143
|
|
|
145
|
-
const { openGeneralSidebar, closeGeneralSidebar
|
|
144
|
+
const { openGeneralSidebar, closeGeneralSidebar } =
|
|
146
145
|
useDispatch( editPostStore );
|
|
147
146
|
const { createErrorNotice } = useDispatch( noticesStore );
|
|
147
|
+
const { setIsInserterOpened } = useDispatch( editorStore );
|
|
148
148
|
const {
|
|
149
149
|
mode,
|
|
150
150
|
isFullscreenActive,
|
|
@@ -161,7 +161,9 @@ function Layout() {
|
|
|
161
161
|
showBlockBreadcrumbs,
|
|
162
162
|
showMetaBoxes,
|
|
163
163
|
documentLabel,
|
|
164
|
+
hasHistory,
|
|
164
165
|
} = useSelect( ( select ) => {
|
|
166
|
+
const { get } = select( preferencesStore );
|
|
165
167
|
const { getEditorSettings, getPostTypeLabel } = select( editorStore );
|
|
166
168
|
const editorSettings = getEditorSettings();
|
|
167
169
|
const postTypeLabel = getPostTypeLabel();
|
|
@@ -176,8 +178,8 @@ function Layout() {
|
|
|
176
178
|
),
|
|
177
179
|
isFullscreenActive:
|
|
178
180
|
select( editPostStore ).isFeatureActive( 'fullscreenMode' ),
|
|
179
|
-
isInserterOpened: select(
|
|
180
|
-
isListViewOpened: select(
|
|
181
|
+
isInserterOpened: select( editorStore ).isInserterOpened(),
|
|
182
|
+
isListViewOpened: select( editorStore ).isListViewOpened(),
|
|
181
183
|
mode: select( editPostStore ).getEditorMode(),
|
|
182
184
|
isRichEditingEnabled: editorSettings.richEditingEnabled,
|
|
183
185
|
hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
|
|
@@ -187,17 +189,14 @@ function Layout() {
|
|
|
187
189
|
nextShortcut: select(
|
|
188
190
|
keyboardShortcutsStore
|
|
189
191
|
).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),
|
|
190
|
-
showIconLabels:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
select( editPostStore ).isFeatureActive( 'distractionFree' ),
|
|
194
|
-
showBlockBreadcrumbs: select( editPostStore ).isFeatureActive(
|
|
195
|
-
'showBlockBreadcrumbs'
|
|
196
|
-
),
|
|
192
|
+
showIconLabels: get( 'core', 'showIconLabels' ),
|
|
193
|
+
isDistractionFree: get( 'core', 'distractionFree' ),
|
|
194
|
+
showBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),
|
|
197
195
|
// translators: Default label for the Document in the Block Breadcrumb.
|
|
198
196
|
documentLabel: postTypeLabel || _x( 'Document', 'noun' ),
|
|
199
197
|
hasBlockSelected:
|
|
200
|
-
select( blockEditorStore ).getBlockSelectionStart(),
|
|
198
|
+
!! select( blockEditorStore ).getBlockSelectionStart(),
|
|
199
|
+
hasHistory: !! getEditorSettings().goBack,
|
|
201
200
|
};
|
|
202
201
|
}, [] );
|
|
203
202
|
|
|
@@ -231,9 +230,6 @@ function Layout() {
|
|
|
231
230
|
const [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =
|
|
232
231
|
useState( false );
|
|
233
232
|
|
|
234
|
-
const [ listViewToggleElement, setListViewToggleElement ] =
|
|
235
|
-
useState( null );
|
|
236
|
-
|
|
237
233
|
const closeEntitiesSavedStates = useCallback(
|
|
238
234
|
( arg ) => {
|
|
239
235
|
if ( typeof entitiesSavedStatesCallback === 'function' ) {
|
|
@@ -267,11 +263,7 @@ function Layout() {
|
|
|
267
263
|
return <InserterSidebar />;
|
|
268
264
|
}
|
|
269
265
|
if ( mode === 'visual' && isListViewOpened ) {
|
|
270
|
-
return
|
|
271
|
-
<ListViewSidebar
|
|
272
|
-
listViewToggleElement={ listViewToggleElement }
|
|
273
|
-
/>
|
|
274
|
-
);
|
|
266
|
+
return <ListViewSidebar />;
|
|
275
267
|
}
|
|
276
268
|
|
|
277
269
|
return null;
|
|
@@ -292,7 +284,7 @@ function Layout() {
|
|
|
292
284
|
return (
|
|
293
285
|
<>
|
|
294
286
|
<FullscreenMode isActive={ isFullscreenActive } />
|
|
295
|
-
<BrowserURL />
|
|
287
|
+
<BrowserURL hasHistory={ hasHistory } />
|
|
296
288
|
<UnsavedChangesWarning />
|
|
297
289
|
<AutosaveMonitor />
|
|
298
290
|
<LocalAutosaveMonitor />
|
|
@@ -312,7 +304,6 @@ function Layout() {
|
|
|
312
304
|
setEntitiesSavedStatesCallback={
|
|
313
305
|
setEntitiesSavedStatesCallback
|
|
314
306
|
}
|
|
315
|
-
setListViewToggleElement={ setListViewToggleElement }
|
|
316
307
|
/>
|
|
317
308
|
}
|
|
318
309
|
editorNotices={ <EditorNotices /> }
|
|
@@ -22,7 +22,11 @@ import {
|
|
|
22
22
|
Tooltip,
|
|
23
23
|
__unstableAutocompletionItemsSlot as AutocompletionItemsSlot,
|
|
24
24
|
} from '@wordpress/components';
|
|
25
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
AutosaveMonitor,
|
|
27
|
+
OfflineStatus,
|
|
28
|
+
store as editorStore,
|
|
29
|
+
} from '@wordpress/editor';
|
|
26
30
|
import { sendNativeEditorDidLayout } from '@wordpress/react-native-bridge';
|
|
27
31
|
|
|
28
32
|
/**
|
|
@@ -148,6 +152,10 @@ class Layout extends Component {
|
|
|
148
152
|
onLayout={ this.onRootViewLayout }
|
|
149
153
|
>
|
|
150
154
|
<AutosaveMonitor disableIntervalChecks />
|
|
155
|
+
{
|
|
156
|
+
// eslint-disable-next-line no-undef
|
|
157
|
+
__DEV__ && <OfflineStatus />
|
|
158
|
+
}
|
|
151
159
|
<View style={ editorStyles }>
|
|
152
160
|
{ isHtmlView ? this.renderHTML() : this.renderVisual() }
|
|
153
161
|
{ ! isHtmlView && Platform.OS === 'android' && (
|
|
@@ -3,11 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '@wordpress/element';
|
|
5
5
|
import { withSelect } from '@wordpress/data';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { store as editPostStore } from '../../store';
|
|
6
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
11
7
|
|
|
12
8
|
class MetaBoxVisibility extends Component {
|
|
13
9
|
componentDidMount() {
|
|
@@ -41,7 +37,5 @@ class MetaBoxVisibility extends Component {
|
|
|
41
37
|
}
|
|
42
38
|
|
|
43
39
|
export default withSelect( ( select, { id } ) => ( {
|
|
44
|
-
isVisible: select(
|
|
45
|
-
`meta-box-${ id }`
|
|
46
|
-
),
|
|
40
|
+
isVisible: select( editorStore ).isEditorPanelEnabled( `meta-box-${ id }` ),
|
|
47
41
|
} ) )( MetaBoxVisibility );
|
|
@@ -44,14 +44,14 @@ export default function EditPostPreferencesModal() {
|
|
|
44
44
|
const [ isModalActive, showBlockBreadcrumbsOption ] = useSelect(
|
|
45
45
|
( select ) => {
|
|
46
46
|
const { getEditorSettings } = select( editorStore );
|
|
47
|
-
const { getEditorMode
|
|
47
|
+
const { getEditorMode } = select( editPostStore );
|
|
48
|
+
const { get } = select( preferencesStore );
|
|
48
49
|
const modalActive = select( interfaceStore ).isModalActive(
|
|
49
50
|
PREFERENCES_MODAL_NAME
|
|
50
51
|
);
|
|
51
52
|
const mode = getEditorMode();
|
|
52
53
|
const isRichEditingEnabled = getEditorSettings().richEditingEnabled;
|
|
53
|
-
const isDistractionFreeEnabled =
|
|
54
|
-
isFeatureActive( 'distractionFree' );
|
|
54
|
+
const isDistractionFreeEnabled = get( 'core', 'distractionFree' );
|
|
55
55
|
return [
|
|
56
56
|
modalActive,
|
|
57
57
|
! isDistractionFreeEnabled &&
|
|
@@ -64,20 +64,20 @@ export default function EditPostPreferencesModal() {
|
|
|
64
64
|
[ isLargeViewport ]
|
|
65
65
|
);
|
|
66
66
|
|
|
67
|
-
const { closeGeneralSidebar
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
const { closeGeneralSidebar } = useDispatch( editPostStore );
|
|
68
|
+
const { setIsListViewOpened, setIsInserterOpened } =
|
|
69
|
+
useDispatch( editorStore );
|
|
70
70
|
const { set: setPreference } = useDispatch( preferencesStore );
|
|
71
71
|
|
|
72
72
|
const toggleDistractionFree = () => {
|
|
73
|
-
setPreference( 'core
|
|
73
|
+
setPreference( 'core', 'fixedToolbar', true );
|
|
74
74
|
setIsInserterOpened( false );
|
|
75
75
|
setIsListViewOpened( false );
|
|
76
76
|
closeGeneralSidebar();
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
const turnOffDistractionFree = () => {
|
|
80
|
-
setPreference( 'core
|
|
80
|
+
setPreference( 'core', 'distractionFree', false );
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
const sections = useMemo(
|
|
@@ -95,12 +95,13 @@ export default function EditPostPreferencesModal() {
|
|
|
95
95
|
help={ __(
|
|
96
96
|
'Review settings, such as visibility and tags.'
|
|
97
97
|
) }
|
|
98
|
-
label={ __( 'Enable pre-publish
|
|
98
|
+
label={ __( 'Enable pre-publish checks' ) }
|
|
99
99
|
/>
|
|
100
100
|
</PreferencesModalSection>
|
|
101
101
|
) }
|
|
102
102
|
<PreferencesModalSection title={ __( 'Interface' ) }>
|
|
103
103
|
<EnableFeature
|
|
104
|
+
scope="core"
|
|
104
105
|
featureName="showListViewByDefault"
|
|
105
106
|
help={ __(
|
|
106
107
|
'Opens the block list view sidebar by default.'
|
|
@@ -109,6 +110,7 @@ export default function EditPostPreferencesModal() {
|
|
|
109
110
|
/>
|
|
110
111
|
{ showBlockBreadcrumbsOption && (
|
|
111
112
|
<EnableFeature
|
|
113
|
+
scope="core"
|
|
112
114
|
featureName="showBlockBreadcrumbs"
|
|
113
115
|
help={ __(
|
|
114
116
|
'Display the block hierarchy trail at the bottom of the editor.'
|
|
@@ -116,6 +118,16 @@ export default function EditPostPreferencesModal() {
|
|
|
116
118
|
label={ __( 'Show block breadcrumbs' ) }
|
|
117
119
|
/>
|
|
118
120
|
) }
|
|
121
|
+
<EnableFeature
|
|
122
|
+
scope="core"
|
|
123
|
+
featureName="allowRightClickOverrides"
|
|
124
|
+
help={ __(
|
|
125
|
+
'Allows contextual list view menus via right-click, overriding browser defaults.'
|
|
126
|
+
) }
|
|
127
|
+
label={ __(
|
|
128
|
+
'Allow right-click contextual menus'
|
|
129
|
+
) }
|
|
130
|
+
/>
|
|
119
131
|
</PreferencesModalSection>
|
|
120
132
|
<PreferencesModalSection
|
|
121
133
|
title={ __( 'Document settings' ) }
|
|
@@ -174,6 +186,7 @@ export default function EditPostPreferencesModal() {
|
|
|
174
186
|
) }
|
|
175
187
|
>
|
|
176
188
|
<EnableFeature
|
|
189
|
+
scope="core"
|
|
177
190
|
featureName="fixedToolbar"
|
|
178
191
|
onToggle={ turnOffDistractionFree }
|
|
179
192
|
help={ __(
|
|
@@ -182,6 +195,7 @@ export default function EditPostPreferencesModal() {
|
|
|
182
195
|
label={ __( 'Top toolbar' ) }
|
|
183
196
|
/>
|
|
184
197
|
<EnableFeature
|
|
198
|
+
scope="core"
|
|
185
199
|
featureName="distractionFree"
|
|
186
200
|
onToggle={ toggleDistractionFree }
|
|
187
201
|
help={ __(
|
|
@@ -190,6 +204,7 @@ export default function EditPostPreferencesModal() {
|
|
|
190
204
|
label={ __( 'Distraction free' ) }
|
|
191
205
|
/>
|
|
192
206
|
<EnableFeature
|
|
207
|
+
scope="core"
|
|
193
208
|
featureName="focusMode"
|
|
194
209
|
help={ __(
|
|
195
210
|
'Highlights the current block and fades other content.'
|
|
@@ -218,6 +233,7 @@ export default function EditPostPreferencesModal() {
|
|
|
218
233
|
) }
|
|
219
234
|
>
|
|
220
235
|
<EnableFeature
|
|
236
|
+
scope="core"
|
|
221
237
|
featureName="keepCaretInsideBlock"
|
|
222
238
|
help={ __(
|
|
223
239
|
'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'
|
|
@@ -229,6 +245,7 @@ export default function EditPostPreferencesModal() {
|
|
|
229
245
|
</PreferencesModalSection>
|
|
230
246
|
<PreferencesModalSection title={ __( 'Interface' ) }>
|
|
231
247
|
<EnableFeature
|
|
248
|
+
scope="core"
|
|
232
249
|
featureName="showIconLabels"
|
|
233
250
|
label={ __( 'Show button text labels' ) }
|
|
234
251
|
help={ __(
|
|
@@ -246,6 +263,7 @@ export default function EditPostPreferencesModal() {
|
|
|
246
263
|
<>
|
|
247
264
|
<PreferencesModalSection title={ __( 'Inserter' ) }>
|
|
248
265
|
<EnableFeature
|
|
266
|
+
scope="core"
|
|
249
267
|
featureName="mostUsedBlocks"
|
|
250
268
|
help={ __(
|
|
251
269
|
'Adds a category with the most frequently used blocks in the inserter.'
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { withSelect, withDispatch } from '@wordpress/data';
|
|
4
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
5
|
import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';
|
|
6
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} )
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
8
|
+
export default function EnableFeature( props ) {
|
|
9
|
+
const {
|
|
10
|
+
scope = 'core/edit-post',
|
|
11
|
+
featureName,
|
|
12
|
+
onToggle = () => {},
|
|
13
|
+
...remainingProps
|
|
14
|
+
} = props;
|
|
15
|
+
const isChecked = useSelect(
|
|
16
|
+
( select ) => !! select( preferencesStore ).get( scope, featureName ),
|
|
17
|
+
[ scope, featureName ]
|
|
18
|
+
);
|
|
19
|
+
const { toggle } = useDispatch( preferencesStore );
|
|
20
|
+
const onChange = () => {
|
|
21
|
+
onToggle();
|
|
22
|
+
toggle( scope, featureName );
|
|
23
|
+
};
|
|
24
|
+
return (
|
|
25
|
+
<BaseOption
|
|
26
|
+
onChange={ onChange }
|
|
27
|
+
isChecked={ isChecked }
|
|
28
|
+
{ ...remainingProps }
|
|
29
|
+
/>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
import { compose, ifCondition } from '@wordpress/compose';
|
|
5
5
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
6
6
|
import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal dependencies
|
|
10
|
-
*/
|
|
11
|
-
import { store as editPostStore } from '../../../store';
|
|
7
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
12
8
|
|
|
13
9
|
export default compose(
|
|
14
10
|
withSelect( ( select, { panelName } ) => {
|
|
15
11
|
const { isEditorPanelEnabled, isEditorPanelRemoved } =
|
|
16
|
-
select(
|
|
12
|
+
select( editorStore );
|
|
17
13
|
return {
|
|
18
14
|
isRemoved: isEditorPanelRemoved( panelName ),
|
|
19
15
|
isChecked: isEditorPanelEnabled( panelName ),
|
|
@@ -22,6 +18,6 @@ export default compose(
|
|
|
22
18
|
ifCondition( ( { isRemoved } ) => ! isRemoved ),
|
|
23
19
|
withDispatch( ( dispatch, { panelName } ) => ( {
|
|
24
20
|
onChange: () =>
|
|
25
|
-
dispatch(
|
|
21
|
+
dispatch( editorStore ).toggleEditorPanelEnabled( panelName ),
|
|
26
22
|
} ) )
|
|
27
23
|
)( BaseOption );
|