@wordpress/block-library 9.21.0 → 9.22.0
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/CHANGELOG.md +2 -0
- package/build/cover/index.js +1 -1
- package/build/cover/index.js.map +1 -1
- package/build/details/edit.js +1 -5
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +1 -1
- package/build/details/index.js.map +1 -1
- package/build/navigation/view.js +2 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +0 -21
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +0 -3
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +0 -2
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +0 -1
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -24
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +0 -3
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/post-comments-count/index.js +0 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-link/index.js +0 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-featured-image/edit.js +15 -5
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +47 -59
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +2 -2
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +4 -17
- package/build/query/edit/query-content.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/social-links/edit.js +29 -31
- package/build/social-links/edit.js.map +1 -1
- package/build/table/index.js +3 -3
- package/build/table/index.js.map +1 -1
- package/build/table/transforms.js +11 -3
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/hooks.js +6 -3
- package/build/table-of-contents/hooks.js.map +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/details/edit.js +1 -5
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +1 -1
- package/build-module/details/index.js.map +1 -1
- package/build-module/navigation/view.js +2 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +0 -21
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +0 -3
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +0 -2
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +0 -1
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -24
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +0 -3
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/post-comments-count/index.js +0 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +0 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +15 -5
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +49 -61
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +4 -17
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/social-links/edit.js +30 -32
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/index.js +3 -3
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/transforms.js +11 -3
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/hooks.js +6 -3
- package/build-module/table-of-contents/hooks.js.map +1 -1
- package/build-style/editor-rtl.css +1 -50
- package/build-style/editor.css +1 -50
- package/build-style/media-text/style-rtl.css +0 -2
- package/build-style/media-text/style.css +0 -2
- package/build-style/search/style-rtl.css +1 -0
- package/build-style/search/style.css +1 -0
- package/build-style/social-links/editor-rtl.css +1 -50
- package/build-style/social-links/editor.css +1 -50
- package/build-style/style-rtl.css +1 -6
- package/build-style/style.css +1 -6
- package/build-style/tag-cloud/style-rtl.css +0 -4
- package/build-style/tag-cloud/style.css +0 -4
- package/package.json +35 -35
- package/src/button/index.php +2 -3
- package/src/cover/index.js +1 -1
- package/src/details/edit.js +6 -8
- package/src/details/index.js +1 -1
- package/src/file/index.php +2 -3
- package/src/latest-comments/index.php +1 -1
- package/src/latest-posts/index.php +3 -0
- package/src/media-text/style.scss +0 -2
- package/src/navigation/index.php +1 -1
- package/src/navigation/view.js +2 -1
- package/src/navigation-link/block.json +0 -3
- package/src/navigation-link/edit.js +1 -22
- package/src/navigation-link/index.php +1 -5
- package/src/navigation-link/transforms.js +1 -2
- package/src/navigation-link/update-attributes.js +0 -1
- package/src/navigation-submenu/block.json +0 -3
- package/src/navigation-submenu/edit.js +1 -24
- package/src/navigation-submenu/index.php +0 -4
- package/src/post-comments-count/block.json +0 -1
- package/src/post-comments-count/index.php +4 -0
- package/src/post-comments-link/block.json +0 -1
- package/src/post-comments-link/index.php +4 -0
- package/src/post-featured-image/edit.js +94 -77
- package/src/query/edit/inspector-controls/index.js +66 -91
- package/src/query/edit/inspector-controls/parent-control.js +2 -2
- package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
- package/src/query/edit/query-content.js +7 -16
- package/src/quote/index.js +1 -1
- package/src/search/index.php +12 -9
- package/src/search/style.scss +1 -0
- package/src/social-links/edit.js +29 -30
- package/src/social-links/editor.scss +1 -59
- package/src/table/index.js +3 -3
- package/src/table/transforms.js +14 -2
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/hooks.js +5 -2
- package/src/tag-cloud/style.scss +0 -5
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { TextControl, SelectControl,
|
|
4
|
+
import { TextControl, SelectControl, Notice, __experimentalVStack as VStack, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { debounce } from '@wordpress/compose';
|
|
9
|
-
import {
|
|
9
|
+
import { useState, useMemo } from '@wordpress/element';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
@@ -27,12 +27,10 @@ export default function QueryInspectorControls(props) {
|
|
|
27
27
|
const {
|
|
28
28
|
attributes,
|
|
29
29
|
setQuery,
|
|
30
|
-
setDisplayLayout,
|
|
31
30
|
isSingular
|
|
32
31
|
} = props;
|
|
33
32
|
const {
|
|
34
|
-
query
|
|
35
|
-
displayLayout
|
|
33
|
+
query
|
|
36
34
|
} = attributes;
|
|
37
35
|
const {
|
|
38
36
|
order,
|
|
@@ -86,26 +84,21 @@ export default function QueryInspectorControls(props) {
|
|
|
86
84
|
setQuery(updateQuery);
|
|
87
85
|
};
|
|
88
86
|
const [querySearch, setQuerySearch] = useState(query.search);
|
|
89
|
-
const
|
|
90
|
-
|
|
87
|
+
const debouncedQuerySearch = useMemo(() => {
|
|
88
|
+
return debounce(newQuerySearch => {
|
|
91
89
|
setQuery({
|
|
92
|
-
search:
|
|
90
|
+
search: newQuerySearch
|
|
93
91
|
});
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
useEffect(() => {
|
|
97
|
-
onChangeDebounced();
|
|
98
|
-
return onChangeDebounced.cancel;
|
|
99
|
-
}, [querySearch, onChangeDebounced]);
|
|
92
|
+
}, 250);
|
|
93
|
+
}, [setQuery]);
|
|
100
94
|
const orderByOptions = useOrderByOptions(postType);
|
|
101
|
-
const showInheritControl =
|
|
95
|
+
const showInheritControl = isControlAllowed(allowedControls, 'inherit');
|
|
102
96
|
const showPostTypeControl = !inherit && isControlAllowed(allowedControls, 'postType');
|
|
103
97
|
const postTypeControlLabel = __('Post type');
|
|
104
98
|
const postTypeControlHelp = __('Select the type of content to display: posts, pages, or custom post types.');
|
|
105
|
-
const showColumnsControl = false;
|
|
106
99
|
const showOrderControl = !inherit && isControlAllowed(allowedControls, 'order');
|
|
107
100
|
const showStickyControl = !inherit && showSticky && isControlAllowed(allowedControls, 'sticky');
|
|
108
|
-
const showSettingsPanel = showInheritControl || showPostTypeControl ||
|
|
101
|
+
const showSettingsPanel = showInheritControl || showPostTypeControl || showOrderControl || showStickyControl;
|
|
109
102
|
const showTaxControl = !!taxonomies?.length && isControlAllowed(allowedControls, 'taxQuery');
|
|
110
103
|
const showAuthorControl = isControlAllowed(allowedControls, 'author');
|
|
111
104
|
const showSearchControl = isControlAllowed(allowedControls, 'search');
|
|
@@ -128,6 +121,10 @@ export default function QueryInspectorControls(props) {
|
|
|
128
121
|
const showOffSetControl = isControlAllowed(allowedControls, 'offset');
|
|
129
122
|
const showPagesControl = isControlAllowed(allowedControls, 'pages');
|
|
130
123
|
const showDisplayPanel = showPostCountControl || showOffSetControl || showPagesControl;
|
|
124
|
+
|
|
125
|
+
// The block cannot inherit a default WordPress query in singular content (e.g., post, page, 404, blank).
|
|
126
|
+
// Warn users but still permit this type of query for exceptional cases in Classic and Hybrid themes.
|
|
127
|
+
const hasInheritanceWarning = isSingular && inherit;
|
|
131
128
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
132
129
|
children: [showSettingsPanel && /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
133
130
|
label: __('Settings'),
|
|
@@ -148,24 +145,31 @@ export default function QueryInspectorControls(props) {
|
|
|
148
145
|
inherit: true
|
|
149
146
|
}),
|
|
150
147
|
isShownByDefault: true,
|
|
151
|
-
children: /*#__PURE__*/_jsxs(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
value:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
148
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
149
|
+
spacing: 4,
|
|
150
|
+
children: [/*#__PURE__*/_jsxs(ToggleGroupControl, {
|
|
151
|
+
__next40pxDefaultSize: true,
|
|
152
|
+
__nextHasNoMarginBottom: true,
|
|
153
|
+
label: __('Query type'),
|
|
154
|
+
isBlock: true,
|
|
155
|
+
onChange: value => {
|
|
156
|
+
setQuery({
|
|
157
|
+
inherit: value === 'default'
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
help: inherit ? __('Display a list of posts or custom post types based on the current template.') : __('Display a list of posts or custom post types based on specific criteria.'),
|
|
161
|
+
value: !!inherit ? 'default' : 'custom',
|
|
162
|
+
children: [/*#__PURE__*/_jsx(ToggleGroupControlOption, {
|
|
163
|
+
value: "default",
|
|
164
|
+
label: __('Default')
|
|
165
|
+
}), /*#__PURE__*/_jsx(ToggleGroupControlOption, {
|
|
166
|
+
value: "custom",
|
|
167
|
+
label: __('Custom')
|
|
168
|
+
})]
|
|
169
|
+
}), hasInheritanceWarning && /*#__PURE__*/_jsx(Notice, {
|
|
170
|
+
status: "warning",
|
|
171
|
+
isDismissible: false,
|
|
172
|
+
children: __('Cannot inherit the current template query when placed inside the singular content (e.g., post, page, 404, blank).')
|
|
169
173
|
})]
|
|
170
174
|
})
|
|
171
175
|
}), showPostTypeControl && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
@@ -194,30 +198,6 @@ export default function QueryInspectorControls(props) {
|
|
|
194
198
|
label: option.label
|
|
195
199
|
}, option.value))
|
|
196
200
|
})
|
|
197
|
-
}), showColumnsControl && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
198
|
-
hasValue: () => displayLayout?.columns !== 2,
|
|
199
|
-
label: __('Columns'),
|
|
200
|
-
onDeselect: () => setDisplayLayout({
|
|
201
|
-
columns: 2
|
|
202
|
-
}),
|
|
203
|
-
isShownByDefault: true,
|
|
204
|
-
children: /*#__PURE__*/_jsxs(_Fragment, {
|
|
205
|
-
children: [/*#__PURE__*/_jsx(RangeControl, {
|
|
206
|
-
__nextHasNoMarginBottom: true,
|
|
207
|
-
__next40pxDefaultSize: true,
|
|
208
|
-
label: __('Columns'),
|
|
209
|
-
value: displayLayout.columns,
|
|
210
|
-
onChange: value => setDisplayLayout({
|
|
211
|
-
columns: value
|
|
212
|
-
}),
|
|
213
|
-
min: 2,
|
|
214
|
-
max: Math.max(6, displayLayout.columns)
|
|
215
|
-
}), displayLayout.columns > 6 && /*#__PURE__*/_jsx(Notice, {
|
|
216
|
-
status: "warning",
|
|
217
|
-
isDismissible: false,
|
|
218
|
-
children: __('This column count exceeds the recommended amount and may cause visual breakage.')
|
|
219
|
-
})]
|
|
220
|
-
})
|
|
221
201
|
}), showOrderControl && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
222
202
|
hasValue: () => order !== 'desc' || orderBy !== 'date',
|
|
223
203
|
label: __('Order by'),
|
|
@@ -323,13 +303,21 @@ export default function QueryInspectorControls(props) {
|
|
|
323
303
|
}), showSearchControl && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
324
304
|
hasValue: () => !!querySearch,
|
|
325
305
|
label: __('Keyword'),
|
|
326
|
-
onDeselect: () =>
|
|
306
|
+
onDeselect: () => {
|
|
307
|
+
setQuery({
|
|
308
|
+
search: ''
|
|
309
|
+
});
|
|
310
|
+
setQuerySearch('');
|
|
311
|
+
},
|
|
327
312
|
children: /*#__PURE__*/_jsx(TextControl, {
|
|
328
313
|
__nextHasNoMarginBottom: true,
|
|
329
314
|
__next40pxDefaultSize: true,
|
|
330
315
|
label: __('Keyword'),
|
|
331
316
|
value: querySearch,
|
|
332
|
-
onChange:
|
|
317
|
+
onChange: newQuerySearch => {
|
|
318
|
+
debouncedQuerySearch(newQuerySearch);
|
|
319
|
+
setQuerySearch(newQuerySearch);
|
|
320
|
+
}
|
|
333
321
|
})
|
|
334
322
|
}), showParentControl && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
335
323
|
hasValue: () => !!parents?.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextControl","SelectControl","RangeControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useSelect","store","coreStore","__","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","FormatControls","StickyControl","PerPageControl","OffsetControl","PagesControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","useOrderByOptions","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QueryInspectorControls","props","attributes","setQuery","setDisplayLayout","isSingular","query","displayLayout","order","orderBy","author","authorIds","pages","postType","perPage","offset","sticky","inherit","taxQuery","parents","format","allowedControls","showSticky","postTypesTaxonomiesMap","postTypesSelectOptions","postTypeFormatSupportMap","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","hasFormatSupport","querySearch","setQuerySearch","search","onChangeDebounced","cancel","orderByOptions","showInheritControl","showPostTypeControl","postTypeControlLabel","postTypeControlHelp","showColumnsControl","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","postTypeHasFormatSupport","showFormatControl","select","themeSupports","getThemeSupports","formats","some","type","showFiltersPanel","dropdownMenuProps","showPostCountControl","showOffSetControl","showPagesControl","showDisplayPanel","children","label","resetAll","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","__nextHasNoMarginBottom","isBlock","onChange","value","help","options","map","option","columns","min","max","Math","status","isDismissible","className","values"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport FormatControls from './format-controls';\nimport StickyControl from './sticky-control';\nimport PerPageControl from './per-page-control';\nimport OffsetControl from './offset-controls';\nimport PagesControl from './pages-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n\tuseOrderByOptions,\n} from '../../utils';\nimport { useToolsPanelDropdownMenuProps } from '../../../utils/hooks';\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, setDisplayLayout, isSingular } = props;\n\tconst { query, displayLayout } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpages,\n\t\tpostType,\n\t\tperPage,\n\t\toffset,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t\tformat,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst showSticky = postType === 'post';\n\tconst {\n\t\tpostTypesTaxonomiesMap,\n\t\tpostTypesSelectOptions,\n\t\tpostTypeFormatSupportMap,\n\t} = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\t// Post types can register post format support with `add_post_type_support`.\n\t\t// But we need to reset the `format` property when switching to post types\n\t\t// that do not support post formats.\n\t\tconst hasFormatSupport = postTypeFormatSupportMap[ newValue ];\n\t\tif ( ! hasFormatSupport ) {\n\t\t\tupdateQuery.format = [];\n\t\t}\n\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\n\tconst orderByOptions = useOrderByOptions( postType );\n\tconst showInheritControl =\n\t\t! isSingular && isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst postTypeControlLabel = __( 'Post type' );\n\tconst postTypeControlHelp = __(\n\t\t'Select the type of content to display: posts, pages, or custom post types.'\n\t);\n\tconst showColumnsControl = false;\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst postTypeHasFormatSupport = postTypeFormatSupportMap[ postType ];\n\tconst showFormatControl = useSelect(\n\t\t( select ) => {\n\t\t\t// Check if the post type supports post formats and if the control is allowed.\n\t\t\tif (\n\t\t\t\t! postTypeHasFormatSupport ||\n\t\t\t\t! isControlAllowed( allowedControls, 'format' )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\n\t\t\t// If there are no supported formats, getThemeSupports still includes the default 'standard' format,\n\t\t\t// and in this case the control should not be shown since the user has no other formats to choose from.\n\t\t\treturn (\n\t\t\t\tthemeSupports.formats &&\n\t\t\t\tthemeSupports.formats.length > 0 &&\n\t\t\t\tthemeSupports.formats.some( ( type ) => type !== 'standard' )\n\t\t\t);\n\t\t},\n\t\t[ allowedControls, postTypeHasFormatSupport ]\n\t);\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl ||\n\t\tshowFormatControl;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst showPostCountControl = isControlAllowed(\n\t\tallowedControls,\n\t\t'postCount'\n\t);\n\tconst showOffSetControl = isControlAllowed( allowedControls, 'offset' );\n\tconst showPagesControl = isControlAllowed( allowedControls, 'pages' );\n\n\tconst showDisplayPanel =\n\t\tshowPostCountControl || showOffSetControl || showPagesControl;\n\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\tpostType: 'post',\n\t\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\t\tsticky: '',\n\t\t\t\t\t\t\tinherit: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! inherit }\n\t\t\t\t\t\t\tlabel={ __( 'Query type' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { inherit: true } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Query type' ) }\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\t\tinherit: value === 'default',\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\thelp={\n\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Display a list of posts or custom post types based on the current template.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Display a list of posts or custom post types based on specific criteria.'\n\t\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\tvalue={ !! inherit ? 'default' : 'custom' }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"default\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"custom\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => postType !== 'post' }\n\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\tonDeselect={ () => onPostTypeChange( 'post' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postTypesSelectOptions.length > 2 ? (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\t\thelp={ postTypeControlHelp }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\t\thelp={ postTypeControlHelp }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ postTypesSelectOptions.map(\n\t\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => displayLayout?.columns !== 2 }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: 2 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\t\t\t\t\t\t\tcolumns: value,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\torder !== 'desc' || orderBy !== 'date'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetQuery( { order: 'desc', orderBy: 'date' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy, orderByOptions } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! sticky }\n\t\t\t\t\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { sticky: '' } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t\t{ ! inherit && showDisplayPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tclassName=\"block-library-query-toolspanel__display\"\n\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\t\tpages: 0,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\t\t\t\thasValue={ () => perPage > 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PerPageControl\n\t\t\t\t\t\t\tperPage={ perPage }\n\t\t\t\t\t\t\toffset={ offset }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Offset' ) }\n\t\t\t\t\t\thasValue={ () => offset > 0 }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { offset: 0 } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<OffsetControl\n\t\t\t\t\t\t\toffset={ offset }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Max pages to show' ) }\n\t\t\t\t\t\thasValue={ () => pages > 0 }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { pages: 0 } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PagesControl pages={ pages } onChange={ setQuery } />\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\" // unused but kept for backward compatibility\n\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\tformat: [],\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { taxQuery: null } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showFormatControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! format?.length }\n\t\t\t\t\t\t\tlabel={ __( 'Formats' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { format: [] } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FormatControls\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["TextControl","SelectControl","Notice","__experimentalVStack","VStack","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","useSelect","store","coreStore","__","debounce","useState","useMemo","OrderControl","AuthorControl","ParentControl","TaxonomyControls","FormatControls","StickyControl","PerPageControl","OffsetControl","PagesControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","useOrderByOptions","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QueryInspectorControls","props","attributes","setQuery","isSingular","query","order","orderBy","author","authorIds","pages","postType","perPage","offset","sticky","inherit","taxQuery","parents","format","allowedControls","showSticky","postTypesTaxonomiesMap","postTypesSelectOptions","postTypeFormatSupportMap","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","hasFormatSupport","querySearch","setQuerySearch","search","debouncedQuerySearch","newQuerySearch","orderByOptions","showInheritControl","showPostTypeControl","postTypeControlLabel","postTypeControlHelp","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","postTypeHasFormatSupport","showFormatControl","select","themeSupports","getThemeSupports","formats","some","type","showFiltersPanel","dropdownMenuProps","showPostCountControl","showOffSetControl","showPagesControl","showDisplayPanel","hasInheritanceWarning","children","label","resetAll","hasValue","onDeselect","isShownByDefault","spacing","__next40pxDefaultSize","__nextHasNoMarginBottom","isBlock","onChange","value","help","status","isDismissible","options","map","option","className","values"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tSelectControl,\n\tNotice,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport FormatControls from './format-controls';\nimport StickyControl from './sticky-control';\nimport PerPageControl from './per-page-control';\nimport OffsetControl from './offset-controls';\nimport PagesControl from './pages-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n\tuseOrderByOptions,\n} from '../../utils';\nimport { useToolsPanelDropdownMenuProps } from '../../../utils/hooks';\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, isSingular } = props;\n\tconst { query } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpages,\n\t\tpostType,\n\t\tperPage,\n\t\toffset,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t\tformat,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst showSticky = postType === 'post';\n\tconst {\n\t\tpostTypesTaxonomiesMap,\n\t\tpostTypesSelectOptions,\n\t\tpostTypeFormatSupportMap,\n\t} = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\t// Post types can register post format support with `add_post_type_support`.\n\t\t// But we need to reset the `format` property when switching to post types\n\t\t// that do not support post formats.\n\t\tconst hasFormatSupport = postTypeFormatSupportMap[ newValue ];\n\t\tif ( ! hasFormatSupport ) {\n\t\t\tupdateQuery.format = [];\n\t\t}\n\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst debouncedQuerySearch = useMemo( () => {\n\t\treturn debounce( ( newQuerySearch ) => {\n\t\t\tsetQuery( { search: newQuerySearch } );\n\t\t}, 250 );\n\t}, [ setQuery ] );\n\n\tconst orderByOptions = useOrderByOptions( postType );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst postTypeControlLabel = __( 'Post type' );\n\tconst postTypeControlHelp = __(\n\t\t'Select the type of content to display: posts, pages, or custom post types.'\n\t);\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst postTypeHasFormatSupport = postTypeFormatSupportMap[ postType ];\n\tconst showFormatControl = useSelect(\n\t\t( select ) => {\n\t\t\t// Check if the post type supports post formats and if the control is allowed.\n\t\t\tif (\n\t\t\t\t! postTypeHasFormatSupport ||\n\t\t\t\t! isControlAllowed( allowedControls, 'format' )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\n\t\t\t// If there are no supported formats, getThemeSupports still includes the default 'standard' format,\n\t\t\t// and in this case the control should not be shown since the user has no other formats to choose from.\n\t\t\treturn (\n\t\t\t\tthemeSupports.formats &&\n\t\t\t\tthemeSupports.formats.length > 0 &&\n\t\t\t\tthemeSupports.formats.some( ( type ) => type !== 'standard' )\n\t\t\t);\n\t\t},\n\t\t[ allowedControls, postTypeHasFormatSupport ]\n\t);\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl ||\n\t\tshowFormatControl;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst showPostCountControl = isControlAllowed(\n\t\tallowedControls,\n\t\t'postCount'\n\t);\n\tconst showOffSetControl = isControlAllowed( allowedControls, 'offset' );\n\tconst showPagesControl = isControlAllowed( allowedControls, 'pages' );\n\n\tconst showDisplayPanel =\n\t\tshowPostCountControl || showOffSetControl || showPagesControl;\n\n\t// The block cannot inherit a default WordPress query in singular content (e.g., post, page, 404, blank).\n\t// Warn users but still permit this type of query for exceptional cases in Classic and Hybrid themes.\n\tconst hasInheritanceWarning = isSingular && inherit;\n\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\tpostType: 'post',\n\t\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\t\tsticky: '',\n\t\t\t\t\t\t\tinherit: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! inherit }\n\t\t\t\t\t\t\tlabel={ __( 'Query type' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { inherit: true } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Query type' ) }\n\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\t\t\t\tinherit: value === 'default',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Display a list of posts or custom post types based on the current template.'\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Display a list of posts or custom post types based on specific criteria.'\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvalue={ !! inherit ? 'default' : 'custom' }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tvalue=\"default\"\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tvalue=\"custom\"\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t\t{ hasInheritanceWarning && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Cannot inherit the current template query when placed inside the singular content (e.g., post, page, 404, blank).'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => postType !== 'post' }\n\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\tonDeselect={ () => onPostTypeChange( 'post' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postTypesSelectOptions.length > 2 ? (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\t\thelp={ postTypeControlHelp }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\t\tlabel={ postTypeControlLabel }\n\t\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\t\thelp={ postTypeControlHelp }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ postTypesSelectOptions.map(\n\t\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\torder !== 'desc' || orderBy !== 'date'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetQuery( { order: 'desc', orderBy: 'date' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy, orderByOptions } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! sticky }\n\t\t\t\t\t\t\tlabel={ __( 'Sticky posts' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { sticky: '' } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t\t{ ! inherit && showDisplayPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tclassName=\"block-library-query-toolspanel__display\"\n\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\t\tpages: 0,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\t\t\t\thasValue={ () => perPage > 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PerPageControl\n\t\t\t\t\t\t\tperPage={ perPage }\n\t\t\t\t\t\t\toffset={ offset }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Offset' ) }\n\t\t\t\t\t\thasValue={ () => offset > 0 }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { offset: 0 } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<OffsetControl\n\t\t\t\t\t\t\toffset={ offset }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Max pages to show' ) }\n\t\t\t\t\t\thasValue={ () => pages > 0 }\n\t\t\t\t\t\tonDeselect={ () => setQuery( { pages: 0 } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PagesControl pages={ pages } onChange={ setQuery } />\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\" // unused but kept for backward compatibility\n\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\tformat: [],\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { taxQuery: null } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetQuery( { search: '' } );\n\t\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\tonChange={ ( newQuerySearch ) => {\n\t\t\t\t\t\t\t\t\tdebouncedQuerySearch( newQuerySearch );\n\t\t\t\t\t\t\t\t\tsetQuerySearch( newQuerySearch );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showFormatControl && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! format?.length }\n\t\t\t\t\t\t\tlabel={ __( 'Formats' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { format: [] } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FormatControls\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@ function ParentControl({
|
|
|
53
53
|
searchResults: getEntityRecords(...selectorArgs),
|
|
54
54
|
searchHasResolved: hasFinishedResolution('getEntityRecords', selectorArgs)
|
|
55
55
|
};
|
|
56
|
-
}, [search, parents]);
|
|
56
|
+
}, [search, postType, parents]);
|
|
57
57
|
const currentParents = useSelect(select => {
|
|
58
58
|
if (!parents?.length) {
|
|
59
59
|
return EMPTY_ARRAY;
|
|
@@ -66,7 +66,7 @@ function ParentControl({
|
|
|
66
66
|
include: parents,
|
|
67
67
|
per_page: parents.length
|
|
68
68
|
});
|
|
69
|
-
}, [parents]);
|
|
69
|
+
}, [parents, postType]);
|
|
70
70
|
// Update the `value` state only after the selectors are resolved
|
|
71
71
|
// to avoid emptying the input when we're changing parents.
|
|
72
72
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","FormTokenField","useSelect","store","coreStore","useState","useEffect","useMemo","useDebounce","getEntitiesInfo","mapToIHasNameAndId","jsx","_jsx","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","ParentControl","parents","postType","onChange","search","setSearch","value","setValue","suggestions","setSuggestions","debouncedSearch","searchResults","searchHasResolved","select","getEntityRecords","hasFinishedResolution","selectorArgs","orderby","exclude","per_page","currentParents","length","include","currentParentsInfo","sanitizedValue","reduce","accumulator","id","entity","mapById","push","name","entitiesInfo","names","getIdByValue","entitiesMappedByName","onParentChange","newValue","ids","Array","from","mapByName","add","Set","__next40pxDefaultSize","label","onInputChange","__experimentalShowHowTo","__nextHasNoMarginBottom"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/parent-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,title',\n\tcontext: 'view',\n};\n\nfunction ParentControl( { parents, postType, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\texclude: parents,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, parents ]\n\t);\n\tconst currentParents = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parents?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'postType', postType, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: parents,\n\t\t\t\tper_page: parents.length,\n\t\t\t} );\n\t\t},\n\t\t[ parents ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing parents.\n\tuseEffect( () => {\n\t\tif ( ! parents?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! currentParents?.length ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentParentsInfo = getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( currentParents, 'title.rendered' )\n\t\t);\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = parents.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = currentParentsInfo.mapById[ id ];\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ parents, currentParents ] );\n\n\tconst entitiesInfo = useMemo( () => {\n\t\tif ( ! searchResults?.length ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( searchResults, 'title.rendered' )\n\t\t);\n\t}, [ searchResults ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( entitiesInfo.names );\n\t}, [ entitiesInfo.names, searchHasResolved ] );\n\n\tconst getIdByValue = ( entitiesMappedByName, entity ) => {\n\t\tconst id = entity?.id || entitiesMappedByName?.[ entity ]?.id;\n\t\tif ( id ) {\n\t\t\treturn id;\n\t\t}\n\t};\n\tconst onParentChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, entity ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( entitiesInfo.mapByName, entity );\n\t\t\t\tif ( id ) {\n\t\t\t\t\taccumulator.add( id );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( { parents: ids } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Parents' ) }\n\t\t\tvalue={ value }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ onParentChange }\n\t\t\t__experimentalShowHowTo={ false }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default ParentControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACjE,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElE,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,UAAU,GAAG;EAClBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,UAAU;EACnBC,OAAO,EAAE;AACV,CAAC;AAED,SAASC,aAAaA,CAAE;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACzD,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAGlB,QAAQ,CAAE,EAAG,CAAC;EAC5C,MAAM,CAAEmB,KAAK,EAAEC,QAAQ,CAAE,GAAGpB,QAAQ,CAAEQ,WAAY,CAAC;EACnD,MAAM,CAAEa,WAAW,EAAEC,cAAc,CAAE,GAAGtB,QAAQ,CAAEQ,WAAY,CAAC;EAC/D,MAAMe,eAAe,GAAGpB,WAAW,CAAEe,SAAS,EAAE,GAAI,CAAC;EACrD,MAAM;IAAEM,aAAa;IAAEC;EAAkB,CAAC,GAAG5B,SAAS,CACnD6B,MAAM,IAAM;IACb,IAAK,CAAET,MAAM,EAAG;MACf,OAAO;QAAEO,aAAa,EAAEhB,WAAW;QAAEiB,iBAAiB,EAAE;MAAK,CAAC;IAC/D;IACA,MAAM;MAAEE,gBAAgB;MAAEC;IAAsB,CAAC,GAChDF,MAAM,CAAE3B,SAAU,CAAC;IACpB,MAAM8B,YAAY,GAAG,CACpB,UAAU,EACVd,QAAQ,EACR;MACC,GAAGN,UAAU;MACbQ,MAAM;MACNa,OAAO,EAAE,WAAW;MACpBC,OAAO,EAAEjB,OAAO;MAChBkB,QAAQ,EAAE;IACX,CAAC,CACD;IACD,OAAO;MACNR,aAAa,EAAEG,gBAAgB,CAAE,GAAGE,YAAa,CAAC;MAClDJ,iBAAiB,EAAEG,qBAAqB,CACvC,kBAAkB,EAClBC,YACD;IACD,CAAC;EACF,CAAC,EACD,CAAEZ,MAAM,
|
|
1
|
+
{"version":3,"names":["__","FormTokenField","useSelect","store","coreStore","useState","useEffect","useMemo","useDebounce","getEntitiesInfo","mapToIHasNameAndId","jsx","_jsx","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","ParentControl","parents","postType","onChange","search","setSearch","value","setValue","suggestions","setSuggestions","debouncedSearch","searchResults","searchHasResolved","select","getEntityRecords","hasFinishedResolution","selectorArgs","orderby","exclude","per_page","currentParents","length","include","currentParentsInfo","sanitizedValue","reduce","accumulator","id","entity","mapById","push","name","entitiesInfo","names","getIdByValue","entitiesMappedByName","onParentChange","newValue","ids","Array","from","mapByName","add","Set","__next40pxDefaultSize","label","onInputChange","__experimentalShowHowTo","__nextHasNoMarginBottom"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/parent-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,title',\n\tcontext: 'view',\n};\n\nfunction ParentControl( { parents, postType, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\texclude: parents,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, postType, parents ]\n\t);\n\tconst currentParents = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parents?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'postType', postType, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: parents,\n\t\t\t\tper_page: parents.length,\n\t\t\t} );\n\t\t},\n\t\t[ parents, postType ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing parents.\n\tuseEffect( () => {\n\t\tif ( ! parents?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! currentParents?.length ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentParentsInfo = getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( currentParents, 'title.rendered' )\n\t\t);\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = parents.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = currentParentsInfo.mapById[ id ];\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ parents, currentParents ] );\n\n\tconst entitiesInfo = useMemo( () => {\n\t\tif ( ! searchResults?.length ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( searchResults, 'title.rendered' )\n\t\t);\n\t}, [ searchResults ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( entitiesInfo.names );\n\t}, [ entitiesInfo.names, searchHasResolved ] );\n\n\tconst getIdByValue = ( entitiesMappedByName, entity ) => {\n\t\tconst id = entity?.id || entitiesMappedByName?.[ entity ]?.id;\n\t\tif ( id ) {\n\t\t\treturn id;\n\t\t}\n\t};\n\tconst onParentChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, entity ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( entitiesInfo.mapByName, entity );\n\t\t\t\tif ( id ) {\n\t\t\t\t\taccumulator.add( id );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( { parents: ids } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Parents' ) }\n\t\t\tvalue={ value }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ onParentChange }\n\t\t\t__experimentalShowHowTo={ false }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default ParentControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACjE,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElE,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,UAAU,GAAG;EAClBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,UAAU;EACnBC,OAAO,EAAE;AACV,CAAC;AAED,SAASC,aAAaA,CAAE;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACzD,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAGlB,QAAQ,CAAE,EAAG,CAAC;EAC5C,MAAM,CAAEmB,KAAK,EAAEC,QAAQ,CAAE,GAAGpB,QAAQ,CAAEQ,WAAY,CAAC;EACnD,MAAM,CAAEa,WAAW,EAAEC,cAAc,CAAE,GAAGtB,QAAQ,CAAEQ,WAAY,CAAC;EAC/D,MAAMe,eAAe,GAAGpB,WAAW,CAAEe,SAAS,EAAE,GAAI,CAAC;EACrD,MAAM;IAAEM,aAAa;IAAEC;EAAkB,CAAC,GAAG5B,SAAS,CACnD6B,MAAM,IAAM;IACb,IAAK,CAAET,MAAM,EAAG;MACf,OAAO;QAAEO,aAAa,EAAEhB,WAAW;QAAEiB,iBAAiB,EAAE;MAAK,CAAC;IAC/D;IACA,MAAM;MAAEE,gBAAgB;MAAEC;IAAsB,CAAC,GAChDF,MAAM,CAAE3B,SAAU,CAAC;IACpB,MAAM8B,YAAY,GAAG,CACpB,UAAU,EACVd,QAAQ,EACR;MACC,GAAGN,UAAU;MACbQ,MAAM;MACNa,OAAO,EAAE,WAAW;MACpBC,OAAO,EAAEjB,OAAO;MAChBkB,QAAQ,EAAE;IACX,CAAC,CACD;IACD,OAAO;MACNR,aAAa,EAAEG,gBAAgB,CAAE,GAAGE,YAAa,CAAC;MAClDJ,iBAAiB,EAAEG,qBAAqB,CACvC,kBAAkB,EAClBC,YACD;IACD,CAAC;EACF,CAAC,EACD,CAAEZ,MAAM,EAAEF,QAAQ,EAAED,OAAO,CAC5B,CAAC;EACD,MAAMmB,cAAc,GAAGpC,SAAS,CAC7B6B,MAAM,IAAM;IACb,IAAK,CAAEZ,OAAO,EAAEoB,MAAM,EAAG;MACxB,OAAO1B,WAAW;IACnB;IACA,MAAM;MAAEmB;IAAiB,CAAC,GAAGD,MAAM,CAAE3B,SAAU,CAAC;IAChD,OAAO4B,gBAAgB,CAAE,UAAU,EAAEZ,QAAQ,EAAE;MAC9C,GAAGN,UAAU;MACb0B,OAAO,EAAErB,OAAO;MAChBkB,QAAQ,EAAElB,OAAO,CAACoB;IACnB,CAAE,CAAC;EACJ,CAAC,EACD,CAAEpB,OAAO,EAAEC,QAAQ,CACpB,CAAC;EACD;EACA;EACAd,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEa,OAAO,EAAEoB,MAAM,EAAG;MACxBd,QAAQ,CAAEZ,WAAY,CAAC;IACxB;IACA,IAAK,CAAEyB,cAAc,EAAEC,MAAM,EAAG;MAC/B;IACD;IACA,MAAME,kBAAkB,GAAGhC,eAAe,CACzCC,kBAAkB,CAAE4B,cAAc,EAAE,gBAAiB,CACtD,CAAC;IACD;IACA;IACA,MAAMI,cAAc,GAAGvB,OAAO,CAACwB,MAAM,CAAE,CAAEC,WAAW,EAAEC,EAAE,KAAM;MAC7D,MAAMC,MAAM,GAAGL,kBAAkB,CAACM,OAAO,CAAEF,EAAE,CAAE;MAC/C,IAAKC,MAAM,EAAG;QACbF,WAAW,CAACI,IAAI,CAAE;UACjBH,EAAE;UACFrB,KAAK,EAAEsB,MAAM,CAACG;QACf,CAAE,CAAC;MACJ;MACA,OAAOL,WAAW;IACnB,CAAC,EAAE,EAAG,CAAC;IACPnB,QAAQ,CAAEiB,cAAe,CAAC;EAC3B,CAAC,EAAE,CAAEvB,OAAO,EAAEmB,cAAc,CAAG,CAAC;EAEhC,MAAMY,YAAY,GAAG3C,OAAO,CAAE,MAAM;IACnC,IAAK,CAAEsB,aAAa,EAAEU,MAAM,EAAG;MAC9B,OAAO1B,WAAW;IACnB;IACA,OAAOJ,eAAe,CACrBC,kBAAkB,CAAEmB,aAAa,EAAE,gBAAiB,CACrD,CAAC;EACF,CAAC,EAAE,CAAEA,aAAa,CAAG,CAAC;EACtB;EACAvB,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEwB,iBAAiB,EAAG;MAC1B;IACD;IACAH,cAAc,CAAEuB,YAAY,CAACC,KAAM,CAAC;EACrC,CAAC,EAAE,CAAED,YAAY,CAACC,KAAK,EAAErB,iBAAiB,CAAG,CAAC;EAE9C,MAAMsB,YAAY,GAAGA,CAAEC,oBAAoB,EAAEP,MAAM,KAAM;IACxD,MAAMD,EAAE,GAAGC,MAAM,EAAED,EAAE,IAAIQ,oBAAoB,GAAIP,MAAM,CAAE,EAAED,EAAE;IAC7D,IAAKA,EAAE,EAAG;MACT,OAAOA,EAAE;IACV;EACD,CAAC;EACD,MAAMS,cAAc,GAAKC,QAAQ,IAAM;IACtC,MAAMC,GAAG,GAAGC,KAAK,CAACC,IAAI,CACrBH,QAAQ,CAACZ,MAAM,CAAE,CAAEC,WAAW,EAAEE,MAAM,KAAM;MAC3C;MACA,MAAMD,EAAE,GAAGO,YAAY,CAAEF,YAAY,CAACS,SAAS,EAAEb,MAAO,CAAC;MACzD,IAAKD,EAAE,EAAG;QACTD,WAAW,CAACgB,GAAG,CAAEf,EAAG,CAAC;MACtB;MACA,OAAOD,WAAW;IACnB,CAAC,EAAE,IAAIiB,GAAG,CAAC,CAAE,CACd,CAAC;IACDlC,cAAc,CAAEd,WAAY,CAAC;IAC7BQ,QAAQ,CAAE;MAAEF,OAAO,EAAEqC;IAAI,CAAE,CAAC;EAC7B,CAAC;EACD,oBACC5C,IAAA,CAACX,cAAc;IACd6D,qBAAqB;IACrBC,KAAK,EAAG/D,EAAE,CAAE,SAAU,CAAG;IACzBwB,KAAK,EAAGA,KAAO;IACfwC,aAAa,EAAGpC,eAAiB;IACjCF,WAAW,EAAGA,WAAa;IAC3BL,QAAQ,EAAGiC,cAAgB;IAC3BW,uBAAuB,EAAG,KAAO;IACjCC,uBAAuB;EAAA,CACvB,CAAC;AAEJ;AAEA,eAAehD,aAAa","ignoreList":[]}
|
|
@@ -114,7 +114,7 @@ function TaxonomyItem({
|
|
|
114
114
|
searchResults: getEntityRecords(...selectorArgs),
|
|
115
115
|
searchHasResolved: hasFinishedResolution('getEntityRecords', selectorArgs)
|
|
116
116
|
};
|
|
117
|
-
}, [search, termIds]);
|
|
117
|
+
}, [search, taxonomy.slug, termIds]);
|
|
118
118
|
// `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.
|
|
119
119
|
// They are used to extract the terms' names to populate the `FormTokenField` properly
|
|
120
120
|
// and to sanitize the provided `termIds`, by setting only the ones that exist.
|
|
@@ -130,7 +130,7 @@ function TaxonomyItem({
|
|
|
130
130
|
include: termIds,
|
|
131
131
|
per_page: termIds.length
|
|
132
132
|
});
|
|
133
|
-
}, [termIds]);
|
|
133
|
+
}, [taxonomy.slug, termIds]);
|
|
134
134
|
// Update the `value` state only after the selectors are resolved
|
|
135
135
|
// to avoid emptying the input when we're changing terms.
|
|
136
136
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FormTokenField","__experimentalVStack","VStack","useSelect","store","coreStore","useState","useEffect","useDebounce","decodeEntities","useTaxonomies","jsx","_jsx","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","getTermIdByTermValue","terms","termValue","termId","id","find","term","name","termValueLower","toLocaleLowerCase","TaxonomyControls","onChange","query","postType","taxQuery","taxonomies","length","spacing","children","map","taxonomy","termIds","slug","handleChange","newTermIds","TaxonomyItem","search","setSearch","value","setValue","suggestions","setSuggestions","debouncedSearch","searchResults","searchHasResolved","select","getEntityRecords","hasFinishedResolution","selectorArgs","orderby","exclude","per_page","existingTerms","include","sanitizedValue","reduce","accumulator","entity","push","result","onTermsChange","newTermValues","Set","add","Array","from","className","label","onInputChange","displayTransform","__experimentalShowHowTo","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFormTokenField,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useTaxonomies } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( terms, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId =\n\t\ttermValue?.id || terms?.find( ( term ) => term.name === termValue )?.id;\n\tif ( termId ) {\n\t\treturn termId;\n\t}\n\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\treturn terms?.find(\n\t\t( term ) => term.name.toLocaleLowerCase() === termValueLower\n\t)?.id;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst { postType, taxQuery } = query;\n\n\tconst taxonomies = useTaxonomies( postType );\n\tif ( ! taxonomies || taxonomies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ taxonomies.map( ( taxonomy ) => {\n\t\t\t\tconst termIds = taxQuery?.[ taxonomy.slug ] || [];\n\t\t\t\tconst handleChange = ( newTermIds ) =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\ttaxQuery: {\n\t\t\t\t\t\t\t...taxQuery,\n\t\t\t\t\t\t\t[ taxonomy.slug ]: newTermIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\treturn (\n\t\t\t\t\t<TaxonomyItem\n\t\t\t\t\t\tkey={ taxonomy.slug }\n\t\t\t\t\t\ttaxonomy={ taxonomy }\n\t\t\t\t\t\ttermIds={ termIds }\n\t\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Renders a `FormTokenField` for a given taxonomy.\n *\n * @param {Object} props The props for the component.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {number[]} props.termIds An array with the block's term ids for the given taxonomy.\n * @param {Function} props.onChange Callback `onChange` function.\n * @return {JSX.Element} The rendered component.\n */\nfunction TaxonomyItem( { taxonomy, termIds, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'name',\n\t\t\t\t\texclude: termIds,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, termIds ]\n\t);\n\t// `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.\n\t// They are used to extract the terms' names to populate the `FormTokenField` properly\n\t// and to sanitize the provided `termIds`, by setting only the ones that exist.\n\tconst existingTerms = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! termIds?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'taxonomy', taxonomy.slug, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: termIds,\n\t\t\t\tper_page: termIds.length,\n\t\t\t} );\n\t\t},\n\t\t[ termIds ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing terms.\n\tuseEffect( () => {\n\t\tif ( ! termIds?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! existingTerms?.length ) {\n\t\t\treturn;\n\t\t}\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = termIds.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = existingTerms.find( ( term ) => term.id === id );\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ termIds, existingTerms ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( searchResults.map( ( result ) => result.name ) );\n\t}, [ searchResults, searchHasResolved ] );\n\tconst onTermsChange = ( newTermValues ) => {\n\t\tconst newTermIds = new Set();\n\t\tfor ( const termValue of newTermValues ) {\n\t\t\tconst termId = getTermIdByTermValue( searchResults, termValue );\n\t\t\tif ( termId ) {\n\t\t\t\tnewTermIds.add( termId );\n\t\t\t}\n\t\t}\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( Array.from( newTermIds ) );\n\t};\n\treturn (\n\t\t<div className=\"block-library-query-inspector__taxonomy-control\">\n\t\t\t<FormTokenField\n\t\t\t\tlabel={ taxonomy.name }\n\t\t\t\tvalue={ value }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tdisplayTransform={ decodeEntities }\n\t\t\t\tonChange={ onTermsChange }\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["FormTokenField","__experimentalVStack","VStack","useSelect","store","coreStore","useState","useEffect","useDebounce","decodeEntities","useTaxonomies","jsx","_jsx","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","getTermIdByTermValue","terms","termValue","termId","id","find","term","name","termValueLower","toLocaleLowerCase","TaxonomyControls","onChange","query","postType","taxQuery","taxonomies","length","spacing","children","map","taxonomy","termIds","slug","handleChange","newTermIds","TaxonomyItem","search","setSearch","value","setValue","suggestions","setSuggestions","debouncedSearch","searchResults","searchHasResolved","select","getEntityRecords","hasFinishedResolution","selectorArgs","orderby","exclude","per_page","existingTerms","include","sanitizedValue","reduce","accumulator","entity","push","result","onTermsChange","newTermValues","Set","add","Array","from","className","label","onInputChange","displayTransform","__experimentalShowHowTo","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFormTokenField,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useTaxonomies } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( terms, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId =\n\t\ttermValue?.id || terms?.find( ( term ) => term.name === termValue )?.id;\n\tif ( termId ) {\n\t\treturn termId;\n\t}\n\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\treturn terms?.find(\n\t\t( term ) => term.name.toLocaleLowerCase() === termValueLower\n\t)?.id;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst { postType, taxQuery } = query;\n\n\tconst taxonomies = useTaxonomies( postType );\n\tif ( ! taxonomies || taxonomies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ taxonomies.map( ( taxonomy ) => {\n\t\t\t\tconst termIds = taxQuery?.[ taxonomy.slug ] || [];\n\t\t\t\tconst handleChange = ( newTermIds ) =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\ttaxQuery: {\n\t\t\t\t\t\t\t...taxQuery,\n\t\t\t\t\t\t\t[ taxonomy.slug ]: newTermIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\treturn (\n\t\t\t\t\t<TaxonomyItem\n\t\t\t\t\t\tkey={ taxonomy.slug }\n\t\t\t\t\t\ttaxonomy={ taxonomy }\n\t\t\t\t\t\ttermIds={ termIds }\n\t\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Renders a `FormTokenField` for a given taxonomy.\n *\n * @param {Object} props The props for the component.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {number[]} props.termIds An array with the block's term ids for the given taxonomy.\n * @param {Function} props.onChange Callback `onChange` function.\n * @return {JSX.Element} The rendered component.\n */\nfunction TaxonomyItem( { taxonomy, termIds, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'name',\n\t\t\t\t\texclude: termIds,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, taxonomy.slug, termIds ]\n\t);\n\t// `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.\n\t// They are used to extract the terms' names to populate the `FormTokenField` properly\n\t// and to sanitize the provided `termIds`, by setting only the ones that exist.\n\tconst existingTerms = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! termIds?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'taxonomy', taxonomy.slug, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: termIds,\n\t\t\t\tper_page: termIds.length,\n\t\t\t} );\n\t\t},\n\t\t[ taxonomy.slug, termIds ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing terms.\n\tuseEffect( () => {\n\t\tif ( ! termIds?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! existingTerms?.length ) {\n\t\t\treturn;\n\t\t}\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = termIds.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = existingTerms.find( ( term ) => term.id === id );\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ termIds, existingTerms ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( searchResults.map( ( result ) => result.name ) );\n\t}, [ searchResults, searchHasResolved ] );\n\tconst onTermsChange = ( newTermValues ) => {\n\t\tconst newTermIds = new Set();\n\t\tfor ( const termValue of newTermValues ) {\n\t\t\tconst termId = getTermIdByTermValue( searchResults, termValue );\n\t\t\tif ( termId ) {\n\t\t\t\tnewTermIds.add( termId );\n\t\t\t}\n\t\t}\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( Array.from( newTermIds ) );\n\t};\n\treturn (\n\t\t<div className=\"block-library-query-inspector__taxonomy-control\">\n\t\t\t<FormTokenField\n\t\t\t\tlabel={ taxonomy.name }\n\t\t\t\tvalue={ value }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tdisplayTransform={ decodeEntities }\n\t\t\t\tonChange={ onTermsChange }\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,7 +31,6 @@ export default function QueryContent({
|
|
|
31
31
|
const {
|
|
32
32
|
queryId,
|
|
33
33
|
query,
|
|
34
|
-
displayLayout,
|
|
35
34
|
enhancedPagination,
|
|
36
35
|
tagName: TagName = 'div',
|
|
37
36
|
query: {
|
|
@@ -85,12 +84,12 @@ export default function QueryContent({
|
|
|
85
84
|
// Changes in query property (which is an object) need to be in the same callback,
|
|
86
85
|
// because updates are batched after the render and changes in different query properties
|
|
87
86
|
// would cause to override previous wanted changes.
|
|
88
|
-
const updateQuery = useCallback(newQuery => setAttributes({
|
|
87
|
+
const updateQuery = useCallback(newQuery => setAttributes(prevAttributes => ({
|
|
89
88
|
query: {
|
|
90
|
-
...query,
|
|
89
|
+
...prevAttributes.query,
|
|
91
90
|
...newQuery
|
|
92
91
|
}
|
|
93
|
-
}), [
|
|
92
|
+
})), [setAttributes]);
|
|
94
93
|
useEffect(() => {
|
|
95
94
|
const newQuery = {};
|
|
96
95
|
// When we inherit from global query always need to set the `perPage`
|
|
@@ -100,16 +99,11 @@ export default function QueryContent({
|
|
|
100
99
|
} else if (!query.perPage && postsPerPage) {
|
|
101
100
|
newQuery.perPage = postsPerPage;
|
|
102
101
|
}
|
|
103
|
-
// We need to reset the `inherit` value if in a singular template, as queries
|
|
104
|
-
// are not inherited when in singular content (e.g. post, page, 404, blank).
|
|
105
|
-
if (isSingular && query.inherit) {
|
|
106
|
-
newQuery.inherit = false;
|
|
107
|
-
}
|
|
108
102
|
if (!!Object.keys(newQuery).length) {
|
|
109
103
|
__unstableMarkNextChangeAsNotPersistent();
|
|
110
104
|
updateQuery(newQuery);
|
|
111
105
|
}
|
|
112
|
-
}, [query.perPage,
|
|
106
|
+
}, [query.perPage, inherit, postsPerPage, __unstableMarkNextChangeAsNotPersistent, updateQuery]);
|
|
113
107
|
// We need this for multi-query block pagination.
|
|
114
108
|
// Query parameters for each block are scoped to their ID.
|
|
115
109
|
useEffect(() => {
|
|
@@ -120,12 +114,6 @@ export default function QueryContent({
|
|
|
120
114
|
});
|
|
121
115
|
}
|
|
122
116
|
}, [queryId, instanceId, __unstableMarkNextChangeAsNotPersistent, setAttributes]);
|
|
123
|
-
const updateDisplayLayout = newDisplayLayout => setAttributes({
|
|
124
|
-
displayLayout: {
|
|
125
|
-
...displayLayout,
|
|
126
|
-
...newDisplayLayout
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
117
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
130
118
|
children: [/*#__PURE__*/_jsx(EnhancedPaginationModal, {
|
|
131
119
|
attributes: attributes,
|
|
@@ -136,7 +124,6 @@ export default function QueryContent({
|
|
|
136
124
|
name: name,
|
|
137
125
|
attributes: attributes,
|
|
138
126
|
setQuery: updateQuery,
|
|
139
|
-
setDisplayLayout: updateDisplayLayout,
|
|
140
127
|
setAttributes: setAttributes,
|
|
141
128
|
clientId: clientId,
|
|
142
129
|
isSingular: isSingular
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","useCallback","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","coreStore","EnhancedPaginationControl","QueryInspectorControls","EnhancedPaginationModal","getQueryContextFromTemplate","QueryToolbar","htmlElementMessages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","displayLayout","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","newQuery","perPage","Object","keys","length","Number","isFinite","updateDisplayLayout","newDisplayLayout","children","setQuery","setDisplayLayout","group","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_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\tconst updateQuery = useCallback(\n\t\t( newQuery ) => setAttributes( { query: { ...query, ...newQuery } } ),\n\t\t[ query, setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\t// We need to reset the `inherit` value if in a singular template, as queries\n\t\t// are not inherited when in singular content (e.g. post, page, 404, blank).\n\t\tif ( isSingular && query.inherit ) {\n\t\t\tnewQuery.inherit = false;\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}, [\n\t\tquery.perPage,\n\t\tquery.inherit,\n\t\tpostsPerPage,\n\t\tinherit,\n\t\tisSingular,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\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}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\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\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\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\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","useCallback","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","coreStore","EnhancedPaginationControl","QueryInspectorControls","EnhancedPaginationModal","getQueryContextFromTemplate","QueryToolbar","htmlElementMessages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","newQuery","prevAttributes","perPage","Object","keys","length","Number","isFinite","children","setQuery","group","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_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\tconst updateQuery = useCallback(\n\t\t( newQuery ) =>\n\t\t\tsetAttributes( ( prevAttributes ) => ( {\n\t\t\t\tquery: { ...prevAttributes.query, ...newQuery },\n\t\t\t} ) ),\n\t\t[ setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tinherit,\n\t\tpostsPerPage,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\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}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\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\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|