UNPKG

@wordpress/block-library

Version:
59 lines (53 loc) 1.69 kB
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