@wordpress/editor 14.0.1 → 14.0.3
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/build/components/document-tools/index.js +12 -3
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-interface/index.js +2 -2
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +4 -12
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/global-styles-provider/index.js +15 -67
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/post-actions/actions.js +62 -13
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +4 -1
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-excerpt/index.js +2 -1
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +2 -1
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-trash/index.js +1 -0
- package/build/components/post-trash/index.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/template-validation-notice/index.js +1 -0
- package/build/components/template-validation-notice/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/hooks/pattern-overrides.js +3 -2
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/store/private-actions.js +9 -5
- package/build/store/private-actions.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-interface/index.js +2 -2
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +6 -14
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +16 -68
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +63 -14
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +4 -1
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +2 -1
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +2 -1
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-trash/index.js +1 -0
- package/build-module/components/post-trash/index.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/template-validation-notice/index.js +1 -0
- package/build-module/components/template-validation-notice/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/hooks/pattern-overrides.js +3 -2
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/private-actions.js +9 -5
- package/build-module/store/private-actions.js.map +1 -1
- package/build-style/style-rtl.css +8 -16
- package/build-style/style.css +8 -16
- package/package.json +19 -19
- package/src/components/document-tools/index.js +13 -4
- package/src/components/editor-interface/index.js +12 -8
- package/src/components/entities-saved-states/entity-record-item.js +4 -14
- package/src/components/entities-saved-states/style.scss +0 -13
- package/src/components/global-styles-provider/index.js +19 -92
- package/src/components/post-actions/actions.js +105 -21
- package/src/components/post-actions/index.js +1 -1
- package/src/components/post-card-panel/style.scss +1 -0
- package/src/components/post-excerpt/index.js +4 -1
- package/src/components/post-excerpt/panel.js +2 -1
- package/src/components/post-publish-panel/style.scss +1 -1
- package/src/components/post-trash/index.js +1 -0
- package/src/components/post-url/style.scss +4 -0
- package/src/components/post-visibility/index.js +1 -0
- package/src/components/template-validation-notice/index.js +1 -0
- package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
- package/src/components/visual-editor/style.scss +2 -0
- package/src/hooks/pattern-overrides.js +4 -3
- package/src/lock-unlock.js +1 -1
- package/src/store/private-actions.js +54 -21
|
@@ -32,9 +32,6 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
32
32
|
* Internal dependencies
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
-
const preventDefault = event => {
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
};
|
|
38
35
|
function DocumentTools({
|
|
39
36
|
className,
|
|
40
37
|
disableBlockTools = false
|
|
@@ -84,6 +81,18 @@ function DocumentTools({
|
|
|
84
81
|
isZoomedOutView: __unstableGetEditorMode() === 'zoom-out'
|
|
85
82
|
};
|
|
86
83
|
}, []);
|
|
84
|
+
const preventDefault = event => {
|
|
85
|
+
// Because the inserter behaves like a dialog,
|
|
86
|
+
// if the inserter is opened already then when we click on the toggle button
|
|
87
|
+
// then the initial click event will close the inserter and then be propagated
|
|
88
|
+
// to the inserter toggle and it will open it again.
|
|
89
|
+
// To prevent this we need to stop the propagation of the event.
|
|
90
|
+
// This won't be necessary when the inserter no longer behaves like a dialog.
|
|
91
|
+
|
|
92
|
+
if (isInserterOpened) {
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
87
96
|
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
88
97
|
const isWideViewport = (0, _compose.useViewportMatch)('wide');
|
|
89
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_data","_i18n","_blockEditor","_components","_icons","_element","_keyboardShortcuts","_preferences","_lockUnlock","_store","_redo","_undo","_jsxRuntime","preventDefault","event","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","useDispatch","editorStore","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","useSelect","select","getSettings","blockEditorStore","get","preferencesStore","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","unlock","getShortcutRepresentation","keyboardShortcutsStore","__unstableGetEditorMode","isVisualMode","isZoomedOutView","isLargeViewport","useViewportMatch","isWideViewport","toolbarAriaLabel","__","toggleListView","useCallback","toggleInserter","longLabel","_x","shortLabel","jsx","NavigableToolbar","clsx","variant","children","jsxs","ToolbarItem","ref","as","Button","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","Fragment","ToolSelector","undefined","size","EditorHistoryUndo","EditorHistoryRedo","listView","shortcut","_default","exports","default"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( { className, disableBlockTools = false } ) {\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst {\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpened ),\n\t\t[ isInserterOpened, setIsInserterOpened ]\n\t);\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_data","_i18n","_blockEditor","_components","_icons","_element","_keyboardShortcuts","_preferences","_lockUnlock","_store","_redo","_undo","_jsxRuntime","DocumentTools","className","disableBlockTools","setIsInserterOpened","setIsListViewOpened","useDispatch","editorStore","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","useSelect","select","getSettings","blockEditorStore","get","preferencesStore","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","unlock","getShortcutRepresentation","keyboardShortcutsStore","__unstableGetEditorMode","isVisualMode","isZoomedOutView","preventDefault","event","isLargeViewport","useViewportMatch","isWideViewport","toolbarAriaLabel","__","toggleListView","useCallback","toggleInserter","longLabel","_x","shortLabel","jsx","NavigableToolbar","clsx","variant","children","jsxs","ToolbarItem","ref","as","Button","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","Fragment","ToolSelector","undefined","size","EditorHistoryUndo","EditorHistoryRedo","listView","shortcut","_default","exports","default"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nfunction DocumentTools( { className, disableBlockTools = false } ) {\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst {\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst preventDefault = ( event ) => {\n\t\t// Because the inserter behaves like a dialog,\n\t\t// if the inserter is opened already then when we click on the toggle button\n\t\t// then the initial click event will close the inserter and then be propagated\n\t\t// to the inserter toggle and it will open it again.\n\t\t// To prevent this we need to stop the propagation of the event.\n\t\t// This won't be necessary when the inserter no longer behaves like a dialog.\n\n\t\tif ( isInserterOpened ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpened ),\n\t\t[ isInserterOpened, setIsInserterOpened ]\n\t);\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -161,12 +161,12 @@ function EditorInterface({
|
|
|
161
161
|
footer: !isPreviewMode && !isDistractionFree && isLargeViewport && showBlockBreadcrumbs && isRichEditingEnabled && blockEditorMode !== 'zoom-out' && mode === 'visual' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockBreadcrumb, {
|
|
162
162
|
rootLabelText: documentLabel
|
|
163
163
|
}),
|
|
164
|
-
actions: /*#__PURE__*/(0, _jsxRuntime.jsx)(_savePublishPanels.default, {
|
|
164
|
+
actions: !isPreviewMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_savePublishPanels.default, {
|
|
165
165
|
closeEntitiesSavedStates: closeEntitiesSavedStates,
|
|
166
166
|
isEntitiesSavedStatesOpen: entitiesSavedStatesCallback,
|
|
167
167
|
setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback,
|
|
168
168
|
forceIsDirtyPublishPanel: forceIsDirty
|
|
169
|
-
}),
|
|
169
|
+
}) : undefined,
|
|
170
170
|
shortcuts: {
|
|
171
171
|
previous: previousShortcut,
|
|
172
172
|
next: nextShortcut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_keyboardShortcuts","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","blockEditorStore","__unstableGetEditorMode","isWideViewport","useViewportMatch","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free':\n\t\t\t\t\tisDistractionFree && isWideViewport && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t<SavePublishPanels\n\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\tisEntitiesSavedStatesOpen={ entitiesSavedStatesCallback }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t/>\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_interface","_data","_i18n","_preferences","_blockEditor","_keyboardShortcuts","_compose","_element","_store","_editorNotices","_header","_inserterSidebar","_listViewSidebar","_savePublishPanels","_textEditor","_visualEditor","_contentSlotFill","_jsxRuntime","interfaceLabels","header","__","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","useSelect","select","get","preferencesStore","getEditorSettings","getPostTypeLabel","editorStore","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","blockEditorStore","__unstableGetEditorMode","isWideViewport","useViewportMatch","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","jsx","InterfaceSkeleton","clsx","labels","secondarySidebar","default","editorNotices","ComplementaryArea","Slot","scope","content","jsxs","Fragment","editorCanvasView","BlockToolbar","hideDragHandle","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free':\n\t\t\t\t\tisDistractionFree && isWideViewport && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode ? (\n\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
9
9
|
var _data = require("@wordpress/data");
|
|
10
10
|
var _coreData = require("@wordpress/core-data");
|
|
11
11
|
var _htmlEntities = require("@wordpress/html-entities");
|
|
12
|
-
var _icons = require("@wordpress/icons");
|
|
13
12
|
var _store = require("../../store");
|
|
14
13
|
var _lockUnlock = require("../../lock-unlock");
|
|
15
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -58,17 +57,10 @@ function EntityRecordItem({
|
|
|
58
57
|
checked: checked,
|
|
59
58
|
onChange: onChange
|
|
60
59
|
})
|
|
61
|
-
}), hasPostMetaChanges && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
children:
|
|
65
|
-
className: "entities-saved-states__connections-icon",
|
|
66
|
-
icon: _icons.connection,
|
|
67
|
-
size: 24
|
|
68
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
69
|
-
className: "entities-saved-states__bindings-text",
|
|
70
|
-
children: (0, _i18n.__)('Post Meta.')
|
|
71
|
-
})]
|
|
60
|
+
}), hasPostMetaChanges && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
61
|
+
className: "entities-saved-states__changes",
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
63
|
+
children: (0, _i18n.__)('Post Meta.')
|
|
72
64
|
})
|
|
73
65
|
})]
|
|
74
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_data","_coreData","_htmlEntities","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_data","_coreData","_htmlEntities","_store","_lockUnlock","_jsxRuntime","EntityRecordItem","record","checked","onChange","name","kind","title","key","entityRecordTitle","hasPostMetaChanges","useSelect","select","unlock","editorStore","template","coreStore","getEditedEntityRecord","__experimentalGetTemplateInfo","jsxs","Fragment","children","jsx","PanelRow","CheckboxControl","__nextHasNoMarginBottom","label","decodeEntities","__","className"],"sources":["@wordpress/editor/src/components/entities-saved-states/entity-record-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl, PanelRow } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function EntityRecordItem( { record, checked, onChange } ) {\n\tconst { name, kind, title, key } = record;\n\n\t// Handle templates that might use default descriptive titles.\n\tconst { entityRecordTitle, hasPostMetaChanges } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( 'postType' !== kind || 'wp_template' !== name ) {\n\t\t\t\treturn {\n\t\t\t\t\tentityRecordTitle: title,\n\t\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\t\tselect( editorStore )\n\t\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst template = select( coreStore ).getEditedEntityRecord(\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tkey\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tentityRecordTitle:\n\t\t\t\t\tselect( editorStore ).__experimentalGetTemplateInfo(\n\t\t\t\t\t\ttemplate\n\t\t\t\t\t).title,\n\t\t\t\thasPostMetaChanges: unlock(\n\t\t\t\t\tselect( editorStore )\n\t\t\t\t).hasPostMetaChanges( name, key ),\n\t\t\t};\n\t\t},\n\t\t[ name, kind, title, key ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelRow>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tdecodeEntities( entityRecordTitle ) || __( 'Untitled' )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</PanelRow>\n\t\t\t{ hasPostMetaChanges && (\n\t\t\t\t<ul className=\"entities-saved-states__changes\">\n\t\t\t\t\t<li>{ __( 'Post Meta.' ) }</li>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAA2C,IAAAO,WAAA,GAAAP,OAAA;AAb3C;AACA;AACA;;AAOA;AACA;AACA;;AAIe,SAASQ,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACzE,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGN,MAAM;;EAEzC;EACA,MAAM;IAAEO,iBAAiB;IAAEC;EAAmB,CAAC,GAAG,IAAAC,eAAS,EACxDC,MAAM,IAAM;IACb,IAAK,UAAU,KAAKN,IAAI,IAAI,aAAa,KAAKD,IAAI,EAAG;MACpD,OAAO;QACNI,iBAAiB,EAAEF,KAAK;QACxBG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;MACjC,CAAC;IACF;IAEA,MAAMO,QAAQ,GAAGH,MAAM,CAAEI,eAAU,CAAC,CAACC,qBAAqB,CACzDX,IAAI,EACJD,IAAI,EACJG,GACD,CAAC;IACD,OAAO;MACNC,iBAAiB,EAChBG,MAAM,CAAEE,YAAY,CAAC,CAACI,6BAA6B,CAClDH,QACD,CAAC,CAACR,KAAK;MACRG,kBAAkB,EAAE,IAAAG,kBAAM,EACzBD,MAAM,CAAEE,YAAY,CACrB,CAAC,CAACJ,kBAAkB,CAAEL,IAAI,EAAEG,GAAI;IACjC,CAAC;EACF,CAAC,EACD,CAAEH,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,CACzB,CAAC;EAED,oBACC,IAAAR,WAAA,CAAAmB,IAAA,EAAAnB,WAAA,CAAAoB,QAAA;IAAAC,QAAA,gBACC,IAAArB,WAAA,CAAAsB,GAAA,EAAC9B,WAAA,CAAA+B,QAAQ;MAAAF,QAAA,eACR,IAAArB,WAAA,CAAAsB,GAAA,EAAC9B,WAAA,CAAAgC,eAAe;QACfC,uBAAuB;QACvBC,KAAK,EACJ,IAAAC,4BAAc,EAAElB,iBAAkB,CAAC,IAAI,IAAAmB,QAAE,EAAE,UAAW,CACtD;QACDzB,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACO,CAAC,EACTM,kBAAkB,iBACnB,IAAAV,WAAA,CAAAsB,GAAA;MAAIO,SAAS,EAAC,gCAAgC;MAAAR,QAAA,eAC7C,IAAArB,WAAA,CAAAsB,GAAA;QAAAD,QAAA,EAAM,IAAAO,QAAE,EAAE,YAAa;MAAC,CAAM;IAAC,CAC5B,CACJ;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
@@ -9,13 +9,11 @@ exports.mergeBaseAndUserConfigs = mergeBaseAndUserConfigs;
|
|
|
9
9
|
exports.useGlobalStylesContext = useGlobalStylesContext;
|
|
10
10
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
|
11
11
|
var _isPlainObject = require("is-plain-object");
|
|
12
|
-
var _blocks = require("@wordpress/blocks");
|
|
13
12
|
var _blockEditor = require("@wordpress/block-editor");
|
|
14
13
|
var _coreData = require("@wordpress/core-data");
|
|
15
14
|
var _data = require("@wordpress/data");
|
|
16
15
|
var _element = require("@wordpress/element");
|
|
17
16
|
var _lockUnlock = require("../../lock-unlock");
|
|
18
|
-
var _setNestedValue = _interopRequireDefault(require("../../utils/set-nested-value"));
|
|
19
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
18
|
/**
|
|
21
19
|
* External dependencies
|
|
@@ -41,62 +39,6 @@ function mergeBaseAndUserConfigs(base, user) {
|
|
|
41
39
|
isMergeableObject: _isPlainObject.isPlainObject
|
|
42
40
|
});
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Resolves shared block style variation definitions from the user origin
|
|
47
|
-
* under their respective block types and registers the block style if required.
|
|
48
|
-
*
|
|
49
|
-
* @param {Object} userConfig Current user origin global styles data.
|
|
50
|
-
* @return {Object} Updated global styles data.
|
|
51
|
-
*/
|
|
52
|
-
function useResolvedBlockStyleVariationsConfig(userConfig) {
|
|
53
|
-
const {
|
|
54
|
-
getBlockStyles
|
|
55
|
-
} = (0, _data.useSelect)(_blocks.store);
|
|
56
|
-
const sharedVariations = userConfig?.styles?.blocks?.variations;
|
|
57
|
-
|
|
58
|
-
// Collect block style variation definitions to merge and unregistered
|
|
59
|
-
// block styles for automatic registration.
|
|
60
|
-
const [userConfigToMerge, unregisteredStyles] = (0, _element.useMemo)(() => {
|
|
61
|
-
if (!sharedVariations) {
|
|
62
|
-
return [];
|
|
63
|
-
}
|
|
64
|
-
const variationsConfigToMerge = {};
|
|
65
|
-
const unregisteredBlockStyles = [];
|
|
66
|
-
Object.entries(sharedVariations).forEach(([variationName, variation]) => {
|
|
67
|
-
if (!variation?.blockTypes?.length) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
variation.blockTypes.forEach(blockName => {
|
|
71
|
-
const blockStyles = getBlockStyles(blockName);
|
|
72
|
-
const registeredBlockStyle = blockStyles.find(({
|
|
73
|
-
name
|
|
74
|
-
}) => name === variationName);
|
|
75
|
-
if (!registeredBlockStyle) {
|
|
76
|
-
unregisteredBlockStyles.push([blockName, {
|
|
77
|
-
name: variationName,
|
|
78
|
-
label: variationName
|
|
79
|
-
}]);
|
|
80
|
-
}
|
|
81
|
-
const path = ['styles', 'blocks', blockName, 'variations', variationName];
|
|
82
|
-
(0, _setNestedValue.default)(variationsConfigToMerge, path, variation);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
return [variationsConfigToMerge, unregisteredBlockStyles];
|
|
86
|
-
}, [sharedVariations, getBlockStyles]);
|
|
87
|
-
|
|
88
|
-
// Automatically register missing block styles from variations.
|
|
89
|
-
(0, _element.useEffect)(() => unregisteredStyles?.forEach(unregisteredStyle => (0, _blocks.registerBlockStyle)(...unregisteredStyle)), [unregisteredStyles]);
|
|
90
|
-
|
|
91
|
-
// Merge shared block style variation definitions into overall user config.
|
|
92
|
-
const updatedConfig = (0, _element.useMemo)(() => {
|
|
93
|
-
if (!userConfigToMerge) {
|
|
94
|
-
return userConfig;
|
|
95
|
-
}
|
|
96
|
-
return (0, _deepmerge.default)(userConfigToMerge, userConfig);
|
|
97
|
-
}, [userConfigToMerge, userConfig]);
|
|
98
|
-
return updatedConfig;
|
|
99
|
-
}
|
|
100
42
|
function useGlobalStylesUserConfig() {
|
|
101
43
|
const {
|
|
102
44
|
globalStylesId,
|
|
@@ -136,7 +78,14 @@ function useGlobalStylesUserConfig() {
|
|
|
136
78
|
_links: _links !== null && _links !== void 0 ? _links : {}
|
|
137
79
|
};
|
|
138
80
|
}, [settings, styles, _links]);
|
|
139
|
-
const setConfig = (0, _element.useCallback)(
|
|
81
|
+
const setConfig = (0, _element.useCallback)(
|
|
82
|
+
/**
|
|
83
|
+
* Set the global styles config.
|
|
84
|
+
* @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.
|
|
85
|
+
* Otherwise, overwrite the current config with the incoming object.
|
|
86
|
+
* @param {Object} options Options for editEntityRecord Core selector.
|
|
87
|
+
*/
|
|
88
|
+
(callbackOrObject, options = {}) => {
|
|
140
89
|
var _record$styles, _record$settings, _record$_links;
|
|
141
90
|
const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
|
|
142
91
|
const currentConfig = {
|
|
@@ -144,13 +93,13 @@ function useGlobalStylesUserConfig() {
|
|
|
144
93
|
settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {},
|
|
145
94
|
_links: (_record$_links = record?._links) !== null && _record$_links !== void 0 ? _record$_links : {}
|
|
146
95
|
};
|
|
147
|
-
const updatedConfig =
|
|
96
|
+
const updatedConfig = typeof callbackOrObject === 'function' ? callbackOrObject(currentConfig) : callbackOrObject;
|
|
148
97
|
editEntityRecord('root', 'globalStyles', globalStylesId, {
|
|
149
98
|
styles: cleanEmptyObject(updatedConfig.styles) || {},
|
|
150
99
|
settings: cleanEmptyObject(updatedConfig.settings) || {},
|
|
151
100
|
_links: cleanEmptyObject(updatedConfig._links) || {}
|
|
152
101
|
}, options);
|
|
153
|
-
}, [globalStylesId]);
|
|
102
|
+
}, [globalStylesId, editEntityRecord, getEditedEntityRecord]);
|
|
154
103
|
return [isReady, config, setConfig];
|
|
155
104
|
}
|
|
156
105
|
function useGlobalStylesBaseConfig() {
|
|
@@ -162,22 +111,21 @@ function useGlobalStylesBaseConfig() {
|
|
|
162
111
|
function useGlobalStylesContext() {
|
|
163
112
|
const [isUserConfigReady, userConfig, setUserConfig] = useGlobalStylesUserConfig();
|
|
164
113
|
const [isBaseConfigReady, baseConfig] = useGlobalStylesBaseConfig();
|
|
165
|
-
const userConfigWithVariations = useResolvedBlockStyleVariationsConfig(userConfig);
|
|
166
114
|
const mergedConfig = (0, _element.useMemo)(() => {
|
|
167
|
-
if (!baseConfig || !
|
|
115
|
+
if (!baseConfig || !userConfig) {
|
|
168
116
|
return {};
|
|
169
117
|
}
|
|
170
|
-
return mergeBaseAndUserConfigs(baseConfig,
|
|
171
|
-
}, [
|
|
118
|
+
return mergeBaseAndUserConfigs(baseConfig, userConfig);
|
|
119
|
+
}, [userConfig, baseConfig]);
|
|
172
120
|
const context = (0, _element.useMemo)(() => {
|
|
173
121
|
return {
|
|
174
122
|
isReady: isUserConfigReady && isBaseConfigReady,
|
|
175
|
-
user:
|
|
123
|
+
user: userConfig,
|
|
176
124
|
base: baseConfig,
|
|
177
125
|
merged: mergedConfig,
|
|
178
126
|
setUserConfig
|
|
179
127
|
};
|
|
180
|
-
}, [mergedConfig,
|
|
128
|
+
}, [mergedConfig, userConfig, baseConfig, setUserConfig, isUserConfigReady, isBaseConfigReady]);
|
|
181
129
|
return context;
|
|
182
130
|
}
|
|
183
131
|
function GlobalStylesProvider({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_deepmerge","_interopRequireDefault","require","_isPlainObject","_blocks","_blockEditor","_coreData","_data","_element","_lockUnlock","_setNestedValue","_jsxRuntime","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useResolvedBlockStyleVariationsConfig","userConfig","getBlockStyles","useSelect","blocksStore","sharedVariations","styles","blocks","variations","userConfigToMerge","unregisteredStyles","useMemo","variationsConfigToMerge","unregisteredBlockStyles","Object","entries","forEach","variationName","variation","blockTypes","length","blockName","blockStyles","registeredBlockStyle","find","name","push","label","path","setNestedValue","useEffect","unregisteredStyle","registerBlockStyle","updatedConfig","useGlobalStylesUserConfig","globalStylesId","isReady","settings","_links","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","useDispatch","config","setConfig","useCallback","callback","options","_record$styles","_record$settings","_record$_links","currentConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","userConfigWithVariations","mergedConfig","context","merged","GlobalStylesProvider","children","jsx","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { registerBlockStyle, store as blocksStore } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\n/**\n * Resolves shared block style variation definitions from the user origin\n * under their respective block types and registers the block style if required.\n *\n * @param {Object} userConfig Current user origin global styles data.\n * @return {Object} Updated global styles data.\n */\nfunction useResolvedBlockStyleVariationsConfig( userConfig ) {\n\tconst { getBlockStyles } = useSelect( blocksStore );\n\tconst sharedVariations = userConfig?.styles?.blocks?.variations;\n\n\t// Collect block style variation definitions to merge and unregistered\n\t// block styles for automatic registration.\n\tconst [ userConfigToMerge, unregisteredStyles ] = useMemo( () => {\n\t\tif ( ! sharedVariations ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst variationsConfigToMerge = {};\n\t\tconst unregisteredBlockStyles = [];\n\n\t\tObject.entries( sharedVariations ).forEach(\n\t\t\t( [ variationName, variation ] ) => {\n\t\t\t\tif ( ! variation?.blockTypes?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvariation.blockTypes.forEach( ( blockName ) => {\n\t\t\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\t\t\tconst registeredBlockStyle = blockStyles.find(\n\t\t\t\t\t\t( { name } ) => name === variationName\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! registeredBlockStyle ) {\n\t\t\t\t\t\tunregisteredBlockStyles.push( [\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: variationName,\n\t\t\t\t\t\t\t\tlabel: variationName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] );\n\t\t\t\t\t}\n\n\t\t\t\t\tconst path = [\n\t\t\t\t\t\t'styles',\n\t\t\t\t\t\t'blocks',\n\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t'variations',\n\t\t\t\t\t\tvariationName,\n\t\t\t\t\t];\n\t\t\t\t\tsetNestedValue( variationsConfigToMerge, path, variation );\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\treturn [ variationsConfigToMerge, unregisteredBlockStyles ];\n\t}, [ sharedVariations, getBlockStyles ] );\n\n\t// Automatically register missing block styles from variations.\n\tuseEffect(\n\t\t() =>\n\t\t\tunregisteredStyles?.forEach( ( unregisteredStyle ) =>\n\t\t\t\tregisterBlockStyle( ...unregisteredStyle )\n\t\t\t),\n\t\t[ unregisteredStyles ]\n\t);\n\n\t// Merge shared block style variation definitions into overall user config.\n\tconst updatedConfig = useMemo( () => {\n\t\tif ( ! userConfigToMerge ) {\n\t\t\treturn userConfig;\n\t\t}\n\n\t\treturn deepmerge( userConfigToMerge, userConfig );\n\t}, [ userConfigToMerge, userConfig ] );\n\n\treturn updatedConfig;\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst userConfigWithVariations =\n\t\tuseResolvedBlockStyleVariationsConfig( userConfig );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfigWithVariations ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfigWithVariations );\n\t}, [ userConfigWithVariations, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfigWithVariations,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfigWithVariations,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_deepmerge","_interopRequireDefault","require","_isPlainObject","_blockEditor","_coreData","_data","_element","_lockUnlock","_jsxRuntime","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","_links","useSelect","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","useDispatch","config","useMemo","setConfig","useCallback","callbackOrObject","options","_record$styles","_record$settings","_record$_links","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children","jsx","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t/**\n\t\t * Set the global styles config.\n\t\t * @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.\n\t\t * Otherwise, overwrite the current config with the incoming object.\n\t\t * @param {Object} options Options for editEntityRecord Core selector.\n\t\t */\n\t\t( callbackOrObject, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\n\t\t\tconst updatedConfig =\n\t\t\t\ttypeof callbackOrObject === 'function'\n\t\t\t\t\t? callbackOrObject( currentConfig )\n\t\t\t\t\t: callbackOrObject;\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId, editEntityRecord, getEditedEntityRecord ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -131,6 +131,15 @@ const deletePostAction = {
|
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
|
+
function useCanUserEligibilityCheckPostType(capability, resource, action) {
|
|
135
|
+
const registry = (0, _data.useRegistry)();
|
|
136
|
+
return (0, _element.useMemo)(() => ({
|
|
137
|
+
...action,
|
|
138
|
+
isEligible(item) {
|
|
139
|
+
return action.isEligible(item) && registry.select(_coreData.store).canUser(capability, resource, item.id);
|
|
140
|
+
}
|
|
141
|
+
}), [action, registry, capability, resource]);
|
|
142
|
+
}
|
|
134
143
|
const trashPostAction = {
|
|
135
144
|
id: 'move-to-trash',
|
|
136
145
|
label: (0, _i18n.__)('Move to Trash'),
|
|
@@ -250,7 +259,10 @@ const trashPostAction = {
|
|
|
250
259
|
});
|
|
251
260
|
}
|
|
252
261
|
};
|
|
253
|
-
function
|
|
262
|
+
function useTrashPostAction(resource) {
|
|
263
|
+
return useCanUserEligibilityCheckPostType('delete', resource, trashPostAction);
|
|
264
|
+
}
|
|
265
|
+
function usePermanentlyDeletePostAction(resource) {
|
|
254
266
|
const {
|
|
255
267
|
createSuccessNotice,
|
|
256
268
|
createErrorNotice
|
|
@@ -258,7 +270,7 @@ function usePermanentlyDeletePostAction() {
|
|
|
258
270
|
const {
|
|
259
271
|
deleteEntityRecord
|
|
260
272
|
} = (0, _data.useDispatch)(_coreData.store);
|
|
261
|
-
|
|
273
|
+
const permanentlyDeletePostAction = (0, _element.useMemo)(() => ({
|
|
262
274
|
id: 'permanently-delete',
|
|
263
275
|
label: (0, _i18n.__)('Permanently delete'),
|
|
264
276
|
supportsBulk: true,
|
|
@@ -330,8 +342,9 @@ function usePermanentlyDeletePostAction() {
|
|
|
330
342
|
}
|
|
331
343
|
}
|
|
332
344
|
}), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
|
|
345
|
+
return useCanUserEligibilityCheckPostType('delete', resource, permanentlyDeletePostAction);
|
|
333
346
|
}
|
|
334
|
-
function useRestorePostAction() {
|
|
347
|
+
function useRestorePostAction(resource) {
|
|
335
348
|
const {
|
|
336
349
|
createSuccessNotice,
|
|
337
350
|
createErrorNotice
|
|
@@ -340,7 +353,7 @@ function useRestorePostAction() {
|
|
|
340
353
|
editEntityRecord,
|
|
341
354
|
saveEditedEntityRecord
|
|
342
355
|
} = (0, _data.useDispatch)(_coreData.store);
|
|
343
|
-
|
|
356
|
+
const restorePostAction = (0, _element.useMemo)(() => ({
|
|
344
357
|
id: 'restore',
|
|
345
358
|
label: (0, _i18n.__)('Restore'),
|
|
346
359
|
isPrimary: true,
|
|
@@ -420,6 +433,7 @@ function useRestorePostAction() {
|
|
|
420
433
|
}
|
|
421
434
|
}
|
|
422
435
|
}), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
|
|
436
|
+
return useCanUserEligibilityCheckPostType('update', resource, restorePostAction);
|
|
423
437
|
}
|
|
424
438
|
const viewPostAction = {
|
|
425
439
|
id: 'view-post',
|
|
@@ -439,6 +453,7 @@ const viewPostAction = {
|
|
|
439
453
|
};
|
|
440
454
|
const postRevisionsAction = {
|
|
441
455
|
id: 'view-post-revisions',
|
|
456
|
+
context: 'list',
|
|
442
457
|
label(items) {
|
|
443
458
|
var _items$0$_links$versi;
|
|
444
459
|
const revisionsCount = (_items$0$_links$versi = items[0]._links?.['version-history']?.[0]?.count) !== null && _items$0$_links$versi !== void 0 ? _items$0$_links$versi : 0;
|
|
@@ -561,6 +576,9 @@ const renamePostAction = {
|
|
|
561
576
|
});
|
|
562
577
|
}
|
|
563
578
|
};
|
|
579
|
+
function useRenamePostAction(resource) {
|
|
580
|
+
return useCanUserEligibilityCheckPostType('update', resource, renamePostAction);
|
|
581
|
+
}
|
|
564
582
|
const duplicatePostAction = {
|
|
565
583
|
id: 'duplicate-post',
|
|
566
584
|
label: (0, _i18n._x)('Duplicate', 'action label'),
|
|
@@ -615,7 +633,7 @@ const duplicatePostAction = {
|
|
|
615
633
|
});
|
|
616
634
|
createSuccessNotice((0, _i18n.sprintf)(
|
|
617
635
|
// translators: %s: Title of the created template e.g: "Category".
|
|
618
|
-
(0, _i18n.__)('"%s" successfully created.'), newItem.title?.rendered || title), {
|
|
636
|
+
(0, _i18n.__)('"%s" successfully created.'), (0, _htmlEntities.decodeEntities)(newItem.title?.rendered || title)), {
|
|
619
637
|
id: 'duplicate-post-action',
|
|
620
638
|
type: 'snackbar'
|
|
621
639
|
});
|
|
@@ -815,19 +833,35 @@ const duplicateTemplatePartAction = exports.duplicateTemplatePartAction = {
|
|
|
815
833
|
});
|
|
816
834
|
}
|
|
817
835
|
};
|
|
818
|
-
function usePostActions(
|
|
836
|
+
function usePostActions({
|
|
837
|
+
postType,
|
|
838
|
+
onActionPerformed,
|
|
839
|
+
context
|
|
840
|
+
}) {
|
|
819
841
|
const {
|
|
820
|
-
postTypeObject
|
|
842
|
+
postTypeObject,
|
|
843
|
+
resource,
|
|
844
|
+
cachedCanUserResolvers,
|
|
845
|
+
userCanCreatePostType
|
|
821
846
|
} = (0, _data.useSelect)(select => {
|
|
822
847
|
const {
|
|
823
|
-
getPostType
|
|
848
|
+
getPostType,
|
|
849
|
+
getCachedResolvers,
|
|
850
|
+
canUser
|
|
824
851
|
} = select(_coreData.store);
|
|
852
|
+
const _postTypeObject = getPostType(postType);
|
|
853
|
+
const _resource = _postTypeObject?.rest_base || '';
|
|
825
854
|
return {
|
|
826
|
-
postTypeObject:
|
|
855
|
+
postTypeObject: _postTypeObject,
|
|
856
|
+
resource: _resource,
|
|
857
|
+
cachedCanUserResolvers: getCachedResolvers()?.canUser,
|
|
858
|
+
userCanCreatePostType: canUser('create', _resource)
|
|
827
859
|
};
|
|
828
860
|
}, [postType]);
|
|
829
|
-
const
|
|
830
|
-
const
|
|
861
|
+
const trashPostActionForPostType = useTrashPostAction(resource);
|
|
862
|
+
const permanentlyDeletePostActionForPostType = usePermanentlyDeletePostAction(resource);
|
|
863
|
+
const renamePostActionForPostType = useRenamePostAction(resource);
|
|
864
|
+
const restorePostActionForPostType = useRestorePostAction(resource);
|
|
831
865
|
const isTemplateOrTemplatePart = [_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE].includes(postType);
|
|
832
866
|
const isPattern = postType === _constants.PATTERN_POST_TYPE;
|
|
833
867
|
const isLoaded = !!postTypeObject;
|
|
@@ -837,7 +871,19 @@ function usePostActions(postType, onActionPerformed) {
|
|
|
837
871
|
if (!isLoaded) {
|
|
838
872
|
return [];
|
|
839
873
|
}
|
|
840
|
-
|
|
874
|
+
let actions = [postTypeObject?.viewable && viewPostAction, supportsRevisions && postRevisionsAction, globalThis.IS_GUTENBERG_PLUGIN ? !isTemplateOrTemplatePart && !isPattern && duplicatePostAction : false, isTemplateOrTemplatePart && userCanCreatePostType && duplicateTemplatePartAction, isPattern && userCanCreatePostType && duplicatePatternAction, supportsTitle && renamePostActionForPostType, isPattern && _exportPatternAction.exportPatternAsJSONAction, isTemplateOrTemplatePart ? resetTemplateAction : restorePostActionForPostType, isTemplateOrTemplatePart || isPattern ? deletePostAction : trashPostActionForPostType, !isTemplateOrTemplatePart && permanentlyDeletePostActionForPostType].filter(Boolean);
|
|
875
|
+
// Filter actions based on provided context. If not provided
|
|
876
|
+
// all actions are returned. We'll have a single entry for getting the actions
|
|
877
|
+
// and the consumer should provide the context to filter the actions, if needed.
|
|
878
|
+
// Actions should also provide the `context` they support, if it's specific, to
|
|
879
|
+
// compare with the provided context to get all the actions.
|
|
880
|
+
// Right now the only supported context is `list`.
|
|
881
|
+
actions = actions.filter(action => {
|
|
882
|
+
if (!action.context) {
|
|
883
|
+
return true;
|
|
884
|
+
}
|
|
885
|
+
return action.context === context;
|
|
886
|
+
});
|
|
841
887
|
if (onActionPerformed) {
|
|
842
888
|
for (let i = 0; i < actions.length; ++i) {
|
|
843
889
|
if (actions[i].callback) {
|
|
@@ -874,6 +920,9 @@ function usePostActions(postType, onActionPerformed) {
|
|
|
874
920
|
}
|
|
875
921
|
}
|
|
876
922
|
return actions;
|
|
877
|
-
|
|
923
|
+
// We are making this use memo depend on cachedCanUserResolvers as a way to make the component using this hook re-render
|
|
924
|
+
// when user capabilities are resolved. This makes sure the isEligible functions of actions dependent on capabilities are re-evaluated.
|
|
925
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
926
|
+
}, [isTemplateOrTemplatePart, isPattern, postTypeObject?.viewable, permanentlyDeletePostActionForPostType, restorePostActionForPostType, renamePostActionForPostType, trashPostActionForPostType, onActionPerformed, isLoaded, supportsRevisions, supportsTitle, context, userCanCreatePostType, cachedCanUserResolvers]);
|
|
878
927
|
}
|
|
879
928
|
//# sourceMappingURL=actions.js.map
|