@wordpress/edit-post
Version:
Edit Post module for WordPress.
125 lines (99 loc) • 4.44 kB
JavaScript
;
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