@wordpress/block-library
Version:
Block library for the WordPress editor.
59 lines (53 loc) • 1.69 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { createInterpolateElement } from '@wordpress/element';
import { addQueryArgs } from '@wordpress/url';
import { createHigherOrderComponent } from '@wordpress/compose';
import { InspectorControls } from '@wordpress/block-editor';
const CreateNewPostLink = _ref => {
let {
attributes: {
query: {
postType
} = {}
} = {}
} = _ref;
if (!postType) return null;
const newPostUrl = addQueryArgs('post-new.php', {
post_type: postType
});
return createElement("div", {
className: "wp-block-query__create-new-link"
}, createInterpolateElement(__('<a>Create a new post</a> for this feed.'), // eslint-disable-next-line jsx-a11y/anchor-has-content
{
a: createElement("a", {
href: newPostUrl
})
}));
};
/**
* Override the default edit UI to include layout controls
*
* @param {Function} BlockEdit Original component
* @return {Function} Wrapped component
*/
const queryTopInspectorControls = createHigherOrderComponent(BlockEdit => props => {
const {
name,
isSelected
} = props;
if (name !== 'core/query' || !isSelected) {
return createElement(BlockEdit, _extends({
key: "edit"
}, props));
}
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(CreateNewPostLink, props)), createElement(BlockEdit, _extends({
key: "edit"
}, props)));
}, 'withInspectorControls');
export default queryTopInspectorControls;
//# sourceMappingURL=hooks.js.map