@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
81 lines (77 loc) • 2.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _components = require("@wordpress/components");
var _data = require("@wordpress/data");
var _store = require("../../store");
var _index = _interopRequireDefault(require("./index"));
var _check = _interopRequireDefault(require("./check"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function TaxonomyPanel({
taxonomy,
children
}) {
const slug = taxonomy?.slug;
const panelName = slug ? `taxonomy-panel-${slug}` : '';
const {
isEnabled,
isOpened
} = (0, _data.useSelect)(select => {
const {
isEditorPanelEnabled,
isEditorPanelOpened
} = select(_store.store);
return {
isEnabled: slug ? isEditorPanelEnabled(panelName) : false,
isOpened: slug ? isEditorPanelOpened(panelName) : false
};
}, [panelName, slug]);
const {
toggleEditorPanelOpened
} = (0, _data.useDispatch)(_store.store);
if (!isEnabled) {
return null;
}
const taxonomyMenuName = taxonomy?.labels?.menu_name;
if (!taxonomyMenuName) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
title: taxonomyMenuName,
opened: isOpened,
onToggle: () => toggleEditorPanelOpened(panelName),
children: children
});
}
function PostTaxonomies() {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_check.default, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {
taxonomyWrapper: (content, taxonomy) => {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TaxonomyPanel, {
taxonomy: taxonomy,
children: content
});
}
})
});
}
/**
* Renders a panel for a specific taxonomy.
*
* @param {Object} props The component props.
* @param {Object} props.taxonomy The taxonomy object.
* @param {Element} props.children The child components.
*
* @return {Component} The rendered taxonomy panel.
*/
var _default = exports.default = PostTaxonomies;
//# sourceMappingURL=panel.js.map