UNPKG

@wordpress/edit-post

Version:
125 lines (99 loc) 4.44 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _keyboardShortcuts = _interopRequireDefault(require("../../keyboard-shortcuts")); /** * WordPress dependencies */ /** * Internal dependencies */ var EditorModeKeyboardShortcuts = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(EditorModeKeyboardShortcuts, _Component); function EditorModeKeyboardShortcuts() { var _this; (0, _classCallCheck2.default)(this, EditorModeKeyboardShortcuts); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(EditorModeKeyboardShortcuts).apply(this, arguments)); _this.toggleMode = _this.toggleMode.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); _this.toggleSidebar = _this.toggleSidebar.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); return _this; } (0, _createClass2.default)(EditorModeKeyboardShortcuts, [{ key: "toggleMode", value: function toggleMode() { var _this$props = this.props, mode = _this$props.mode, switchMode = _this$props.switchMode, isRichEditingEnabled = _this$props.isRichEditingEnabled; if (!isRichEditingEnabled) { return; } switchMode(mode === 'visual' ? 'text' : 'visual'); } }, { key: "toggleSidebar", value: function toggleSidebar(event) { // This shortcut has no known clashes, but use preventDefault to prevent any // obscure shortcuts from triggering. event.preventDefault(); var _this$props2 = this.props, isEditorSidebarOpen = _this$props2.isEditorSidebarOpen, closeSidebar = _this$props2.closeSidebar, openSidebar = _this$props2.openSidebar; if (isEditorSidebarOpen) { closeSidebar(); } else { openSidebar(); } } }, { key: "render", value: function render() { var _ref; return (0, _element.createElement)(_components.KeyboardShortcuts, { bindGlobal: true, shortcuts: (_ref = {}, (0, _defineProperty2.default)(_ref, _keyboardShortcuts.default.toggleEditorMode.raw, this.toggleMode), (0, _defineProperty2.default)(_ref, _keyboardShortcuts.default.toggleSidebar.raw, this.toggleSidebar), _ref) }); } }]); return EditorModeKeyboardShortcuts; }(_element.Component); var _default = (0, _compose.compose)([(0, _data.withSelect)(function (select) { return { isRichEditingEnabled: select('core/editor').getEditorSettings().richEditingEnabled, mode: select('core/edit-post').getEditorMode(), isEditorSidebarOpen: select('core/edit-post').isEditorSidebarOpened() }; }), (0, _data.withDispatch)(function (dispatch, ownProps, _ref2) { var select = _ref2.select; return { switchMode: function switchMode(mode) { dispatch('core/edit-post').switchEditorMode(mode); }, openSidebar: function openSidebar() { var _select = select('core/block-editor'), getBlockSelectionStart = _select.getBlockSelectionStart; var sidebarToOpen = getBlockSelectionStart() ? 'edit-post/block' : 'edit-post/document'; dispatch('core/edit-post').openGeneralSidebar(sidebarToOpen); }, closeSidebar: dispatch('core/edit-post').closeGeneralSidebar }; })])(EditorModeKeyboardShortcuts); exports.default = _default; //# sourceMappingURL=index.js.map