@wordpress/block-library
Version:
Block library for the WordPress editor.
72 lines (59 loc) • 2.02 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _i18n = require("@wordpress/i18n");
var _url = require("@wordpress/url");
var _compose = require("@wordpress/compose");
var _blockEditor = require("@wordpress/block-editor");
/**
* WordPress dependencies
*/
const CreateNewPostLink = _ref => {
let {
attributes: {
query: {
postType
} = {}
} = {}
} = _ref;
if (!postType) return null;
const newPostUrl = (0, _url.addQueryArgs)('post-new.php', {
post_type: postType
});
return (0, _element.createElement)("div", {
className: "wp-block-query__create-new-link"
}, (0, _element.createInterpolateElement)((0, _i18n.__)('<a>Create a new post</a> for this feed.'), // eslint-disable-next-line jsx-a11y/anchor-has-content
{
a: (0, _element.createElement)("a", {
href: newPostUrl
})
}));
};
/**
* Override the default edit UI to include layout controls
*
* @param {Function} BlockEdit Original component
* @return {Function} Wrapped component
*/
const queryTopInspectorControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
const {
name,
isSelected
} = props;
if (name !== 'core/query' || !isSelected) {
return (0, _element.createElement)(BlockEdit, (0, _extends2.default)({
key: "edit"
}, props));
}
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(CreateNewPostLink, props)), (0, _element.createElement)(BlockEdit, (0, _extends2.default)({
key: "edit"
}, props)));
}, 'withInspectorControls');
var _default = queryTopInspectorControls;
exports.default = _default;
//# sourceMappingURL=hooks.js.map
;