@wordpress/editor 14.0.0 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +164 -20
- package/build/components/block-settings-menu/content-only-settings-menu.js +14 -5
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build/components/document-tools/index.js +12 -3
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor/index.js +77 -0
- package/build/components/editor/index.js.map +1 -0
- package/build/components/editor-interface/index.js +6 -8
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js +28 -0
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +9 -2
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/back-button.js +4 -1
- package/build/components/header/back-button.js.map +1 -1
- package/build/components/header/index.js +1 -5
- package/build/components/header/index.js.map +1 -1
- package/build/components/index.js +7 -0
- package/build/components/index.js.map +1 -1
- package/build/components/media-categories/index.js +1 -1
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/post-actions/actions.js +10 -4
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-last-revision/index.js +35 -9
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +1 -0
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +4 -0
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +5 -0
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js +5 -0
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-sticky/check.js +8 -0
- package/build/components/post-sticky/check.js.map +1 -1
- package/build/components/post-sticky/index.js +5 -1
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +11 -2
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-sync-status/index.js +6 -2
- package/build/components/post-sync-status/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +8 -0
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +14 -2
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +9 -0
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/panel.js +10 -0
- package/build/components/post-taxonomies/panel.js.map +1 -1
- package/build/components/post-title/index.js +4 -8
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/post-title-raw.js +3 -7
- package/build/components/post-title/post-title-raw.js.map +1 -1
- package/build/components/post-trash/check.js +8 -0
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-trash/index.js +6 -1
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/post-url/panel.js +25 -3
- package/build/components/post-url/panel.js.map +1 -1
- package/build/components/post-visibility/index.js +1 -0
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +5 -3
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.js +18 -15
- package/build/components/provider/index.js.map +1 -1
- package/build/components/sidebar/post-summary.js +3 -2
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/table-of-contents/index.js +11 -0
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/template-part-menu-items/convert-to-regular.js +38 -0
- package/build/components/template-part-menu-items/convert-to-regular.js.map +1 -0
- package/build/components/template-part-menu-items/convert-to-template-part.js +77 -0
- package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
- package/build/components/template-part-menu-items/index.js +67 -0
- package/build/components/template-part-menu-items/index.js.map +1 -0
- package/build/components/template-part-menu-items/index.native.js +10 -0
- package/build/components/template-part-menu-items/index.native.js.map +1 -0
- package/build/components/template-validation-notice/index.js +1 -0
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +9 -0
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/components/time-to-read/index.js +6 -0
- package/build/components/time-to-read/index.js.map +1 -1
- package/build/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build/components/word-count/index.js +5 -1
- package/build/components/word-count/index.js.map +1 -1
- package/build/dataviews/api.js +61 -0
- package/build/dataviews/api.js.map +1 -0
- package/build/dataviews/store/private-actions.js +28 -0
- package/build/dataviews/store/private-actions.js.map +1 -0
- package/build/dataviews/store/private-selectors.js +20 -0
- package/build/dataviews/store/private-selectors.js.map +1 -0
- package/build/dataviews/store/reducer.js +36 -0
- package/build/dataviews/store/reducer.js.map +1 -0
- package/build/hooks/pattern-overrides.js +2 -1
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/index.js +12 -0
- package/build/index.js.map +1 -1
- package/build/private-apis.js +2 -6
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/private-actions.js +21 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +5 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +4 -1
- package/build/store/reducer.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +14 -5
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/document-tools/index.js +12 -3
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor/index.js +71 -0
- package/build-module/components/editor/index.js.map +1 -0
- package/build-module/components/editor-interface/index.js +6 -8
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +10 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +28 -0
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +9 -2
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/back-button.js +4 -1
- package/build-module/components/header/back-button.js.map +1 -1
- package/build-module/components/header/index.js +1 -5
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/index.js +7 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/media-categories/index.js +1 -1
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +10 -4
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +34 -11
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +1 -0
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +4 -0
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/label.js +6 -0
- package/build-module/components/post-publish-button/label.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +5 -0
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-sticky/check.js +9 -0
- package/build-module/components/post-sticky/check.js.map +1 -1
- package/build-module/components/post-sticky/index.js +6 -0
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +10 -1
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-sync-status/index.js +7 -1
- package/build-module/components/post-sync-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +9 -0
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +14 -2
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +9 -0
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/panel.js +10 -0
- package/build-module/components/post-taxonomies/panel.js.map +1 -1
- package/build-module/components/post-title/index.js +4 -8
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/post-title-raw.js +3 -7
- package/build-module/components/post-title/post-title-raw.js.map +1 -1
- package/build-module/components/post-trash/check.js +9 -0
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-trash/index.js +7 -0
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/post-url/panel.js +26 -3
- package/build-module/components/post-url/panel.js.map +1 -1
- package/build-module/components/post-visibility/index.js +1 -0
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +5 -3
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.js +18 -15
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +3 -2
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +11 -0
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/template-part-menu-items/convert-to-regular.js +31 -0
- package/build-module/components/template-part-menu-items/convert-to-regular.js.map +1 -0
- package/build-module/components/template-part-menu-items/convert-to-template-part.js +71 -0
- package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
- package/build-module/components/template-part-menu-items/index.js +59 -0
- package/build-module/components/template-part-menu-items/index.js.map +1 -0
- package/build-module/components/template-part-menu-items/index.native.js +4 -0
- package/build-module/components/template-part-menu-items/index.native.js.map +1 -0
- package/build-module/components/template-validation-notice/index.js +1 -0
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +10 -0
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/components/time-to-read/index.js +6 -0
- package/build-module/components/time-to-read/index.js.map +1 -1
- package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
- package/build-module/components/word-count/index.js +6 -0
- package/build-module/components/word-count/index.js.map +1 -1
- package/build-module/dataviews/api.js +54 -0
- package/build-module/dataviews/api.js.map +1 -0
- package/build-module/dataviews/store/private-actions.js +21 -0
- package/build-module/dataviews/store/private-actions.js.map +1 -0
- package/build-module/dataviews/store/private-selectors.js +14 -0
- package/build-module/dataviews/store/private-selectors.js.map +1 -0
- package/build-module/dataviews/store/reducer.js +29 -0
- package/build-module/dataviews/store/reducer.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +2 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +2 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/private-actions.js +1 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +4 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +3 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-style/style-rtl.css +35 -43
- package/build-style/style.css +35 -43
- package/build-types/dataviews/store/private-actions.d.ts +17 -0
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -0
- package/build-types/dataviews/store/private-selectors.d.ts +10 -0
- package/build-types/dataviews/store/private-selectors.d.ts.map +1 -0
- package/build-types/dataviews/store/reducer.d.ts +11 -0
- package/build-types/dataviews/store/reducer.d.ts.map +1 -0
- package/package.json +35 -35
- package/src/components/block-settings-menu/content-only-settings-menu.js +26 -12
- package/src/components/collapsible-block-toolbar/style.scss +3 -1
- package/src/components/document-tools/index.js +13 -4
- package/src/components/editor/index.js +88 -0
- package/src/components/editor-interface/index.js +5 -5
- package/src/components/editor-interface/style.scss +3 -0
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
- package/src/components/entities-saved-states/index.js +26 -0
- package/src/components/entities-saved-states/style.scss +0 -7
- package/src/components/global-styles-provider/index.js +12 -2
- package/src/components/header/back-button.js +6 -1
- package/src/components/header/index.js +1 -8
- package/src/components/header/style.scss +1 -1
- package/src/components/index.js +7 -0
- package/src/components/keyboard-shortcut-help-modal/style.scss +0 -3
- package/src/components/media-categories/index.js +1 -3
- package/src/components/post-actions/actions.js +9 -3
- package/src/components/post-card-panel/style.scss +4 -0
- package/src/components/post-last-revision/index.js +30 -7
- package/src/components/post-last-revision/style.scss +4 -0
- package/src/components/post-panel-row/style.scss +2 -1
- package/src/components/post-preview-button/index.js +1 -0
- package/src/components/post-preview-button/test/index.js +10 -2
- package/src/components/post-publish-button/index.js +3 -0
- package/src/components/post-publish-button/label.js +5 -0
- package/src/components/post-publish-panel/index.js +4 -0
- package/src/components/post-publish-panel/style.scss +28 -36
- package/src/components/post-status/style.scss +5 -0
- package/src/components/post-sticky/check.js +8 -0
- package/src/components/post-sticky/index.js +5 -0
- package/src/components/post-switch-to-draft-button/index.js +10 -1
- package/src/components/post-sync-status/index.js +7 -8
- package/src/components/post-taxonomies/check.js +8 -0
- package/src/components/post-taxonomies/flat-term-selector.js +13 -2
- package/src/components/post-taxonomies/index.js +8 -0
- package/src/components/post-taxonomies/panel.js +9 -0
- package/src/components/post-title/index.js +2 -5
- package/src/components/post-title/post-title-raw.js +2 -5
- package/src/components/post-trash/check.js +8 -0
- package/src/components/post-trash/index.js +6 -0
- package/src/components/post-url/panel.js +13 -5
- package/src/components/post-visibility/index.js +1 -0
- package/src/components/provider/disable-non-page-content-blocks.js +9 -4
- package/src/components/provider/index.js +17 -17
- package/src/components/save-publish-panels/style.scss +0 -8
- package/src/components/sidebar/post-summary.js +3 -1
- package/src/components/table-of-contents/index.js +10 -0
- package/src/components/template-part-menu-items/convert-to-regular.js +32 -0
- package/src/components/template-part-menu-items/convert-to-template-part.js +75 -0
- package/src/components/template-part-menu-items/index.js +59 -0
- package/src/components/template-part-menu-items/index.native.js +3 -0
- package/src/components/template-validation-notice/index.js +1 -0
- package/src/components/theme-support-check/index.js +9 -0
- package/src/components/time-to-read/index.js +5 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/src/components/word-count/index.js +5 -0
- package/src/dataviews/api.js +55 -0
- package/src/dataviews/store/private-actions.ts +30 -0
- package/src/dataviews/store/private-selectors.ts +15 -0
- package/src/dataviews/store/reducer.ts +44 -0
- package/src/hooks/pattern-overrides.js +2 -0
- package/src/index.js +1 -0
- package/src/private-apis.js +2 -6
- package/src/private-apis.native.js +0 -2
- package/src/store/private-actions.js +1 -0
- package/src/store/private-selectors.js +5 -0
- package/src/store/reducer.js +2 -0
- package/src/style.scss +1 -0
- package/tsconfig.json +36 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { dispatch } from '@wordpress/data';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { unlock } from '../lock-unlock';
|
|
10
|
+
import { store as editorStore } from '../store';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {import('@wordpress/dataviews').Action} Action
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Registers a new DataViews action.
|
|
18
|
+
*
|
|
19
|
+
* This is an experimental API and is subject to change.
|
|
20
|
+
* it's only available in the Gutenberg plugin for now.
|
|
21
|
+
*
|
|
22
|
+
* @param {string} kind Entity kind.
|
|
23
|
+
* @param {string} name Entity name.
|
|
24
|
+
* @param {Action} config Action configuration.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
export function registerEntityAction(kind, name, config) {
|
|
28
|
+
const {
|
|
29
|
+
registerEntityAction: _registerEntityAction
|
|
30
|
+
} = unlock(dispatch(editorStore));
|
|
31
|
+
if (globalThis.IS_GUTENBERG_PLUGIN) {
|
|
32
|
+
_registerEntityAction(kind, name, config);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Unregisters a DataViews action.
|
|
38
|
+
*
|
|
39
|
+
* This is an experimental API and is subject to change.
|
|
40
|
+
* it's only available in the Gutenberg plugin for now.
|
|
41
|
+
*
|
|
42
|
+
* @param {string} kind Entity kind.
|
|
43
|
+
* @param {string} name Entity name.
|
|
44
|
+
* @param {string} actionId Action ID.
|
|
45
|
+
*/
|
|
46
|
+
export function unregisterEntityAction(kind, name, actionId) {
|
|
47
|
+
const {
|
|
48
|
+
unregisterEntityAction: _unregisterEntityAction
|
|
49
|
+
} = unlock(dispatch(editorStore));
|
|
50
|
+
if (globalThis.IS_GUTENBERG_PLUGIN) {
|
|
51
|
+
_unregisterEntityAction(kind, name, actionId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["dispatch","unlock","store","editorStore","registerEntityAction","kind","name","config","_registerEntityAction","globalThis","IS_GUTENBERG_PLUGIN","unregisterEntityAction","actionId","_unregisterEntityAction"],"sources":["@wordpress/editor/src/dataviews/api.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { store as editorStore } from '../store';\n\n/**\n * @typedef {import('@wordpress/dataviews').Action} Action\n */\n\n/**\n * Registers a new DataViews action.\n *\n * This is an experimental API and is subject to change.\n * it's only available in the Gutenberg plugin for now.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {Action} config Action configuration.\n */\n\nexport function registerEntityAction( kind, name, config ) {\n\tconst { registerEntityAction: _registerEntityAction } = unlock(\n\t\tdispatch( editorStore )\n\t);\n\n\tif ( globalThis.IS_GUTENBERG_PLUGIN ) {\n\t\t_registerEntityAction( kind, name, config );\n\t}\n}\n\n/**\n * Unregisters a DataViews action.\n *\n * This is an experimental API and is subject to change.\n * it's only available in the Gutenberg plugin for now.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} actionId Action ID.\n */\nexport function unregisterEntityAction( kind, name, actionId ) {\n\tconst { unregisterEntityAction: _unregisterEntityAction } = unlock(\n\t\tdispatch( editorStore )\n\t);\n\n\tif ( globalThis.IS_GUTENBERG_PLUGIN ) {\n\t\t_unregisterEntityAction( kind, name, actionId );\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,iBAAiB;;AAE1C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,KAAK,IAAIC,WAAW,QAAQ,UAAU;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,oBAAoBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEH,oBAAoB,EAAEI;EAAsB,CAAC,GAAGP,MAAM,CAC7DD,QAAQ,CAAEG,WAAY,CACvB,CAAC;EAED,IAAKM,UAAU,CAACC,mBAAmB,EAAG;IACrCF,qBAAqB,CAAEH,IAAI,EAAEC,IAAI,EAAEC,MAAO,CAAC;EAC5C;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,sBAAsBA,CAAEN,IAAI,EAAEC,IAAI,EAAEM,QAAQ,EAAG;EAC9D,MAAM;IAAED,sBAAsB,EAAEE;EAAwB,CAAC,GAAGZ,MAAM,CACjED,QAAQ,CAAEG,WAAY,CACvB,CAAC;EAED,IAAKM,UAAU,CAACC,mBAAmB,EAAG;IACrCG,uBAAuB,CAAER,IAAI,EAAEC,IAAI,EAAEM,QAAS,CAAC;EAChD;AACD","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export function registerEntityAction(kind, name, config) {
|
|
6
|
+
return {
|
|
7
|
+
type: 'REGISTER_ENTITY_ACTION',
|
|
8
|
+
kind,
|
|
9
|
+
name,
|
|
10
|
+
config
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function unregisterEntityAction(kind, name, actionId) {
|
|
14
|
+
return {
|
|
15
|
+
type: 'UNREGISTER_ENTITY_ACTION',
|
|
16
|
+
kind,
|
|
17
|
+
name,
|
|
18
|
+
actionId
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=private-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["registerEntityAction","kind","name","config","type","unregisterEntityAction","actionId"],"sources":["@wordpress/editor/src/dataviews/store/private-actions.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Action, AnyItem } from '@wordpress/dataviews';\n\nexport function registerEntityAction< Item extends AnyItem >(\n\tkind: string,\n\tname: string,\n\tconfig: Action< Item >\n) {\n\treturn {\n\t\ttype: 'REGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tconfig,\n\t};\n}\n\nexport function unregisterEntityAction(\n\tkind: string,\n\tname: string,\n\tactionId: string\n) {\n\treturn {\n\t\ttype: 'UNREGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tactionId,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;;AAGA,OAAO,SAASA,oBAAoBA,CACnCC,IAAY,EACZC,IAAY,EACZC,MAAsB,EACrB;EACD,OAAO;IACNC,IAAI,EAAE,wBAAiC;IACvCH,IAAI;IACJC,IAAI;IACJC;EACD,CAAC;AACF;AAEA,OAAO,SAASE,sBAAsBA,CACrCJ,IAAY,EACZC,IAAY,EACZI,QAAgB,EACf;EACD,OAAO;IACNF,IAAI,EAAE,0BAAmC;IACzCH,IAAI;IACJC,IAAI;IACJI;EACD,CAAC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Internal dependencies
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const EMPTY_ARRAY = [];
|
|
10
|
+
export function getEntityActions(state, kind, name) {
|
|
11
|
+
var _state$actions$kind$n;
|
|
12
|
+
return (_state$actions$kind$n = state.actions[kind]?.[name]) !== null && _state$actions$kind$n !== void 0 ? _state$actions$kind$n : EMPTY_ARRAY;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=private-selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EMPTY_ARRAY","getEntityActions","state","kind","name","_state$actions$kind$n","actions"],"sources":["@wordpress/editor/src/dataviews/store/private-selectors.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { State } from './reducer';\n\nconst EMPTY_ARRAY: Action< any >[] = [];\n\nexport function getEntityActions( state: State, kind: string, name: string ) {\n\treturn state.actions[ kind ]?.[ name ] ?? EMPTY_ARRAY;\n}\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMA,WAA4B,GAAG,EAAE;AAEvC,OAAO,SAASC,gBAAgBA,CAAEC,KAAY,EAAEC,IAAY,EAAEC,IAAY,EAAG;EAAA,IAAAC,qBAAA;EAC5E,QAAAA,qBAAA,GAAOH,KAAK,CAACI,OAAO,CAAEH,IAAI,CAAE,GAAIC,IAAI,CAAE,cAAAC,qBAAA,cAAAA,qBAAA,GAAIL,WAAW;AACtD","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { combineReducers } from '@wordpress/data';
|
|
5
|
+
function actions(state = {}, action) {
|
|
6
|
+
var _state$action$kind$ac;
|
|
7
|
+
switch (action.type) {
|
|
8
|
+
case 'REGISTER_ENTITY_ACTION':
|
|
9
|
+
return {
|
|
10
|
+
...state,
|
|
11
|
+
[action.kind]: {
|
|
12
|
+
[action.name]: [...((_state$action$kind$ac = state[action.kind]?.[action.name]) !== null && _state$action$kind$ac !== void 0 ? _state$action$kind$ac : []), action.config]
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
case 'UNREGISTER_ENTITY_ACTION':
|
|
16
|
+
{
|
|
17
|
+
var _state$action$kind$ac2;
|
|
18
|
+
return {
|
|
19
|
+
...state,
|
|
20
|
+
[action.kind]: ((_state$action$kind$ac2 = state[action.kind]?.[action.name]) !== null && _state$action$kind$ac2 !== void 0 ? _state$action$kind$ac2 : []).filter(_action => _action.id !== action.actionId)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return state;
|
|
25
|
+
}
|
|
26
|
+
export default combineReducers({
|
|
27
|
+
actions
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["combineReducers","actions","state","action","_state$action$kind$ac","type","kind","name","config","_state$action$kind$ac2","filter","_action","id","actionId"],"sources":["@wordpress/editor/src/dataviews/store/reducer.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport type { Action } from '@wordpress/dataviews';\n\ntype ReduxAction =\n\t| ReturnType< typeof import('./private-actions').registerEntityAction >\n\t| ReturnType< typeof import('./private-actions').unregisterEntityAction >;\n\nexport type ActionState = Record< string, Record< string, Action< any >[] > >;\nexport type State = {\n\tactions: ActionState;\n};\n\nfunction actions( state: ActionState = {}, action: ReduxAction ) {\n\tswitch ( action.type ) {\n\t\tcase 'REGISTER_ENTITY_ACTION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.kind ]: {\n\t\t\t\t\t[ action.name ]: [\n\t\t\t\t\t\t...( state[ action.kind ]?.[ action.name ] ?? [] ),\n\t\t\t\t\t\taction.config,\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'UNREGISTER_ENTITY_ACTION': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.kind ]: (\n\t\t\t\t\tstate[ action.kind ]?.[ action.name ] ?? []\n\t\t\t\t).filter( ( _action ) => _action.id !== action.actionId ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tactions,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,iBAAiB;AAajD,SAASC,OAAOA,CAAEC,KAAkB,GAAG,CAAC,CAAC,EAAEC,MAAmB,EAAG;EAAA,IAAAC,qBAAA;EAChE,QAASD,MAAM,CAACE,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAO;QACN,GAAGH,KAAK;QACR,CAAEC,MAAM,CAACG,IAAI,GAAI;UAChB,CAAEH,MAAM,CAACI,IAAI,GAAI,CAChB,KAAAH,qBAAA,GAAKF,KAAK,CAAEC,MAAM,CAACG,IAAI,CAAE,GAAIH,MAAM,CAACI,IAAI,CAAE,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAE,EAClDD,MAAM,CAACK,MAAM;QAEf;MACD,CAAC;IACF,KAAK,0BAA0B;MAAE;QAAA,IAAAC,sBAAA;QAChC,OAAO;UACN,GAAGP,KAAK;UACR,CAAEC,MAAM,CAACG,IAAI,GAAI,EAAAG,sBAAA,GAChBP,KAAK,CAAEC,MAAM,CAACG,IAAI,CAAE,GAAIH,MAAM,CAACI,IAAI,CAAE,cAAAE,sBAAA,cAAAA,sBAAA,GAAI,EAAE,EAC1CC,MAAM,CAAIC,OAAO,IAAMA,OAAO,CAACC,EAAE,KAAKT,MAAM,CAACU,QAAS;QACzD,CAAC;MACF;EACD;EAEA,OAAOX,KAAK;AACb;AAEA,eAAeF,eAAe,CAAE;EAC/BC;AACD,CAAE,CAAC","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
const {
|
|
20
20
|
PatternOverridesControls,
|
|
21
21
|
ResetOverridesControl,
|
|
22
|
+
PatternOverridesBlockControls,
|
|
22
23
|
PATTERN_TYPES,
|
|
23
24
|
PARTIAL_SYNCING_SUPPORTED_BLOCKS,
|
|
24
25
|
PATTERN_SYNC_TYPES
|
|
@@ -40,7 +41,7 @@ const withPatternOverrideControls = createHigherOrderComponent(BlockEdit => prop
|
|
|
40
41
|
...props
|
|
41
42
|
}), props.isSelected && isSupportedBlock && /*#__PURE__*/_jsx(ControlsWithStoreSubscription, {
|
|
42
43
|
...props
|
|
43
|
-
})]
|
|
44
|
+
}), isSupportedBlock && /*#__PURE__*/_jsx(PatternOverridesBlockControls, {})]
|
|
44
45
|
});
|
|
45
46
|
});
|
|
46
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addFilter","privateApis","patternsPrivateApis","createHigherOrderComponent","useBlockEditingMode","useSelect","store","blocksStore","editorStore","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PatternOverridesControls","ResetOverridesControl","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","PATTERN_SYNC_TYPES","withPatternOverrideControls","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","children","isSelected","ControlsWithStoreSubscription","blockEditingMode","hasPatternOverridesSource","isEditingSyncedPattern","select","getBlockBindingsSource","getCurrentPostType","getEditedPostAttribute","user","wp_pattern_sync_status","unsynced","bindings","attributes","metadata","hasPatternBindings","values","some","binding","source","shouldShowPatternOverridesControls","shouldShowResetOverridesControl"],"sources":["@wordpress/editor/src/hooks/pattern-overrides.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPatternOverrideControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { hasPatternOverridesSource, isEditingSyncedPattern } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst { getCurrentPostType, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\n\t\t\treturn {\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t\tisEditingSyncedPattern:\n\t\t\t\t\tgetCurrentPostType() === PATTERN_TYPES.user &&\n\t\t\t\t\tgetEditedPostAttribute( 'meta' )?.wp_pattern_sync_status !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced &&\n\t\t\t\t\tgetEditedPostAttribute( 'wp_pattern_sync_status' ) !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst bindings = props.attributes.metadata?.bindings;\n\tconst hasPatternBindings =\n\t\t!! bindings &&\n\t\tObject.values( bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst shouldShowPatternOverridesControls =\n\t\tisEditingSyncedPattern && blockEditingMode === 'default';\n\tconst shouldShowResetOverridesControl =\n\t\t! isEditingSyncedPattern &&\n\t\t!! props.attributes.metadata?.name &&\n\t\tblockEditingMode !== 'disabled' &&\n\t\thasPatternBindings;\n\n\tif ( ! hasPatternOverridesSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldShowPatternOverridesControls && (\n\t\t\t\t<PatternOverridesControls { ...props } />\n\t\t\t) }\n\t\t\t{ shouldShowResetOverridesControl && (\n\t\t\t\t<ResetOverridesControl { ...props } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-pattern-override-controls',\n\twithPatternOverrideControls\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,0BAA0B,QAAQ,oBAAoB;AAC/D,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,UAAU;AAC/C,SAASC,MAAM,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAExC,MAAM;EACLC,wBAAwB;EACxBC,qBAAqB;EACrBC,aAAa;EACbC,gCAAgC;EAChCC;AACD,CAAC,
|
|
1
|
+
{"version":3,"names":["addFilter","privateApis","patternsPrivateApis","createHigherOrderComponent","useBlockEditingMode","useSelect","store","blocksStore","editorStore","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PatternOverridesControls","ResetOverridesControl","PatternOverridesBlockControls","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","PATTERN_SYNC_TYPES","withPatternOverrideControls","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","children","isSelected","ControlsWithStoreSubscription","blockEditingMode","hasPatternOverridesSource","isEditingSyncedPattern","select","getBlockBindingsSource","getCurrentPostType","getEditedPostAttribute","user","wp_pattern_sync_status","unsynced","bindings","attributes","metadata","hasPatternBindings","values","some","binding","source","shouldShowPatternOverridesControls","shouldShowResetOverridesControl"],"sources":["@wordpress/editor/src/hooks/pattern-overrides.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tPatternOverridesBlockControls,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPatternOverrideControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t\t{ isSupportedBlock && <PatternOverridesBlockControls /> }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { hasPatternOverridesSource, isEditingSyncedPattern } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst { getCurrentPostType, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\n\t\t\treturn {\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t\tisEditingSyncedPattern:\n\t\t\t\t\tgetCurrentPostType() === PATTERN_TYPES.user &&\n\t\t\t\t\tgetEditedPostAttribute( 'meta' )?.wp_pattern_sync_status !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced &&\n\t\t\t\t\tgetEditedPostAttribute( 'wp_pattern_sync_status' ) !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst bindings = props.attributes.metadata?.bindings;\n\tconst hasPatternBindings =\n\t\t!! bindings &&\n\t\tObject.values( bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst shouldShowPatternOverridesControls =\n\t\tisEditingSyncedPattern && blockEditingMode === 'default';\n\tconst shouldShowResetOverridesControl =\n\t\t! isEditingSyncedPattern &&\n\t\t!! props.attributes.metadata?.name &&\n\t\tblockEditingMode !== 'disabled' &&\n\t\thasPatternBindings;\n\n\tif ( ! hasPatternOverridesSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldShowPatternOverridesControls && (\n\t\t\t\t<PatternOverridesControls { ...props } />\n\t\t\t) }\n\t\t\t{ shouldShowResetOverridesControl && (\n\t\t\t\t<ResetOverridesControl { ...props } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-pattern-override-controls',\n\twithPatternOverrideControls\n);\n"],"mappings":"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","ignoreList":[]}
|
package/build-module/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["storeConfig","store","transformStyles"],"sources":["@wordpress/editor/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './bindings';\nimport './hooks';\n\nexport { storeConfig, store } from './store';\nexport * from './components';\nexport * from './utils';\nexport * from './private-apis';\n\n/*\n * Backward compatibility\n */\nexport { transformStyles } from '@wordpress/block-editor';\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,YAAY;AACnB,OAAO,SAAS;AAEhB,SAASA,WAAW,EAAEC,KAAK,QAAQ,SAAS;AAC5C,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,gBAAgB;;
|
|
1
|
+
{"version":3,"names":["storeConfig","store","transformStyles"],"sources":["@wordpress/editor/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './bindings';\nimport './hooks';\n\nexport { storeConfig, store } from './store';\nexport * from './components';\nexport * from './utils';\nexport * from './private-apis';\nexport * from './dataviews/api';\n\n/*\n * Backward compatibility\n */\nexport { transformStyles } from '@wordpress/block-editor';\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,YAAY;AACnB,OAAO,SAAS;AAEhB,SAASA,WAAW,EAAEC,KAAK,QAAQ,SAAS;AAC5C,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;;AAE/B;AACA;AACA;AACA,SAASC,eAAe,QAAQ,yBAAyB","ignoreList":[]}
|
|
@@ -6,21 +6,19 @@ import * as interfaceApis from '@wordpress/interface';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { ExperimentalEditorProvider } from './components/provider';
|
|
10
9
|
import { lock } from './lock-unlock';
|
|
11
10
|
import { EntitiesSavedStatesExtensible } from './components/entities-saved-states';
|
|
12
11
|
import EditorContentSlotFill from './components/editor-interface/content-slot-fill';
|
|
13
12
|
import useBlockEditorSettings from './components/provider/use-block-editor-settings';
|
|
14
13
|
import BackButton from './components/header/back-button';
|
|
15
|
-
import EditorInterface from './components/editor-interface';
|
|
16
14
|
import CreateTemplatePartModal from './components/create-template-part-modal';
|
|
15
|
+
import Editor from './components/editor';
|
|
17
16
|
import PluginPostExcerpt from './components/post-excerpt/plugin';
|
|
18
17
|
import PreferencesModal from './components/preferences-modal';
|
|
19
18
|
import { usePostActions } from './components/post-actions/actions';
|
|
20
19
|
import ToolsMoreMenuGroup from './components/more-menu/tools-more-menu-group';
|
|
21
20
|
import ViewMoreMenuGroup from './components/more-menu/view-more-menu-group';
|
|
22
21
|
import ResizableEditor from './components/resizable-editor';
|
|
23
|
-
import Sidebar from './components/sidebar';
|
|
24
22
|
import { mergeBaseAndUserConfigs, GlobalStylesProvider } from './components/global-styles-provider';
|
|
25
23
|
const {
|
|
26
24
|
store: interfaceStore,
|
|
@@ -30,9 +28,8 @@ export const privateApis = {};
|
|
|
30
28
|
lock(privateApis, {
|
|
31
29
|
CreateTemplatePartModal,
|
|
32
30
|
BackButton,
|
|
33
|
-
ExperimentalEditorProvider,
|
|
34
31
|
EntitiesSavedStatesExtensible,
|
|
35
|
-
|
|
32
|
+
Editor,
|
|
36
33
|
EditorContentSlotFill,
|
|
37
34
|
GlobalStylesProvider,
|
|
38
35
|
mergeBaseAndUserConfigs,
|
|
@@ -42,7 +39,6 @@ lock(privateApis, {
|
|
|
42
39
|
ToolsMoreMenuGroup,
|
|
43
40
|
ViewMoreMenuGroup,
|
|
44
41
|
ResizableEditor,
|
|
45
|
-
Sidebar,
|
|
46
42
|
// This is a temporary private API while we're updating the site editor to use EditorProvider.
|
|
47
43
|
useBlockEditorSettings,
|
|
48
44
|
interfaceStore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["interfaceApis","
|
|
1
|
+
{"version":3,"names":["interfaceApis","lock","EntitiesSavedStatesExtensible","EditorContentSlotFill","useBlockEditorSettings","BackButton","CreateTemplatePartModal","Editor","PluginPostExcerpt","PreferencesModal","usePostActions","ToolsMoreMenuGroup","ViewMoreMenuGroup","ResizableEditor","mergeBaseAndUserConfigs","GlobalStylesProvider","store","interfaceStore","remainingInterfaceApis","privateApis"],"sources":["@wordpress/editor/src/private-apis.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport * as interfaceApis from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport { EntitiesSavedStatesExtensible } from './components/entities-saved-states';\nimport EditorContentSlotFill from './components/editor-interface/content-slot-fill';\nimport useBlockEditorSettings from './components/provider/use-block-editor-settings';\nimport BackButton from './components/header/back-button';\nimport CreateTemplatePartModal from './components/create-template-part-modal';\nimport Editor from './components/editor';\nimport PluginPostExcerpt from './components/post-excerpt/plugin';\nimport PreferencesModal from './components/preferences-modal';\nimport { usePostActions } from './components/post-actions/actions';\nimport ToolsMoreMenuGroup from './components/more-menu/tools-more-menu-group';\nimport ViewMoreMenuGroup from './components/more-menu/view-more-menu-group';\nimport ResizableEditor from './components/resizable-editor';\nimport {\n\tmergeBaseAndUserConfigs,\n\tGlobalStylesProvider,\n} from './components/global-styles-provider';\n\nconst { store: interfaceStore, ...remainingInterfaceApis } = interfaceApis;\n\nexport const privateApis = {};\nlock( privateApis, {\n\tCreateTemplatePartModal,\n\tBackButton,\n\tEntitiesSavedStatesExtensible,\n\tEditor,\n\tEditorContentSlotFill,\n\tGlobalStylesProvider,\n\tmergeBaseAndUserConfigs,\n\tPluginPostExcerpt,\n\tPreferencesModal,\n\tusePostActions,\n\tToolsMoreMenuGroup,\n\tViewMoreMenuGroup,\n\tResizableEditor,\n\n\t// This is a temporary private API while we're updating the site editor to use EditorProvider.\n\tuseBlockEditorSettings,\n\tinterfaceStore,\n\t...remainingInterfaceApis,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,aAAa,MAAM,sBAAsB;;AAErD;AACA;AACA;AACA,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,6BAA6B,QAAQ,oCAAoC;AAClF,OAAOC,qBAAqB,MAAM,iDAAiD;AACnF,OAAOC,sBAAsB,MAAM,iDAAiD;AACpF,OAAOC,UAAU,MAAM,iCAAiC;AACxD,OAAOC,uBAAuB,MAAM,yCAAyC;AAC7E,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,iBAAiB,MAAM,kCAAkC;AAChE,OAAOC,gBAAgB,MAAM,gCAAgC;AAC7D,SAASC,cAAc,QAAQ,mCAAmC;AAClE,OAAOC,kBAAkB,MAAM,8CAA8C;AAC7E,OAAOC,iBAAiB,MAAM,6CAA6C;AAC3E,OAAOC,eAAe,MAAM,+BAA+B;AAC3D,SACCC,uBAAuB,EACvBC,oBAAoB,QACd,qCAAqC;AAE5C,MAAM;EAAEC,KAAK,EAAEC,cAAc;EAAE,GAAGC;AAAuB,CAAC,GAAGlB,aAAa;AAE1E,OAAO,MAAMmB,WAAW,GAAG,CAAC,CAAC;AAC7BlB,IAAI,CAAEkB,WAAW,EAAE;EAClBb,uBAAuB;EACvBD,UAAU;EACVH,6BAA6B;EAC7BK,MAAM;EACNJ,qBAAqB;EACrBY,oBAAoB;EACpBD,uBAAuB;EACvBN,iBAAiB;EACjBC,gBAAgB;EAChBC,cAAc;EACdC,kBAAkB;EAClBC,iBAAiB;EACjBC,eAAe;EAEf;EACAT,sBAAsB;EACtBa,cAAc;EACd,GAAGC;AACJ,CAAE,CAAC","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ import * as interfaceApis from '@wordpress/interface';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import VisualEditor from './components/visual-editor';
|
|
10
|
-
import { ExperimentalEditorProvider } from './components/provider';
|
|
11
10
|
import { lock } from './lock-unlock';
|
|
12
11
|
import { EntitiesSavedStatesExtensible } from './components/entities-saved-states';
|
|
13
12
|
import useBlockEditorSettings from './components/provider/use-block-editor-settings';
|
|
@@ -23,7 +22,6 @@ const {
|
|
|
23
22
|
export const privateApis = {};
|
|
24
23
|
lock(privateApis, {
|
|
25
24
|
VisualEditor,
|
|
26
|
-
ExperimentalEditorProvider,
|
|
27
25
|
EntitiesSavedStatesExtensible,
|
|
28
26
|
PluginPostExcerpt,
|
|
29
27
|
PreferencesModal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["interfaceApis","VisualEditor","
|
|
1
|
+
{"version":3,"names":["interfaceApis","VisualEditor","lock","EntitiesSavedStatesExtensible","useBlockEditorSettings","PluginPostExcerpt","PreferencesModal","usePostActions","ToolsMoreMenuGroup","ViewMoreMenuGroup","store","interfaceStore","remainingInterfaceApis","privateApis"],"sources":["@wordpress/editor/src/private-apis.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport * as interfaceApis from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport VisualEditor from './components/visual-editor';\nimport { lock } from './lock-unlock';\nimport { EntitiesSavedStatesExtensible } from './components/entities-saved-states';\nimport useBlockEditorSettings from './components/provider/use-block-editor-settings';\nimport PluginPostExcerpt from './components/post-excerpt/plugin';\nimport PreferencesModal from './components/preferences-modal';\nimport { usePostActions } from './components/post-actions/actions';\nimport ToolsMoreMenuGroup from './components/more-menu/tools-more-menu-group';\nimport ViewMoreMenuGroup from './components/more-menu/view-more-menu-group';\n\nconst { store: interfaceStore, ...remainingInterfaceApis } = interfaceApis;\n\nexport const privateApis = {};\nlock( privateApis, {\n\tVisualEditor,\n\tEntitiesSavedStatesExtensible,\n\tPluginPostExcerpt,\n\tPreferencesModal,\n\tusePostActions,\n\tToolsMoreMenuGroup,\n\tViewMoreMenuGroup,\n\n\t// This is a temporary private API while we're updating the site editor to use EditorProvider.\n\tuseBlockEditorSettings,\n\tinterfaceStore,\n\t...remainingInterfaceApis,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,aAAa,MAAM,sBAAsB;;AAErD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,4BAA4B;AACrD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,6BAA6B,QAAQ,oCAAoC;AAClF,OAAOC,sBAAsB,MAAM,iDAAiD;AACpF,OAAOC,iBAAiB,MAAM,kCAAkC;AAChE,OAAOC,gBAAgB,MAAM,gCAAgC;AAC7D,SAASC,cAAc,QAAQ,mCAAmC;AAClE,OAAOC,kBAAkB,MAAM,8CAA8C;AAC7E,OAAOC,iBAAiB,MAAM,6CAA6C;AAE3E,MAAM;EAAEC,KAAK,EAAEC,cAAc;EAAE,GAAGC;AAAuB,CAAC,GAAGZ,aAAa;AAE1E,OAAO,MAAMa,WAAW,GAAG,CAAC,CAAC;AAC7BX,IAAI,CAAEW,WAAW,EAAE;EAClBZ,YAAY;EACZE,6BAA6B;EAC7BE,iBAAiB;EACjBC,gBAAgB;EAChBC,cAAc;EACdC,kBAAkB;EAClBC,iBAAiB;EAEjB;EACAL,sBAAsB;EACtBO,cAAc;EACd,GAAGC;AACJ,CAAE,CAAC","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ import { decodeEntities } from '@wordpress/html-entities';
|
|
|
15
15
|
* Internal dependencies
|
|
16
16
|
*/
|
|
17
17
|
import isTemplateRevertable from './utils/is-template-revertable';
|
|
18
|
+
export * from '../dataviews/store/private-actions';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Returns an action object used to set which template is currently being used/edited.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","coreStore","__","sprintf","noticesStore","blockEditorStore","preferencesStore","addQueryArgs","apiFetch","parse","__unstableSerializeAndClean","decodeEntities","isTemplateRevertable","setCurrentTemplateId","id","type","createTemplate","template","select","dispatch","registry","savedTemplate","saveEntityRecord","editEntityRecord","getCurrentPostType","getCurrentPostId","slug","createSuccessNotice","actions","label","onClick","setRenderingMode","getEditorSettings","defaultRenderingMode","showBlockTypes","blockNames","_registry$select$get","existingBlockNames","get","newBlockNames","filter","Array","isArray","includes","set","hideBlockTypes","_registry$select$get2","mergedBlockNames","Set","saveDirtyEntities","onSave","dirtyEntityRecords","entitiesToSkip","close","PUBLISH_ON_SAVE_ENTITIES","kind","name","saveNoticeId","homeUrl","getUnstableBase","home","removeNotice","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","push","typeToPublish","status","saveEditedEntityRecord","length","__experimentalSaveSpecifiedEntityEdits","undefined","__unstableMarkLastChangeAsPersistent","Promise","all","then","values","value","createErrorNotice","url","catch","error","revertTemplate","allowUndo","noticeId","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","context","source","fileTemplate","path","serializeBlocks","blocks","blocksForSerialization","edited","getEditedEntityRecord","content","undoIgnore","raw","undoRevert","errorMessage","message","code","removeTemplates","items","promiseResult","allSettled","map","item","deleteEntityRecord","force","throwOnError","every","successMessage","title","rendered","reason","errorMessages","failedPromises","failedPromise","add","size","join"],"sources":["@wordpress/editor/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport isTemplateRevertable from './utils/is-template-revertable';\n\n/**\n * Returns an action object used to set which template is currently being used/edited.\n *\n * @param {string} id Template Id.\n *\n * @return {Object} Action object.\n */\nexport function setCurrentTemplateId( id ) {\n\treturn {\n\t\ttype: 'SET_CURRENT_TEMPLATE_ID',\n\t\tid,\n\t};\n}\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const createTemplate =\n\t( template ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tselect.getCurrentPostType(),\n\t\t\t\tselect.getCurrentPostId(),\n\t\t\t\t{\n\t\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t\t}\n\t\t\t);\n\t\tregistry\n\t\t\t.dispatch( noticesStore )\n\t\t\t.createSuccessNotice(\n\t\t\t\t__( \"Custom template created. You're in template mode now.\" ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\tdispatch.setRenderingMode(\n\t\t\t\t\t\t\t\t\tselect.getEditorSettings()\n\t\t\t\t\t\t\t\t\t\t.defaultRenderingMode\n\t\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}\n\t\t\t);\n\t\treturn savedTemplate;\n\t};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n\t};\n\n/**\n * Save entity records marked as dirty.\n *\n * @param {Object} options Options for the action.\n * @param {Function} [options.onSave] Callback when saving happens.\n * @param {object[]} [options.dirtyEntityRecords] Array of dirty entities.\n * @param {object[]} [options.entitiesToSkip] Array of entities to skip saving.\n * @param {Function} [options.close] Callback when the actions is called. It should be consolidated with `onSave`.\n */\nexport const saveDirtyEntities =\n\t( { onSave, dirtyEntityRecords = [], entitiesToSkip = [], close } = {} ) =>\n\t( { registry } ) => {\n\t\tconst PUBLISH_ON_SAVE_ENTITIES = [\n\t\t\t{ kind: 'postType', name: 'wp_navigation' },\n\t\t];\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tconst homeUrl = registry.select( coreStore ).getUnstableBase()?.home;\n\t\tregistry.dispatch( noticesStore ).removeNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! entitiesToSkip.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tclose?.( entitiesToSave );\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord( kind, name, key, {\n\t\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.saveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__experimentalSaveSpecifiedEntityEdits(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'site',\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tsiteItemsToSave\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave ? onSave( values ) : values;\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t\t.createErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t\t.createSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\t\t\t\turl: homeUrl,\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}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t`${ __( 'Saving failed.' ) } ${ error }`\n\t\t\t\t\t)\n\t\t\t);\n\t};\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tconst noticeId = 'edit-site-template-reverted';\n\t\tregistry.dispatch( noticesStore ).removeNotice( noticeId );\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reset.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: noticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\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}\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: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n/**\n * Action that removes an array of templates, template parts or patterns.\n *\n * @param {Array} items An array of template,template part or pattern objects to remove.\n */\nexport const removeTemplates =\n\t( items ) =>\n\tasync ( { registry } ) => {\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\titems.map( ( item ) => {\n\t\t\t\treturn registry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\titem.type,\n\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t} )\n\t\t);\n\n\t\t// If all the promises were fulfilled with sucess.\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\n\t\t\tif ( items.length === 1 ) {\n\t\t\t\t// Depending on how the entity was retrieved its title might be\n\t\t\t\t// an object or simple string.\n\t\t\t\tconst title =\n\t\t\t\t\ttypeof items[ 0 ].title === 'string'\n\t\t\t\t\t\t? items[ 0 ].title\n\t\t\t\t\t\t: items[ 0 ].title?.rendered;\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = __( 'Items deleted.' );\n\t\t\t}\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( successMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'editor-template-deleted-success',\n\t\t\t\t} );\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to delete a single template.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while deleting the item.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If we were trying to delete a multiple templates\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( failedPromise.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while deleting the items.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t__( 'An error occurred while deleting the items: %s' ),\n\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Some errors occurred while deleting the items: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["store","coreStore","__","sprintf","noticesStore","blockEditorStore","preferencesStore","addQueryArgs","apiFetch","parse","__unstableSerializeAndClean","decodeEntities","isTemplateRevertable","setCurrentTemplateId","id","type","createTemplate","template","select","dispatch","registry","savedTemplate","saveEntityRecord","editEntityRecord","getCurrentPostType","getCurrentPostId","slug","createSuccessNotice","actions","label","onClick","setRenderingMode","getEditorSettings","defaultRenderingMode","showBlockTypes","blockNames","_registry$select$get","existingBlockNames","get","newBlockNames","filter","Array","isArray","includes","set","hideBlockTypes","_registry$select$get2","mergedBlockNames","Set","saveDirtyEntities","onSave","dirtyEntityRecords","entitiesToSkip","close","PUBLISH_ON_SAVE_ENTITIES","kind","name","saveNoticeId","homeUrl","getUnstableBase","home","removeNotice","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","push","typeToPublish","status","saveEditedEntityRecord","length","__experimentalSaveSpecifiedEntityEdits","undefined","__unstableMarkLastChangeAsPersistent","Promise","all","then","values","value","createErrorNotice","url","catch","error","revertTemplate","allowUndo","noticeId","templateEntityConfig","getEntityConfig","fileTemplatePath","baseURL","context","source","fileTemplate","path","serializeBlocks","blocks","blocksForSerialization","edited","getEditedEntityRecord","content","undoIgnore","raw","undoRevert","errorMessage","message","code","removeTemplates","items","promiseResult","allSettled","map","item","deleteEntityRecord","force","throwOnError","every","successMessage","title","rendered","reason","errorMessages","failedPromises","failedPromise","add","size","join"],"sources":["@wordpress/editor/src/store/private-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport isTemplateRevertable from './utils/is-template-revertable';\nexport * from '../dataviews/store/private-actions';\n\n/**\n * Returns an action object used to set which template is currently being used/edited.\n *\n * @param {string} id Template Id.\n *\n * @return {Object} Action object.\n */\nexport function setCurrentTemplateId( id ) {\n\treturn {\n\t\ttype: 'SET_CURRENT_TEMPLATE_ID',\n\t\tid,\n\t};\n}\n\n/**\n * Create a block based template.\n *\n * @param {Object?} template Template to create and assign.\n */\nexport const createTemplate =\n\t( template ) =>\n\tasync ( { select, dispatch, registry } ) => {\n\t\tconst savedTemplate = await registry\n\t\t\t.dispatch( coreStore )\n\t\t\t.saveEntityRecord( 'postType', 'wp_template', template );\n\t\tregistry\n\t\t\t.dispatch( coreStore )\n\t\t\t.editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tselect.getCurrentPostType(),\n\t\t\t\tselect.getCurrentPostId(),\n\t\t\t\t{\n\t\t\t\t\ttemplate: savedTemplate.slug,\n\t\t\t\t}\n\t\t\t);\n\t\tregistry\n\t\t\t.dispatch( noticesStore )\n\t\t\t.createSuccessNotice(\n\t\t\t\t__( \"Custom template created. You're in template mode now.\" ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\tdispatch.setRenderingMode(\n\t\t\t\t\t\t\t\t\tselect.getEditorSettings()\n\t\t\t\t\t\t\t\t\t\t.defaultRenderingMode\n\t\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}\n\t\t\t);\n\t\treturn savedTemplate;\n\t};\n\n/**\n * Update the provided block types to be visible.\n *\n * @param {string[]} blockNames Names of block types to show.\n */\nexport const showBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst newBlockNames = existingBlockNames.filter(\n\t\t\t( type ) =>\n\t\t\t\t! (\n\t\t\t\t\tArray.isArray( blockNames ) ? blockNames : [ blockNames ]\n\t\t\t\t).includes( type )\n\t\t);\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', newBlockNames );\n\t};\n\n/**\n * Update the provided block types to be hidden.\n *\n * @param {string[]} blockNames Names of block types to hide.\n */\nexport const hideBlockTypes =\n\t( blockNames ) =>\n\t( { registry } ) => {\n\t\tconst existingBlockNames =\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core', 'hiddenBlockTypes' ) ?? [];\n\n\t\tconst mergedBlockNames = new Set( [\n\t\t\t...existingBlockNames,\n\t\t\t...( Array.isArray( blockNames ) ? blockNames : [ blockNames ] ),\n\t\t] );\n\n\t\tregistry\n\t\t\t.dispatch( preferencesStore )\n\t\t\t.set( 'core', 'hiddenBlockTypes', [ ...mergedBlockNames ] );\n\t};\n\n/**\n * Save entity records marked as dirty.\n *\n * @param {Object} options Options for the action.\n * @param {Function} [options.onSave] Callback when saving happens.\n * @param {object[]} [options.dirtyEntityRecords] Array of dirty entities.\n * @param {object[]} [options.entitiesToSkip] Array of entities to skip saving.\n * @param {Function} [options.close] Callback when the actions is called. It should be consolidated with `onSave`.\n */\nexport const saveDirtyEntities =\n\t( { onSave, dirtyEntityRecords = [], entitiesToSkip = [], close } = {} ) =>\n\t( { registry } ) => {\n\t\tconst PUBLISH_ON_SAVE_ENTITIES = [\n\t\t\t{ kind: 'postType', name: 'wp_navigation' },\n\t\t];\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tconst homeUrl = registry.select( coreStore ).getUnstableBase()?.home;\n\t\tregistry.dispatch( noticesStore ).removeNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! entitiesToSkip.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tclose?.( entitiesToSave );\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord( kind, name, key, {\n\t\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.saveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.__experimentalSaveSpecifiedEntityEdits(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'site',\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tsiteItemsToSave\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave ? onSave( values ) : values;\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t\t.createErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t\t.createSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\t\t\t\turl: homeUrl,\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}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t`${ __( 'Saving failed.' ) } ${ error }`\n\t\t\t\t\t)\n\t\t\t);\n\t};\n\n/**\n * Reverts a template to its original theme-provided file.\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nexport const revertTemplate =\n\t( template, { allowUndo = true } = {} ) =>\n\tasync ( { registry } ) => {\n\t\tconst noticeId = 'edit-site-template-reverted';\n\t\tregistry.dispatch( noticesStore ).removeNotice( noticeId );\n\t\tif ( ! isTemplateRevertable( template ) ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( __( 'This template is not revertable.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst templateEntityConfig = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityConfig( 'postType', template.type );\n\n\t\t\tif ( ! templateEntityConfig ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t\t{ context: 'edit', source: 'theme' }\n\t\t\t);\n\n\t\t\tconst fileTemplate = await apiFetch( { path: fileTemplatePath } );\n\t\t\tif ( ! fileTemplate ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serializeBlocks = ( {\n\t\t\t\tblocks: blocksForSerialization = [],\n\t\t\t} ) => __unstableSerializeAndClean( blocksForSerialization );\n\n\t\t\tconst edited = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id\n\t\t\t\t);\n\n\t\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t\t// the revert in the header toolbar correctly.\n\t\t\tregistry.dispatch( coreStore ).editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\ttemplate.type,\n\t\t\t\ttemplate.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.editEntityRecord( 'postType', template.type, fileTemplate.id, {\n\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\tblocks,\n\t\t\t\t\tsource: 'theme',\n\t\t\t\t} );\n\n\t\t\tif ( allowUndo ) {\n\t\t\t\tconst undoRevert = () => {\n\t\t\t\t\tregistry\n\t\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t\t.editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\tedited.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t\t.createSuccessNotice( __( 'Template reset.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: noticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\t\tonClick: undoRevert,\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}\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: __( 'Template revert failed. Please reload.' );\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n/**\n * Action that removes an array of templates, template parts or patterns.\n *\n * @param {Array} items An array of template,template part or pattern objects to remove.\n */\nexport const removeTemplates =\n\t( items ) =>\n\tasync ( { registry } ) => {\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\titems.map( ( item ) => {\n\t\t\t\treturn registry\n\t\t\t\t\t.dispatch( coreStore )\n\t\t\t\t\t.deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\titem.type,\n\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t} )\n\t\t);\n\n\t\t// If all the promises were fulfilled with sucess.\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\n\t\t\tif ( items.length === 1 ) {\n\t\t\t\t// Depending on how the entity was retrieved its title might be\n\t\t\t\t// an object or simple string.\n\t\t\t\tconst title =\n\t\t\t\t\ttypeof items[ 0 ].title === 'string'\n\t\t\t\t\t\t? items[ 0 ].title\n\t\t\t\t\t\t: items[ 0 ].title?.rendered;\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = __( 'Items deleted.' );\n\t\t\t}\n\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createSuccessNotice( successMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'editor-template-deleted-success',\n\t\t\t\t} );\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to delete a single template.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while deleting the item.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If we were trying to delete a multiple templates\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( failedPromise.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while deleting the items.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t__( 'An error occurred while deleting the items: %s' ),\n\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Some errors occurred while deleting the items: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tregistry\n\t\t\t\t.dispatch( noticesStore )\n\t\t\t\t.createErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
17
17
|
import { getRenderingMode, getCurrentPost, __experimentalGetDefaultTemplatePartAreas } from './selectors';
|
|
18
18
|
import { TEMPLATE_PART_POST_TYPE } from './constants';
|
|
19
19
|
import { getFilteredTemplatePartBlocks } from './utils/get-filtered-template-parts';
|
|
20
|
+
import { getEntityActions as _getEntityActions } from '../dataviews/store/private-selectors';
|
|
20
21
|
const EMPTY_INSERTION_POINT = {
|
|
21
22
|
rootClientId: undefined,
|
|
22
23
|
insertionIndex: undefined,
|
|
@@ -126,4 +127,7 @@ export const hasPostMetaChanges = createRegistrySelector(select => (state, postT
|
|
|
126
127
|
footnotes: undefined
|
|
127
128
|
});
|
|
128
129
|
});
|
|
130
|
+
export function getEntityActions(state, ...args) {
|
|
131
|
+
return _getEntityActions(state.dataviews, ...args);
|
|
132
|
+
}
|
|
129
133
|
//# sourceMappingURL=private-selectors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fastDeepEqual","store","blockEditorStore","createSelector","createRegistrySelector","layout","symbol","navigation","page","pageIcon","verse","coreStore","getRenderingMode","getCurrentPost","__experimentalGetDefaultTemplatePartAreas","TEMPLATE_PART_POST_TYPE","getFilteredTemplatePartBlocks","EMPTY_INSERTION_POINT","rootClientId","undefined","insertionIndex","filterValue","getInsertionPoint","select","state","blockInserterPanel","postContentClientId","getBlocksByName","getListViewToggleRef","listViewToggleRef","getInserterSidebarToggleRef","inserterSidebarToggleRef","CARD_ICONS","wp_block","wp_navigation","post","getPostIcon","postType","options","find","item","area","icon","postTypeEntity","getPostType","startsWith","slice","getCurrentTemplateTemplateParts","templateParts","getEntityRecords","per_page","clientIds","blocks","getBlocksByClientId","hasPostMetaChanges","postId","type","currentPostType","id","currentPostId","edits","getEntityRecordNonTransientEdits","meta","originalPostMeta","getEntityRecord","footnotes"],"sources":["@wordpress/editor/src/store/private-selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createSelector, createRegistrySelector } from '@wordpress/data';\nimport {\n\tlayout,\n\tsymbol,\n\tnavigation,\n\tpage as pageIcon,\n\tverse,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetRenderingMode,\n\tgetCurrentPost,\n\t__experimentalGetDefaultTemplatePartAreas,\n} from './selectors';\nimport { TEMPLATE_PART_POST_TYPE } from './constants';\nimport { getFilteredTemplatePartBlocks } from './utils/get-filtered-template-parts';\n\nconst EMPTY_INSERTION_POINT = {\n\trootClientId: undefined,\n\tinsertionIndex: undefined,\n\tfilterValue: undefined,\n};\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const getInsertionPoint = createRegistrySelector( ( select ) =>\n\tcreateSelector(\n\t\t( state ) => {\n\t\t\tif ( typeof state.blockInserterPanel === 'object' ) {\n\t\t\t\treturn state.blockInserterPanel;\n\t\t\t}\n\n\t\t\tif ( getRenderingMode( state ) === 'template-locked' ) {\n\t\t\t\tconst [ postContentClientId ] =\n\t\t\t\t\tselect( blockEditorStore ).getBlocksByName(\n\t\t\t\t\t\t'core/post-content'\n\t\t\t\t\t);\n\t\t\t\tif ( postContentClientId ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\trootClientId: postContentClientId,\n\t\t\t\t\t\tinsertionIndex: undefined,\n\t\t\t\t\t\tfilterValue: undefined,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn EMPTY_INSERTION_POINT;\n\t\t},\n\t\t( state ) => {\n\t\t\tconst [ postContentClientId ] =\n\t\t\t\tselect( blockEditorStore ).getBlocksByName(\n\t\t\t\t\t'core/post-content'\n\t\t\t\t);\n\t\t\treturn [\n\t\t\t\tstate.blockInserterPanel,\n\t\t\t\tgetRenderingMode( state ),\n\t\t\t\tpostContentClientId,\n\t\t\t];\n\t\t}\n\t)\n);\n\nexport function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\nexport function getInserterSidebarToggleRef( state ) {\n\treturn state.inserterSidebarToggleRef;\n}\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n\tpage: pageIcon,\n\tpost: verse,\n};\n\nexport const getPostIcon = createRegistrySelector(\n\t( select ) => ( state, postType, options ) => {\n\t\t{\n\t\t\tif (\n\t\t\t\tpostType === 'wp_template_part' ||\n\t\t\t\tpostType === 'wp_template'\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t__experimentalGetDefaultTemplatePartAreas( state ).find(\n\t\t\t\t\t\t( item ) => options.area === item.area\n\t\t\t\t\t)?.icon || layout\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( CARD_ICONS[ postType ] ) {\n\t\t\t\treturn CARD_ICONS[ postType ];\n\t\t\t}\n\t\t\tconst postTypeEntity = select( coreStore ).getPostType( postType );\n\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t// also supports urls and svg as values.\n\t\t\tif ( postTypeEntity?.icon?.startsWith( 'dashicons-' ) ) {\n\t\t\t\treturn postTypeEntity.icon.slice( 10 );\n\t\t\t}\n\t\t\treturn pageIcon;\n\t\t}\n\t}\n);\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst templateParts = select( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 }\n\t\t);\n\n\t\tconst clientIds =\n\t\t\tselect( blockEditorStore ).getBlocksByName( 'core/template-part' );\n\t\tconst blocks =\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds );\n\n\t\treturn getFilteredTemplatePartBlocks( blocks, templateParts );\n\t}\n);\n\n/**\n * Returns true if there are unsaved changes to the\n * post's meta fields, and false otherwise.\n *\n * @param {Object} state Global application state.\n * @param {string} postType The post type of the post.\n * @param {number} postId The ID of the post.\n *\n * @return {boolean} Whether there are edits or not in the meta fields of the relevant post.\n */\nexport const hasPostMetaChanges = createRegistrySelector(\n\t( select ) => ( state, postType, postId ) => {\n\t\tconst { type: currentPostType, id: currentPostId } =\n\t\t\tgetCurrentPost( state );\n\t\t// If no postType or postId is passed, use the current post.\n\t\tconst edits = select( coreStore ).getEntityRecordNonTransientEdits(\n\t\t\t'postType',\n\t\t\tpostType || currentPostType,\n\t\t\tpostId || currentPostId\n\t\t);\n\n\t\tif ( ! edits?.meta ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Compare if anything apart from `footnotes` has changed.\n\t\tconst originalPostMeta = select( coreStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\tpostType || currentPostType,\n\t\t\tpostId || currentPostId\n\t\t)?.meta;\n\n\t\treturn ! fastDeepEqual(\n\t\t\t{ ...originalPostMeta, footnotes: undefined },\n\t\t\t{ ...edits.meta, footnotes: undefined }\n\t\t);\n\t}\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,aAAa,MAAM,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,iBAAiB;AACxE,SACCC,MAAM,EACNC,MAAM,EACNC,UAAU,EACVC,IAAI,IAAIC,QAAQ,EAChBC,KAAK,QACC,kBAAkB;AACzB,SAAST,KAAK,IAAIU,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SACCC,gBAAgB,EAChBC,cAAc,EACdC,yCAAyC,QACnC,aAAa;AACpB,SAASC,uBAAuB,QAAQ,aAAa;AACrD,SAASC,6BAA6B,QAAQ,qCAAqC;AAEnF,MAAMC,qBAAqB,GAAG;EAC7BC,YAAY,EAAEC,SAAS;EACvBC,cAAc,EAAED,SAAS;EACzBE,WAAW,EAAEF;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,iBAAiB,GAAGlB,sBAAsB,CAAImB,MAAM,IAChEpB,cAAc,CACXqB,KAAK,IAAM;EACZ,IAAK,OAAOA,KAAK,CAACC,kBAAkB,KAAK,QAAQ,EAAG;IACnD,OAAOD,KAAK,CAACC,kBAAkB;EAChC;EAEA,IAAKb,gBAAgB,CAAEY,KAAM,CAAC,KAAK,iBAAiB,EAAG;IACtD,MAAM,CAAEE,mBAAmB,CAAE,GAC5BH,MAAM,CAAErB,gBAAiB,CAAC,CAACyB,eAAe,CACzC,mBACD,CAAC;IACF,IAAKD,mBAAmB,EAAG;MAC1B,OAAO;QACNR,YAAY,EAAEQ,mBAAmB;QACjCN,cAAc,EAAED,SAAS;QACzBE,WAAW,EAAEF;MACd,CAAC;IACF;EACD;EAEA,OAAOF,qBAAqB;AAC7B,CAAC,EACCO,KAAK,IAAM;EACZ,MAAM,CAAEE,mBAAmB,CAAE,GAC5BH,MAAM,CAAErB,gBAAiB,CAAC,CAACyB,eAAe,CACzC,mBACD,CAAC;EACF,OAAO,CACNH,KAAK,CAACC,kBAAkB,EACxBb,gBAAgB,CAAEY,KAAM,CAAC,EACzBE,mBAAmB,CACnB;AACF,CACD,CACD,CAAC;AAED,OAAO,SAASE,oBAAoBA,CAAEJ,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAACK,iBAAiB;AAC/B;AACA,OAAO,SAASC,2BAA2BA,CAAEN,KAAK,EAAG;EACpD,OAAOA,KAAK,CAACO,wBAAwB;AACtC;AACA,MAAMC,UAAU,GAAG;EAClBC,QAAQ,EAAE3B,MAAM;EAChB4B,aAAa,EAAE3B,UAAU;EACzBC,IAAI,EAAEC,QAAQ;EACd0B,IAAI,EAAEzB;AACP,CAAC;AAED,OAAO,MAAM0B,WAAW,GAAGhC,sBAAsB,CAC9CmB,MAAM,IAAM,CAAEC,KAAK,EAAEa,QAAQ,EAAEC,OAAO,KAAM;EAC7C;IACC,IACCD,QAAQ,KAAK,kBAAkB,IAC/BA,QAAQ,KAAK,aAAa,EACzB;MACD,OACCvB,yCAAyC,CAAEU,KAAM,CAAC,CAACe,IAAI,CACpDC,IAAI,IAAMF,OAAO,CAACG,IAAI,KAAKD,IAAI,CAACC,IACnC,CAAC,EAAEC,IAAI,IAAIrC,MAAM;IAEnB;IACA,IAAK2B,UAAU,CAAEK,QAAQ,CAAE,EAAG;MAC7B,OAAOL,UAAU,CAAEK,QAAQ,CAAE;IAC9B;IACA,MAAMM,cAAc,GAAGpB,MAAM,CAAEZ,SAAU,CAAC,CAACiC,WAAW,CAAEP,QAAS,CAAC;IAClE;IACA;IACA;IACA,IAAKM,cAAc,EAAED,IAAI,EAAEG,UAAU,CAAE,YAAa,CAAC,EAAG;MACvD,OAAOF,cAAc,CAACD,IAAI,CAACI,KAAK,CAAE,EAAG,CAAC;IACvC;IACA,OAAOrC,QAAQ;EAChB;AACD,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsC,+BAA+B,GAAG3C,sBAAsB,CAClEmB,MAAM,IAAM,MAAM;EACnB,MAAMyB,aAAa,GAAGzB,MAAM,CAAEZ,SAAU,CAAC,CAACsC,gBAAgB,CACzD,UAAU,EACVlC,uBAAuB,EACvB;IAAEmC,QAAQ,EAAE,CAAC;EAAE,CAChB,CAAC;EAED,MAAMC,SAAS,GACd5B,MAAM,CAAErB,gBAAiB,CAAC,CAACyB,eAAe,CAAE,oBAAqB,CAAC;EACnE,MAAMyB,MAAM,GACX7B,MAAM,CAAErB,gBAAiB,CAAC,CAACmD,mBAAmB,CAAEF,SAAU,CAAC;EAE5D,OAAOnC,6BAA6B,CAAEoC,MAAM,EAAEJ,aAAc,CAAC;AAC9D,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,kBAAkB,GAAGlD,sBAAsB,CACrDmB,MAAM,IAAM,CAAEC,KAAK,EAAEa,QAAQ,EAAEkB,MAAM,KAAM;EAC5C,MAAM;IAAEC,IAAI,EAAEC,eAAe;IAAEC,EAAE,EAAEC;EAAc,CAAC,GACjD9C,cAAc,CAAEW,KAAM,CAAC;EACxB;EACA,MAAMoC,KAAK,GAAGrC,MAAM,CAAEZ,SAAU,CAAC,CAACkD,gCAAgC,CACjE,UAAU,EACVxB,QAAQ,IAAIoB,eAAe,EAC3BF,MAAM,IAAII,aACX,CAAC;EAED,IAAK,CAAEC,KAAK,EAAEE,IAAI,EAAG;IACpB,OAAO,KAAK;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGxC,MAAM,CAAEZ,SAAU,CAAC,CAACqD,eAAe,CAC3D,UAAU,EACV3B,QAAQ,IAAIoB,eAAe,EAC3BF,MAAM,IAAII,aACX,CAAC,EAAEG,IAAI;EAEP,OAAO,CAAE9D,aAAa,CACrB;IAAE,GAAG+D,gBAAgB;IAAEE,SAAS,EAAE9C;EAAU,CAAC,EAC7C;IAAE,GAAGyC,KAAK,CAACE,IAAI;IAAEG,SAAS,EAAE9C;EAAU,CACvC,CAAC;AACF,CACD,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["fastDeepEqual","store","blockEditorStore","createSelector","createRegistrySelector","layout","symbol","navigation","page","pageIcon","verse","coreStore","getRenderingMode","getCurrentPost","__experimentalGetDefaultTemplatePartAreas","TEMPLATE_PART_POST_TYPE","getFilteredTemplatePartBlocks","getEntityActions","_getEntityActions","EMPTY_INSERTION_POINT","rootClientId","undefined","insertionIndex","filterValue","getInsertionPoint","select","state","blockInserterPanel","postContentClientId","getBlocksByName","getListViewToggleRef","listViewToggleRef","getInserterSidebarToggleRef","inserterSidebarToggleRef","CARD_ICONS","wp_block","wp_navigation","post","getPostIcon","postType","options","find","item","area","icon","postTypeEntity","getPostType","startsWith","slice","getCurrentTemplateTemplateParts","templateParts","getEntityRecords","per_page","clientIds","blocks","getBlocksByClientId","hasPostMetaChanges","postId","type","currentPostType","id","currentPostId","edits","getEntityRecordNonTransientEdits","meta","originalPostMeta","getEntityRecord","footnotes","args","dataviews"],"sources":["@wordpress/editor/src/store/private-selectors.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createSelector, createRegistrySelector } from '@wordpress/data';\nimport {\n\tlayout,\n\tsymbol,\n\tnavigation,\n\tpage as pageIcon,\n\tverse,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetRenderingMode,\n\tgetCurrentPost,\n\t__experimentalGetDefaultTemplatePartAreas,\n} from './selectors';\nimport { TEMPLATE_PART_POST_TYPE } from './constants';\nimport { getFilteredTemplatePartBlocks } from './utils/get-filtered-template-parts';\nimport { getEntityActions as _getEntityActions } from '../dataviews/store/private-selectors';\n\nconst EMPTY_INSERTION_POINT = {\n\trootClientId: undefined,\n\tinsertionIndex: undefined,\n\tfilterValue: undefined,\n};\n\n/**\n * Get the insertion point for the inserter.\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} The root client ID, index to insert at and starting filter value.\n */\nexport const getInsertionPoint = createRegistrySelector( ( select ) =>\n\tcreateSelector(\n\t\t( state ) => {\n\t\t\tif ( typeof state.blockInserterPanel === 'object' ) {\n\t\t\t\treturn state.blockInserterPanel;\n\t\t\t}\n\n\t\t\tif ( getRenderingMode( state ) === 'template-locked' ) {\n\t\t\t\tconst [ postContentClientId ] =\n\t\t\t\t\tselect( blockEditorStore ).getBlocksByName(\n\t\t\t\t\t\t'core/post-content'\n\t\t\t\t\t);\n\t\t\t\tif ( postContentClientId ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\trootClientId: postContentClientId,\n\t\t\t\t\t\tinsertionIndex: undefined,\n\t\t\t\t\t\tfilterValue: undefined,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn EMPTY_INSERTION_POINT;\n\t\t},\n\t\t( state ) => {\n\t\t\tconst [ postContentClientId ] =\n\t\t\t\tselect( blockEditorStore ).getBlocksByName(\n\t\t\t\t\t'core/post-content'\n\t\t\t\t);\n\t\t\treturn [\n\t\t\t\tstate.blockInserterPanel,\n\t\t\t\tgetRenderingMode( state ),\n\t\t\t\tpostContentClientId,\n\t\t\t];\n\t\t}\n\t)\n);\n\nexport function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\nexport function getInserterSidebarToggleRef( state ) {\n\treturn state.inserterSidebarToggleRef;\n}\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n\tpage: pageIcon,\n\tpost: verse,\n};\n\nexport const getPostIcon = createRegistrySelector(\n\t( select ) => ( state, postType, options ) => {\n\t\t{\n\t\t\tif (\n\t\t\t\tpostType === 'wp_template_part' ||\n\t\t\t\tpostType === 'wp_template'\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t__experimentalGetDefaultTemplatePartAreas( state ).find(\n\t\t\t\t\t\t( item ) => options.area === item.area\n\t\t\t\t\t)?.icon || layout\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( CARD_ICONS[ postType ] ) {\n\t\t\t\treturn CARD_ICONS[ postType ];\n\t\t\t}\n\t\t\tconst postTypeEntity = select( coreStore ).getPostType( postType );\n\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t// also supports urls and svg as values.\n\t\t\tif ( postTypeEntity?.icon?.startsWith( 'dashicons-' ) ) {\n\t\t\t\treturn postTypeEntity.icon.slice( 10 );\n\t\t\t}\n\t\t\treturn pageIcon;\n\t\t}\n\t}\n);\n\n/**\n * Returns the template parts and their blocks for the current edited template.\n *\n * @param {Object} state Global application state.\n * @return {Array} Template parts and their blocks in an array.\n */\nexport const getCurrentTemplateTemplateParts = createRegistrySelector(\n\t( select ) => () => {\n\t\tconst templateParts = select( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 }\n\t\t);\n\n\t\tconst clientIds =\n\t\t\tselect( blockEditorStore ).getBlocksByName( 'core/template-part' );\n\t\tconst blocks =\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds );\n\n\t\treturn getFilteredTemplatePartBlocks( blocks, templateParts );\n\t}\n);\n\n/**\n * Returns true if there are unsaved changes to the\n * post's meta fields, and false otherwise.\n *\n * @param {Object} state Global application state.\n * @param {string} postType The post type of the post.\n * @param {number} postId The ID of the post.\n *\n * @return {boolean} Whether there are edits or not in the meta fields of the relevant post.\n */\nexport const hasPostMetaChanges = createRegistrySelector(\n\t( select ) => ( state, postType, postId ) => {\n\t\tconst { type: currentPostType, id: currentPostId } =\n\t\t\tgetCurrentPost( state );\n\t\t// If no postType or postId is passed, use the current post.\n\t\tconst edits = select( coreStore ).getEntityRecordNonTransientEdits(\n\t\t\t'postType',\n\t\t\tpostType || currentPostType,\n\t\t\tpostId || currentPostId\n\t\t);\n\n\t\tif ( ! edits?.meta ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Compare if anything apart from `footnotes` has changed.\n\t\tconst originalPostMeta = select( coreStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\tpostType || currentPostType,\n\t\t\tpostId || currentPostId\n\t\t)?.meta;\n\n\t\treturn ! fastDeepEqual(\n\t\t\t{ ...originalPostMeta, footnotes: undefined },\n\t\t\t{ ...edits.meta, footnotes: undefined }\n\t\t);\n\t}\n);\n\nexport function getEntityActions( state, ...args ) {\n\treturn _getEntityActions( state.dataviews, ...args );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { combineReducers } from '@wordpress/data';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { EDITOR_SETTINGS_DEFAULTS } from './defaults';
|
|
10
|
+
import dataviewsReducer from '../dataviews/store/reducer';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Returns a post attribute value, flattening nested rendered content using its
|
|
@@ -393,6 +394,7 @@ export default combineReducers({
|
|
|
393
394
|
inserterSidebarToggleRef,
|
|
394
395
|
listViewPanel,
|
|
395
396
|
listViewToggleRef,
|
|
396
|
-
publishSidebarActive
|
|
397
|
+
publishSidebarActive,
|
|
398
|
+
dataviews: dataviewsReducer
|
|
397
399
|
});
|
|
398
400
|
//# sourceMappingURL=reducer.js.map
|