@wordpress/edit-post
Version:
Edit Post module for WordPress.
77 lines (61 loc) • 1.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MetaBoxesSection = MetaBoxesSection;
exports.default = void 0;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
var _i18n = require("@wordpress/i18n");
var _data = require("@wordpress/data");
var _section = _interopRequireDefault(require("./section"));
var _options = require("./options");
var _store = require("../../store");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function MetaBoxesSection({
areCustomFieldsRegistered,
metaBoxes,
...sectionProps
}) {
// The 'Custom Fields' meta box is a special case that we handle separately.
const thirdPartyMetaBoxes = (0, _lodash.filter)(metaBoxes, ({
id
}) => id !== 'postcustom');
if (!areCustomFieldsRegistered && thirdPartyMetaBoxes.length === 0) {
return null;
}
return (0, _element.createElement)(_section.default, sectionProps, areCustomFieldsRegistered && (0, _element.createElement)(_options.EnableCustomFieldsOption, {
label: (0, _i18n.__)('Custom fields')
}), (0, _lodash.map)(thirdPartyMetaBoxes, ({
id,
title
}) => (0, _element.createElement)(_options.EnablePanelOption, {
key: id,
label: title,
panelName: `meta-box-${id}`
})));
}
var _default = (0, _data.withSelect)(select => {
const {
getEditorSettings
} = select('core/editor');
const {
getAllMetaBoxes
} = select(_store.store);
return {
// This setting should not live in the block editor's store.
areCustomFieldsRegistered: getEditorSettings().enableCustomFields !== undefined,
metaBoxes: getAllMetaBoxes()
};
})(MetaBoxesSection);
exports.default = _default;
//# sourceMappingURL=meta-boxes-section.js.map