@wordpress/edit-post
Version:
Edit Post module for WordPress.
54 lines (46 loc) • 1.45 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* External dependencies
*/
import { get } from 'lodash';
/**
* WordPress dependencies
*/
import { compose } from '@wordpress/compose';
import { PanelBody } from '@wordpress/components';
import { withSelect, withDispatch } from '@wordpress/data';
function TaxonomyPanel(_ref) {
var isEnabled = _ref.isEnabled,
taxonomy = _ref.taxonomy,
isOpened = _ref.isOpened,
onTogglePanel = _ref.onTogglePanel,
children = _ref.children;
if (!isEnabled) {
return null;
}
var taxonomyMenuName = get(taxonomy, ['labels', 'menu_name']);
if (!taxonomyMenuName) {
return null;
}
return createElement(PanelBody, {
title: taxonomyMenuName,
opened: isOpened,
onToggle: onTogglePanel
}, children);
}
export default compose(withSelect(function (select, ownProps) {
var slug = get(ownProps.taxonomy, ['slug']);
var panelName = slug ? "taxonomy-panel-".concat(slug) : '';
return {
panelName: panelName,
isEnabled: slug ? select('core/edit-post').isEditorPanelEnabled(panelName) : false,
isOpened: slug ? select('core/edit-post').isEditorPanelOpened(panelName) : false
};
}), withDispatch(function (dispatch, ownProps) {
return {
onTogglePanel: function onTogglePanel() {
dispatch('core/edit-post').toggleEditorPanelOpened(ownProps.panelName);
}
};
}))(TaxonomyPanel);
//# sourceMappingURL=taxonomy-panel.js.map