@wordpress/edit-post
Version:
Edit Post module for WordPress.
58 lines (53 loc) • 2.07 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* External dependencies
*/
import { flow, noop } from 'lodash';
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { MenuItem, withSpokenMessages } from '@wordpress/components';
import { withSelect, withDispatch } from '@wordpress/data';
import { compose } from '@wordpress/compose';
/**
* Internal dependencies
*/
import shortcuts from '../../keyboard-shortcuts';
export function BlockInspectorButton(_ref) {
var areAdvancedSettingsOpened = _ref.areAdvancedSettingsOpened,
closeSidebar = _ref.closeSidebar,
openEditorSidebar = _ref.openEditorSidebar,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
_ref$small = _ref.small,
small = _ref$small === void 0 ? false : _ref$small,
speak = _ref.speak;
var speakMessage = function speakMessage() {
if (areAdvancedSettingsOpened) {
speak(__('Block settings closed'));
} else {
speak(__('Additional settings are now available in the Editor block settings sidebar'));
}
};
var label = areAdvancedSettingsOpened ? __('Hide Block Settings') : __('Show Block Settings');
return createElement(MenuItem, {
className: "editor-block-settings-menu__control block-editor-block-settings-menu__control",
onClick: flow(areAdvancedSettingsOpened ? closeSidebar : openEditorSidebar, speakMessage, onClick),
icon: "admin-generic",
shortcut: shortcuts.toggleSidebar
}, !small && label);
}
export default compose(withSelect(function (select) {
return {
areAdvancedSettingsOpened: select('core/edit-post').getActiveGeneralSidebarName() === 'edit-post/block'
};
}), withDispatch(function (dispatch) {
return {
openEditorSidebar: function openEditorSidebar() {
return dispatch('core/edit-post').openGeneralSidebar('edit-post/block');
},
closeSidebar: dispatch('core/edit-post').closeGeneralSidebar
};
}), withSpokenMessages)(BlockInspectorButton);
//# sourceMappingURL=block-inspector-button.js.map