@wordpress/edit-post 7.24.1 → 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 +8 -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 +35 -33
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/mode-switcher/index.js +1 -1
- package/build/components/header/mode-switcher/index.js.map +1 -1
- package/build/components/header/more-menu/index.js +2 -1
- package/build/components/header/more-menu/index.js.map +1 -1
- package/build/components/header/writing-menu/index.js +22 -18
- 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 +45 -38
- 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 +87 -54
- 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 +3 -5
- package/build/components/sidebar/post-status/index.js.map +1 -1
- package/build/components/sidebar/settings-header/index.js +17 -43
- package/build/components/sidebar/settings-header/index.js.map +1 -1
- package/build/components/sidebar/settings-sidebar/index.js +80 -26
- package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build/components/start-page-options/index.js +3 -3
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/visual-editor/index.js +20 -257
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/components/welcome-guide/index.js +6 -3
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/editor.js +20 -30
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +3 -11
- 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 +24 -20
- package/build/index.js.map +1 -1
- package/build/index.native.js +7 -1
- package/build/index.native.js.map +1 -1
- package/build/plugins/welcome-guide-menu-item/index.js +2 -6
- package/build/plugins/welcome-guide-menu-item/index.js.map +1 -1
- package/build/store/actions.js +94 -112
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +1 -95
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +86 -48
- 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 +37 -35
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/mode-switcher/index.js +1 -1
- package/build-module/components/header/mode-switcher/index.js.map +1 -1
- package/build-module/components/header/more-menu/index.js +2 -1
- package/build-module/components/header/more-menu/index.js.map +1 -1
- package/build-module/components/header/writing-menu/index.js +23 -19
- 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 +46 -38
- 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 +87 -54
- 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 +4 -6
- package/build-module/components/sidebar/post-status/index.js.map +1 -1
- package/build-module/components/sidebar/settings-header/index.js +20 -46
- package/build-module/components/sidebar/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar/settings-sidebar/index.js +80 -27
- package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +3 -3
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +24 -261
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +6 -3
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/editor.js +20 -30
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +3 -11
- 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 +19 -12
- 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/plugins/welcome-guide-menu-item/index.js +2 -6
- package/build-module/plugins/welcome-guide-menu-item/index.js.map +1 -1
- package/build-module/store/actions.js +86 -105
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +1 -92
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +76 -38
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +65 -473
- package/build-style/style.css +65 -473
- package/package.json +32 -32
- package/src/components/browser-url/index.js +4 -2
- package/src/components/header/index.js +45 -46
- package/src/components/header/mode-switcher/index.js +2 -1
- package/src/components/header/more-menu/index.js +1 -0
- package/src/components/header/style.scss +63 -37
- package/src/components/header/writing-menu/index.js +24 -24
- 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 +31 -39
- 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 +128 -97
- 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/preferences-modal/test/index.js +1 -52
- 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 +5 -5
- package/src/components/sidebar/settings-header/index.js +19 -71
- package/src/components/sidebar/settings-sidebar/index.js +125 -60
- package/src/components/sidebar/style.scss +4 -12
- package/src/components/start-page-options/index.js +3 -3
- package/src/components/text-editor/style.scss +0 -6
- package/src/components/visual-editor/index.js +26 -359
- package/src/components/visual-editor/style.scss +0 -15
- package/src/components/welcome-guide/index.js +4 -2
- package/src/editor.js +36 -35
- package/src/editor.native.js +2 -23
- package/src/hooks/commands/use-common-commands.js +14 -16
- package/src/hooks/use-post-history.js +73 -0
- package/src/index.js +24 -13
- package/src/index.native.js +8 -1
- package/src/plugins/welcome-guide-menu-item/index.js +3 -6
- package/src/store/actions.js +80 -131
- package/src/store/reducer.js +0 -93
- package/src/store/selectors.js +97 -55
- package/src/store/test/actions.js +10 -131
- package/src/store/test/reducer.js +1 -108
- package/src/store/test/selectors.js +0 -50
- package/src/style.scss +1 -8
- package/src/test/__snapshots__/editor.native.js.snap +21 -0
- package/src/test/editor.native.js +107 -56
- package/build/components/device-preview/index.js +0 -72
- package/build/components/device-preview/index.js.map +0 -1
- package/build/components/header/document-actions/index.js +0 -82
- package/build/components/header/document-actions/index.js.map +0 -1
- package/build/components/header/header-toolbar/index.js +0 -156
- 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/sidebar/post-template/create-modal.js +0 -99
- package/build/components/sidebar/post-template/create-modal.js.map +0 -1
- package/build/components/sidebar/post-template/form.js +0 -110
- package/build/components/sidebar/post-template/form.js.map +0 -1
- package/build/components/sidebar/post-template/index.js +0 -106
- package/build/components/sidebar/post-template/index.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/device-preview/index.js +0 -65
- package/build-module/components/device-preview/index.js.map +0 -1
- package/build-module/components/header/document-actions/index.js +0 -74
- package/build-module/components/header/document-actions/index.js.map +0 -1
- package/build-module/components/header/header-toolbar/index.js +0 -148
- 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/sidebar/post-template/create-modal.js +0 -92
- package/build-module/components/sidebar/post-template/create-modal.js.map +0 -1
- package/build-module/components/sidebar/post-template/form.js +0 -102
- package/build-module/components/sidebar/post-template/form.js.map +0 -1
- package/build-module/components/sidebar/post-template/index.js +0 -98
- package/build-module/components/sidebar/post-template/index.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/device-preview/index.js +0 -73
- package/src/components/header/document-actions/index.js +0 -82
- package/src/components/header/document-actions/style.scss +0 -64
- package/src/components/header/header-toolbar/index.js +0 -182
- package/src/components/header/header-toolbar/style.scss +0 -114
- 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/sidebar/post-template/create-modal.js +0 -140
- package/src/components/sidebar/post-template/form.js +0 -141
- package/src/components/sidebar/post-template/index.js +0 -120
- package/src/components/sidebar/post-template/style.scss +0 -22
- package/src/components/sidebar/settings-header/style.scss +0 -74
- package/src/components/sidebar/template/style.scss +0 -35
- package/src/components/view-link/index.js +0 -48
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import deepFreeze from 'deep-freeze';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* Internal dependencies
|
|
8
3
|
*/
|
|
@@ -11,32 +6,9 @@ import {
|
|
|
11
6
|
isSavingMetaBoxes,
|
|
12
7
|
getActiveMetaBoxLocations,
|
|
13
8
|
isMetaBoxLocationActive,
|
|
14
|
-
isEditorPanelRemoved,
|
|
15
|
-
isInserterOpened,
|
|
16
|
-
isListViewOpened,
|
|
17
9
|
} from '../selectors';
|
|
18
10
|
|
|
19
11
|
describe( 'selectors', () => {
|
|
20
|
-
describe( 'isEditorPanelRemoved', () => {
|
|
21
|
-
it( 'should return false by default', () => {
|
|
22
|
-
const state = deepFreeze( {
|
|
23
|
-
removedPanels: [],
|
|
24
|
-
} );
|
|
25
|
-
|
|
26
|
-
expect( isEditorPanelRemoved( state, 'post-status' ) ).toBe(
|
|
27
|
-
false
|
|
28
|
-
);
|
|
29
|
-
} );
|
|
30
|
-
|
|
31
|
-
it( 'should return true when panel was removed', () => {
|
|
32
|
-
const state = deepFreeze( {
|
|
33
|
-
removedPanels: [ 'post-status' ],
|
|
34
|
-
} );
|
|
35
|
-
|
|
36
|
-
expect( isEditorPanelRemoved( state, 'post-status' ) ).toBe( true );
|
|
37
|
-
} );
|
|
38
|
-
} );
|
|
39
|
-
|
|
40
12
|
describe( 'hasMetaBoxes', () => {
|
|
41
13
|
it( 'should return true if there are active meta boxes', () => {
|
|
42
14
|
const state = {
|
|
@@ -133,26 +105,4 @@ describe( 'selectors', () => {
|
|
|
133
105
|
expect( result ).toBe( true );
|
|
134
106
|
} );
|
|
135
107
|
} );
|
|
136
|
-
|
|
137
|
-
describe( 'isInserterOpened', () => {
|
|
138
|
-
it( 'returns the block inserter panel isOpened state', () => {
|
|
139
|
-
const state = {
|
|
140
|
-
blockInserterPanel: true,
|
|
141
|
-
};
|
|
142
|
-
expect( isInserterOpened( state ) ).toBe( true );
|
|
143
|
-
state.blockInserterPanel = false;
|
|
144
|
-
expect( isInserterOpened( state ) ).toBe( false );
|
|
145
|
-
} );
|
|
146
|
-
} );
|
|
147
|
-
|
|
148
|
-
describe( 'isListViewOpened', () => {
|
|
149
|
-
it( 'returns the list view panel isOpened state', () => {
|
|
150
|
-
const state = {
|
|
151
|
-
listViewPanel: true,
|
|
152
|
-
};
|
|
153
|
-
expect( isListViewOpened( state ) ).toBe( true );
|
|
154
|
-
state.listViewPanel = false;
|
|
155
|
-
expect( isListViewOpened( state ) ).toBe( false );
|
|
156
|
-
} );
|
|
157
|
-
} );
|
|
158
108
|
} );
|
package/src/style.scss
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
@import "../../interface/src/style.scss";
|
|
2
2
|
@import "./components/header/style.scss";
|
|
3
3
|
@import "./components/header/fullscreen-mode-close/style.scss";
|
|
4
|
-
@import "./components/header/header-toolbar/style.scss";
|
|
5
|
-
@import "./components/header/document-actions/style.scss";
|
|
6
4
|
@import "./components/keyboard-shortcut-help-modal/style.scss";
|
|
7
5
|
@import "./components/layout/style.scss";
|
|
8
6
|
@import "./components/block-manager/style.scss";
|
|
9
7
|
@import "./components/meta-boxes/meta-boxes-area/style.scss";
|
|
10
|
-
@import "./components/secondary-sidebar/style.scss";
|
|
11
8
|
@import "./components/sidebar/style.scss";
|
|
12
|
-
@import "./components/sidebar/last-revision/style.scss";
|
|
13
9
|
@import "./components/sidebar/post-format/style.scss";
|
|
14
10
|
@import "./components/sidebar/post-slug/style.scss";
|
|
15
|
-
@import "./components/sidebar/post-template/style.scss";
|
|
16
11
|
@import "./components/sidebar/post-visibility/style.scss";
|
|
17
|
-
@import "./components/sidebar/settings-header/style.scss";
|
|
18
12
|
@import "./components/sidebar/template-summary/style.scss";
|
|
19
13
|
@import "./components/text-editor/style.scss";
|
|
20
14
|
@import "./components/visual-editor/style.scss";
|
|
@@ -55,8 +49,7 @@ body.js.block-editor-page {
|
|
|
55
49
|
.edit-post-sidebar,
|
|
56
50
|
.editor-post-publish-panel,
|
|
57
51
|
.components-popover,
|
|
58
|
-
.components-modal__frame
|
|
59
|
-
.edit-post-editor__inserter-panel {
|
|
52
|
+
.components-modal__frame {
|
|
60
53
|
@include reset;
|
|
61
54
|
}
|
|
62
55
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Editor appends media correctly for allowed types 1`] = `
|
|
4
|
+
"<!-- wp:image -->
|
|
5
|
+
<figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt=""/></figure>
|
|
6
|
+
<!-- /wp:image -->
|
|
7
|
+
|
|
8
|
+
<!-- wp:image -->
|
|
9
|
+
<figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-3.jpeg" alt=""/></figure>
|
|
10
|
+
<!-- /wp:image -->"
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
exports[`Editor appends media correctly for allowed types and skips unsupported ones 1`] = `
|
|
14
|
+
"<!-- wp:image -->
|
|
15
|
+
<figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt=""/></figure>
|
|
16
|
+
<!-- /wp:image -->
|
|
17
|
+
|
|
18
|
+
<!-- wp:video -->
|
|
19
|
+
<figure class="wp-block-video"><video controls src="file:///local-video-4.mp4"></video></figure>
|
|
20
|
+
<!-- /wp:video -->"
|
|
21
|
+
`;
|
|
@@ -6,93 +6,144 @@ import {
|
|
|
6
6
|
addBlock,
|
|
7
7
|
fireEvent,
|
|
8
8
|
getBlock,
|
|
9
|
+
getEditorHtml,
|
|
9
10
|
initializeEditor,
|
|
10
|
-
|
|
11
|
+
screen,
|
|
11
12
|
setupCoreBlocks,
|
|
12
13
|
} from 'test/helpers';
|
|
14
|
+
import { BackHandler } from 'react-native';
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* WordPress dependencies
|
|
16
18
|
*/
|
|
17
|
-
import
|
|
19
|
+
import {
|
|
20
|
+
requestMediaImport,
|
|
21
|
+
subscribeMediaAppend,
|
|
18
22
|
subscribeParentToggleHTMLMode,
|
|
19
23
|
} from '@wordpress/react-native-bridge';
|
|
20
|
-
// Force register 'core/editor' store.
|
|
21
|
-
import { store } from '@wordpress/editor'; // eslint-disable-line no-unused-vars
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
* Internal dependencies
|
|
25
|
-
*/
|
|
26
|
-
import '..';
|
|
27
|
-
import Editor from '../editor';
|
|
28
|
-
|
|
29
|
-
const unsupportedBlock = `
|
|
30
|
-
<!-- wp:notablock -->
|
|
31
|
-
<p>Not supported</p>
|
|
32
|
-
<!-- /wp:notablock -->
|
|
33
|
-
`;
|
|
25
|
+
setupCoreBlocks();
|
|
34
26
|
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
let toggleModeCallback;
|
|
28
|
+
subscribeParentToggleHTMLMode.mockImplementation( ( callback ) => {
|
|
29
|
+
toggleModeCallback = callback;
|
|
37
30
|
} );
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
let mediaAppendCallback;
|
|
33
|
+
subscribeMediaAppend.mockImplementation( ( callback ) => {
|
|
34
|
+
mediaAppendCallback = callback;
|
|
42
35
|
} );
|
|
43
36
|
|
|
44
|
-
|
|
37
|
+
const MEDIA = [
|
|
38
|
+
{
|
|
39
|
+
localId: 1,
|
|
40
|
+
mediaUrl: 'file:///local-image-1.jpeg',
|
|
41
|
+
mediaType: 'image',
|
|
42
|
+
serverId: 2000,
|
|
43
|
+
serverUrl: 'https://test-site.files.wordpress.com/local-image-1.jpeg',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
localId: 2,
|
|
47
|
+
mediaUrl: 'file:///local-file-1.pdf',
|
|
48
|
+
mediaType: 'other',
|
|
49
|
+
serverId: 2001,
|
|
50
|
+
serverUrl: 'https://test-site.files.wordpress.com/local-file-1.pdf',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
localId: 3,
|
|
54
|
+
mediaUrl: 'file:///local-image-3.jpeg',
|
|
55
|
+
mediaType: 'image',
|
|
56
|
+
serverId: 2002,
|
|
57
|
+
serverUrl: 'https://test-site.files.wordpress.com/local-image-3.jpeg',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
localId: 4,
|
|
61
|
+
mediaUrl: 'file:///local-video-4.mp4',
|
|
62
|
+
mediaType: 'video',
|
|
63
|
+
serverId: 2003,
|
|
64
|
+
serverUrl: 'https://test-site.files.wordpress.com/local-video-4.mp4',
|
|
65
|
+
},
|
|
66
|
+
];
|
|
45
67
|
|
|
46
68
|
describe( 'Editor', () => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const appContainer = renderEditorWith( unsupportedBlock );
|
|
51
|
-
// For some reason resetEditorBlocks() is asynchronous when dispatching editEntityRecord.
|
|
52
|
-
act( () => {
|
|
53
|
-
jest.runAllTicks();
|
|
54
|
-
} );
|
|
55
|
-
appContainer.unmount();
|
|
56
|
-
|
|
57
|
-
expect(
|
|
58
|
-
RNReactNativeGutenbergBridge.editorDidMount
|
|
59
|
-
).toHaveBeenCalledTimes( 1 );
|
|
60
|
-
expect(
|
|
61
|
-
RNReactNativeGutenbergBridge.editorDidMount
|
|
62
|
-
).toHaveBeenCalledWith( [ 'core/notablock' ] );
|
|
69
|
+
afterEach( () => {
|
|
70
|
+
jest.clearAllMocks();
|
|
63
71
|
} );
|
|
64
72
|
|
|
65
73
|
it( 'toggles the editor from Visual to HTML mode', async () => {
|
|
66
74
|
// Arrange
|
|
67
|
-
|
|
68
|
-
subscribeParentToggleHTMLMode.mockImplementation( ( callback ) => {
|
|
69
|
-
toggleMode = callback;
|
|
70
|
-
} );
|
|
71
|
-
const screen = await initializeEditor();
|
|
75
|
+
await initializeEditor();
|
|
72
76
|
await addBlock( screen, 'Paragraph' );
|
|
73
77
|
|
|
74
78
|
// Act
|
|
75
79
|
const paragraphBlock = getBlock( screen, 'Paragraph' );
|
|
76
80
|
fireEvent.press( paragraphBlock );
|
|
77
81
|
act( () => {
|
|
78
|
-
|
|
82
|
+
toggleModeCallback();
|
|
79
83
|
} );
|
|
80
84
|
|
|
81
85
|
// Assert
|
|
82
86
|
const htmlEditor = screen.getByLabelText( 'html-view-content' );
|
|
83
87
|
expect( htmlEditor ).toBeVisible();
|
|
88
|
+
|
|
89
|
+
act( () => {
|
|
90
|
+
toggleModeCallback();
|
|
91
|
+
} );
|
|
84
92
|
} );
|
|
85
|
-
} );
|
|
86
93
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
it( 'appends media correctly for allowed types', async () => {
|
|
95
|
+
// Arrange
|
|
96
|
+
requestMediaImport
|
|
97
|
+
.mockImplementationOnce( ( _, callback ) =>
|
|
98
|
+
callback( MEDIA[ 0 ].id, MEDIA[ 0 ].serverUrl )
|
|
99
|
+
)
|
|
100
|
+
.mockImplementationOnce( ( _, callback ) =>
|
|
101
|
+
callback( MEDIA[ 2 ].id, MEDIA[ 2 ].serverUrl )
|
|
102
|
+
);
|
|
103
|
+
await initializeEditor();
|
|
104
|
+
|
|
105
|
+
// Act
|
|
106
|
+
await act( () => mediaAppendCallback( MEDIA[ 0 ] ) );
|
|
107
|
+
await act( () => mediaAppendCallback( MEDIA[ 2 ] ) );
|
|
108
|
+
|
|
109
|
+
// Assert
|
|
110
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
111
|
+
} );
|
|
112
|
+
|
|
113
|
+
it( 'appends media correctly for allowed types and skips unsupported ones', async () => {
|
|
114
|
+
// Arrange
|
|
115
|
+
requestMediaImport
|
|
116
|
+
.mockImplementationOnce( ( _, callback ) =>
|
|
117
|
+
callback( MEDIA[ 0 ].id, MEDIA[ 0 ].serverUrl )
|
|
118
|
+
)
|
|
119
|
+
.mockImplementationOnce( ( _, callback ) =>
|
|
120
|
+
callback( MEDIA[ 3 ].id, MEDIA[ 3 ].serverUrl )
|
|
121
|
+
);
|
|
122
|
+
await initializeEditor();
|
|
123
|
+
|
|
124
|
+
// Act
|
|
125
|
+
await act( () => mediaAppendCallback( MEDIA[ 0 ] ) );
|
|
126
|
+
// Unsupported type (PDF file)
|
|
127
|
+
await act( () => mediaAppendCallback( MEDIA[ 1 ] ) );
|
|
128
|
+
await act( () => mediaAppendCallback( MEDIA[ 3 ] ) );
|
|
129
|
+
|
|
130
|
+
// Assert
|
|
131
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
132
|
+
} );
|
|
133
|
+
|
|
134
|
+
it( 'unselects current block when tapping on the hardware back button', async () => {
|
|
135
|
+
// Arrange
|
|
136
|
+
await initializeEditor();
|
|
137
|
+
await addBlock( screen, 'Spacer' );
|
|
138
|
+
|
|
139
|
+
// Act
|
|
140
|
+
act( () => {
|
|
141
|
+
BackHandler.mockPressBack();
|
|
142
|
+
} );
|
|
143
|
+
|
|
144
|
+
// Assert
|
|
145
|
+
const openBlockSettingsButton =
|
|
146
|
+
screen.queryAllByLabelText( 'Open Settings' );
|
|
147
|
+
expect( openBlockSettingsButton.length ).toBe( 0 );
|
|
148
|
+
} );
|
|
149
|
+
} );
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = DevicePreview;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _components = require("@wordpress/components");
|
|
9
|
-
var _editor = require("@wordpress/editor");
|
|
10
|
-
var _icons = require("@wordpress/icons");
|
|
11
|
-
var _i18n = require("@wordpress/i18n");
|
|
12
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
-
var _data = require("@wordpress/data");
|
|
14
|
-
var _coreData = require("@wordpress/core-data");
|
|
15
|
-
var _store = require("../../store");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function DevicePreview() {
|
|
25
|
-
const {
|
|
26
|
-
hasActiveMetaboxes,
|
|
27
|
-
isPostSaveable,
|
|
28
|
-
isViewable,
|
|
29
|
-
deviceType,
|
|
30
|
-
showIconLabels
|
|
31
|
-
} = (0, _data.useSelect)(select => {
|
|
32
|
-
var _postType$viewable;
|
|
33
|
-
const {
|
|
34
|
-
getEditedPostAttribute
|
|
35
|
-
} = select(_editor.store);
|
|
36
|
-
const {
|
|
37
|
-
getPostType
|
|
38
|
-
} = select(_coreData.store);
|
|
39
|
-
const postType = getPostType(getEditedPostAttribute('type'));
|
|
40
|
-
return {
|
|
41
|
-
hasActiveMetaboxes: select(_store.store).hasMetaBoxes(),
|
|
42
|
-
isPostSaveable: select(_editor.store).isEditedPostSaveable(),
|
|
43
|
-
isViewable: (_postType$viewable = postType?.viewable) !== null && _postType$viewable !== void 0 ? _postType$viewable : false,
|
|
44
|
-
deviceType: select(_store.store).__experimentalGetPreviewDeviceType(),
|
|
45
|
-
showIconLabels: select(_store.store).isFeatureActive('showIconLabels')
|
|
46
|
-
};
|
|
47
|
-
}, []);
|
|
48
|
-
const {
|
|
49
|
-
__experimentalSetPreviewDeviceType: setPreviewDeviceType
|
|
50
|
-
} = (0, _data.useDispatch)(_store.store);
|
|
51
|
-
return (0, _react.createElement)(_blockEditor.__experimentalPreviewOptions, {
|
|
52
|
-
isEnabled: isPostSaveable,
|
|
53
|
-
className: "edit-post-post-preview-dropdown",
|
|
54
|
-
deviceType: deviceType,
|
|
55
|
-
setDeviceType: setPreviewDeviceType,
|
|
56
|
-
label: (0, _i18n.__)('Preview'),
|
|
57
|
-
showIconLabels: showIconLabels
|
|
58
|
-
}, ({
|
|
59
|
-
onClose
|
|
60
|
-
}) => isViewable && (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)("div", {
|
|
61
|
-
className: "edit-post-header-preview__grouping-external"
|
|
62
|
-
}, (0, _react.createElement)(_editor.PostPreviewButton, {
|
|
63
|
-
className: "edit-post-header-preview__button-external",
|
|
64
|
-
role: "menuitem",
|
|
65
|
-
forceIsAutosaveable: hasActiveMetaboxes,
|
|
66
|
-
textContent: (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Preview in new tab'), (0, _react.createElement)(_components.Icon, {
|
|
67
|
-
icon: _icons.external
|
|
68
|
-
})),
|
|
69
|
-
onPreview: onClose
|
|
70
|
-
}))));
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_editor","_icons","_i18n","_blockEditor","_data","_coreData","_store","DevicePreview","hasActiveMetaboxes","isPostSaveable","isViewable","deviceType","showIconLabels","useSelect","select","_postType$viewable","getEditedPostAttribute","editorStore","getPostType","coreStore","postType","editPostStore","hasMetaBoxes","isEditedPostSaveable","viewable","__experimentalGetPreviewDeviceType","isFeatureActive","__experimentalSetPreviewDeviceType","setPreviewDeviceType","useDispatch","_react","createElement","__experimentalPreviewOptions","isEnabled","className","setDeviceType","label","__","onClose","MenuGroup","PostPreviewButton","role","forceIsAutosaveable","textContent","Fragment","Icon","icon","external","onPreview"],"sources":["@wordpress/edit-post/src/components/device-preview/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, MenuGroup } from '@wordpress/components';\nimport { PostPreviewButton, store as editorStore } from '@wordpress/editor';\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalPreviewOptions as PreviewOptions } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function DevicePreview() {\n\tconst {\n\t\thasActiveMetaboxes,\n\t\tisPostSaveable,\n\t\tisViewable,\n\t\tdeviceType,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisPostSaveable: select( editorStore ).isEditedPostSaveable(),\n\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\tdeviceType:\n\t\t\t\tselect( editPostStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\tconst { __experimentalSetPreviewDeviceType: setPreviewDeviceType } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<PreviewOptions\n\t\t\tisEnabled={ isPostSaveable }\n\t\t\tclassName=\"edit-post-post-preview-dropdown\"\n\t\t\tdeviceType={ deviceType }\n\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\tlabel={ __( 'Preview' ) }\n\t\t\tshowIconLabels={ showIconLabels }\n\t\t>\n\t\t\t{ ( { onClose } ) =>\n\t\t\t\tisViewable && (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<div className=\"edit-post-header-preview__grouping-external\">\n\t\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\t\tclassName=\"edit-post-header-preview__button-external\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPreview={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t)\n\t\t\t}\n\t\t</PreviewOptions>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGe,SAASQ,aAAaA,CAAA,EAAG;EACvC,MAAM;IACLC,kBAAkB;IAClBC,cAAc;IACdC,UAAU;IACVC,UAAU;IACVC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,kBAAA;IAC5B,MAAM;MAAEC;IAAuB,CAAC,GAAGF,MAAM,CAAEG,aAAY,CAAC;IACxD,MAAM;MAAEC;IAAY,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;IAC3C,MAAMC,QAAQ,GAAGF,WAAW,CAAEF,sBAAsB,CAAE,MAAO,CAAE,CAAC;IAEhE,OAAO;MACNR,kBAAkB,EAAEM,MAAM,CAAEO,YAAc,CAAC,CAACC,YAAY,CAAC,CAAC;MAC1Db,cAAc,EAAEK,MAAM,CAAEG,aAAY,CAAC,CAACM,oBAAoB,CAAC,CAAC;MAC5Db,UAAU,GAAAK,kBAAA,GAAEK,QAAQ,EAAEI,QAAQ,cAAAT,kBAAA,cAAAA,kBAAA,GAAI,KAAK;MACvCJ,UAAU,EACTG,MAAM,CAAEO,YAAc,CAAC,CAACI,kCAAkC,CAAC,CAAC;MAC7Db,cAAc,EACbE,MAAM,CAAEO,YAAc,CAAC,CAACK,eAAe,CAAE,gBAAiB;IAC5D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC,kCAAkC,EAAEC;EAAqB,CAAC,GACjE,IAAAC,iBAAW,EAAER,YAAc,CAAC;EAE7B,OACC,IAAAS,MAAA,CAAAC,aAAA,EAAC5B,YAAA,CAAA6B,4BAAc;IACdC,SAAS,EAAGxB,cAAgB;IAC5ByB,SAAS,EAAC,iCAAiC;IAC3CvB,UAAU,EAAGA,UAAY;IACzBwB,aAAa,EAAGP,oBAAsB;IACtCQ,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IACzBzB,cAAc,EAAGA;EAAgB,GAE/B,CAAE;IAAE0B;EAAQ,CAAC,KACd5B,UAAU,IACT,IAAAoB,MAAA,CAAAC,aAAA,EAACjC,WAAA,CAAAyC,SAAS,QACT,IAAAT,MAAA,CAAAC,aAAA;IAAKG,SAAS,EAAC;EAA6C,GAC3D,IAAAJ,MAAA,CAAAC,aAAA,EAAC/B,OAAA,CAAAwC,iBAAiB;IACjBN,SAAS,EAAC,2CAA2C;IACrDO,IAAI,EAAC,UAAU;IACfC,mBAAmB,EAAGlC,kBAAoB;IAC1CmC,WAAW,EACV,IAAAb,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACG,IAAAP,QAAE,EAAE,oBAAqB,CAAC,EAC5B,IAAAP,MAAA,CAAAC,aAAA,EAACjC,WAAA,CAAA+C,IAAI;MAACC,IAAI,EAAGC;IAAU,CAAE,CACxB,CACF;IACDC,SAAS,EAAGV;EAAS,CACrB,CACG,CACK,CAGE,CAAC;AAEnB"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _data = require("@wordpress/data");
|
|
10
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
-
var _components = require("@wordpress/components");
|
|
12
|
-
var _icons = require("@wordpress/icons");
|
|
13
|
-
var _commands = require("@wordpress/commands");
|
|
14
|
-
var _keycodes = require("@wordpress/keycodes");
|
|
15
|
-
var _store = require("../../../store");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function DocumentActions() {
|
|
25
|
-
const {
|
|
26
|
-
template
|
|
27
|
-
} = (0, _data.useSelect)(select => {
|
|
28
|
-
const {
|
|
29
|
-
getEditedPostTemplate
|
|
30
|
-
} = select(_store.store);
|
|
31
|
-
return {
|
|
32
|
-
template: getEditedPostTemplate()
|
|
33
|
-
};
|
|
34
|
-
}, []);
|
|
35
|
-
const {
|
|
36
|
-
clearSelectedBlock
|
|
37
|
-
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
38
|
-
const {
|
|
39
|
-
setIsEditingTemplate
|
|
40
|
-
} = (0, _data.useDispatch)(_store.store);
|
|
41
|
-
const {
|
|
42
|
-
open: openCommandCenter
|
|
43
|
-
} = (0, _data.useDispatch)(_commands.store);
|
|
44
|
-
if (!template) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
let templateTitle = (0, _i18n.__)('Default');
|
|
48
|
-
if (template?.title) {
|
|
49
|
-
templateTitle = template.title;
|
|
50
|
-
} else if (!!template) {
|
|
51
|
-
templateTitle = template.slug;
|
|
52
|
-
}
|
|
53
|
-
return (0, _react.createElement)("div", {
|
|
54
|
-
className: "edit-post-document-actions"
|
|
55
|
-
}, (0, _react.createElement)(_components.Button, {
|
|
56
|
-
className: "edit-post-document-actions__back",
|
|
57
|
-
onClick: () => {
|
|
58
|
-
clearSelectedBlock();
|
|
59
|
-
setIsEditingTemplate(false);
|
|
60
|
-
},
|
|
61
|
-
icon: (0, _i18n.isRTL)() ? _icons.chevronRightSmall : _icons.chevronLeftSmall
|
|
62
|
-
}, (0, _i18n.__)('Back')), (0, _react.createElement)(_components.Button, {
|
|
63
|
-
className: "edit-post-document-actions__command",
|
|
64
|
-
onClick: () => openCommandCenter()
|
|
65
|
-
}, (0, _react.createElement)(_components.__experimentalHStack, {
|
|
66
|
-
className: "edit-post-document-actions__title",
|
|
67
|
-
spacing: 1,
|
|
68
|
-
justify: "center"
|
|
69
|
-
}, (0, _react.createElement)(_blockEditor.BlockIcon, {
|
|
70
|
-
icon: _icons.layout
|
|
71
|
-
}), (0, _react.createElement)(_components.__experimentalText, {
|
|
72
|
-
size: "body",
|
|
73
|
-
as: "h1"
|
|
74
|
-
}, (0, _react.createElement)(_components.VisuallyHidden, {
|
|
75
|
-
as: "span"
|
|
76
|
-
}, (0, _i18n.__)('Editing template: ')), templateTitle)), (0, _react.createElement)("span", {
|
|
77
|
-
className: "edit-post-document-actions__shortcut"
|
|
78
|
-
}, _keycodes.displayShortcut.primary('k'))));
|
|
79
|
-
}
|
|
80
|
-
var _default = DocumentActions;
|
|
81
|
-
exports.default = _default;
|
|
82
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_data","_blockEditor","_components","_icons","_commands","_keycodes","_store","DocumentActions","template","useSelect","select","getEditedPostTemplate","editPostStore","clearSelectedBlock","useDispatch","blockEditorStore","setIsEditingTemplate","open","openCommandCenter","commandsStore","templateTitle","__","title","slug","_react","createElement","className","Button","onClick","icon","isRTL","chevronRightSmall","chevronLeftSmall","__experimentalHStack","spacing","justify","BlockIcon","layout","__experimentalText","size","as","VisuallyHidden","displayShortcut","primary","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/header/document-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { BlockIcon, store as blockEditorStore } from '@wordpress/block-editor';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { layout, chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nfunction DocumentActions() {\n\tconst { template } = useSelect( ( select ) => {\n\t\tconst { getEditedPostTemplate } = select( editPostStore );\n\n\t\treturn {\n\t\t\ttemplate: getEditedPostTemplate(),\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\tif ( ! template ) {\n\t\treturn null;\n\t}\n\n\tlet templateTitle = __( 'Default' );\n\tif ( template?.title ) {\n\t\ttemplateTitle = template.title;\n\t} else if ( !! template ) {\n\t\ttemplateTitle = template.slug;\n\t}\n\n\treturn (\n\t\t<div className=\"edit-post-document-actions\">\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-post-document-actions__back\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t} }\n\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-post-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-post-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ layout } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t{ __( 'Editing template: ' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t{ templateTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-post-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nexport default DocumentActions;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAnBA;AACA;AACA;;AAcA;AACA;AACA;;AAGA,SAASQ,eAAeA,CAAA,EAAG;EAC1B,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC7C,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEE,YAAc,CAAC;IAEzD,OAAO;MACNJ,QAAQ,EAAEG,qBAAqB,CAAC;IACjC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAC9D,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAF,iBAAW,EAAEF,YAAc,CAAC;EAC7D,MAAM;IAAEK,IAAI,EAAEC;EAAkB,CAAC,GAAG,IAAAJ,iBAAW,EAAEK,eAAc,CAAC;EAEhE,IAAK,CAAEX,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,IAAIY,aAAa,GAAG,IAAAC,QAAE,EAAE,SAAU,CAAC;EACnC,IAAKb,QAAQ,EAAEc,KAAK,EAAG;IACtBF,aAAa,GAAGZ,QAAQ,CAACc,KAAK;EAC/B,CAAC,MAAM,IAAK,CAAC,CAAEd,QAAQ,EAAG;IACzBY,aAAa,GAAGZ,QAAQ,CAACe,IAAI;EAC9B;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA4B,GAC1C,IAAAF,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAyB,MAAM;IACND,SAAS,EAAC,kCAAkC;IAC5CE,OAAO,EAAGA,CAAA,KAAM;MACff,kBAAkB,CAAC,CAAC;MACpBG,oBAAoB,CAAE,KAAM,CAAC;IAC9B,CAAG;IACHa,IAAI,EAAG,IAAAC,WAAK,EAAC,CAAC,GAAGC,wBAAiB,GAAGC;EAAkB,GAErD,IAAAX,QAAE,EAAE,MAAO,CACN,CAAC,EACT,IAAAG,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAyB,MAAM;IACND,SAAS,EAAC,qCAAqC;IAC/CE,OAAO,EAAGA,CAAA,KAAMV,iBAAiB,CAAC;EAAG,GAErC,IAAAM,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAA+B,oBAAM;IACNP,SAAS,EAAC,mCAAmC;IAC7CQ,OAAO,EAAG,CAAG;IACbC,OAAO,EAAC;EAAQ,GAEhB,IAAAX,MAAA,CAAAC,aAAA,EAACxB,YAAA,CAAAmC,SAAS;IAACP,IAAI,EAAGQ;EAAQ,CAAE,CAAC,EAC7B,IAAAb,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAoC,kBAAI;IAACC,IAAI,EAAC,MAAM;IAACC,EAAE,EAAC;EAAI,GACxB,IAAAhB,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAuC,cAAc;IAACD,EAAE,EAAC;EAAM,GACtB,IAAAnB,QAAE,EAAE,oBAAqB,CACZ,CAAC,EACfD,aACG,CACC,CAAC,EACT,IAAAI,MAAA,CAAAC,aAAA;IAAMC,SAAS,EAAC;EAAsC,GACnDgB,yBAAe,CAACC,OAAO,CAAE,GAAI,CAC1B,CACC,CACJ,CAAC;AAER;AAAC,IAAAC,QAAA,GAEcrC,eAAe;AAAAsC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _compose = require("@wordpress/compose");
|
|
9
|
-
var _data = require("@wordpress/data");
|
|
10
|
-
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
12
|
-
var _editor = require("@wordpress/editor");
|
|
13
|
-
var _components = require("@wordpress/components");
|
|
14
|
-
var _icons = require("@wordpress/icons");
|
|
15
|
-
var _element = require("@wordpress/element");
|
|
16
|
-
var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
|
|
17
|
-
var _store = require("../../../store");
|
|
18
|
-
var _lockUnlock = require("../../../lock-unlock");
|
|
19
|
-
/**
|
|
20
|
-
* WordPress dependencies
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Internal dependencies
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
const {
|
|
28
|
-
useShouldContextualToolbarShow
|
|
29
|
-
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
30
|
-
const preventDefault = event => {
|
|
31
|
-
event.preventDefault();
|
|
32
|
-
};
|
|
33
|
-
function HeaderToolbar({
|
|
34
|
-
hasFixedToolbar,
|
|
35
|
-
setListViewToggleElement
|
|
36
|
-
}) {
|
|
37
|
-
const inserterButton = (0, _element.useRef)();
|
|
38
|
-
const {
|
|
39
|
-
setIsInserterOpened,
|
|
40
|
-
setIsListViewOpened
|
|
41
|
-
} = (0, _data.useDispatch)(_store.store);
|
|
42
|
-
const {
|
|
43
|
-
isInserterEnabled,
|
|
44
|
-
isInserterOpened,
|
|
45
|
-
isTextModeEnabled,
|
|
46
|
-
showIconLabels,
|
|
47
|
-
isListViewOpen,
|
|
48
|
-
listViewShortcut
|
|
49
|
-
} = (0, _data.useSelect)(select => {
|
|
50
|
-
const {
|
|
51
|
-
hasInserterItems,
|
|
52
|
-
getBlockRootClientId,
|
|
53
|
-
getBlockSelectionEnd
|
|
54
|
-
} = select(_blockEditor.store);
|
|
55
|
-
const {
|
|
56
|
-
getEditorSettings
|
|
57
|
-
} = select(_editor.store);
|
|
58
|
-
const {
|
|
59
|
-
getEditorMode,
|
|
60
|
-
isFeatureActive,
|
|
61
|
-
isListViewOpened
|
|
62
|
-
} = select(_store.store);
|
|
63
|
-
const {
|
|
64
|
-
getShortcutRepresentation
|
|
65
|
-
} = select(_keyboardShortcuts.store);
|
|
66
|
-
return {
|
|
67
|
-
// This setting (richEditingEnabled) should not live in the block editor's setting.
|
|
68
|
-
isInserterEnabled: getEditorMode() === 'visual' && getEditorSettings().richEditingEnabled && hasInserterItems(getBlockRootClientId(getBlockSelectionEnd())),
|
|
69
|
-
isInserterOpened: select(_store.store).isInserterOpened(),
|
|
70
|
-
isTextModeEnabled: getEditorMode() === 'text',
|
|
71
|
-
showIconLabels: isFeatureActive('showIconLabels'),
|
|
72
|
-
isListViewOpen: isListViewOpened(),
|
|
73
|
-
listViewShortcut: getShortcutRepresentation('core/edit-post/toggle-list-view')
|
|
74
|
-
};
|
|
75
|
-
}, []);
|
|
76
|
-
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
77
|
-
const isWideViewport = (0, _compose.useViewportMatch)('wide');
|
|
78
|
-
const {
|
|
79
|
-
shouldShowContextualToolbar,
|
|
80
|
-
canFocusHiddenToolbar,
|
|
81
|
-
fixedToolbarCanBeFocused
|
|
82
|
-
} = useShouldContextualToolbarShow();
|
|
83
|
-
// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.
|
|
84
|
-
// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.
|
|
85
|
-
const blockToolbarCanBeFocused = shouldShowContextualToolbar || canFocusHiddenToolbar || fixedToolbarCanBeFocused;
|
|
86
|
-
/* translators: accessibility text for the editor toolbar */
|
|
87
|
-
const toolbarAriaLabel = (0, _i18n.__)('Document tools');
|
|
88
|
-
const toggleListView = (0, _element.useCallback)(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
|
|
89
|
-
const overflowItems = (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.ToolbarItem, {
|
|
90
|
-
as: _components.Button,
|
|
91
|
-
className: "edit-post-header-toolbar__document-overview-toggle",
|
|
92
|
-
icon: _icons.listView,
|
|
93
|
-
disabled: isTextModeEnabled,
|
|
94
|
-
isPressed: isListViewOpen
|
|
95
|
-
/* translators: button label text should, if possible, be under 16 characters. */,
|
|
96
|
-
label: (0, _i18n.__)('Document Overview'),
|
|
97
|
-
onClick: toggleListView,
|
|
98
|
-
shortcut: listViewShortcut,
|
|
99
|
-
showTooltip: !showIconLabels,
|
|
100
|
-
variant: showIconLabels ? 'tertiary' : undefined,
|
|
101
|
-
"aria-expanded": isListViewOpen,
|
|
102
|
-
ref: setListViewToggleElement
|
|
103
|
-
}));
|
|
104
|
-
const toggleInserter = (0, _element.useCallback)(() => {
|
|
105
|
-
if (isInserterOpened) {
|
|
106
|
-
// Focusing the inserter button should close the inserter popover.
|
|
107
|
-
// However, there are some cases it won't close when the focus is lost.
|
|
108
|
-
// See https://github.com/WordPress/gutenberg/issues/43090 for more details.
|
|
109
|
-
inserterButton.current.focus();
|
|
110
|
-
setIsInserterOpened(false);
|
|
111
|
-
} else {
|
|
112
|
-
setIsInserterOpened(true);
|
|
113
|
-
}
|
|
114
|
-
}, [isInserterOpened, setIsInserterOpened]);
|
|
115
|
-
|
|
116
|
-
/* translators: button label text should, if possible, be under 16 characters. */
|
|
117
|
-
const longLabel = (0, _i18n._x)('Toggle block inserter', 'Generic label for block inserter button');
|
|
118
|
-
const shortLabel = !isInserterOpened ? (0, _i18n.__)('Add') : (0, _i18n.__)('Close');
|
|
119
|
-
return (0, _react.createElement)(_blockEditor.NavigableToolbar, {
|
|
120
|
-
className: "edit-post-header-toolbar",
|
|
121
|
-
"aria-label": toolbarAriaLabel,
|
|
122
|
-
shouldUseKeyboardFocusShortcut: !blockToolbarCanBeFocused,
|
|
123
|
-
variant: "unstyled"
|
|
124
|
-
}, (0, _react.createElement)("div", {
|
|
125
|
-
className: "edit-post-header-toolbar__left"
|
|
126
|
-
}, (0, _react.createElement)(_components.ToolbarItem, {
|
|
127
|
-
ref: inserterButton,
|
|
128
|
-
as: _components.Button,
|
|
129
|
-
className: "edit-post-header-toolbar__inserter-toggle",
|
|
130
|
-
variant: "primary",
|
|
131
|
-
isPressed: isInserterOpened,
|
|
132
|
-
onMouseDown: preventDefault,
|
|
133
|
-
onClick: toggleInserter,
|
|
134
|
-
disabled: !isInserterEnabled,
|
|
135
|
-
icon: _icons.plus,
|
|
136
|
-
label: showIconLabels ? shortLabel : longLabel,
|
|
137
|
-
showTooltip: !showIconLabels,
|
|
138
|
-
"aria-expanded": isInserterOpened
|
|
139
|
-
}), (isWideViewport || !showIconLabels) && (0, _react.createElement)(_react.Fragment, null, isLargeViewport && !hasFixedToolbar && (0, _react.createElement)(_components.ToolbarItem, {
|
|
140
|
-
as: _blockEditor.ToolSelector,
|
|
141
|
-
showTooltip: !showIconLabels,
|
|
142
|
-
variant: showIconLabels ? 'tertiary' : undefined,
|
|
143
|
-
disabled: isTextModeEnabled
|
|
144
|
-
}), (0, _react.createElement)(_components.ToolbarItem, {
|
|
145
|
-
as: _editor.EditorHistoryUndo,
|
|
146
|
-
showTooltip: !showIconLabels,
|
|
147
|
-
variant: showIconLabels ? 'tertiary' : undefined
|
|
148
|
-
}), (0, _react.createElement)(_components.ToolbarItem, {
|
|
149
|
-
as: _editor.EditorHistoryRedo,
|
|
150
|
-
showTooltip: !showIconLabels,
|
|
151
|
-
variant: showIconLabels ? 'tertiary' : undefined
|
|
152
|
-
}), overflowItems)));
|
|
153
|
-
}
|
|
154
|
-
var _default = HeaderToolbar;
|
|
155
|
-
exports.default = _default;
|
|
156
|
-
//# sourceMappingURL=index.js.map
|