UNPKG

@wordpress/block-library

Version:
75 lines (72 loc) 2.13 kB
import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import { InspectorControls, useBlockProps } from '@wordpress/block-editor'; import { Disabled, PanelBody, RangeControl, ToggleControl } from '@wordpress/components'; import ServerSideRender from '@wordpress/server-side-render'; import { __ } from '@wordpress/i18n'; /** * Minimum number of comments a user can show using this block. * * @type {number} */ const MIN_COMMENTS = 1; /** * Maximum number of comments a user can show using this block. * * @type {number} */ const MAX_COMMENTS = 100; export default function LatestComments(_ref) { let { attributes, setAttributes } = _ref; const { commentsToShow, displayAvatar, displayDate, displayExcerpt } = attributes; return createElement("div", useBlockProps(), createElement(InspectorControls, null, createElement(PanelBody, { title: __('Settings') }, createElement(ToggleControl, { label: __('Display avatar'), checked: displayAvatar, onChange: () => setAttributes({ displayAvatar: !displayAvatar }) }), createElement(ToggleControl, { label: __('Display date'), checked: displayDate, onChange: () => setAttributes({ displayDate: !displayDate }) }), createElement(ToggleControl, { label: __('Display excerpt'), checked: displayExcerpt, onChange: () => setAttributes({ displayExcerpt: !displayExcerpt }) }), createElement(RangeControl, { label: __('Number of comments'), value: commentsToShow, onChange: value => setAttributes({ commentsToShow: value }), min: MIN_COMMENTS, max: MAX_COMMENTS, required: true }))), createElement(Disabled, null, createElement(ServerSideRender, { block: "core/latest-comments", attributes: attributes // The preview uses the site's locale to make it more true to how // the block appears on the frontend. Setting the locale // explicitly prevents any middleware from setting it to 'user'. , urlQueryArgs: { _locale: 'site' } }))); } //# sourceMappingURL=edit.js.map