@wordpress/edit-site 6.1.0 → 6.3.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 +10 -6
- package/build/components/add-new-pattern/index.js +31 -16
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/{add-new-page → add-new-post}/index.js +28 -16
- package/build/components/add-new-post/index.js.map +1 -0
- package/build/components/block-editor/use-site-editor-settings.js +5 -3
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +32 -7
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +18 -7
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +0 -5
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +17 -17
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +2 -2
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +13 -30
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/hooks.js +0 -40
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/preview-typography.js +47 -0
- package/build/components/global-styles/preview-typography.js.map +1 -0
- package/build/components/global-styles/screen-block.js +14 -0
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +5 -1
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +1 -2
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +5 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typography-elements.js +0 -2
- package/build/components/global-styles/typography-elements.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +28 -22
- package/build/components/global-styles/variations/variation.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +5 -3
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +14 -27
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-sidebar/index.js +2 -2
- package/build/components/global-styles-sidebar/index.js.map +1 -1
- package/build/components/layout/index.js +16 -8
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +20 -41
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/index.js +51 -41
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/rename-category-menu-item.js +3 -1
- package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build/components/page-patterns/search-items.js +29 -4
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +22 -55
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/index.js +27 -21
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/pagination/index.js +4 -4
- package/build/components/pagination/index.js.map +1 -1
- package/build/components/posts-app/index.js +11 -17
- package/build/components/posts-app/index.js.map +1 -1
- package/build/components/{page-pages/index.js → posts-app/posts-list.js} +165 -38
- package/build/components/posts-app/posts-list.js.map +1 -0
- package/build/components/posts-app/router.js +85 -0
- package/build/components/posts-app/router.js.map +1 -0
- package/build/components/revisions/index.js +10 -7
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -1
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +98 -84
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +4 -1
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +3 -3
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +5 -2
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/site-hub/index.js +81 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/deprecated.js +11 -0
- package/build/deprecated.js.map +1 -1
- package/build/hooks/commands/use-set-command-context.js +11 -0
- package/build/hooks/commands/use-set-command-context.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +65 -42
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/posts.js +57 -2
- package/build/posts.js.map +1 -1
- package/build/store/private-actions.js +7 -2
- package/build/store/private-actions.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +31 -16
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/{add-new-page → add-new-post}/index.js +28 -16
- package/build-module/components/add-new-post/index.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +5 -3
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +33 -8
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +19 -8
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +0 -5
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +18 -18
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +2 -2
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +14 -31
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +0 -38
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/preview-typography.js +39 -0
- package/build-module/components/global-styles/preview-typography.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +15 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +5 -1
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +1 -2
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +6 -6
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typography-elements.js +0 -2
- package/build-module/components/global-styles/typography-elements.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +29 -23
- package/build-module/components/global-styles/variations/variation.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +5 -3
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +16 -28
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-sidebar/index.js +2 -2
- package/build-module/components/global-styles-sidebar/index.js.map +1 -1
- package/build-module/components/layout/index.js +14 -8
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +20 -41
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/index.js +52 -42
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js +3 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +28 -4
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +23 -56
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/index.js +27 -21
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/pagination/index.js +4 -4
- package/build-module/components/pagination/index.js.map +1 -1
- package/build-module/components/posts-app/index.js +11 -17
- package/build-module/components/posts-app/index.js.map +1 -1
- package/build-module/components/{page-pages/index.js → posts-app/posts-list.js} +164 -37
- package/build-module/components/posts-app/posts-list.js.map +1 -0
- package/build-module/components/posts-app/router.js +77 -0
- package/build-module/components/posts-app/router.js.map +1 -0
- package/build-module/components/revisions/index.js +10 -7
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +1 -1
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +97 -84
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +5 -2
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +3 -3
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +5 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/site-hub/index.js +81 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/deprecated.js +11 -0
- package/build-module/deprecated.js.map +1 -1
- package/build-module/hooks/commands/use-set-command-context.js +11 -0
- package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +61 -38
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +7 -2
- package/build-module/index.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/posts.js +57 -2
- package/build-module/posts.js.map +1 -1
- package/build-module/store/private-actions.js +7 -2
- package/build-module/store/private-actions.js.map +1 -1
- package/build-style/posts-rtl.css +108 -28
- package/build-style/posts.css +108 -28
- package/build-style/style-rtl.css +127 -157
- package/build-style/style.css +127 -157
- package/lib/inflate.js +3188 -3937
- package/lib/lib-font.browser.js +32 -2
- package/lib/unbrotli.js +1818 -2458
- package/package.json +41 -41
- package/src/components/add-new-pattern/index.js +38 -23
- package/src/components/{add-new-page → add-new-post}/index.js +42 -18
- package/src/components/block-editor/style.scss +0 -11
- package/src/components/block-editor/use-site-editor-settings.js +33 -28
- package/src/components/editor/index.js +34 -20
- package/src/components/editor-canvas-container/index.js +20 -8
- package/src/components/global-styles/background-panel.js +0 -8
- package/src/components/global-styles/font-families.js +28 -19
- package/src/components/global-styles/font-library-modal/context.js +2 -2
- package/src/components/global-styles/font-library-modal/font-collection.js +17 -32
- package/src/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/src/components/global-styles/font-library-modal/style.scss +17 -10
- package/src/components/global-styles/hooks.js +0 -41
- package/src/components/global-styles/preview-typography.js +39 -0
- package/src/components/global-styles/screen-block.js +22 -0
- package/src/components/global-styles/screen-layout.js +5 -1
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/src/components/global-styles/shadows-edit-panel.js +1 -2
- package/src/components/global-styles/style-variations-container.js +10 -7
- package/src/components/global-styles/style.scss +2 -1
- package/src/components/global-styles/typography-elements.js +0 -4
- package/src/components/global-styles/variations/variation.js +41 -26
- package/src/components/global-styles/variations/variations-color.js +6 -3
- package/src/components/global-styles/variations/variations-typography.js +16 -32
- package/src/components/global-styles-sidebar/index.js +2 -2
- package/src/components/layout/index.js +13 -4
- package/src/components/layout/router.js +20 -36
- package/src/components/layout/style.scss +12 -0
- package/src/components/page-patterns/index.js +55 -58
- package/src/components/page-patterns/rename-category-menu-item.js +2 -0
- package/src/components/page-patterns/search-items.js +37 -3
- package/src/components/page-patterns/style.scss +1 -8
- package/src/components/page-patterns/use-patterns.js +43 -82
- package/src/components/page-templates/index.js +26 -21
- package/src/components/page-templates/style.scss +1 -6
- package/src/components/pagination/index.js +4 -4
- package/src/components/posts-app/index.js +9 -11
- package/src/components/{page-pages/index.js → posts-app/posts-list.js} +163 -42
- package/src/components/posts-app/router.js +69 -0
- package/src/components/{page-pages → posts-app}/style.scss +22 -8
- package/src/components/revisions/index.js +9 -1
- package/src/components/save-panel/index.js +1 -1
- package/src/components/sidebar/style.scss +6 -0
- package/src/components/sidebar-dataviews/add-new-view.js +2 -1
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/src/components/sidebar-dataviews/default-views.js +119 -98
- package/src/components/sidebar-dataviews/index.js +3 -3
- package/src/components/sidebar-navigation-screen-global-styles/index.js +7 -6
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +8 -2
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -2
- package/src/components/site-hub/index.js +84 -1
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -2
- package/src/deprecated.js +14 -0
- package/src/hooks/commands/use-set-command-context.js +12 -0
- package/src/hooks/push-changes-to-global-styles/index.js +1 -1
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +28 -24
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +72 -47
- package/src/index.js +8 -1
- package/src/lock-unlock.js +1 -1
- package/src/posts.js +63 -2
- package/src/posts.scss +9 -0
- package/src/store/private-actions.js +7 -3
- package/src/style.scss +14 -2
- package/build/components/add-new-page/index.js.map +0 -1
- package/build/components/page-pages/index.js.map +0 -1
- package/build/components/table/index.js +0 -35
- package/build/components/table/index.js.map +0 -1
- package/build-module/components/add-new-page/index.js.map +0 -1
- package/build-module/components/page-pages/index.js.map +0 -1
- package/build-module/components/table/index.js +0 -30
- package/build-module/components/table/index.js.map +0 -1
- package/src/components/table/index.js +0 -33
- package/src/components/table/style.scss +0 -38
|
@@ -34,6 +34,7 @@ export default function AddNewPattern() {
|
|
|
34
34
|
const history = useHistory();
|
|
35
35
|
const [showPatternModal, setShowPatternModal] = useState(false);
|
|
36
36
|
const [showTemplatePartModal, setShowTemplatePartModal] = useState(false);
|
|
37
|
+
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
|
|
37
38
|
const {
|
|
38
39
|
createPatternFromFile
|
|
39
40
|
} = unlock(useDispatch(patternsStore));
|
|
@@ -45,16 +46,22 @@ export default function AddNewPattern() {
|
|
|
45
46
|
const {
|
|
46
47
|
isBlockBasedTheme,
|
|
47
48
|
addNewPatternLabel,
|
|
48
|
-
addNewTemplatePartLabel
|
|
49
|
+
addNewTemplatePartLabel,
|
|
50
|
+
canCreatePattern,
|
|
51
|
+
canCreateTemplatePart
|
|
49
52
|
} = useSelect(select => {
|
|
50
53
|
const {
|
|
51
54
|
getCurrentTheme,
|
|
52
|
-
getPostType
|
|
55
|
+
getPostType,
|
|
56
|
+
canUser
|
|
53
57
|
} = select(coreStore);
|
|
54
58
|
return {
|
|
55
59
|
isBlockBasedTheme: getCurrentTheme()?.is_block_theme,
|
|
56
60
|
addNewPatternLabel: getPostType(PATTERN_TYPES.user)?.labels?.add_new_item,
|
|
57
|
-
addNewTemplatePartLabel: getPostType(TEMPLATE_PART_POST_TYPE)?.labels?.add_new_item
|
|
61
|
+
addNewTemplatePartLabel: getPostType(TEMPLATE_PART_POST_TYPE)?.labels?.add_new_item,
|
|
62
|
+
// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.
|
|
63
|
+
canCreatePattern: canUser('create', 'blocks'),
|
|
64
|
+
canCreateTemplatePart: canUser('create', 'template-parts')
|
|
58
65
|
};
|
|
59
66
|
}, []);
|
|
60
67
|
function handleCreatePattern({
|
|
@@ -81,29 +88,37 @@ export default function AddNewPattern() {
|
|
|
81
88
|
setShowPatternModal(false);
|
|
82
89
|
setShowTemplatePartModal(false);
|
|
83
90
|
}
|
|
84
|
-
const controls = [
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
const controls = [];
|
|
92
|
+
if (canCreatePattern) {
|
|
93
|
+
controls.push({
|
|
94
|
+
icon: symbol,
|
|
95
|
+
onClick: () => setShowPatternModal(true),
|
|
96
|
+
title: addNewPatternLabel
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (isBlockBasedTheme && canCreateTemplatePart) {
|
|
90
100
|
controls.push({
|
|
91
101
|
icon: symbolFilled,
|
|
92
102
|
onClick: () => setShowTemplatePartModal(true),
|
|
93
103
|
title: addNewTemplatePartLabel
|
|
94
104
|
});
|
|
95
105
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
if (canCreatePattern) {
|
|
107
|
+
controls.push({
|
|
108
|
+
icon: upload,
|
|
109
|
+
onClick: () => {
|
|
110
|
+
patternUploadInputRef.current.click();
|
|
111
|
+
},
|
|
112
|
+
title: __('Import pattern from JSON')
|
|
113
|
+
});
|
|
114
|
+
}
|
|
103
115
|
const {
|
|
104
116
|
categoryMap,
|
|
105
117
|
findOrCreateTerm
|
|
106
118
|
} = useAddPatternCategory();
|
|
119
|
+
if (controls.length === 0) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
107
122
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
108
123
|
children: [addNewPatternLabel && /*#__PURE__*/_jsx(DropdownMenu, {
|
|
109
124
|
controls: controls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","noticesStore","coreStore","editorPrivateApis","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useHistory","CreatePatternModal","useAddPatternCategory","CreateTemplatePartModal","AddNewPattern","history","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","select","getCurrentTheme","getPostType","is_block_theme","user","labels","add_new_item","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","categoryMap","findOrCreateTerm","children","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","name","undefined","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { isBlockBasedTheme, addNewPatternLabel, addNewTemplatePartLabel } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getCurrentTheme, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t\t?.add_new_item,\n\t\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t\t?.labels?.add_new_item,\n\t\t\t};\n\t\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","noticesStore","coreStore","editorPrivateApis","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useHistory","CreatePatternModal","useAddPatternCategory","CreateTemplatePartModal","AddNewPattern","history","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","canCreatePattern","canCreateTemplatePart","select","getCurrentTheme","getPostType","canUser","is_block_theme","user","labels","add_new_item","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","categoryMap","findOrCreateTerm","length","children","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","name","undefined","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst {\n\t\tisBlockBasedTheme,\n\t\taddNewPatternLabel,\n\t\taddNewTemplatePartLabel,\n\t\tcanCreatePattern,\n\t\tcanCreateTemplatePart,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getPostType, canUser } = select( coreStore );\n\t\treturn {\n\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t?.labels?.add_new_item,\n\t\t\t// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.\n\t\t\tcanCreatePattern: canUser( 'create', 'blocks' ),\n\t\t\tcanCreateTemplatePart: canUser( 'create', 'template-parts' ),\n\t\t};\n\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [];\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t} );\n\t}\n\n\tif ( isBlockBasedTheme && canCreateTemplatePart ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: upload,\n\t\t\tonClick: () => {\n\t\t\t\tpatternUploadInputRef.current.click();\n\t\t\t},\n\t\t\ttitle: __( 'Import pattern from JSON' ),\n\t\t} );\n\t}\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\tif ( controls.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Button, Modal, __experimentalHStack as HStack, __experimentalVStack as VStack, TextControl } from '@wordpress/components';
|
|
5
5
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
|
-
import { useDispatch } from '@wordpress/data';
|
|
6
|
+
import { useDispatch, useRegistry, useSelect } from '@wordpress/data';
|
|
7
7
|
import { useState } from '@wordpress/element';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { store as noticesStore } from '@wordpress/notices';
|
|
10
10
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
|
+
import { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
export default function
|
|
14
|
+
export default function AddNewPostModal({
|
|
15
|
+
postType,
|
|
14
16
|
onSave,
|
|
15
17
|
onClose
|
|
16
18
|
}) {
|
|
17
|
-
const
|
|
19
|
+
const labels = useSelect(select => select(coreStore).getPostType(postType)?.labels, [postType]);
|
|
20
|
+
const [isCreatingPost, setIsCreatingPost] = useState(false);
|
|
18
21
|
const [title, setTitle] = useState('');
|
|
19
22
|
const {
|
|
20
23
|
saveEntityRecord
|
|
@@ -23,45 +26,54 @@ export default function AddNewPageModal({
|
|
|
23
26
|
createErrorNotice,
|
|
24
27
|
createSuccessNotice
|
|
25
28
|
} = useDispatch(noticesStore);
|
|
26
|
-
|
|
29
|
+
const {
|
|
30
|
+
resolveSelect
|
|
31
|
+
} = useRegistry();
|
|
32
|
+
async function createPost(event) {
|
|
27
33
|
event.preventDefault();
|
|
28
|
-
if (
|
|
34
|
+
if (isCreatingPost) {
|
|
29
35
|
return;
|
|
30
36
|
}
|
|
31
|
-
|
|
37
|
+
setIsCreatingPost(true);
|
|
32
38
|
try {
|
|
33
|
-
const
|
|
39
|
+
const postTypeObject = await resolveSelect(coreStore).getPostType(postType);
|
|
40
|
+
const newPage = await saveEntityRecord('postType', postType, {
|
|
34
41
|
status: 'draft',
|
|
35
42
|
title,
|
|
36
|
-
slug: title || __('No title')
|
|
43
|
+
slug: title || __('No title'),
|
|
44
|
+
content: !!postTypeObject.template && postTypeObject.template.length ? serialize(synchronizeBlocksWithTemplate([], postTypeObject.template)) : undefined
|
|
37
45
|
}, {
|
|
38
46
|
throwOnError: true
|
|
39
47
|
});
|
|
40
48
|
onSave(newPage);
|
|
41
49
|
createSuccessNotice(sprintf(
|
|
42
|
-
// translators: %s: Title of the created
|
|
50
|
+
// translators: %s: Title of the created post e.g: "Hello world".
|
|
43
51
|
__('"%s" successfully created.'), decodeEntities(newPage.title?.rendered || title)), {
|
|
44
52
|
type: 'snackbar'
|
|
45
53
|
});
|
|
46
54
|
} catch (error) {
|
|
47
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while creating the
|
|
55
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while creating the item.');
|
|
48
56
|
createErrorNotice(errorMessage, {
|
|
49
57
|
type: 'snackbar'
|
|
50
58
|
});
|
|
51
59
|
} finally {
|
|
52
|
-
|
|
60
|
+
setIsCreatingPost(false);
|
|
53
61
|
}
|
|
54
62
|
}
|
|
55
63
|
return /*#__PURE__*/_jsx(Modal, {
|
|
56
|
-
title:
|
|
64
|
+
title:
|
|
65
|
+
// translators: %s: post type singular_name label e.g: "Page".
|
|
66
|
+
sprintf(__('Draft new: %s'), labels?.singular_name),
|
|
57
67
|
onRequestClose: onClose,
|
|
68
|
+
focusOnMount: "firstContentElement",
|
|
69
|
+
size: "small",
|
|
58
70
|
children: /*#__PURE__*/_jsx("form", {
|
|
59
|
-
onSubmit:
|
|
71
|
+
onSubmit: createPost,
|
|
60
72
|
children: /*#__PURE__*/_jsxs(VStack, {
|
|
61
73
|
spacing: 3,
|
|
62
74
|
children: [/*#__PURE__*/_jsx(TextControl, {
|
|
63
75
|
__next40pxDefaultSize: true,
|
|
64
|
-
label: __('
|
|
76
|
+
label: __('Title'),
|
|
65
77
|
onChange: setTitle,
|
|
66
78
|
placeholder: __('No title'),
|
|
67
79
|
value: title
|
|
@@ -77,8 +89,8 @@ export default function AddNewPageModal({
|
|
|
77
89
|
__next40pxDefaultSize: true,
|
|
78
90
|
variant: "primary",
|
|
79
91
|
type: "submit",
|
|
80
|
-
isBusy:
|
|
81
|
-
"aria-disabled":
|
|
92
|
+
isBusy: isCreatingPost,
|
|
93
|
+
"aria-disabled": isCreatingPost,
|
|
82
94
|
children: __('Create draft')
|
|
83
95
|
})]
|
|
84
96
|
})]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","__","sprintf","useDispatch","useRegistry","useSelect","useState","store","coreStore","noticesStore","decodeEntities","serialize","synchronizeBlocksWithTemplate","jsx","_jsx","jsxs","_jsxs","AddNewPostModal","postType","onSave","onClose","labels","select","getPostType","isCreatingPost","setIsCreatingPost","title","setTitle","saveEntityRecord","createErrorNotice","createSuccessNotice","resolveSelect","createPost","event","preventDefault","postTypeObject","newPage","status","slug","content","template","length","undefined","throwOnError","rendered","type","error","errorMessage","message","code","singular_name","onRequestClose","focusOnMount","size","children","onSubmit","spacing","__next40pxDefaultSize","label","onChange","placeholder","value","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/add-new-post/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';\n\nexport default function AddNewPostModal( { postType, onSave, onClose } ) {\n\tconst labels = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( postType )?.labels,\n\t\t[ postType ]\n\t);\n\tconst [ isCreatingPost, setIsCreatingPost ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { resolveSelect } = useRegistry();\n\n\tasync function createPost( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPost ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPost( true );\n\t\ttry {\n\t\t\tconst postTypeObject =\n\t\t\t\tawait resolveSelect( coreStore ).getPostType( postType );\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: title || __( 'No title' ),\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t!! postTypeObject.template &&\n\t\t\t\t\t\tpostTypeObject.template.length\n\t\t\t\t\t\t\t? serialize(\n\t\t\t\t\t\t\t\t\tsynchronizeBlocksWithTemplate(\n\t\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t\t\tpostTypeObject.template\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newPage.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the item.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPost( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\t// translators: %s: post type singular_name label e.g: \"Page\".\n\t\t\t\tsprintf( __( 'Draft new: %s' ), labels?.singular_name )\n\t\t\t}\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ createPost }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPost }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPost }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -110,7 +110,7 @@ export function useSpecificEditorSettings() {
|
|
|
110
110
|
templateSlug,
|
|
111
111
|
canvasMode,
|
|
112
112
|
settings,
|
|
113
|
-
|
|
113
|
+
shouldUseTemplateAsDefaultRenderingMode
|
|
114
114
|
} = useSelect(select => {
|
|
115
115
|
const {
|
|
116
116
|
getEditedPostType,
|
|
@@ -130,11 +130,13 @@ export function useSpecificEditorSettings() {
|
|
|
130
130
|
templateSlug: _record.slug,
|
|
131
131
|
canvasMode: getCanvasMode(),
|
|
132
132
|
settings: getSettings(),
|
|
133
|
-
|
|
133
|
+
// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.
|
|
134
|
+
// @see https://github.com/WordPress/gutenberg/pull/62304/
|
|
135
|
+
shouldUseTemplateAsDefaultRenderingMode: _context?.postId && _context?.postType !== 'post'
|
|
134
136
|
};
|
|
135
137
|
}, []);
|
|
136
138
|
const archiveLabels = useArchiveLabel(templateSlug);
|
|
137
|
-
const defaultRenderingMode =
|
|
139
|
+
const defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode ? 'template-locked' : 'post-only';
|
|
138
140
|
const onNavigateToPreviousEntityRecord = useNavigateToPreviousEntityRecord();
|
|
139
141
|
const defaultEditorSettings = useMemo(() => {
|
|
140
142
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","shouldUseTemplateAsDefaultRenderingMode","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst {\n\t\ttemplateSlug,\n\t\tcanvasMode,\n\t\tsettings,\n\t\tshouldUseTemplateAsDefaultRenderingMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tgetSettings,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\tconst _context = getEditedPostContext();\n\t\treturn {\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tsettings: getSettings(),\n\t\t\t// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.\n\t\t\t// @see https://github.com/WordPress/gutenberg/pull/62304/\n\t\t\tshouldUseTemplateAsDefaultRenderingMode:\n\t\t\t\t_context?.postId && _context?.postType !== 'post',\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,12 +31,14 @@ import { useSpecificEditorSettings } from '../block-editor/use-site-editor-setti
|
|
|
31
31
|
import PluginTemplateSettingPanel from '../plugin-template-setting-panel';
|
|
32
32
|
import GlobalStylesSidebar from '../global-styles-sidebar';
|
|
33
33
|
import { isPreviewingTheme } from '../../utils/is-previewing-theme';
|
|
34
|
-
import {
|
|
34
|
+
import { getEditorCanvasContainerTitleAndIcon, useHasEditorCanvasContainer } from '../editor-canvas-container';
|
|
35
35
|
import SaveButton from '../save-button';
|
|
36
|
+
import SavePanel from '../save-panel';
|
|
36
37
|
import SiteEditorMoreMenu from '../more-menu';
|
|
37
38
|
import SiteIcon from '../site-icon';
|
|
38
39
|
import useEditorIframeProps from '../block-editor/use-editor-iframe-props';
|
|
39
40
|
import useEditorTitle from './use-editor-title';
|
|
41
|
+
import { useIsSiteEditorLoading } from '../layout/hooks';
|
|
40
42
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
41
43
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
42
44
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -45,14 +47,19 @@ const {
|
|
|
45
47
|
BackButton
|
|
46
48
|
} = unlock(editorPrivateApis);
|
|
47
49
|
const {
|
|
48
|
-
useHistory
|
|
50
|
+
useHistory,
|
|
51
|
+
useLocation
|
|
49
52
|
} = unlock(routerPrivateApis);
|
|
50
53
|
const {
|
|
51
54
|
BlockKeyboardShortcuts
|
|
52
55
|
} = unlock(blockLibraryPrivateApis);
|
|
53
56
|
export default function EditSiteEditor({
|
|
54
|
-
|
|
57
|
+
isPostsList = false
|
|
55
58
|
}) {
|
|
59
|
+
const {
|
|
60
|
+
params
|
|
61
|
+
} = useLocation();
|
|
62
|
+
const isLoading = useIsSiteEditorLoading();
|
|
56
63
|
const {
|
|
57
64
|
editedPostType,
|
|
58
65
|
editedPostId,
|
|
@@ -66,6 +73,7 @@ export default function EditSiteEditor({
|
|
|
66
73
|
currentPostIsTrashed
|
|
67
74
|
} = useSelect(select => {
|
|
68
75
|
const {
|
|
76
|
+
getEditorCanvasContainerView,
|
|
69
77
|
getEditedPostContext,
|
|
70
78
|
getCanvasMode,
|
|
71
79
|
isPage,
|
|
@@ -91,7 +99,7 @@ export default function EditSiteEditor({
|
|
|
91
99
|
isEditingPage: isPage(),
|
|
92
100
|
supportsGlobalStyles: getCurrentTheme()?.is_block_theme,
|
|
93
101
|
showIconLabels: get('core', 'showIconLabels'),
|
|
94
|
-
editorCanvasView:
|
|
102
|
+
editorCanvasView: getEditorCanvasContainerView(),
|
|
95
103
|
currentPostIsTrashed: select(editorStore).getCurrentPostAttribute('status') === 'trash'
|
|
96
104
|
};
|
|
97
105
|
}, []);
|
|
@@ -106,8 +114,7 @@ export default function EditSiteEditor({
|
|
|
106
114
|
const styles = useMemo(() => [...settings.styles, {
|
|
107
115
|
// Forming a "block formatting context" to prevent margin collapsing.
|
|
108
116
|
// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
|
|
109
|
-
|
|
110
|
-
css: `body{${canvasMode === 'view' ? `min-height: 100vh; ${currentPostIsTrashed ? '' : 'cursor: pointer;'}` : ''}}}`
|
|
117
|
+
css: canvasMode === 'view' ? `body{min-height: 100vh; ${currentPostIsTrashed ? '' : 'cursor: pointer;'}}` : undefined
|
|
111
118
|
}], [settings.styles, canvasMode, currentPostIsTrashed]);
|
|
112
119
|
const {
|
|
113
120
|
setCanvasMode
|
|
@@ -150,6 +157,12 @@ export default function EditSiteEditor({
|
|
|
150
157
|
break;
|
|
151
158
|
}
|
|
152
159
|
}, [history, createSuccessNotice]);
|
|
160
|
+
|
|
161
|
+
// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.
|
|
162
|
+
const {
|
|
163
|
+
title,
|
|
164
|
+
icon
|
|
165
|
+
} = getEditorCanvasContainerTitleAndIcon(editorCanvasView);
|
|
153
166
|
const isReady = !isLoading;
|
|
154
167
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
155
168
|
children: [/*#__PURE__*/_jsx(GlobalStylesRenderer, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcutsRegister, {}), isEditMode && /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), !isReady ? /*#__PURE__*/_jsx(CanvasLoader, {
|
|
@@ -167,8 +180,10 @@ export default function EditSiteEditor({
|
|
|
167
180
|
customSaveButton: _isPreviewingTheme && /*#__PURE__*/_jsx(SaveButton, {
|
|
168
181
|
size: "compact"
|
|
169
182
|
}),
|
|
183
|
+
customSavePanel: _isPreviewingTheme && /*#__PURE__*/_jsx(SavePanel, {}),
|
|
170
184
|
forceDisableBlockTools: !hasDefaultEditorCanvasView,
|
|
171
|
-
title:
|
|
185
|
+
title: title,
|
|
186
|
+
icon: icon,
|
|
172
187
|
iframeProps: iframeProps,
|
|
173
188
|
onActionPerformed: onActionPerformed,
|
|
174
189
|
extraSidebarPanels: !isEditingPage && /*#__PURE__*/_jsx(PluginTemplateSettingPanel.Slot, {}),
|
|
@@ -178,7 +193,17 @@ export default function EditSiteEditor({
|
|
|
178
193
|
}) => length <= 1 && /*#__PURE__*/_jsx(Button, {
|
|
179
194
|
label: __('Open Navigation'),
|
|
180
195
|
className: "edit-site-layout__view-mode-toggle",
|
|
181
|
-
onClick: () =>
|
|
196
|
+
onClick: () => {
|
|
197
|
+
setCanvasMode('view');
|
|
198
|
+
// TODO: this is a temporary solution to navigate to the posts list if we are
|
|
199
|
+
// come here through `posts list` and are in focus mode editing a template, template part etc..
|
|
200
|
+
if (isPostsList && params?.focusMode) {
|
|
201
|
+
history.push({
|
|
202
|
+
page: 'gutenberg-posts-dashboard',
|
|
203
|
+
postType: 'post'
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
},
|
|
182
207
|
children: /*#__PURE__*/_jsx(SiteIcon, {
|
|
183
208
|
className: "edit-site-layout__view-mode-toggle-icon"
|
|
184
209
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","SaveButton","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","BlockKeyboardShortcuts","EditSiteEditor","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getEditorCanvasContainerView","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","forceDisableBlockTools","extraSidebarPanels","Slot","length"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isLoading } ) {\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `body{${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\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}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t! hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t? getEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SACCC,+BAA+B,EAC/BC,WAAW,IAAIC,iBAAiB,EAChCC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASH,KAAK,IAAII,aAAa,QAAQ,sBAAsB;AAC7D,SAASN,WAAW,IAAIO,uBAAuB,QAAQ,0BAA0B;AACjF,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;AACzD,SAASP,KAAK,IAAIQ,YAAY,QAAQ,oBAAoB;AAC1D,SAASV,WAAW,IAAIW,iBAAiB,QAAQ,mBAAmB;AACpE,SAAST,KAAK,IAAIU,gBAAgB,QAAQ,wBAAwB;AAClE,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,SAASZ,KAAK,IAAIa,aAAa,QAAQ,aAAa;AACpD,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,yBAAyB,QAAQ,0CAA0C;AACpF,OAAOC,0BAA0B,MAAM,kCAAkC;AACzE,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,SAASC,iBAAiB,QAAQ,iCAAiC;AACnE,SACCC,6BAA6B,EAC7BC,2BAA2B,QACrB,4BAA4B;AACnC,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,kBAAkB,MAAM,cAAc;AAC7C,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,oBAAoB,MAAM,yCAAyC;AAC1E,OAAOC,cAAc,MAAM,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEhD,MAAM;EAAEC,MAAM;EAAEC;AAAW,CAAC,GAAGnB,MAAM,CAAEjB,iBAAkB,CAAC;AAC1D,MAAM;EAAEqC;AAAW,CAAC,GAAGpB,MAAM,CAAEP,iBAAkB,CAAC;AAClD,MAAM;EAAE4B;AAAuB,CAAC,GAAGrB,MAAM,CAAEX,uBAAwB,CAAC;AAEpE,eAAe,SAASiC,cAAcA,CAAE;EAAEC;AAAU,CAAC,EAAG;EACvD,MAAM;IACLC,cAAc;IACdC,YAAY;IACZC,eAAe;IACfC,aAAa;IACbC,UAAU;IACVC,aAAa;IACbC,oBAAoB;IACpBC,cAAc;IACdC,gBAAgB;IAChBC;EACD,CAAC,GAAGvD,SAAS,CAAIwD,MAAM,IAAM;IAC5B,MAAM;MACLC,oBAAoB;MACpBC,aAAa;MACbC,MAAM;MACNC,iBAAiB;MACjBC;IACD,CAAC,GAAGvC,MAAM,CAAEkC,MAAM,CAAErC,aAAc,CAAE,CAAC;IACrC,MAAM;MAAE2C;IAAI,CAAC,GAAGN,MAAM,CAAExC,gBAAiB,CAAC;IAC1C,MAAM;MAAE+C;IAAgB,CAAC,GAAGP,MAAM,CAAE9C,aAAc,CAAC;IACnD,MAAMsD,QAAQ,GAAGP,oBAAoB,CAAC,CAAC;;IAEvC;IACA;IACA,OAAO;MACNX,cAAc,EAAEc,iBAAiB,CAAC,CAAC;MACnCb,YAAY,EAAEc,eAAe,CAAC,CAAC;MAC/Bb,eAAe,EAAEgB,QAAQ,EAAEC,MAAM,GAAGD,QAAQ,CAACE,QAAQ,GAAGC,SAAS;MACjElB,aAAa,EAAEe,QAAQ,EAAEC,MAAM,GAAGD,QAAQ,CAACC,MAAM,GAAGE,SAAS;MAC7DjB,UAAU,EAAEQ,aAAa,CAAC,CAAC;MAC3BP,aAAa,EAAEQ,MAAM,CAAC,CAAC;MACvBP,oBAAoB,EAAEW,eAAe,CAAC,CAAC,EAAEK,cAAc;MACvDf,cAAc,EAAES,GAAG,CAAE,MAAM,EAAE,gBAAiB,CAAC;MAC/CR,gBAAgB,EAAEhC,MAAM,CACvBkC,MAAM,CAAErC,aAAc,CACvB,CAAC,CAACkD,4BAA4B,CAAC,CAAC;MAChCd,oBAAoB,EACnBC,MAAM,CAAEjD,WAAY,CAAC,CAAC+D,uBAAuB,CAAE,QAAS,CAAC,KACzD;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACPrC,cAAc,CAAC,CAAC;EAChB,MAAMsC,kBAAkB,GAAG7C,iBAAiB,CAAC,CAAC;EAC9C,MAAM8C,0BAA0B,GAAG,CAAE5C,2BAA2B,CAAC,CAAC;EAClE,MAAM6C,WAAW,GAAGzC,oBAAoB,CAAC,CAAC;EAC1C,MAAM0C,UAAU,GAAGxB,UAAU,KAAK,MAAM;EACxC,MAAMyB,gBAAgB,GAAG,CAAC,CAAE1B,aAAa;EACzC,MAAM2B,iBAAiB,GAAG1E,aAAa,CACtCmB,YAAY,EACZ,oCACD,CAAC;EAED,MAAMwD,QAAQ,GAAGtD,yBAAyB,CAAC,CAAC;EAC5C,MAAMuD,MAAM,GAAGjE,OAAO,CACrB,MAAM,CACL,GAAGgE,QAAQ,CAACC,MAAM,EAClB;IACC;IACA;;IAEAC,GAAG,EAAG,QACL7B,UAAU,KAAK,MAAM,GACjB,sBACDK,oBAAoB,GAAG,EAAE,GAAG,kBAC3B,EAAC,GACF,EACH;EACF,CAAC,CACD,EACD,CAAEsB,QAAQ,CAACC,MAAM,EAAE5B,UAAU,EAAEK,oBAAoB,CACpD,CAAC;EACD,MAAM;IAAEyB;EAAc,CAAC,GAAG1D,MAAM,CAAEvB,WAAW,CAAEoB,aAAc,CAAE,CAAC;EAChE,MAAM;IAAE8D;EAAoB,CAAC,GAAGlF,WAAW,CAAEe,YAAa,CAAC;EAC3D,MAAMoE,OAAO,GAAGxC,UAAU,CAAC,CAAC;EAC5B,MAAMyC,iBAAiB,GAAGvE,WAAW,CACpC,CAAEwE,QAAQ,EAAEC,KAAK,KAAM;IACtB,QAASD,QAAQ;MAChB,KAAK,eAAe;MACpB,KAAK,aAAa;QACjB;UACCF,OAAO,CAACI,IAAI,CAAE;YACbpB,QAAQ,EAAEmB,KAAK,CAAE,CAAC,CAAE,CAACE;UACtB,CAAE,CAAC;QACJ;QACA;MACD,KAAK,gBAAgB;QACpB;UACC,MAAMC,OAAO,GAAGH,KAAK,CAAE,CAAC,CAAE;UAC1B,MAAMI,MAAM,GACX,OAAOD,OAAO,CAACE,KAAK,KAAK,QAAQ,GAC9BF,OAAO,CAACE,KAAK,GACbF,OAAO,CAACE,KAAK,EAAEC,QAAQ;UAC3BV,mBAAmB,CAClBxE,OAAO;UACN;UACAD,EAAE,CAAE,4BAA6B,CAAC,EAClCS,cAAc,CAAEwE,MAAO,CACxB,CAAC,EACD;YACCF,IAAI,EAAE,UAAU;YAChBK,EAAE,EAAE,uBAAuB;YAC3BC,OAAO,EAAE,CACR;cACCC,KAAK,EAAEtF,EAAE,CAAE,MAAO,CAAC;cACnBuF,OAAO,EAAEA,CAAA,KAAM;gBACdb,OAAO,CAACI,IAAI,CAAE;kBACbrB,MAAM,EAAEuB,OAAO,CAACI,EAAE;kBAClB1B,QAAQ,EAAEsB,OAAO,CAACD,IAAI;kBACtBS,MAAM,EAAE;gBACT,CAAE,CAAC;cACJ;YACD,CAAC;UAEH,CACD,CAAC;QACF;QACA;IACF;EACD,CAAC,EACD,CAAEd,OAAO,EAAED,mBAAmB,CAC/B,CAAC;EAED,MAAMgB,OAAO,GAAG,CAAEpD,SAAS;EAE3B,oBACCR,KAAA,CAAAE,SAAA;IAAA2D,QAAA,gBACC/D,IAAA,CAACf,oBAAoB,IAAE,CAAC,eACxBe,IAAA,CAAChC,+BAA+B,IAAE,CAAC,EACjCuE,UAAU,iBAAIvC,IAAA,CAACQ,sBAAsB,IAAE,CAAC,EACxC,CAAEsD,OAAO,gBAAG9D,IAAA,CAACd,YAAY;MAACuE,EAAE,EAAGhB;IAAmB,CAAE,CAAC,GAAG,IAAI,EAC5DF,UAAU,iBAAIvC,IAAA,CAACjB,YAAY,IAAE,CAAC,EAC9B+E,OAAO,iBACR5D,KAAA,CAACG,MAAM;MACN0B,QAAQ,EACPS,gBAAgB,GAAG3B,eAAe,GAAGF,cACrC;MACDmB,MAAM,EAAGU,gBAAgB,GAAG1B,aAAa,GAAGF,YAAc;MAC1DoD,UAAU,EAAGxB,gBAAgB,GAAG5B,YAAY,GAAGoB,SAAW;MAC1DU,QAAQ,EAAGA,QAAU;MACrBuB,SAAS,EAAGtG,IAAI,CAAE,oCAAoC,EAAE;QACvD,kBAAkB,EAAEuD;MACrB,CAAE,CAAG;MACLyB,MAAM,EAAGA,MAAQ;MACjBuB,sBAAsB,EAAG,KAAO;MAChCC,gBAAgB,EACf/B,kBAAkB,iBAAIpC,IAAA,CAACN,UAAU;QAAC0E,IAAI,EAAC;MAAS,CAAE,CAClD;MACDC,sBAAsB,EAAG,CAAEhC,0BAA4B;MACvDkB,KAAK,EACJ,CAAElB,0BAA0B,GACzB7C,6BAA6B,CAAE2B,gBAAiB,CAAC,GACjDa,SACH;MACDM,WAAW,EAAGA,WAAa;MAC3BU,iBAAiB,EAAGA,iBAAmB;MACvCsB,kBAAkB,EACjB,CAAEtD,aAAa,iBAAIhB,IAAA,CAACX,0BAA0B,CAACkF,IAAI,IAAE,CACrD;MAAAR,QAAA,GAECxB,UAAU,iBACXvC,IAAA,CAACM,UAAU;QAAAyD,QAAA,EACRA,CAAE;UAAES;QAAO,CAAC,KACbA,MAAM,IAAI,CAAC,iBACVxE,IAAA,CAAClC,MAAM;UACN6F,KAAK,EAAGtF,EAAE,CAAE,iBAAkB,CAAG;UACjC4F,SAAS,EAAC,oCAAoC;UAC9CL,OAAO,EAAGA,CAAA,KACTf,aAAa,CAAE,MAAO,CACtB;UAAAkB,QAAA,eAED/D,IAAA,CAACJ,QAAQ;YAACqE,SAAS,EAAC;UAAyC,CAAE;QAAC,CACzD;MACR,CAES,CACZ,eACDjE,IAAA,CAACL,kBAAkB,IAAE,CAAC,EACpBsB,oBAAoB,iBAAIjB,IAAA,CAACV,mBAAmB,IAAE,CAAC;IAAA,CAC1C,CACR;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitleAndIcon","useHasEditorCanvasContainer","SaveButton","SavePanel","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","useIsSiteEditorLoading","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","useLocation","BlockKeyboardShortcuts","EditSiteEditor","isPostsList","params","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditorCanvasContainerView","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","icon","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","customSavePanel","forceDisableBlockTools","extraSidebarPanels","Slot","length","focusMode","page"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitleAndIcon,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SavePanel from '../save-panel';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\nimport { useIsSiteEditorLoading } from '../layout/hooks';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isPostsList = false } ) {\n\tconst { params } = useLocation();\n\tconst isLoading = useIsSiteEditorLoading();\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditorCanvasContainerView,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\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}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst { title, icon } =\n\t\tgetEditorCanvasContainerTitleAndIcon( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tcustomSavePanel={ _isPreviewingTheme && <SavePanel /> }\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t\t\t\t\t\t\t// TODO: this is a temporary solution to navigate to the posts list if we are\n\t\t\t\t\t\t\t\t\t\t\t// come here through `posts list` and are in focus mode editing a template, template part etc..\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tisPostsList &&\n\t\t\t\t\t\t\t\t\t\t\t\tparams?.focusMode\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpage: 'gutenberg-posts-dashboard',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpostType: 'post',\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { Button, __experimentalUseSlotFills as useSlotFills } from '@wordpress/c
|
|
|
6
6
|
import { ESCAPE } from '@wordpress/keycodes';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
9
|
-
import { closeSmall } from '@wordpress/icons';
|
|
9
|
+
import { backup, closeSmall, seen } from '@wordpress/icons';
|
|
10
10
|
import { useFocusOnMount, useFocusReturn } from '@wordpress/compose';
|
|
11
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
12
|
import { store as editorStore, privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
@@ -28,17 +28,26 @@ const {
|
|
|
28
28
|
*
|
|
29
29
|
* @param {string} view Editor canvas container view.
|
|
30
30
|
*
|
|
31
|
-
* @return {
|
|
31
|
+
* @return {Object} Translated string for the view title and associated icon, both defaulting to ''.
|
|
32
32
|
*/
|
|
33
|
-
function
|
|
33
|
+
function getEditorCanvasContainerTitleAndIcon(view) {
|
|
34
34
|
switch (view) {
|
|
35
35
|
case 'style-book':
|
|
36
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
title: __('Style Book'),
|
|
38
|
+
icon: seen
|
|
39
|
+
};
|
|
37
40
|
case 'global-styles-revisions':
|
|
38
41
|
case 'global-styles-revisions:style-book':
|
|
39
|
-
return
|
|
42
|
+
return {
|
|
43
|
+
title: __('Style Revisions'),
|
|
44
|
+
icon: backup
|
|
45
|
+
};
|
|
40
46
|
default:
|
|
41
|
-
return
|
|
47
|
+
return {
|
|
48
|
+
title: '',
|
|
49
|
+
icon: ''
|
|
50
|
+
};
|
|
42
51
|
}
|
|
43
52
|
}
|
|
44
53
|
function EditorCanvasContainer({
|
|
@@ -89,7 +98,9 @@ function EditorCanvasContainer({
|
|
|
89
98
|
if (isClosed) {
|
|
90
99
|
return null;
|
|
91
100
|
}
|
|
92
|
-
const
|
|
101
|
+
const {
|
|
102
|
+
title
|
|
103
|
+
} = getEditorCanvasContainerTitleAndIcon(editorCanvasContainerView);
|
|
93
104
|
const shouldShowCloseButton = onClose || closeButtonLabel;
|
|
94
105
|
return /*#__PURE__*/_jsx(EditorContentSlotFill.Fill, {
|
|
95
106
|
children: /*#__PURE__*/_jsx("div", {
|
|
@@ -117,5 +128,5 @@ function useHasEditorCanvasContainer() {
|
|
|
117
128
|
return !!fills?.length;
|
|
118
129
|
}
|
|
119
130
|
export default EditorCanvasContainer;
|
|
120
|
-
export { useHasEditorCanvasContainer,
|
|
131
|
+
export { useHasEditorCanvasContainer, getEditorCanvasContainerTitleAndIcon };
|
|
121
132
|
//# sourceMappingURL=index.js.map
|