@wordpress/block-library 7.14.0 → 7.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/button/edit.js +8 -3
- package/build/button/edit.js.map +1 -1
- package/build/column/index.js +1 -1
- package/build/cover/index.js +1 -1
- package/build/group/edit.js +0 -17
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +1 -7
- package/build/group/index.js.map +1 -1
- package/build/group/transforms.js +4 -1
- package/build/group/transforms.js.map +1 -1
- package/build/group/variations.js +2 -1
- package/build/group/variations.js.map +1 -1
- package/build/media-text/edit.js +25 -11
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +4 -3
- package/build/media-text/media-container.js.map +1 -1
- package/build/navigation/edit/overlay-menu-icon.js +0 -8
- package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +0 -12
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation-link/edit.js +8 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +8 -3
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-date/edit.js +10 -6
- package/build/post-date/edit.js.map +1 -1
- package/build/query/edit/index.js +23 -211
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/query-content.js +169 -0
- package/build/query/edit/query-content.js.map +1 -0
- package/build/query/edit/query-placeholder.js +69 -6
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +40 -0
- package/build/query/utils.js.map +1 -1
- package/build/social-link/edit.js +8 -6
- package/build/social-link/edit.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -13
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/button/edit.js +7 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/column/index.js +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/group/edit.js +1 -19
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +1 -7
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/transforms.js +4 -1
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/group/variations.js +2 -1
- package/build-module/group/variations.js.map +1 -1
- package/build-module/media-text/edit.js +25 -11
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +4 -3
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-icon.js +1 -9
- package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +0 -12
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation-link/edit.js +7 -3
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +7 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-date/edit.js +11 -7
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/query/edit/index.js +27 -208
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +152 -0
- package/build-module/query/edit/query-content.js.map +1 -0
- package/build-module/query/edit/query-placeholder.js +67 -5
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +37 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/social-link/edit.js +9 -7
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +3 -14
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/package.json +14 -14
- package/src/button/edit.js +10 -2
- package/src/column/block.json +1 -1
- package/src/comments/index.php +1 -1
- package/src/cover/block.json +1 -1
- package/src/group/block.json +1 -7
- package/src/group/edit.js +2 -12
- package/src/group/transforms.js +1 -0
- package/src/group/variations.js +2 -1
- package/src/list/test/__snapshots__/edit.native.js.snap +8 -32
- package/src/list/test/edit.native.js +16 -68
- package/src/media-text/edit.js +45 -29
- package/src/media-text/media-container.js +3 -2
- package/src/navigation/edit/overlay-menu-icon.js +1 -5
- package/src/navigation/edit/overlay-menu-preview.js +0 -10
- package/src/navigation/index.php +0 -4
- package/src/navigation-link/edit.js +6 -2
- package/src/navigation-submenu/edit.js +6 -2
- package/src/post-comments-form/index.php +1 -1
- package/src/post-date/edit.js +13 -4
- package/src/post-featured-image/index.php +1 -1
- package/src/query/edit/index.js +50 -227
- package/src/query/edit/query-content.js +131 -0
- package/src/query/edit/query-placeholder.js +87 -8
- package/src/query/utils.js +46 -0
- package/src/search/index.php +1 -1
- package/src/social-link/edit.js +9 -9
- package/src/template-part/edit/selection-modal.js +2 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useRef","dateI18n","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","PanelBody","__","sprintf","edit","DOWN","useSelect","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","timeRef","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","postDate","event","preventDefault","nextAlign","anchorRef","current","onClose","is12HourFormat","isOpen","onToggle","openOnArrowDown","keyCode","nextFormat","labels","singular_name","toLowerCase","value","test"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useRef } from '@wordpress/element';\nimport { dateI18n, getSettings as getDateSettings } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\tconst timeRef = useRef();\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ timeRef }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { anchorRef: timeRef.current } }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useMemo","useState","dateI18n","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","PanelBody","__","sprintf","edit","DOWN","useSelect","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","postDate","event","preventDefault","nextAlign","onClose","is12HourFormat","isOpen","onToggle","openOnArrowDown","keyCode","nextFormat","labels","singular_name","toLowerCase","value","test"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { dateI18n, getSettings as getDateSettings } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"]}
|
|
@@ -5,225 +5,45 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
5
5
|
* WordPress dependencies
|
|
6
6
|
*/
|
|
7
7
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { BlockControls, BlockContextProvider, InspectorControls, useBlockProps, useSetting, store as blockEditorStore, useInnerBlocksProps, __experimentalGetMatchingVariation as getMatchingVariation, __experimentalBlockPatternSetup as BlockPatternSetup } from '@wordpress/block-editor';
|
|
12
|
-
import { Button, SelectControl, Placeholder, Modal } from '@wordpress/components';
|
|
8
|
+
import { useState, useMemo } from '@wordpress/element';
|
|
9
|
+
import { BlockContextProvider, store as blockEditorStore, __experimentalBlockPatternSetup as BlockPatternSetup } from '@wordpress/block-editor';
|
|
10
|
+
import { Modal } from '@wordpress/components';
|
|
13
11
|
import { __ } from '@wordpress/i18n';
|
|
14
12
|
/**
|
|
15
13
|
* Internal dependencies
|
|
16
14
|
*/
|
|
17
15
|
|
|
18
|
-
import
|
|
19
|
-
import QueryInspectorControls from './inspector-controls';
|
|
16
|
+
import QueryContent from './query-content';
|
|
20
17
|
import QueryPlaceholder from './query-placeholder';
|
|
21
|
-
import {
|
|
22
|
-
import { getTransformedBlocksFromPattern } from '../utils';
|
|
23
|
-
const TEMPLATE = [['core/post-template']];
|
|
24
|
-
export function QueryContent(_ref) {
|
|
25
|
-
let {
|
|
26
|
-
attributes,
|
|
27
|
-
setAttributes,
|
|
28
|
-
openPatternSelectionModal,
|
|
29
|
-
name,
|
|
30
|
-
clientId
|
|
31
|
-
} = _ref;
|
|
32
|
-
const {
|
|
33
|
-
queryId,
|
|
34
|
-
query,
|
|
35
|
-
displayLayout,
|
|
36
|
-
tagName: TagName = 'div',
|
|
37
|
-
layout = {}
|
|
38
|
-
} = attributes;
|
|
39
|
-
const {
|
|
40
|
-
__unstableMarkNextChangeAsNotPersistent
|
|
41
|
-
} = useDispatch(blockEditorStore);
|
|
42
|
-
const instanceId = useInstanceId(QueryContent);
|
|
43
|
-
const {
|
|
44
|
-
themeSupportsLayout
|
|
45
|
-
} = useSelect(select => {
|
|
46
|
-
var _getSettings;
|
|
47
|
-
|
|
48
|
-
const {
|
|
49
|
-
getSettings
|
|
50
|
-
} = select(blockEditorStore);
|
|
51
|
-
return {
|
|
52
|
-
themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout
|
|
53
|
-
};
|
|
54
|
-
}, []);
|
|
55
|
-
const defaultLayout = useSetting('layout') || {};
|
|
56
|
-
const usedLayout = !!layout && layout.inherit ? defaultLayout : layout;
|
|
57
|
-
const blockProps = useBlockProps();
|
|
58
|
-
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
59
|
-
template: TEMPLATE,
|
|
60
|
-
__experimentalLayout: themeSupportsLayout ? usedLayout : undefined
|
|
61
|
-
});
|
|
62
|
-
const {
|
|
63
|
-
postsPerPage
|
|
64
|
-
} = useSelect(select => {
|
|
65
|
-
const {
|
|
66
|
-
getSettings
|
|
67
|
-
} = select(blockEditorStore);
|
|
68
|
-
return {
|
|
69
|
-
postsPerPage: +getSettings().postsPerPage || DEFAULTS_POSTS_PER_PAGE
|
|
70
|
-
};
|
|
71
|
-
}, []); // There are some effects running where some initialization logic is
|
|
72
|
-
// happening and setting some values to some attributes (ex. queryId).
|
|
73
|
-
// These updates can cause an `undo trap` where undoing will result in
|
|
74
|
-
// resetting again, so we need to mark these changes as not persistent
|
|
75
|
-
// with `__unstableMarkNextChangeAsNotPersistent`.
|
|
76
|
-
// Changes in query property (which is an object) need to be in the same callback,
|
|
77
|
-
// because updates are batched after the render and changes in different query properties
|
|
78
|
-
// would cause to override previous wanted changes.
|
|
79
|
-
|
|
80
|
-
useEffect(() => {
|
|
81
|
-
const newQuery = {};
|
|
82
|
-
|
|
83
|
-
if (!query.perPage && postsPerPage) {
|
|
84
|
-
newQuery.perPage = postsPerPage;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (!!Object.keys(newQuery).length) {
|
|
88
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
89
|
-
|
|
90
|
-
updateQuery(newQuery);
|
|
91
|
-
}
|
|
92
|
-
}, [query.perPage]); // We need this for multi-query block pagination.
|
|
93
|
-
// Query parameters for each block are scoped to their ID.
|
|
94
|
-
|
|
95
|
-
useEffect(() => {
|
|
96
|
-
if (!Number.isFinite(queryId)) {
|
|
97
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
98
|
-
|
|
99
|
-
setAttributes({
|
|
100
|
-
queryId: instanceId
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}, [queryId, instanceId]);
|
|
104
|
-
|
|
105
|
-
const updateQuery = newQuery => setAttributes({
|
|
106
|
-
query: { ...query,
|
|
107
|
-
...newQuery
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
const updateDisplayLayout = newDisplayLayout => setAttributes({
|
|
112
|
-
displayLayout: { ...displayLayout,
|
|
113
|
-
...newDisplayLayout
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
return createElement(Fragment, null, createElement(QueryInspectorControls, {
|
|
118
|
-
attributes: attributes,
|
|
119
|
-
setQuery: updateQuery,
|
|
120
|
-
setDisplayLayout: updateDisplayLayout
|
|
121
|
-
}), createElement(BlockControls, null, createElement(QueryToolbar, {
|
|
122
|
-
name: name,
|
|
123
|
-
clientId: clientId,
|
|
124
|
-
attributes: attributes,
|
|
125
|
-
setQuery: updateQuery,
|
|
126
|
-
setDisplayLayout: updateDisplayLayout,
|
|
127
|
-
openPatternSelectionModal: openPatternSelectionModal
|
|
128
|
-
})), createElement(InspectorControls, {
|
|
129
|
-
__experimentalGroup: "advanced"
|
|
130
|
-
}, createElement(SelectControl, {
|
|
131
|
-
label: __('HTML element'),
|
|
132
|
-
options: [{
|
|
133
|
-
label: __('Default (<div>)'),
|
|
134
|
-
value: 'div'
|
|
135
|
-
}, {
|
|
136
|
-
label: '<main>',
|
|
137
|
-
value: 'main'
|
|
138
|
-
}, {
|
|
139
|
-
label: '<section>',
|
|
140
|
-
value: 'section'
|
|
141
|
-
}, {
|
|
142
|
-
label: '<aside>',
|
|
143
|
-
value: 'aside'
|
|
144
|
-
}],
|
|
145
|
-
value: TagName,
|
|
146
|
-
onChange: value => setAttributes({
|
|
147
|
-
tagName: value
|
|
148
|
-
})
|
|
149
|
-
})), createElement(TagName, innerBlocksProps));
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function QueryPatternSetup(_ref2) {
|
|
153
|
-
var _blockType$icon;
|
|
154
|
-
|
|
155
|
-
let {
|
|
156
|
-
attributes,
|
|
157
|
-
clientId,
|
|
158
|
-
name,
|
|
159
|
-
openPatternSelectionModal,
|
|
160
|
-
setAttributes
|
|
161
|
-
} = _ref2;
|
|
162
|
-
const [isStartingBlank, setIsStartingBlank] = useState(false);
|
|
163
|
-
const blockProps = useBlockProps();
|
|
164
|
-
const {
|
|
165
|
-
blockType,
|
|
166
|
-
allVariations,
|
|
167
|
-
hasPatterns
|
|
168
|
-
} = useSelect(select => {
|
|
169
|
-
const {
|
|
170
|
-
getBlockVariations,
|
|
171
|
-
getBlockType
|
|
172
|
-
} = select(blocksStore);
|
|
173
|
-
const {
|
|
174
|
-
getBlockRootClientId,
|
|
175
|
-
__experimentalGetPatternsByBlockTypes
|
|
176
|
-
} = select(blockEditorStore);
|
|
177
|
-
const rootClientId = getBlockRootClientId(clientId);
|
|
178
|
-
return {
|
|
179
|
-
blockType: getBlockType(name),
|
|
180
|
-
allVariations: getBlockVariations(name),
|
|
181
|
-
hasPatterns: !!__experimentalGetPatternsByBlockTypes(name, rootClientId).length
|
|
182
|
-
};
|
|
183
|
-
}, [name, clientId]);
|
|
184
|
-
const matchingVariation = getMatchingVariation(attributes, allVariations);
|
|
185
|
-
const icon = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.icon) || (blockType === null || blockType === void 0 ? void 0 : (_blockType$icon = blockType.icon) === null || _blockType$icon === void 0 ? void 0 : _blockType$icon.src);
|
|
186
|
-
const label = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.title) || (blockType === null || blockType === void 0 ? void 0 : blockType.title);
|
|
187
|
-
|
|
188
|
-
if (isStartingBlank) {
|
|
189
|
-
return createElement(QueryPlaceholder, {
|
|
190
|
-
clientId: clientId,
|
|
191
|
-
name: name,
|
|
192
|
-
attributes: attributes,
|
|
193
|
-
setAttributes: setAttributes,
|
|
194
|
-
icon: icon,
|
|
195
|
-
label: label
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
return createElement("div", blockProps, createElement(Placeholder, {
|
|
200
|
-
icon: icon,
|
|
201
|
-
label: label,
|
|
202
|
-
instructions: __('Choose a pattern for the query loop or start blank.')
|
|
203
|
-
}, !!hasPatterns && createElement(Button, {
|
|
204
|
-
variant: "primary",
|
|
205
|
-
onClick: openPatternSelectionModal
|
|
206
|
-
}, __('Choose')), createElement(Button, {
|
|
207
|
-
variant: "secondary",
|
|
208
|
-
onClick: () => {
|
|
209
|
-
setIsStartingBlank(true);
|
|
210
|
-
}
|
|
211
|
-
}, __('Start blank'))));
|
|
212
|
-
}
|
|
18
|
+
import { useBlockNameForPatterns, getTransformedBlocksFromPattern } from '../utils';
|
|
213
19
|
|
|
214
20
|
const QueryEdit = props => {
|
|
215
21
|
const {
|
|
216
22
|
clientId,
|
|
217
|
-
name,
|
|
218
23
|
attributes
|
|
219
24
|
} = props;
|
|
220
25
|
const [isPatternSelectionModalOpen, setIsPatternSelectionModalOpen] = useState(false);
|
|
26
|
+
const hasInnerBlocks = useSelect(select => !!select(blockEditorStore).getBlocks(clientId).length, [clientId]);
|
|
27
|
+
const Component = hasInnerBlocks ? QueryContent : QueryPlaceholder;
|
|
28
|
+
return createElement(Fragment, null, createElement(Component, _extends({}, props, {
|
|
29
|
+
openPatternSelectionModal: () => setIsPatternSelectionModalOpen(true)
|
|
30
|
+
})), isPatternSelectionModalOpen && createElement(PatternSelectionModal, {
|
|
31
|
+
clientId: clientId,
|
|
32
|
+
attributes: attributes,
|
|
33
|
+
setIsPatternSelectionModalOpen: setIsPatternSelectionModalOpen
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
function PatternSelectionModal(_ref) {
|
|
38
|
+
let {
|
|
39
|
+
clientId,
|
|
40
|
+
attributes,
|
|
41
|
+
setIsPatternSelectionModalOpen
|
|
42
|
+
} = _ref;
|
|
221
43
|
const {
|
|
222
44
|
replaceBlock,
|
|
223
45
|
selectBlock
|
|
224
46
|
} = useDispatch(blockEditorStore);
|
|
225
|
-
const hasInnerBlocks = useSelect(select => !!select(blockEditorStore).getBlocks(clientId).length, [clientId]);
|
|
226
|
-
const Component = hasInnerBlocks ? QueryContent : QueryPatternSetup;
|
|
227
47
|
|
|
228
48
|
const onBlockPatternSelect = blocks => {
|
|
229
49
|
const {
|
|
@@ -242,9 +62,8 @@ const QueryEdit = props => {
|
|
|
242
62
|
const blockPreviewContext = useMemo(() => ({
|
|
243
63
|
previewPostType: attributes.query.postType
|
|
244
64
|
}), [attributes.query.postType]);
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
})), isPatternSelectionModalOpen && createElement(Modal, {
|
|
65
|
+
const blockNameForPatterns = useBlockNameForPatterns(clientId, attributes);
|
|
66
|
+
return createElement(Modal, {
|
|
248
67
|
className: "block-editor-query-pattern__selection-modal",
|
|
249
68
|
title: __('Choose a pattern'),
|
|
250
69
|
closeLabel: __('Cancel'),
|
|
@@ -252,11 +71,11 @@ const QueryEdit = props => {
|
|
|
252
71
|
}, createElement(BlockContextProvider, {
|
|
253
72
|
value: blockPreviewContext
|
|
254
73
|
}, createElement(BlockPatternSetup, {
|
|
255
|
-
blockName:
|
|
74
|
+
blockName: blockNameForPatterns,
|
|
256
75
|
clientId: clientId,
|
|
257
76
|
onBlockPatternSelect: onBlockPatternSelect
|
|
258
|
-
})))
|
|
259
|
-
}
|
|
77
|
+
})));
|
|
78
|
+
}
|
|
260
79
|
|
|
261
80
|
export default QueryEdit;
|
|
262
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/index.js"],"names":["useSelect","useDispatch","store","blocksStore","useInstanceId","useState","useEffect","useMemo","BlockControls","BlockContextProvider","InspectorControls","useBlockProps","useSetting","blockEditorStore","useInnerBlocksProps","__experimentalGetMatchingVariation","getMatchingVariation","__experimentalBlockPatternSetup","BlockPatternSetup","Button","SelectControl","Placeholder","Modal","__","QueryToolbar","QueryInspectorControls","QueryPlaceholder","DEFAULTS_POSTS_PER_PAGE","getTransformedBlocksFromPattern","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","layout","__unstableMarkNextChangeAsNotPersistent","instanceId","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","usedLayout","inherit","blockProps","innerBlocksProps","template","__experimentalLayout","undefined","postsPerPage","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","label","value","QueryPatternSetup","isStartingBlank","setIsStartingBlank","blockType","allVariations","hasPatterns","getBlockVariations","getBlockType","getBlockRootClientId","__experimentalGetPatternsByBlockTypes","rootClientId","matchingVariation","icon","src","title","QueryEdit","props","isPatternSelectionModalOpen","setIsPatternSelectionModalOpen","replaceBlock","selectBlock","hasInnerBlocks","getBlocks","Component","onBlockPatternSelect","blocks","newBlocks","queryClientIds","blockPreviewContext","previewPostType","postType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n\t__experimentalGetMatchingVariation as getMatchingVariation,\n\t__experimentalBlockPatternSetup as BlockPatternSetup,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tSelectControl,\n\tPlaceholder,\n\tModal,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\nimport QueryPlaceholder from './query-placeholder';\nimport { DEFAULTS_POSTS_PER_PAGE } from '../constants';\nimport { getTransformedBlocksFromPattern } from '../utils';\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tlayout = {},\n\t} = attributes;\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn { themeSupportsLayout: getSettings()?.supportsLayout };\n\t}, [] );\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = !! layout && layout.inherit ? defaultLayout : layout;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalLayout: themeSupportsLayout ? usedLayout : undefined,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\t+getSettings().postsPerPage || DEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\tif ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage ] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\treturn (\n\t\t<>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction QueryPatternSetup( {\n\tattributes,\n\tclientId,\n\tname,\n\topenPatternSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst [ isStartingBlank, setIsStartingBlank ] = useState( false );\n\tconst blockProps = useBlockProps();\n\n\tconst { blockType, allVariations, hasPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getBlockType } = select( blocksStore );\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetPatternsByBlockTypes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tallVariations: getBlockVariations( name ),\n\t\t\t\thasPatterns: !! __experimentalGetPatternsByBlockTypes(\n\t\t\t\t\tname,\n\t\t\t\t\trootClientId\n\t\t\t\t).length,\n\t\t\t};\n\t\t},\n\t\t[ name, clientId ]\n\t);\n\n\tconst matchingVariation = getMatchingVariation( attributes, allVariations );\n\tconst icon = matchingVariation?.icon || blockType?.icon?.src;\n\tconst label = matchingVariation?.title || blockType?.title;\n\tif ( isStartingBlank ) {\n\t\treturn (\n\t\t\t<QueryPlaceholder\n\t\t\t\tclientId={ clientId }\n\t\t\t\tname={ name }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Choose a pattern for the query loop or start blank.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ !! hasPatterns && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ openPatternSelectionModal }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsStartingBlank( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nconst QueryEdit = ( props ) => {\n\tconst { clientId, name, attributes } = props;\n\tconst [ isPatternSelectionModalOpen, setIsPatternSelectionModalOpen ] =\n\t\tuseState( false );\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( blockEditorStore ).getBlocks( clientId ).length,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? QueryContent : QueryPatternSetup;\n\tconst onBlockPatternSelect = ( blocks ) => {\n\t\tconst { newBlocks, queryClientIds } = getTransformedBlocksFromPattern(\n\t\t\tblocks,\n\t\t\tattributes\n\t\t);\n\t\treplaceBlock( clientId, newBlocks );\n\t\tif ( queryClientIds[ 0 ] ) {\n\t\t\tselectBlock( queryClientIds[ 0 ] );\n\t\t}\n\t};\n\t// When we preview Query Loop blocks we should prefer the current\n\t// block's postType, which is passed through block context.\n\tconst blockPreviewContext = useMemo(\n\t\t() => ( {\n\t\t\tpreviewPostType: attributes.query.postType,\n\t\t} ),\n\t\t[ attributes.query.postType ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t<Component\n\t\t\t\t{ ...props }\n\t\t\t\topenPatternSelectionModal={ () =>\n\t\t\t\t\tsetIsPatternSelectionModalOpen( true )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isPatternSelectionModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\tclassName=\"block-editor-query-pattern__selection-modal\"\n\t\t\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsPatternSelectionModalOpen( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ blockPreviewContext }>\n\t\t\t\t\t\t<BlockPatternSetup\n\t\t\t\t\t\t\tblockName={ name }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonBlockPatternSelect={ onBlockPatternSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default QueryEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/index.js"],"names":["useSelect","useDispatch","useState","useMemo","BlockContextProvider","store","blockEditorStore","__experimentalBlockPatternSetup","BlockPatternSetup","Modal","__","QueryContent","QueryPlaceholder","useBlockNameForPatterns","getTransformedBlocksFromPattern","QueryEdit","props","clientId","attributes","isPatternSelectionModalOpen","setIsPatternSelectionModalOpen","hasInnerBlocks","select","getBlocks","length","Component","PatternSelectionModal","replaceBlock","selectBlock","onBlockPatternSelect","blocks","newBlocks","queryClientIds","blockPreviewContext","previewPostType","query","postType","blockNameForPatterns"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AACA,SACCC,oBADD,EAECC,KAAK,IAAIC,gBAFV,EAGCC,+BAA+B,IAAIC,iBAHpC,QAIO,yBAJP;AAKA,SAASC,KAAT,QAAsB,uBAAtB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,SACCC,uBADD,EAECC,+BAFD,QAGO,UAHP;;AAKA,MAAMC,SAAS,GAAKC,KAAF,IAAa;AAC9B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAA2BF,KAAjC;AACA,QAAM,CAAEG,2BAAF,EAA+BC,8BAA/B,IACLlB,QAAQ,CAAE,KAAF,CADT;AAEA,QAAMmB,cAAc,GAAGrB,SAAS,CAC7BsB,MAAF,IACC,CAAC,CAAEA,MAAM,CAAEhB,gBAAF,CAAN,CAA2BiB,SAA3B,CAAsCN,QAAtC,EAAiDO,MAFtB,EAG/B,CAAEP,QAAF,CAH+B,CAAhC;AAKA,QAAMQ,SAAS,GAAGJ,cAAc,GAAGV,YAAH,GAAkBC,gBAAlD;AACA,SACC,8BACC,cAAC,SAAD,eACMI,KADN;AAEC,IAAA,yBAAyB,EAAG,MAC3BI,8BAA8B,CAAE,IAAF;AAHhC,KADD,EAOGD,2BAA2B,IAC5B,cAAC,qBAAD;AACC,IAAA,QAAQ,EAAGF,QADZ;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,8BAA8B,EAC7BE;AAJF,IARF,CADD;AAmBA,CA7BD;;AA+BA,SAASM,qBAAT,OAII;AAAA,MAJ4B;AAC/BT,IAAAA,QAD+B;AAE/BC,IAAAA,UAF+B;AAG/BE,IAAAA;AAH+B,GAI5B;AACH,QAAM;AAAEO,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAAgC3B,WAAW,CAAEK,gBAAF,CAAjD;;AACA,QAAMuB,oBAAoB,GAAKC,MAAF,IAAc;AAC1C,UAAM;AAAEC,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAAgClB,+BAA+B,CACpEgB,MADoE,EAEpEZ,UAFoE,CAArE;AAIAS,IAAAA,YAAY,CAAEV,QAAF,EAAYc,SAAZ,CAAZ;;AACA,QAAKC,cAAc,CAAE,CAAF,CAAnB,EAA2B;AAC1BJ,MAAAA,WAAW,CAAEI,cAAc,CAAE,CAAF,CAAhB,CAAX;AACA;AACD,GATD,CAFG,CAYH;AACA;;;AACA,QAAMC,mBAAmB,GAAG9B,OAAO,CAClC,OAAQ;AACP+B,IAAAA,eAAe,EAAEhB,UAAU,CAACiB,KAAX,CAAiBC;AAD3B,GAAR,CADkC,EAIlC,CAAElB,UAAU,CAACiB,KAAX,CAAiBC,QAAnB,CAJkC,CAAnC;AAMA,QAAMC,oBAAoB,GAAGxB,uBAAuB,CACnDI,QADmD,EAEnDC,UAFmD,CAApD;AAIA,SACC,cAAC,KAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,UAAU,EAAGA,EAAE,CAAE,QAAF,CAHhB;AAIC,IAAA,cAAc,EAAG,MAAMU,8BAA8B,CAAE,KAAF;AAJtD,KAMC,cAAC,oBAAD;AAAsB,IAAA,KAAK,EAAGa;AAA9B,KACC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAGI,oBADb;AAEC,IAAA,QAAQ,EAAGpB,QAFZ;AAGC,IAAA,oBAAoB,EAAGY;AAHxB,IADD,CAND,CADD;AAgBA;;AAED,eAAed,SAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport {\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternSetup as BlockPatternSetup,\n} from '@wordpress/block-editor';\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport QueryContent from './query-content';\nimport QueryPlaceholder from './query-placeholder';\nimport {\n\tuseBlockNameForPatterns,\n\tgetTransformedBlocksFromPattern,\n} from '../utils';\n\nconst QueryEdit = ( props ) => {\n\tconst { clientId, attributes } = props;\n\tconst [ isPatternSelectionModalOpen, setIsPatternSelectionModalOpen ] =\n\t\tuseState( false );\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( blockEditorStore ).getBlocks( clientId ).length,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? QueryContent : QueryPlaceholder;\n\treturn (\n\t\t<>\n\t\t\t<Component\n\t\t\t\t{ ...props }\n\t\t\t\topenPatternSelectionModal={ () =>\n\t\t\t\t\tsetIsPatternSelectionModalOpen( true )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isPatternSelectionModalOpen && (\n\t\t\t\t<PatternSelectionModal\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetIsPatternSelectionModalOpen={\n\t\t\t\t\t\tsetIsPatternSelectionModalOpen\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nfunction PatternSelectionModal( {\n\tclientId,\n\tattributes,\n\tsetIsPatternSelectionModalOpen,\n} ) {\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst onBlockPatternSelect = ( blocks ) => {\n\t\tconst { newBlocks, queryClientIds } = getTransformedBlocksFromPattern(\n\t\t\tblocks,\n\t\t\tattributes\n\t\t);\n\t\treplaceBlock( clientId, newBlocks );\n\t\tif ( queryClientIds[ 0 ] ) {\n\t\t\tselectBlock( queryClientIds[ 0 ] );\n\t\t}\n\t};\n\t// When we preview Query Loop blocks we should prefer the current\n\t// block's postType, which is passed through block context.\n\tconst blockPreviewContext = useMemo(\n\t\t() => ( {\n\t\t\tpreviewPostType: attributes.query.postType,\n\t\t} ),\n\t\t[ attributes.query.postType ]\n\t);\n\tconst blockNameForPatterns = useBlockNameForPatterns(\n\t\tclientId,\n\t\tattributes\n\t);\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"block-editor-query-pattern__selection-modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tonRequestClose={ () => setIsPatternSelectionModalOpen( false ) }\n\t\t>\n\t\t\t<BlockContextProvider value={ blockPreviewContext }>\n\t\t\t\t<BlockPatternSetup\n\t\t\t\t\tblockName={ blockNameForPatterns }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonBlockPatternSelect={ onBlockPatternSelect }\n\t\t\t\t/>\n\t\t\t</BlockContextProvider>\n\t\t</Modal>\n\t);\n}\n\nexport default QueryEdit;\n"]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
7
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
8
|
+
import { useEffect } from '@wordpress/element';
|
|
9
|
+
import { BlockControls, InspectorControls, useBlockProps, useSetting, store as blockEditorStore, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
10
|
+
import { SelectControl } from '@wordpress/components';
|
|
11
|
+
import { __ } from '@wordpress/i18n';
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import QueryToolbar from './query-toolbar';
|
|
17
|
+
import QueryInspectorControls from './inspector-controls';
|
|
18
|
+
import { DEFAULTS_POSTS_PER_PAGE } from '../constants';
|
|
19
|
+
const TEMPLATE = [['core/post-template']];
|
|
20
|
+
export default function QueryContent(_ref) {
|
|
21
|
+
let {
|
|
22
|
+
attributes,
|
|
23
|
+
setAttributes,
|
|
24
|
+
openPatternSelectionModal,
|
|
25
|
+
name,
|
|
26
|
+
clientId
|
|
27
|
+
} = _ref;
|
|
28
|
+
const {
|
|
29
|
+
queryId,
|
|
30
|
+
query,
|
|
31
|
+
displayLayout,
|
|
32
|
+
tagName: TagName = 'div',
|
|
33
|
+
layout = {}
|
|
34
|
+
} = attributes;
|
|
35
|
+
const {
|
|
36
|
+
__unstableMarkNextChangeAsNotPersistent
|
|
37
|
+
} = useDispatch(blockEditorStore);
|
|
38
|
+
const instanceId = useInstanceId(QueryContent);
|
|
39
|
+
const {
|
|
40
|
+
themeSupportsLayout
|
|
41
|
+
} = useSelect(select => {
|
|
42
|
+
var _getSettings;
|
|
43
|
+
|
|
44
|
+
const {
|
|
45
|
+
getSettings
|
|
46
|
+
} = select(blockEditorStore);
|
|
47
|
+
return {
|
|
48
|
+
themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout
|
|
49
|
+
};
|
|
50
|
+
}, []);
|
|
51
|
+
const defaultLayout = useSetting('layout') || {};
|
|
52
|
+
const usedLayout = !(layout !== null && layout !== void 0 && layout.type) ? { ...defaultLayout,
|
|
53
|
+
...layout,
|
|
54
|
+
type: 'default'
|
|
55
|
+
} : { ...defaultLayout,
|
|
56
|
+
...layout
|
|
57
|
+
};
|
|
58
|
+
const blockProps = useBlockProps();
|
|
59
|
+
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
60
|
+
template: TEMPLATE,
|
|
61
|
+
__experimentalLayout: themeSupportsLayout ? usedLayout : undefined
|
|
62
|
+
});
|
|
63
|
+
const {
|
|
64
|
+
postsPerPage
|
|
65
|
+
} = useSelect(select => {
|
|
66
|
+
const {
|
|
67
|
+
getSettings
|
|
68
|
+
} = select(blockEditorStore);
|
|
69
|
+
return {
|
|
70
|
+
postsPerPage: +getSettings().postsPerPage || DEFAULTS_POSTS_PER_PAGE
|
|
71
|
+
};
|
|
72
|
+
}, []); // There are some effects running where some initialization logic is
|
|
73
|
+
// happening and setting some values to some attributes (ex. queryId).
|
|
74
|
+
// These updates can cause an `undo trap` where undoing will result in
|
|
75
|
+
// resetting again, so we need to mark these changes as not persistent
|
|
76
|
+
// with `__unstableMarkNextChangeAsNotPersistent`.
|
|
77
|
+
// Changes in query property (which is an object) need to be in the same callback,
|
|
78
|
+
// because updates are batched after the render and changes in different query properties
|
|
79
|
+
// would cause to override previous wanted changes.
|
|
80
|
+
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
const newQuery = {};
|
|
83
|
+
|
|
84
|
+
if (!query.perPage && postsPerPage) {
|
|
85
|
+
newQuery.perPage = postsPerPage;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (!!Object.keys(newQuery).length) {
|
|
89
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
90
|
+
|
|
91
|
+
updateQuery(newQuery);
|
|
92
|
+
}
|
|
93
|
+
}, [query.perPage]); // We need this for multi-query block pagination.
|
|
94
|
+
// Query parameters for each block are scoped to their ID.
|
|
95
|
+
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (!Number.isFinite(queryId)) {
|
|
98
|
+
__unstableMarkNextChangeAsNotPersistent();
|
|
99
|
+
|
|
100
|
+
setAttributes({
|
|
101
|
+
queryId: instanceId
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, [queryId, instanceId]);
|
|
105
|
+
|
|
106
|
+
const updateQuery = newQuery => setAttributes({
|
|
107
|
+
query: { ...query,
|
|
108
|
+
...newQuery
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
const updateDisplayLayout = newDisplayLayout => setAttributes({
|
|
113
|
+
displayLayout: { ...displayLayout,
|
|
114
|
+
...newDisplayLayout
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
return createElement(Fragment, null, createElement(QueryInspectorControls, {
|
|
119
|
+
attributes: attributes,
|
|
120
|
+
setQuery: updateQuery,
|
|
121
|
+
setDisplayLayout: updateDisplayLayout
|
|
122
|
+
}), createElement(BlockControls, null, createElement(QueryToolbar, {
|
|
123
|
+
name: name,
|
|
124
|
+
clientId: clientId,
|
|
125
|
+
attributes: attributes,
|
|
126
|
+
setQuery: updateQuery,
|
|
127
|
+
setDisplayLayout: updateDisplayLayout,
|
|
128
|
+
openPatternSelectionModal: openPatternSelectionModal
|
|
129
|
+
})), createElement(InspectorControls, {
|
|
130
|
+
__experimentalGroup: "advanced"
|
|
131
|
+
}, createElement(SelectControl, {
|
|
132
|
+
label: __('HTML element'),
|
|
133
|
+
options: [{
|
|
134
|
+
label: __('Default (<div>)'),
|
|
135
|
+
value: 'div'
|
|
136
|
+
}, {
|
|
137
|
+
label: '<main>',
|
|
138
|
+
value: 'main'
|
|
139
|
+
}, {
|
|
140
|
+
label: '<section>',
|
|
141
|
+
value: 'section'
|
|
142
|
+
}, {
|
|
143
|
+
label: '<aside>',
|
|
144
|
+
value: 'aside'
|
|
145
|
+
}],
|
|
146
|
+
value: TagName,
|
|
147
|
+
onChange: value => setAttributes({
|
|
148
|
+
tagName: value
|
|
149
|
+
})
|
|
150
|
+
})), createElement(TagName, innerBlocksProps));
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=query-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"names":["useSelect","useDispatch","useInstanceId","useEffect","BlockControls","InspectorControls","useBlockProps","useSetting","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","QueryToolbar","QueryInspectorControls","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","layout","__unstableMarkNextChangeAsNotPersistent","instanceId","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","usedLayout","type","blockProps","innerBlocksProps","template","__experimentalLayout","undefined","postsPerPage","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","label","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\nimport { DEFAULTS_POSTS_PER_PAGE } from '../constants';\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tlayout = {},\n\t} = attributes;\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn { themeSupportsLayout: getSettings()?.supportsLayout };\n\t}, [] );\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalLayout: themeSupportsLayout ? usedLayout : undefined,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\t+getSettings().postsPerPage || DEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\tif ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage ] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\treturn (\n\t\t<>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -4,10 +4,74 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
7
|
-
import { useBlockProps, __experimentalBlockVariationPicker, store as blockEditorStore } from '@wordpress/block-editor';
|
|
8
7
|
import { createBlocksFromInnerBlocksTemplate, store as blocksStore } from '@wordpress/blocks';
|
|
8
|
+
import { useState } from '@wordpress/element';
|
|
9
|
+
import { useBlockProps, store as blockEditorStore, __experimentalBlockVariationPicker, __experimentalGetMatchingVariation as getMatchingVariation } from '@wordpress/block-editor';
|
|
10
|
+
import { Button, Placeholder } from '@wordpress/components';
|
|
11
|
+
import { __ } from '@wordpress/i18n';
|
|
12
|
+
export default function QueryPlaceholder(_ref) {
|
|
13
|
+
var _blockType$icon;
|
|
9
14
|
|
|
10
|
-
|
|
15
|
+
let {
|
|
16
|
+
attributes,
|
|
17
|
+
clientId,
|
|
18
|
+
name,
|
|
19
|
+
openPatternSelectionModal,
|
|
20
|
+
setAttributes
|
|
21
|
+
} = _ref;
|
|
22
|
+
const [isStartingBlank, setIsStartingBlank] = useState(false);
|
|
23
|
+
const blockProps = useBlockProps();
|
|
24
|
+
const {
|
|
25
|
+
blockType,
|
|
26
|
+
allVariations,
|
|
27
|
+
hasPatterns
|
|
28
|
+
} = useSelect(select => {
|
|
29
|
+
const {
|
|
30
|
+
getBlockVariations,
|
|
31
|
+
getBlockType
|
|
32
|
+
} = select(blocksStore);
|
|
33
|
+
const {
|
|
34
|
+
getBlockRootClientId,
|
|
35
|
+
__experimentalGetPatternsByBlockTypes
|
|
36
|
+
} = select(blockEditorStore);
|
|
37
|
+
const rootClientId = getBlockRootClientId(clientId);
|
|
38
|
+
return {
|
|
39
|
+
blockType: getBlockType(name),
|
|
40
|
+
allVariations: getBlockVariations(name),
|
|
41
|
+
hasPatterns: !!__experimentalGetPatternsByBlockTypes(name, rootClientId).length
|
|
42
|
+
};
|
|
43
|
+
}, [name, clientId]);
|
|
44
|
+
const matchingVariation = getMatchingVariation(attributes, allVariations);
|
|
45
|
+
const icon = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.icon) || (blockType === null || blockType === void 0 ? void 0 : (_blockType$icon = blockType.icon) === null || _blockType$icon === void 0 ? void 0 : _blockType$icon.src);
|
|
46
|
+
const label = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.title) || (blockType === null || blockType === void 0 ? void 0 : blockType.title);
|
|
47
|
+
|
|
48
|
+
if (isStartingBlank) {
|
|
49
|
+
return createElement(QueryVariationPicker, {
|
|
50
|
+
clientId: clientId,
|
|
51
|
+
name: name,
|
|
52
|
+
attributes: attributes,
|
|
53
|
+
setAttributes: setAttributes,
|
|
54
|
+
icon: icon,
|
|
55
|
+
label: label
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return createElement("div", blockProps, createElement(Placeholder, {
|
|
60
|
+
icon: icon,
|
|
61
|
+
label: label,
|
|
62
|
+
instructions: __('Choose a pattern for the query loop or start blank.')
|
|
63
|
+
}, !!hasPatterns && createElement(Button, {
|
|
64
|
+
variant: "primary",
|
|
65
|
+
onClick: openPatternSelectionModal
|
|
66
|
+
}, __('Choose')), createElement(Button, {
|
|
67
|
+
variant: "secondary",
|
|
68
|
+
onClick: () => {
|
|
69
|
+
setIsStartingBlank(true);
|
|
70
|
+
}
|
|
71
|
+
}, __('Start blank'))));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function QueryVariationPicker(_ref2) {
|
|
11
75
|
let {
|
|
12
76
|
clientId,
|
|
13
77
|
name,
|
|
@@ -15,7 +79,7 @@ function QueryPlaceholder(_ref) {
|
|
|
15
79
|
setAttributes,
|
|
16
80
|
icon,
|
|
17
81
|
label
|
|
18
|
-
} =
|
|
82
|
+
} = _ref2;
|
|
19
83
|
const {
|
|
20
84
|
defaultVariation,
|
|
21
85
|
scopeVariations
|
|
@@ -56,6 +120,4 @@ function QueryPlaceholder(_ref) {
|
|
|
56
120
|
}
|
|
57
121
|
}));
|
|
58
122
|
}
|
|
59
|
-
|
|
60
|
-
export default QueryPlaceholder;
|
|
61
123
|
//# sourceMappingURL=query-placeholder.js.map
|