@wordpress/editor 14.9.0 → 14.10.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/bindings/api.js +0 -29
- package/build/bindings/api.js.map +1 -1
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/block-manager/index.js +2 -2
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/commands/index.js.map +1 -1
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/create-template-part-modal/utils.js.map +1 -1
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/document-tools/index.js +1 -1
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-interface/index.js +1 -12
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/index.js +1 -1
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/page-attributes/parent.js +1 -1
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-content-information/index.js +1 -1
- package/build/components/post-content-information/index.js.map +1 -1
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-format/index.js +1 -1
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/index.js +1 -1
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-locked-modal/index.js +2 -2
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +1 -1
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +1 -0
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/media-util.js +1 -0
- package/build/components/post-publish-panel/media-util.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +1 -1
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +4 -4
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +3 -2
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +1 -1
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-template/classic-theme.js +2 -4
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-text-editor/index.js.map +1 -1
- package/build/components/post-title/index.js +15 -19
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js +2 -2
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-url/index.js +76 -63
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-url/panel.js +46 -26
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/preview-dropdown/index.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/resizable-editor/resize-handle.js.map +1 -1
- package/build/components/time-to-read/index.js +1 -1
- package/build/components/time-to-read/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +4 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/visual-editor/index.js +4 -3
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build/dataviews/actions/duplicate-template-part.js +1 -1
- package/build/dataviews/actions/duplicate-template-part.js.map +1 -1
- package/build/private-apis.js +0 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +26 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +1 -0
- package/build/store/constants.js.map +1 -1
- package/build/store/local-autosave.js.map +1 -1
- package/build/store/private-actions.js +7 -6
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +21 -0
- package/build/store/selectors.js.map +1 -1
- package/build/utils/media-upload/index.js.map +1 -1
- package/build-module/bindings/api.js +1 -29
- package/build-module/bindings/api.js.map +1 -1
- package/build-module/components/autocompleters/user.js +1 -3
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/block-manager/category.js +1 -2
- package/build-module/components/block-manager/category.js.map +1 -1
- package/build-module/components/block-manager/checklist.js +1 -2
- package/build-module/components/block-manager/checklist.js.map +1 -1
- package/build-module/components/block-manager/index.js +3 -4
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -3
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/blog-title/index.js +1 -3
- package/build-module/components/blog-title/index.js.map +1 -1
- package/build-module/components/collapsible-block-toolbar/index.js +1 -3
- package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
- package/build-module/components/commands/index.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +1 -2
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/create-template-part-modal/utils.js.map +1 -1
- package/build-module/components/document-bar/index.js +1 -2
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/index.js +1 -2
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +1 -2
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/document-tools/index.js +2 -4
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor/index.js +1 -3
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-help/add-blocks.native.js +1 -3
- package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/customize-blocks.native.js +1 -3
- package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js +1 -2
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +1 -3
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-help/intro-to-blocks.native.js +1 -3
- package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/move-blocks.native.js +1 -3
- package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/remove-blocks.native.js +1 -3
- package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
- package/build-module/components/editor-help/view-sections.native.js +1 -2
- package/build-module/components/editor-help/view-sections.native.js.map +1 -1
- package/build-module/components/editor-interface/index.js +2 -15
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/editor-notices/index.js +1 -3
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +1 -3
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +1 -2
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +2 -3
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.native.js +1 -2
- package/build-module/components/error-boundary/index.native.js.map +1 -1
- package/build-module/components/header/index.js +1 -2
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -2
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -3
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/list-view-sidebar/list-view-outline.js +1 -3
- package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/more-menu/index.js +1 -3
- package/build-module/components/more-menu/index.js.map +1 -1
- package/build-module/components/offline-status/index.native.js +1 -2
- package/build-module/components/offline-status/index.native.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +2 -3
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/plugin-document-setting-panel/index.js +1 -3
- package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/post-actions/index.js +1 -3
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/panel.js +1 -2
- package/build-module/components/post-author/panel.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +1 -2
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-content-information/index.js +1 -1
- package/build-module/components/post-content-information/index.js.map +1 -1
- package/build-module/components/post-discussion/panel.js +1 -2
- package/build-module/components/post-discussion/panel.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +1 -3
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +1 -2
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-format/index.js +2 -3
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-format/panel.js +1 -2
- package/build-module/components/post-format/panel.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +1 -1
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +3 -5
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-panel-row/index.js +1 -2
- package/build-module/components/post-panel-row/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +2 -4
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +1 -2
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +1 -3
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -2
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js +2 -3
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +1 -2
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +2 -2
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/media-util.js +1 -0
- package/build-module/components/post-publish-panel/media-util.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js +2 -4
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-publish-panel/prepublish.js +1 -3
- package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +1 -2
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-status/index.js +1 -3
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +1 -3
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +5 -7
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +4 -4
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +1 -1
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +1 -2
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-taxonomies/panel.js.map +1 -1
- package/build-module/components/post-template/block-theme.js +1 -3
- package/build-module/components/post-template/block-theme.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +3 -6
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +1 -2
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/post-template/create-new-template.js +1 -3
- package/build-module/components/post-template/create-new-template.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js +1 -3
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-text-editor/index.js +1 -3
- package/build-module/components/post-text-editor/index.js.map +1 -1
- package/build-module/components/post-title/index.js +15 -19
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js +2 -2
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-trash/index.js +1 -2
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-url/index.js +78 -66
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-url/panel.js +48 -28
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/post-visibility/index.js +1 -2
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/posts-per-page/index.js +1 -3
- package/build-module/components/posts-per-page/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -3
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/preview-dropdown/index.js +1 -3
- package/build-module/components/preview-dropdown/index.js.map +1 -1
- package/build-module/components/provider/index.js +2 -4
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +1 -3
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/resizable-editor/resize-handle.js +1 -3
- package/build-module/components/resizable-editor/resize-handle.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +1 -3
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-module/components/sidebar/header.js +1 -2
- package/build-module/components/sidebar/header.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +1 -3
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/site-discussion/index.js +1 -3
- package/build-module/components/site-discussion/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +1 -2
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js +1 -3
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/components/template-part-menu-items/convert-to-template-part.js +1 -3
- package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
- package/build-module/components/template-validation-notice/index.js +1 -3
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/text-editor/index.js +1 -2
- package/build-module/components/text-editor/index.js.map +1 -1
- package/build-module/components/time-to-read/index.js +1 -1
- package/build-module/components/time-to-read/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +4 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/visual-editor/index.js +5 -6
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build-module/dataviews/actions/duplicate-template-part.js +1 -1
- package/build-module/dataviews/actions/duplicate-template-part.js.map +1 -1
- package/build-module/hooks/pattern-overrides.js +1 -3
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/private-apis.js +1 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +26 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +1 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/local-autosave.js.map +1 -1
- package/build-module/store/private-actions.js +7 -6
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +21 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-style/style-rtl.css +20 -5
- package/build-style/style.css +20 -5
- package/build-types/bindings/api.d.ts +0 -13
- package/build-types/bindings/api.d.ts.map +1 -1
- package/build-types/components/editor-interface/index.d.ts +1 -2
- package/build-types/components/editor-interface/index.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
- package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
- package/build-types/components/post-url/index.d.ts.map +1 -1
- package/build-types/components/post-url/panel.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
- package/build-types/components/visual-editor/index.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/store/actions.d.ts +1 -4
- package/build-types/store/actions.d.ts.map +1 -1
- package/build-types/store/selectors.d.ts +21 -0
- package/build-types/store/selectors.d.ts.map +1 -1
- package/package.json +38 -38
- package/src/bindings/api.js +1 -32
- package/src/components/document-tools/index.js +1 -1
- package/src/components/editor-interface/index.js +0 -15
- package/src/components/header/style.scss +1 -0
- package/src/components/post-saved-state/test/__snapshots__/index.js.snap +1 -1
- package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -0
- package/src/components/post-template/classic-theme.js +1 -2
- package/src/components/post-url/index.js +67 -55
- package/src/components/post-url/panel.js +57 -33
- package/src/components/post-url/style.scss +21 -3
- package/src/components/provider/index.js +1 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +5 -1
- package/src/components/visual-editor/index.js +3 -1
- package/src/private-apis.js +1 -5
- package/src/store/actions.js +28 -1
- package/src/store/selectors.js +21 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -3,11 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useMemo, useState } from '@wordpress/element';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import {
|
|
7
|
-
Dropdown,
|
|
8
|
-
Button,
|
|
9
|
-
__experimentalTruncate as Truncate,
|
|
10
|
-
} from '@wordpress/components';
|
|
6
|
+
import { Dropdown, Button, ExternalLink } from '@wordpress/components';
|
|
11
7
|
import { __, sprintf } from '@wordpress/i18n';
|
|
12
8
|
import { safeDecodeURIComponent } from '@wordpress/url';
|
|
13
9
|
import { store as coreStore } from '@wordpress/core-data';
|
|
@@ -26,6 +22,20 @@ import { store as editorStore } from '../../store';
|
|
|
26
22
|
* @return {JSX.Element} The rendered PostURLPanel component.
|
|
27
23
|
*/
|
|
28
24
|
export default function PostURLPanel() {
|
|
25
|
+
const { isFrontPage } = useSelect( ( select ) => {
|
|
26
|
+
const { getCurrentPostId } = select( editorStore );
|
|
27
|
+
const { getEditedEntityRecord, canUser } = select( coreStore );
|
|
28
|
+
const siteSettings = canUser( 'read', {
|
|
29
|
+
kind: 'root',
|
|
30
|
+
name: 'site',
|
|
31
|
+
} )
|
|
32
|
+
? getEditedEntityRecord( 'root', 'site' )
|
|
33
|
+
: undefined;
|
|
34
|
+
const _id = getCurrentPostId();
|
|
35
|
+
return {
|
|
36
|
+
isFrontPage: siteSettings?.page_on_front === _id,
|
|
37
|
+
};
|
|
38
|
+
}, [] );
|
|
29
39
|
// Use internal state instead of a ref to make sure that the component
|
|
30
40
|
// re-renders when the popover's anchor updates.
|
|
31
41
|
const [ popoverAnchor, setPopoverAnchor ] = useState( null );
|
|
@@ -42,41 +52,38 @@ export default function PostURLPanel() {
|
|
|
42
52
|
[ popoverAnchor ]
|
|
43
53
|
);
|
|
44
54
|
|
|
55
|
+
const label = isFrontPage ? __( 'Link' ) : __( 'Slug' );
|
|
56
|
+
|
|
45
57
|
return (
|
|
46
58
|
<PostURLCheck>
|
|
47
|
-
<PostPanelRow label={
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
<PostPanelRow label={ label } ref={ setPopoverAnchor }>
|
|
60
|
+
{ ! isFrontPage && (
|
|
61
|
+
<Dropdown
|
|
62
|
+
popoverProps={ popoverProps }
|
|
63
|
+
className="editor-post-url__panel-dropdown"
|
|
64
|
+
contentClassName="editor-post-url__panel-dialog"
|
|
65
|
+
focusOnMount
|
|
66
|
+
renderToggle={ ( { isOpen, onToggle } ) => (
|
|
67
|
+
<PostURLToggle
|
|
68
|
+
isOpen={ isOpen }
|
|
69
|
+
onClick={ onToggle }
|
|
70
|
+
/>
|
|
71
|
+
) }
|
|
72
|
+
renderContent={ ( { onClose } ) => (
|
|
73
|
+
<PostURL onClose={ onClose } />
|
|
74
|
+
) }
|
|
75
|
+
/>
|
|
76
|
+
) }
|
|
77
|
+
{ isFrontPage && <FrontPageLink /> }
|
|
60
78
|
</PostPanelRow>
|
|
61
79
|
</PostURLCheck>
|
|
62
80
|
);
|
|
63
81
|
}
|
|
64
82
|
|
|
65
83
|
function PostURLToggle( { isOpen, onClick } ) {
|
|
66
|
-
const { slug
|
|
67
|
-
const { getCurrentPostId, getCurrentPost } = select( editorStore );
|
|
68
|
-
const { getEditedEntityRecord, canUser } = select( coreStore );
|
|
69
|
-
const siteSettings = canUser( 'read', {
|
|
70
|
-
kind: 'root',
|
|
71
|
-
name: 'site',
|
|
72
|
-
} )
|
|
73
|
-
? getEditedEntityRecord( 'root', 'site' )
|
|
74
|
-
: undefined;
|
|
75
|
-
const _id = getCurrentPostId();
|
|
84
|
+
const { slug } = useSelect( ( select ) => {
|
|
76
85
|
return {
|
|
77
86
|
slug: select( editorStore ).getEditedPostSlug(),
|
|
78
|
-
isFrontPage: siteSettings?.page_on_front === _id,
|
|
79
|
-
postLink: getCurrentPost()?.link,
|
|
80
87
|
};
|
|
81
88
|
}, [] );
|
|
82
89
|
const decodedSlug = safeDecodeURIComponent( slug );
|
|
@@ -90,9 +97,26 @@ function PostURLToggle( { isOpen, onClick } ) {
|
|
|
90
97
|
aria-label={ sprintf( __( 'Change link: %s' ), decodedSlug ) }
|
|
91
98
|
onClick={ onClick }
|
|
92
99
|
>
|
|
93
|
-
|
|
94
|
-
{ isFrontPage ? postLink : `/${ decodedSlug }` }
|
|
95
|
-
</Truncate>
|
|
100
|
+
<>{ decodedSlug }</>
|
|
96
101
|
</Button>
|
|
97
102
|
);
|
|
98
103
|
}
|
|
104
|
+
|
|
105
|
+
function FrontPageLink() {
|
|
106
|
+
const { postLink } = useSelect( ( select ) => {
|
|
107
|
+
const { getCurrentPost } = select( editorStore );
|
|
108
|
+
return {
|
|
109
|
+
postLink: getCurrentPost()?.link,
|
|
110
|
+
};
|
|
111
|
+
}, [] );
|
|
112
|
+
|
|
113
|
+
return (
|
|
114
|
+
<ExternalLink
|
|
115
|
+
className="editor-post-url__front-page-link"
|
|
116
|
+
href={ postLink }
|
|
117
|
+
target="_blank"
|
|
118
|
+
>
|
|
119
|
+
{ postLink }
|
|
120
|
+
</ExternalLink>
|
|
121
|
+
);
|
|
122
|
+
}
|
|
@@ -9,14 +9,19 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
/* rtl:begin:ignore */
|
|
12
|
-
.editor-post-url__link
|
|
12
|
+
.editor-post-url__link,
|
|
13
|
+
.editor-post-url__front-page-link {
|
|
13
14
|
direction: ltr;
|
|
14
15
|
word-break: break-word;
|
|
15
|
-
margin-top: $grid-unit-05;
|
|
16
|
-
color: $gray-700;
|
|
17
16
|
}
|
|
18
17
|
/* rtl:end:ignore */
|
|
19
18
|
|
|
19
|
+
.editor-post-url__front-page-link {
|
|
20
|
+
// Match padding on tertiary buttons for alignment.
|
|
21
|
+
padding: $grid-unit-15 * 0.5 0 $grid-unit-15 * 0.5 $grid-unit-15;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
20
25
|
.editor-post-url__link-slug {
|
|
21
26
|
font-weight: 600;
|
|
22
27
|
}
|
|
@@ -30,3 +35,16 @@
|
|
|
30
35
|
.editor-post-url__panel-toggle {
|
|
31
36
|
word-break: break-word;
|
|
32
37
|
}
|
|
38
|
+
|
|
39
|
+
.editor-post-url__intro {
|
|
40
|
+
margin: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.editor-post-url__permalink {
|
|
44
|
+
margin-top: $grid-unit-10;
|
|
45
|
+
margin-bottom: 0;
|
|
46
|
+
|
|
47
|
+
&-visual-label {
|
|
48
|
+
display: block;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -61,7 +61,11 @@ export default function EditTemplateBlocksNotification( { contentRef } ) {
|
|
|
61
61
|
) {
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
|
|
65
|
+
if ( ! event.defaultPrevented ) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
setIsDialogOpen( true );
|
|
68
|
+
}
|
|
65
69
|
};
|
|
66
70
|
|
|
67
71
|
const canvas = contentRef.current;
|
|
@@ -48,6 +48,7 @@ const {
|
|
|
48
48
|
useLayoutStyles,
|
|
49
49
|
ExperimentalBlockCanvas: BlockCanvas,
|
|
50
50
|
useFlashEditableBlocks,
|
|
51
|
+
useZoomOutModeExit,
|
|
51
52
|
} = unlock( blockEditorPrivateApis );
|
|
52
53
|
|
|
53
54
|
/**
|
|
@@ -335,13 +336,14 @@ function VisualEditor( {
|
|
|
335
336
|
useSelectNearestEditableBlock( {
|
|
336
337
|
isEnabled: renderingMode === 'template-locked',
|
|
337
338
|
} ),
|
|
339
|
+
useZoomOutModeExit(),
|
|
338
340
|
] );
|
|
339
341
|
|
|
340
342
|
const zoomOutProps =
|
|
341
343
|
isZoomedOut && ! isTabletViewport
|
|
342
344
|
? {
|
|
343
345
|
scale: 'default',
|
|
344
|
-
frameSize: '
|
|
346
|
+
frameSize: '40px',
|
|
345
347
|
}
|
|
346
348
|
: {};
|
|
347
349
|
|
package/src/private-apis.js
CHANGED
|
@@ -23,10 +23,7 @@ import {
|
|
|
23
23
|
mergeBaseAndUserConfigs,
|
|
24
24
|
GlobalStylesProvider,
|
|
25
25
|
} from './components/global-styles-provider';
|
|
26
|
-
import {
|
|
27
|
-
registerCoreBlockBindingsSources,
|
|
28
|
-
bootstrapBlockBindingsSourcesFromServer,
|
|
29
|
-
} from './bindings/api';
|
|
26
|
+
import { registerCoreBlockBindingsSources } from './bindings/api';
|
|
30
27
|
|
|
31
28
|
const { store: interfaceStore, ...remainingInterfaceApis } = interfaceApis;
|
|
32
29
|
|
|
@@ -47,7 +44,6 @@ lock( privateApis, {
|
|
|
47
44
|
ViewMoreMenuGroup,
|
|
48
45
|
ResizableEditor,
|
|
49
46
|
registerCoreBlockBindingsSources,
|
|
50
|
-
bootstrapBlockBindingsSourcesFromServer,
|
|
51
47
|
|
|
52
48
|
// This is a temporary private API while we're updating the site editor to use EditorProvider.
|
|
53
49
|
interfaceStore,
|
package/src/store/actions.js
CHANGED
|
@@ -159,6 +159,29 @@ export function setEditedPost( postType, postId ) {
|
|
|
159
159
|
*
|
|
160
160
|
* @param {Object} edits Post attributes to edit.
|
|
161
161
|
* @param {Object} options Options for the edit.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```js
|
|
165
|
+
* // Update the post title
|
|
166
|
+
* wp.data.dispatch( 'core/editor' ).editPost( { title: `${ newTitle }` } );
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
*```js
|
|
171
|
+
* // Get specific media size based on the featured media ID
|
|
172
|
+
* // Note: change sizes?.large for any registered size
|
|
173
|
+
* const getFeaturedMediaUrl = useSelect( ( select ) => {
|
|
174
|
+
* const getFeaturedMediaId =
|
|
175
|
+
* select( 'core/editor' ).getEditedPostAttribute( 'featured_media' );
|
|
176
|
+
* const getMedia = select( 'core' ).getMedia( getFeaturedMediaId );
|
|
177
|
+
*
|
|
178
|
+
* return (
|
|
179
|
+
* getMedia?.media_details?.sizes?.large?.source_url || getMedia?.source_url || ''
|
|
180
|
+
* );
|
|
181
|
+
* }, [] );
|
|
182
|
+
* ```
|
|
183
|
+
*
|
|
184
|
+
* @return {Object} Action object
|
|
162
185
|
*/
|
|
163
186
|
export const editPost =
|
|
164
187
|
( edits, options ) =>
|
|
@@ -255,7 +278,11 @@ export const savePost =
|
|
|
255
278
|
|
|
256
279
|
if ( ! error ) {
|
|
257
280
|
try {
|
|
258
|
-
await doActionAsync(
|
|
281
|
+
await doActionAsync(
|
|
282
|
+
'editor.savePost',
|
|
283
|
+
{ id: previousRecord.id },
|
|
284
|
+
options
|
|
285
|
+
);
|
|
259
286
|
} catch ( err ) {
|
|
260
287
|
error = err;
|
|
261
288
|
}
|
package/src/store/selectors.js
CHANGED
|
@@ -177,6 +177,11 @@ export const getCurrentPost = createRegistrySelector(
|
|
|
177
177
|
*
|
|
178
178
|
* @param {Object} state Global application state.
|
|
179
179
|
*
|
|
180
|
+
* @example
|
|
181
|
+
*
|
|
182
|
+
*```js
|
|
183
|
+
* const currentPostType = wp.data.select( 'core/editor' ).getCurrentPostType();
|
|
184
|
+
*```
|
|
180
185
|
* @return {string} Post type.
|
|
181
186
|
*/
|
|
182
187
|
export function getCurrentPostType( state ) {
|
|
@@ -316,6 +321,22 @@ const getNestedEditedPostProperty = createSelector(
|
|
|
316
321
|
* @param {Object} state Global application state.
|
|
317
322
|
* @param {string} attributeName Post attribute name.
|
|
318
323
|
*
|
|
324
|
+
* @example
|
|
325
|
+
*
|
|
326
|
+
*```js
|
|
327
|
+
* // Get specific media size based on the featured media ID
|
|
328
|
+
* // Note: change sizes?.large for any registered size
|
|
329
|
+
* const getFeaturedMediaUrl = useSelect( ( select ) => {
|
|
330
|
+
* const getFeaturedMediaId =
|
|
331
|
+
* select( 'core/editor' ).getEditedPostAttribute( 'featured_media' );
|
|
332
|
+
* const getMedia = select( 'core' ).getMedia( getFeaturedMediaId );
|
|
333
|
+
*
|
|
334
|
+
* return (
|
|
335
|
+
* getMedia?.media_details?.sizes?.large?.source_url || getMedia?.source_url || ''
|
|
336
|
+
* );
|
|
337
|
+
* }, [] );
|
|
338
|
+
*```
|
|
339
|
+
*
|
|
319
340
|
* @return {*} Post attribute value.
|
|
320
341
|
*/
|
|
321
342
|
export function getEditedPostAttribute( state, attributeName ) {
|