@wordpress/edit-post
Version:
Edit Post module for WordPress.
70 lines (55 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
var _compose = require("@wordpress/compose");
var _components = require("@wordpress/components");
var _data = require("@wordpress/data");
var _store = require("../../../store");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function TaxonomyPanel({
isEnabled,
taxonomy,
isOpened,
onTogglePanel,
children
}) {
if (!isEnabled) {
return null;
}
const taxonomyMenuName = (0, _lodash.get)(taxonomy, ['labels', 'menu_name']);
if (!taxonomyMenuName) {
return null;
}
return (0, _element.createElement)(_components.PanelBody, {
title: taxonomyMenuName,
opened: isOpened,
onToggle: onTogglePanel
}, children);
}
var _default = (0, _compose.compose)((0, _data.withSelect)((select, ownProps) => {
const slug = (0, _lodash.get)(ownProps.taxonomy, ['slug']);
const panelName = slug ? `taxonomy-panel-${slug}` : '';
return {
panelName,
isEnabled: slug ? select(_store.store).isEditorPanelEnabled(panelName) : false,
isOpened: slug ? select(_store.store).isEditorPanelOpened(panelName) : false
};
}), (0, _data.withDispatch)((dispatch, ownProps) => ({
onTogglePanel: () => {
dispatch(_store.store).toggleEditorPanelOpened(ownProps.panelName);
}
})))(TaxonomyPanel);
exports.default = _default;
//# sourceMappingURL=taxonomy-panel.js.map