UNPKG

@wordpress/edit-post

Version:
70 lines (55 loc) 1.55 kB
"use strict"; 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