@wordpress/dataviews 4.9.1-next.cd6172eb0.0 → 4.10.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 +17 -0
- package/README.md +33 -58
- package/build/components/dataviews/index.js +1 -0
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-bulk-actions/index.js +30 -2
- package/build/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build/components/dataviews-filters/add-filter.js +1 -0
- package/build/components/dataviews-filters/add-filter.js.map +1 -1
- package/build/components/dataviews-filters/filter-summary.js +1 -0
- package/build/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build/components/dataviews-filters/index.js +1 -0
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-filters/reset-filters.js +1 -0
- package/build/components/dataviews-filters/reset-filters.js.map +1 -1
- package/build/components/dataviews-filters/search-widget.js +1 -0
- package/build/components/dataviews-filters/search-widget.js.map +1 -1
- package/build/components/dataviews-item-actions/index.js +59 -75
- package/build/components/dataviews-item-actions/index.js.map +1 -1
- package/build/components/dataviews-layout/index.js +1 -0
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-pagination/index.js +1 -0
- package/build/components/dataviews-pagination/index.js.map +1 -1
- package/build/components/dataviews-selection-checkbox/index.js +4 -3
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +195 -126
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/dataforms-layouts/data-form-layout.js +1 -0
- package/build/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build/dataforms-layouts/index.js +1 -0
- package/build/dataforms-layouts/index.js.map +1 -1
- package/build/dataforms-layouts/panel/index.js +1 -0
- package/build/dataforms-layouts/panel/index.js.map +1 -1
- package/build/dataforms-layouts/regular/index.js +1 -0
- package/build/dataforms-layouts/regular/index.js.map +1 -1
- package/build/dataviews-layouts/grid/index.js +102 -66
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/index.js +0 -60
- package/build/dataviews-layouts/index.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +44 -17
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build/dataviews-layouts/table/column-header-menu.js +20 -24
- package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build/dataviews-layouts/table/column-primary.js +55 -0
- package/build/dataviews-layouts/table/column-primary.js.map +1 -0
- package/build/dataviews-layouts/table/index.js +74 -88
- package/build/dataviews-layouts/table/index.js.map +1 -1
- package/build/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
- package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
- package/build/filter-and-sort-data-view.js +1 -0
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/normalize-fields.js +1 -0
- package/build/normalize-fields.js.map +1 -1
- package/build/normalize-form-fields.js +1 -0
- package/build/normalize-form-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/utils.js +1 -0
- package/build/utils.js.map +1 -1
- package/build/validation.js +1 -0
- package/build/validation.js.map +1 -1
- package/build-module/components/dataviews/index.js +1 -0
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-bulk-actions/index.js +31 -3
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build-module/components/dataviews-filters/add-filter.js +1 -0
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
- package/build-module/components/dataviews-filters/filter-summary.js +1 -0
- package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build-module/components/dataviews-filters/index.js +1 -0
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-filters/reset-filters.js +1 -0
- package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
- package/build-module/components/dataviews-filters/search-widget.js +1 -0
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
- package/build-module/components/dataviews-item-actions/index.js +60 -75
- package/build-module/components/dataviews-item-actions/index.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +1 -0
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-pagination/index.js +1 -0
- package/build-module/components/dataviews-pagination/index.js.map +1 -1
- package/build-module/components/dataviews-selection-checkbox/index.js +4 -3
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +199 -130
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/dataforms-layouts/data-form-layout.js +1 -0
- package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build-module/dataforms-layouts/index.js +1 -0
- package/build-module/dataforms-layouts/index.js.map +1 -1
- package/build-module/dataforms-layouts/panel/index.js +1 -0
- package/build-module/dataforms-layouts/panel/index.js.map +1 -1
- package/build-module/dataforms-layouts/regular/index.js +1 -0
- package/build-module/dataforms-layouts/regular/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/index.js +103 -67
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/index.js +0 -57
- package/build-module/dataviews-layouts/index.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +44 -17
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js +20 -24
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-primary.js +48 -0
- package/build-module/dataviews-layouts/table/column-primary.js.map +1 -0
- package/build-module/dataviews-layouts/table/index.js +77 -91
- package/build-module/dataviews-layouts/table/index.js.map +1 -1
- package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
- package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +1 -0
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/normalize-fields.js +1 -0
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/normalize-form-fields.js +1 -0
- package/build-module/normalize-form-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/utils.js +1 -0
- package/build-module/utils.js.map +1 -1
- package/build-module/validation.js +1 -0
- package/build-module/validation.js.map +1 -1
- package/build-style/style-rtl.css +87 -75
- package/build-style/style.css +87 -75
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/index.story.d.ts +0 -1
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-item-actions/index.d.ts +7 -9
- package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -2
- package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/index.d.ts +0 -4
- package/build-types/dataviews-layouts/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/column-header-menu.d.ts +1 -0
- package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/column-primary.d.ts +14 -0
- package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -0
- package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +3 -3
- package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -1
- package/build-types/types.d.ts +20 -39
- package/build-types/types.d.ts.map +1 -1
- package/build-wp/index.js +1185 -1317
- package/build.js +1 -1
- package/package.json +10 -10
- package/src/components/dataviews/stories/fixtures.tsx +0 -3
- package/src/components/dataviews/stories/index.story.tsx +14 -106
- package/src/components/dataviews/style.scss +33 -33
- package/src/components/dataviews-bulk-actions/index.tsx +43 -3
- package/src/components/dataviews-item-actions/index.tsx +84 -99
- package/src/components/dataviews-selection-checkbox/index.tsx +4 -4
- package/src/components/dataviews-view-config/index.tsx +301 -195
- package/src/components/dataviews-view-config/style.scss +17 -0
- package/src/dataviews-layouts/grid/index.tsx +136 -101
- package/src/dataviews-layouts/grid/style.scss +16 -25
- package/src/dataviews-layouts/index.ts +0 -88
- package/src/dataviews-layouts/list/index.tsx +62 -32
- package/src/dataviews-layouts/list/style.scss +5 -4
- package/src/dataviews-layouts/table/column-header-menu.tsx +94 -86
- package/src/dataviews-layouts/table/column-primary.tsx +58 -0
- package/src/dataviews-layouts/table/index.tsx +88 -133
- package/src/dataviews-layouts/table/style.scss +4 -0
- package/src/dataviews-layouts/utils/get-clickable-item-props.ts +9 -3
- package/src/types.ts +21 -46
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
/**
|
|
2
3
|
* External dependencies
|
|
3
4
|
*/
|
|
@@ -5,18 +6,18 @@
|
|
|
5
6
|
/**
|
|
6
7
|
* WordPress dependencies
|
|
7
8
|
*/
|
|
8
|
-
import { Button, __experimentalDropdownContentWrapper as DropdownContentWrapper, Dropdown, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, SelectControl, __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalGrid as Grid, __experimentalVStack as VStack, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalText as Text, privateApis as componentsPrivateApis, BaseControl } from '@wordpress/components';
|
|
9
|
+
import { Button, __experimentalDropdownContentWrapper as DropdownContentWrapper, Dropdown, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, SelectControl, __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalGrid as Grid, __experimentalVStack as VStack, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalText as Text, privateApis as componentsPrivateApis, BaseControl, Icon } from '@wordpress/components';
|
|
9
10
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
10
11
|
import { memo, useContext, useMemo } from '@wordpress/element';
|
|
11
|
-
import { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';
|
|
12
|
+
import { chevronDown, chevronUp, cog, seen, unseen, lock } from '@wordpress/icons';
|
|
12
13
|
import warning from '@wordpress/warning';
|
|
13
14
|
import { useInstanceId } from '@wordpress/compose';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Internal dependencies
|
|
17
18
|
*/
|
|
18
|
-
import { SORTING_DIRECTIONS,
|
|
19
|
-
import { VIEW_LAYOUTS
|
|
19
|
+
import { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';
|
|
20
|
+
import { VIEW_LAYOUTS } from '../../dataviews-layouts';
|
|
20
21
|
import DataViewsContext from '../dataviews-context';
|
|
21
22
|
import { unlock } from '../../lock-unlock';
|
|
22
23
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -24,6 +25,7 @@ const {
|
|
|
24
25
|
Menu
|
|
25
26
|
} = unlock(componentsPrivateApis);
|
|
26
27
|
const DATAVIEWS_CONFIG_POPOVER_PROPS = {
|
|
28
|
+
className: 'dataviews-config__popover',
|
|
27
29
|
placement: 'bottom-end',
|
|
28
30
|
offset: 9
|
|
29
31
|
};
|
|
@@ -64,8 +66,15 @@ function ViewTypeMenu({
|
|
|
64
66
|
case 'list':
|
|
65
67
|
case 'grid':
|
|
66
68
|
case 'table':
|
|
69
|
+
const viewWithoutLayout = {
|
|
70
|
+
...view
|
|
71
|
+
};
|
|
72
|
+
if ('layout' in viewWithoutLayout) {
|
|
73
|
+
delete viewWithoutLayout.layout;
|
|
74
|
+
}
|
|
75
|
+
// @ts-expect-error
|
|
67
76
|
return onChangeView({
|
|
68
|
-
...
|
|
77
|
+
...viewWithoutLayout,
|
|
69
78
|
type: e.target.value,
|
|
70
79
|
...defaultLayouts[e.target.value]
|
|
71
80
|
});
|
|
@@ -186,175 +195,233 @@ function ItemsPerPageControl() {
|
|
|
186
195
|
});
|
|
187
196
|
}
|
|
188
197
|
function FieldItem({
|
|
189
|
-
field
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
view,
|
|
198
|
-
onChangeView
|
|
198
|
+
field,
|
|
199
|
+
isVisible,
|
|
200
|
+
isFirst,
|
|
201
|
+
isLast,
|
|
202
|
+
canMove = true,
|
|
203
|
+
onToggleVisibility,
|
|
204
|
+
onMoveUp,
|
|
205
|
+
onMoveDown
|
|
199
206
|
}) {
|
|
200
|
-
const
|
|
207
|
+
const focusVisibilityField = () => {
|
|
208
|
+
// Focus the visibility button to avoid focus loss.
|
|
209
|
+
// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.
|
|
210
|
+
// eslint-disable-next-line @wordpress/react-no-unsafe-timeout
|
|
211
|
+
setTimeout(() => {
|
|
212
|
+
const element = document.querySelector(`.dataviews-field-control__field-${field.id} .dataviews-field-control__field-visibility-button`);
|
|
213
|
+
if (element instanceof HTMLElement) {
|
|
214
|
+
element.focus();
|
|
215
|
+
}
|
|
216
|
+
}, 50);
|
|
217
|
+
};
|
|
201
218
|
return /*#__PURE__*/_jsx(Item, {
|
|
202
219
|
children: /*#__PURE__*/_jsxs(HStack, {
|
|
203
220
|
expanded: true,
|
|
204
|
-
className: `dataviews-field-control__field dataviews-field-control__field-${id}`,
|
|
221
|
+
className: `dataviews-field-control__field dataviews-field-control__field-${field.id}`,
|
|
222
|
+
justify: "flex-start",
|
|
205
223
|
children: [/*#__PURE__*/_jsx("span", {
|
|
206
|
-
|
|
224
|
+
className: "dataviews-field-control__icon",
|
|
225
|
+
children: !canMove && !field.enableHiding && /*#__PURE__*/_jsx(Icon, {
|
|
226
|
+
icon: lock
|
|
227
|
+
})
|
|
228
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
229
|
+
className: "dataviews-field-control__label",
|
|
230
|
+
children: field.label
|
|
207
231
|
}), /*#__PURE__*/_jsxs(HStack, {
|
|
208
232
|
justify: "flex-end",
|
|
209
233
|
expanded: false,
|
|
210
234
|
className: "dataviews-field-control__actions",
|
|
211
|
-
children: [
|
|
235
|
+
children: [isVisible && /*#__PURE__*/_jsxs(_Fragment, {
|
|
212
236
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
213
|
-
disabled:
|
|
237
|
+
disabled: isFirst || !canMove,
|
|
214
238
|
accessibleWhenDisabled: true,
|
|
215
239
|
size: "compact",
|
|
216
|
-
onClick:
|
|
217
|
-
var _visibleFieldIds$slic;
|
|
218
|
-
onChangeView({
|
|
219
|
-
...view,
|
|
220
|
-
fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), id, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
|
|
221
|
-
});
|
|
222
|
-
},
|
|
240
|
+
onClick: onMoveUp,
|
|
223
241
|
icon: chevronUp,
|
|
224
|
-
label: sprintf(/* translators: %s: field label */
|
|
225
|
-
__('Move %s up'), label)
|
|
242
|
+
label: isFirst || !canMove ? __("This field can't be moved up") : sprintf(/* translators: %s: field label */
|
|
243
|
+
__('Move %s up'), field.label)
|
|
226
244
|
}), /*#__PURE__*/_jsx(Button, {
|
|
227
|
-
disabled:
|
|
245
|
+
disabled: isLast || !canMove,
|
|
228
246
|
accessibleWhenDisabled: true,
|
|
229
247
|
size: "compact",
|
|
230
|
-
onClick:
|
|
231
|
-
var _visibleFieldIds$slic2;
|
|
232
|
-
onChangeView({
|
|
233
|
-
...view,
|
|
234
|
-
fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], id, ...visibleFieldIds.slice(index + 2)]
|
|
235
|
-
});
|
|
236
|
-
},
|
|
248
|
+
onClick: onMoveDown,
|
|
237
249
|
icon: chevronDown,
|
|
238
|
-
label: sprintf(/* translators: %s: field label */
|
|
239
|
-
__('Move %s down'), label)
|
|
240
|
-
})
|
|
241
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
250
|
+
label: isLast || !canMove ? __("This field can't be moved down") : sprintf(/* translators: %s: field label */
|
|
251
|
+
__('Move %s down'), field.label)
|
|
252
|
+
})]
|
|
253
|
+
}), onToggleVisibility && /*#__PURE__*/_jsx(Button, {
|
|
242
254
|
className: "dataviews-field-control__field-visibility-button",
|
|
243
|
-
disabled: !
|
|
255
|
+
disabled: !field.enableHiding,
|
|
244
256
|
accessibleWhenDisabled: true,
|
|
245
257
|
size: "compact",
|
|
246
258
|
onClick: () => {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
fields: isVisible ? visibleFieldIds.filter(fieldId => fieldId !== id) : [...visibleFieldIds, id]
|
|
250
|
-
});
|
|
251
|
-
// Focus the visibility button to avoid focus loss.
|
|
252
|
-
// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.
|
|
253
|
-
// eslint-disable-next-line @wordpress/react-no-unsafe-timeout
|
|
254
|
-
setTimeout(() => {
|
|
255
|
-
const element = document.querySelector(`.dataviews-field-control__field-${id} .dataviews-field-control__field-visibility-button`);
|
|
256
|
-
if (element instanceof HTMLElement) {
|
|
257
|
-
element.focus();
|
|
258
|
-
}
|
|
259
|
-
}, 50);
|
|
259
|
+
onToggleVisibility();
|
|
260
|
+
focusVisibilityField();
|
|
260
261
|
},
|
|
261
262
|
icon: isVisible ? unseen : seen,
|
|
262
263
|
label: isVisible ? sprintf(/* translators: %s: field label */
|
|
263
|
-
_x('Hide %s', 'field'), label) : sprintf(/* translators: %s: field label */
|
|
264
|
-
_x('Show %s', 'field'), label)
|
|
264
|
+
_x('Hide %s', 'field'), field.label) : sprintf(/* translators: %s: field label */
|
|
265
|
+
_x('Show %s', 'field'), field.label)
|
|
265
266
|
})]
|
|
266
267
|
})]
|
|
267
268
|
})
|
|
268
|
-
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
function RegularFieldItem({
|
|
272
|
+
index,
|
|
273
|
+
field,
|
|
274
|
+
view,
|
|
275
|
+
onChangeView
|
|
276
|
+
}) {
|
|
277
|
+
var _view$fields;
|
|
278
|
+
const visibleFieldIds = (_view$fields = view.fields) !== null && _view$fields !== void 0 ? _view$fields : [];
|
|
279
|
+
const isVisible = index !== undefined && visibleFieldIds.includes(field.id);
|
|
280
|
+
return /*#__PURE__*/_jsx(FieldItem, {
|
|
281
|
+
field: field,
|
|
282
|
+
isVisible: isVisible,
|
|
283
|
+
isFirst: index !== undefined && index < 1,
|
|
284
|
+
isLast: index !== undefined && index === visibleFieldIds.length - 1,
|
|
285
|
+
onToggleVisibility: () => {
|
|
286
|
+
onChangeView({
|
|
287
|
+
...view,
|
|
288
|
+
fields: isVisible ? visibleFieldIds.filter(fieldId => fieldId !== field.id) : [...visibleFieldIds, field.id]
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
onMoveUp: index !== undefined ? () => {
|
|
292
|
+
var _visibleFieldIds$slic;
|
|
293
|
+
onChangeView({
|
|
294
|
+
...view,
|
|
295
|
+
fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), field.id, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
|
|
296
|
+
});
|
|
297
|
+
} : undefined,
|
|
298
|
+
onMoveDown: index !== undefined ? () => {
|
|
299
|
+
var _visibleFieldIds$slic2;
|
|
300
|
+
onChangeView({
|
|
301
|
+
...view,
|
|
302
|
+
fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], field.id, ...visibleFieldIds.slice(index + 2)]
|
|
303
|
+
});
|
|
304
|
+
} : undefined
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
function isDefined(item) {
|
|
308
|
+
return !!item;
|
|
269
309
|
}
|
|
270
310
|
function FieldControl() {
|
|
311
|
+
var _view$fields2;
|
|
271
312
|
const {
|
|
272
313
|
view,
|
|
273
314
|
fields,
|
|
274
315
|
onChangeView
|
|
275
316
|
} = useContext(DataViewsContext);
|
|
276
|
-
const
|
|
277
|
-
const
|
|
278
|
-
const
|
|
279
|
-
const visibleFields = fields.filter(
|
|
280
|
-
id
|
|
281
|
-
}) => visibleFieldIds.includes(id)).map(({
|
|
282
|
-
id,
|
|
283
|
-
label,
|
|
284
|
-
enableHiding
|
|
285
|
-
}) => {
|
|
286
|
-
return {
|
|
287
|
-
id,
|
|
288
|
-
label,
|
|
289
|
-
index: visibleFieldIds.indexOf(id),
|
|
290
|
-
isVisible: true,
|
|
291
|
-
isHidable: notHidableFieldIds.includes(id) ? false : enableHiding
|
|
292
|
-
};
|
|
293
|
-
});
|
|
294
|
-
if (view.type === LAYOUT_TABLE && view.layout?.combinedFields) {
|
|
295
|
-
view.layout.combinedFields.forEach(({
|
|
296
|
-
id,
|
|
297
|
-
label
|
|
298
|
-
}) => {
|
|
299
|
-
visibleFields.push({
|
|
300
|
-
id,
|
|
301
|
-
label,
|
|
302
|
-
index: visibleFieldIds.indexOf(id),
|
|
303
|
-
isVisible: true,
|
|
304
|
-
isHidable: notHidableFieldIds.includes(id)
|
|
305
|
-
});
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
visibleFields.sort((a, b) => a.index - b.index);
|
|
309
|
-
const hiddenFields = fields.filter(({
|
|
310
|
-
id
|
|
311
|
-
}) => hiddenFieldIds.includes(id)).map(({
|
|
312
|
-
id,
|
|
313
|
-
label,
|
|
314
|
-
enableHiding
|
|
315
|
-
}, index) => {
|
|
316
|
-
return {
|
|
317
|
-
id,
|
|
318
|
-
label,
|
|
319
|
-
index,
|
|
320
|
-
isVisible: false,
|
|
321
|
-
isHidable: enableHiding
|
|
322
|
-
};
|
|
323
|
-
});
|
|
317
|
+
const togglableFields = [view?.titleField, view?.mediaField, view?.descriptionField].filter(Boolean);
|
|
318
|
+
const visibleFieldIds = (_view$fields2 = view.fields) !== null && _view$fields2 !== void 0 ? _view$fields2 : [];
|
|
319
|
+
const hiddenFields = fields.filter(f => !visibleFieldIds.includes(f.id) && !togglableFields.includes(f.id));
|
|
320
|
+
const visibleFields = visibleFieldIds.map(fieldId => fields.find(f => f.id === fieldId)).filter(isDefined);
|
|
324
321
|
if (!visibleFields?.length && !hiddenFields?.length) {
|
|
325
322
|
return null;
|
|
326
323
|
}
|
|
324
|
+
const titleField = fields.find(f => f.id === view.titleField);
|
|
325
|
+
const mediaField = fields.find(f => f.id === view.mediaField);
|
|
326
|
+
const descriptionField = fields.find(f => f.id === view.descriptionField);
|
|
327
|
+
const lockedFields = [{
|
|
328
|
+
field: titleField,
|
|
329
|
+
isVisibleFlag: 'showTitle'
|
|
330
|
+
}, {
|
|
331
|
+
field: mediaField,
|
|
332
|
+
isVisibleFlag: 'showMedia'
|
|
333
|
+
}, {
|
|
334
|
+
field: descriptionField,
|
|
335
|
+
isVisibleFlag: 'showDescription'
|
|
336
|
+
}].filter(({
|
|
337
|
+
field
|
|
338
|
+
}) => isDefined(field));
|
|
339
|
+
const visibleLockedFields = lockedFields.filter(({
|
|
340
|
+
field,
|
|
341
|
+
isVisibleFlag
|
|
342
|
+
}) => {
|
|
343
|
+
var _view$isVisibleFlag;
|
|
344
|
+
return (
|
|
345
|
+
// @ts-expect-error
|
|
346
|
+
isDefined(field) && ((_view$isVisibleFlag = view[isVisibleFlag]) !== null && _view$isVisibleFlag !== void 0 ? _view$isVisibleFlag : true)
|
|
347
|
+
);
|
|
348
|
+
});
|
|
349
|
+
const hiddenLockedFields = lockedFields.filter(({
|
|
350
|
+
field,
|
|
351
|
+
isVisibleFlag
|
|
352
|
+
}) => {
|
|
353
|
+
var _view$isVisibleFlag2;
|
|
354
|
+
return (
|
|
355
|
+
// @ts-expect-error
|
|
356
|
+
isDefined(field) && !((_view$isVisibleFlag2 = view[isVisibleFlag]) !== null && _view$isVisibleFlag2 !== void 0 ? _view$isVisibleFlag2 : true)
|
|
357
|
+
);
|
|
358
|
+
});
|
|
327
359
|
return /*#__PURE__*/_jsxs(VStack, {
|
|
328
|
-
spacing: 6,
|
|
329
360
|
className: "dataviews-field-control",
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
361
|
+
spacing: 6,
|
|
362
|
+
children: [/*#__PURE__*/_jsx(VStack, {
|
|
363
|
+
className: "dataviews-view-config__properties",
|
|
364
|
+
spacing: 0,
|
|
365
|
+
children: (visibleLockedFields.length > 0 || !!visibleFields?.length) && /*#__PURE__*/_jsxs(ItemGroup, {
|
|
366
|
+
isBordered: true,
|
|
367
|
+
isSeparated: true,
|
|
368
|
+
children: [visibleLockedFields.map(({
|
|
369
|
+
field,
|
|
370
|
+
isVisibleFlag
|
|
371
|
+
}) => {
|
|
372
|
+
return /*#__PURE__*/_jsx(FieldItem, {
|
|
373
|
+
field: field,
|
|
374
|
+
isVisible: true,
|
|
375
|
+
onToggleVisibility: () => {
|
|
376
|
+
onChangeView({
|
|
377
|
+
...view,
|
|
378
|
+
[isVisibleFlag]: false
|
|
379
|
+
});
|
|
380
|
+
},
|
|
381
|
+
canMove: false
|
|
382
|
+
}, field.id);
|
|
383
|
+
}), visibleFields.map((field, index) => /*#__PURE__*/_jsx(RegularFieldItem, {
|
|
384
|
+
field: field,
|
|
385
|
+
view: view,
|
|
386
|
+
onChangeView: onChangeView,
|
|
387
|
+
index: index
|
|
388
|
+
}, field.id))]
|
|
389
|
+
})
|
|
390
|
+
}), (!!hiddenFields?.length || !!hiddenLockedFields.length) && /*#__PURE__*/_jsxs(VStack, {
|
|
391
|
+
spacing: 4,
|
|
392
|
+
children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
|
|
393
|
+
style: {
|
|
394
|
+
margin: 0
|
|
395
|
+
},
|
|
396
|
+
children: __('Hidden')
|
|
397
|
+
}), /*#__PURE__*/_jsx(VStack, {
|
|
398
|
+
className: "dataviews-view-config__properties",
|
|
399
|
+
spacing: 0,
|
|
400
|
+
children: /*#__PURE__*/_jsxs(ItemGroup, {
|
|
348
401
|
isBordered: true,
|
|
349
402
|
isSeparated: true,
|
|
350
|
-
children:
|
|
403
|
+
children: [hiddenLockedFields.length > 0 && hiddenLockedFields.map(({
|
|
404
|
+
field,
|
|
405
|
+
isVisibleFlag
|
|
406
|
+
}) => {
|
|
407
|
+
return /*#__PURE__*/_jsx(FieldItem, {
|
|
408
|
+
field: field,
|
|
409
|
+
isVisible: false,
|
|
410
|
+
onToggleVisibility: () => {
|
|
411
|
+
onChangeView({
|
|
412
|
+
...view,
|
|
413
|
+
[isVisibleFlag]: true
|
|
414
|
+
});
|
|
415
|
+
},
|
|
416
|
+
canMove: false
|
|
417
|
+
}, field.id);
|
|
418
|
+
}), hiddenFields.map(field => /*#__PURE__*/_jsx(RegularFieldItem, {
|
|
351
419
|
field: field,
|
|
352
|
-
fields: fields,
|
|
353
420
|
view: view,
|
|
354
421
|
onChangeView: onChangeView
|
|
355
|
-
}, field.id))
|
|
356
|
-
})
|
|
357
|
-
})
|
|
422
|
+
}, field.id))]
|
|
423
|
+
})
|
|
424
|
+
})]
|
|
358
425
|
})]
|
|
359
426
|
});
|
|
360
427
|
}
|
|
@@ -393,6 +460,7 @@ function DataviewsViewConfigDropdown() {
|
|
|
393
460
|
const popoverId = useInstanceId(_DataViewsViewConfig, 'dataviews-view-config-dropdown');
|
|
394
461
|
const activeLayout = VIEW_LAYOUTS.find(layout => layout.type === view.type);
|
|
395
462
|
return /*#__PURE__*/_jsx(Dropdown, {
|
|
463
|
+
expandOnMobile: true,
|
|
396
464
|
popoverProps: {
|
|
397
465
|
...DATAVIEWS_CONFIG_POPOVER_PROPS,
|
|
398
466
|
id: popoverId
|
|
@@ -412,6 +480,7 @@ function DataviewsViewConfigDropdown() {
|
|
|
412
480
|
},
|
|
413
481
|
renderContent: () => /*#__PURE__*/_jsx(DropdownContentWrapper, {
|
|
414
482
|
paddingSize: "medium",
|
|
483
|
+
className: "dataviews-config__popover-content-wrapper",
|
|
415
484
|
children: /*#__PURE__*/_jsxs(VStack, {
|
|
416
485
|
className: "dataviews-view-config",
|
|
417
486
|
spacing: 6,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","warning","useInstanceId","SORTING_DIRECTIONS","LAYOUT_TABLE","sortIcons","sortLabels","VIEW_LAYOUTS","getNotHidableFieldIds","getVisibleFieldIds","getHiddenFieldIds","DataViewsContext","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","className","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","index","isVisible","isHidable","visibleFieldIds","expanded","justify","accessibleWhenDisabled","onClick","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","fieldId","setTimeout","element","document","querySelector","HTMLElement","focus","FieldControl","hiddenFieldIds","notHidableFieldIds","visibleFields","includes","enableHiding","indexOf","combinedFields","forEach","push","a","b","hiddenFields","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport { chevronDown, chevronUp, cog, seen, unseen } from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSORTING_DIRECTIONS,\n\tLAYOUT_TABLE,\n\tsortIcons,\n\tsortLabels,\n} from '../../constants';\nimport {\n\tVIEW_LAYOUTS,\n\tgetNotHidableFieldIds,\n\tgetVisibleFieldIds,\n\tgetHiddenFieldIds,\n} from '../../dataviews-layouts';\nimport type { SupportedLayouts, View, Field } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = { placement: 'bottom-end', offset: 9 };\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\ninterface FieldItemProps {\n\tid: any;\n\tlabel: string;\n\tindex: number;\n\tisVisible: boolean;\n\tisHidable: boolean;\n}\n\nfunction FieldItem( {\n\tfield: { id, label, index, isVisible, isHidable },\n\tfields,\n\tview,\n\tonChangeView,\n}: {\n\tfield: FieldItemProps;\n\tfields: Field< any >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\n\treturn (\n\t\t<Item key={ id }>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ id }` }\n\t\t\t>\n\t\t\t\t<span>{ label }</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ view.type === LAYOUT_TABLE && isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\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} }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\tlabel\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<Button\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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} }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\tdisabled={ ! isHidable }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...visibleFieldIds, id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t// Focus the visibility button to avoid focus loss.\n\t\t\t\t\t\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\t\tconst element = document.querySelector(\n\t\t\t\t\t\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-visibility-button`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\t\t\t\t\t\telement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 50 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst visibleFieldIds = useMemo(\n\t\t() => getVisibleFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst hiddenFieldIds = useMemo(\n\t\t() => getHiddenFieldIds( view, fields ),\n\t\t[ view, fields ]\n\t);\n\tconst notHidableFieldIds = useMemo(\n\t\t() => getNotHidableFieldIds( view ),\n\t\t[ view ]\n\t);\n\n\tconst visibleFields = fields\n\t\t.filter( ( { id } ) => visibleFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding } ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id )\n\t\t\t\t\t? false\n\t\t\t\t\t: enableHiding,\n\t\t\t};\n\t\t} );\n\tif ( view.type === LAYOUT_TABLE && view.layout?.combinedFields ) {\n\t\tview.layout.combinedFields.forEach( ( { id, label } ) => {\n\t\t\tvisibleFields.push( {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex: visibleFieldIds.indexOf( id ),\n\t\t\t\tisVisible: true,\n\t\t\t\tisHidable: notHidableFieldIds.includes( id ),\n\t\t\t} );\n\t\t} );\n\t}\n\tvisibleFields.sort( ( a, b ) => a.index - b.index );\n\n\tconst hiddenFields = fields\n\t\t.filter( ( { id } ) => hiddenFieldIds.includes( id ) )\n\t\t.map( ( { id, label, enableHiding }, index ) => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tindex,\n\t\t\t\tisVisible: false,\n\t\t\t\tisHidable: enableHiding,\n\t\t\t};\n\t\t} );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 6 } className=\"dataviews-field-control\">\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t\t{ !! hiddenFields?.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","lock","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","focusVisibilityField","setTimeout","element","document","querySelector","HTMLElement","focus","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","lockedFields","isVisibleFlag","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, SupportedLayouts, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FieldItem( {\n\tfield,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n}: {\n\tfield: NormalizedField< any >;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n} ) {\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ field.id }` }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t{ field.label }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\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/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\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/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id )\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst mediaField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: mediaField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t[ isVisibleFlag ]: false,\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\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ isVisibleFlag ]: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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) }\n\t\t\t\t\t\t\t{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","useContext","useMemo","getFormFieldLayout","DataFormContext","isCombinedField","normalizeFormFields","jsx","_jsx","DataFormLayout","data","form","onChange","children","fields","fieldDefinitions","getFieldDefinition","field","fieldId","id","find","fieldDefinition","normalizedFormFields","spacing","map","formField","FieldLayout","layout","component","undefined","isVisible"],"sources":["@wordpress/dataviews/src/dataforms-layouts/data-form-layout.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FormField, SimpleFormField } from '../types';\nimport { getFormFieldLayout } from './index';\nimport DataFormContext from '../components/dataform-context';\nimport { isCombinedField } from './is-combined-field';\nimport normalizeFormFields from '../normalize-form-fields';\n\nexport function DataFormLayout< Item >( {\n\tdata,\n\tform,\n\tonChange,\n\tchildren,\n}: {\n\tdata: Item;\n\tform: Form;\n\tonChange: ( value: any ) => void;\n\tchildren?: (\n\t\tFieldLayout: ( props: {\n\t\t\tdata: Item;\n\t\t\tfield: FormField;\n\t\t\tonChange: ( value: any ) => void;\n\t\t\thideLabelFromVision?: boolean;\n\t\t} ) => React.JSX.Element | null,\n\t\tfield: FormField\n\t) => React.JSX.Element;\n} ) {\n\tconst { fields: fieldDefinitions } = useContext( DataFormContext );\n\n\tfunction getFieldDefinition( field: SimpleFormField | string ) {\n\t\tconst fieldId = typeof field === 'string' ? field : field.id;\n\n\t\treturn fieldDefinitions.find(\n\t\t\t( fieldDefinition ) => fieldDefinition.id === fieldId\n\t\t);\n\t}\n\n\tconst normalizedFormFields = useMemo(\n\t\t() => normalizeFormFields( form ),\n\t\t[ form ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ normalizedFormFields.map( ( formField ) => {\n\t\t\t\tconst FieldLayout = getFormFieldLayout( formField.layout )\n\t\t\t\t\t?.component;\n\n\t\t\t\tif ( ! FieldLayout ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst fieldDefinition = ! isCombinedField( formField )\n\t\t\t\t\t? getFieldDefinition( formField )\n\t\t\t\t\t: undefined;\n\n\t\t\t\tif (\n\t\t\t\t\tfieldDefinition &&\n\t\t\t\t\tfieldDefinition.isVisible &&\n\t\t\t\t\t! fieldDefinition.isVisible( data )\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif ( children ) {\n\t\t\t\t\treturn children( FieldLayout, formField );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\tkey={ formField.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ formField }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;;AAExD;AACA;AACA;;AAEA,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAOC,mBAAmB,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,SAASC,cAAcA,CAAU;EACvCC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC;AAcD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM,EAAEC;EAAiB,CAAC,GAAGd,UAAU,CAAEG,eAAgB,CAAC;EAElE,SAASY,kBAAkBA,CAAEC,KAA+B,EAAG;IAC9D,MAAMC,OAAO,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACE,EAAE;IAE5D,OAAOJ,gBAAgB,CAACK,IAAI,CACzBC,eAAe,IAAMA,eAAe,CAACF,EAAE,KAAKD,OAC/C,CAAC;EACF;EAEA,MAAMI,oBAAoB,GAAGpB,OAAO,CACnC,MAAMI,mBAAmB,CAAEK,IAAK,CAAC,EACjC,CAAEA,IAAI,CACP,CAAC;EAED,oBACCH,IAAA,CAACR,MAAM;IAACuB,OAAO,EAAG,CAAG;IAAAV,QAAA,EAClBS,oBAAoB,CAACE,GAAG,CAAIC,SAAS,IAAM;MAC5C,MAAMC,WAAW,GAAGvB,kBAAkB,CAAEsB,SAAS,CAACE,MAAO,CAAC,EACvDC,SAAS;MAEZ,IAAK,CAAEF,WAAW,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAML,eAAe,GAAG,CAAEhB,eAAe,CAAEoB,SAAU,CAAC,GACnDT,kBAAkB,CAAES,SAAU,CAAC,GAC/BI,SAAS;MAEZ,IACCR,eAAe,IACfA,eAAe,CAACS,SAAS,IACzB,CAAET,eAAe,CAACS,SAAS,CAAEpB,IAAK,CAAC,EAClC;QACD,OAAO,IAAI;MACZ;MAEA,IAAKG,QAAQ,EAAG;QACf,OAAOA,QAAQ,CAAEa,WAAW,EAAED,SAAU,CAAC;MAC1C;MAEA,oBACCjB,IAAA,CAACkB,WAAW;QAEXhB,IAAI,EAAGA,IAAM;QACbO,KAAK,EAAGQ,SAAW;QACnBb,QAAQ,EAAGA;MAAU,GAHfa,SAAS,CAACN,EAIhB,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","useContext","useMemo","getFormFieldLayout","DataFormContext","isCombinedField","normalizeFormFields","jsx","_jsx","DataFormLayout","data","form","onChange","children","fields","fieldDefinitions","getFieldDefinition","field","fieldId","id","find","fieldDefinition","normalizedFormFields","spacing","map","formField","FieldLayout","layout","component","undefined","isVisible"],"sources":["@wordpress/dataviews/src/dataforms-layouts/data-form-layout.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FormField, SimpleFormField } from '../types';\nimport { getFormFieldLayout } from './index';\nimport DataFormContext from '../components/dataform-context';\nimport { isCombinedField } from './is-combined-field';\nimport normalizeFormFields from '../normalize-form-fields';\n\nexport function DataFormLayout< Item >( {\n\tdata,\n\tform,\n\tonChange,\n\tchildren,\n}: {\n\tdata: Item;\n\tform: Form;\n\tonChange: ( value: any ) => void;\n\tchildren?: (\n\t\tFieldLayout: ( props: {\n\t\t\tdata: Item;\n\t\t\tfield: FormField;\n\t\t\tonChange: ( value: any ) => void;\n\t\t\thideLabelFromVision?: boolean;\n\t\t} ) => React.JSX.Element | null,\n\t\tfield: FormField\n\t) => React.JSX.Element;\n} ) {\n\tconst { fields: fieldDefinitions } = useContext( DataFormContext );\n\n\tfunction getFieldDefinition( field: SimpleFormField | string ) {\n\t\tconst fieldId = typeof field === 'string' ? field : field.id;\n\n\t\treturn fieldDefinitions.find(\n\t\t\t( fieldDefinition ) => fieldDefinition.id === fieldId\n\t\t);\n\t}\n\n\tconst normalizedFormFields = useMemo(\n\t\t() => normalizeFormFields( form ),\n\t\t[ form ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ normalizedFormFields.map( ( formField ) => {\n\t\t\t\tconst FieldLayout = getFormFieldLayout( formField.layout )\n\t\t\t\t\t?.component;\n\n\t\t\t\tif ( ! FieldLayout ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst fieldDefinition = ! isCombinedField( formField )\n\t\t\t\t\t? getFieldDefinition( formField )\n\t\t\t\t\t: undefined;\n\n\t\t\t\tif (\n\t\t\t\t\tfieldDefinition &&\n\t\t\t\t\tfieldDefinition.isVisible &&\n\t\t\t\t\t! fieldDefinition.isVisible( data )\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif ( children ) {\n\t\t\t\t\treturn children( FieldLayout, formField );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\tkey={ formField.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ formField }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;;AAExD;AACA;AACA;;AAEA,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,OAAOC,eAAe,MAAM,gCAAgC;AAC5D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,OAAOC,mBAAmB,MAAM,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,OAAO,SAASC,cAAcA,CAAU;EACvCC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC;AAcD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM,EAAEC;EAAiB,CAAC,GAAGd,UAAU,CAAEG,eAAgB,CAAC;EAElE,SAASY,kBAAkBA,CAAEC,KAA+B,EAAG;IAC9D,MAAMC,OAAO,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACE,EAAE;IAE5D,OAAOJ,gBAAgB,CAACK,IAAI,CACzBC,eAAe,IAAMA,eAAe,CAACF,EAAE,KAAKD,OAC/C,CAAC;EACF;EAEA,MAAMI,oBAAoB,GAAGpB,OAAO,CACnC,MAAMI,mBAAmB,CAAEK,IAAK,CAAC,EACjC,CAAEA,IAAI,CACP,CAAC;EAED,oBACCH,IAAA,CAACR,MAAM;IAACuB,OAAO,EAAG,CAAG;IAAAV,QAAA,EAClBS,oBAAoB,CAACE,GAAG,CAAIC,SAAS,IAAM;MAC5C,MAAMC,WAAW,GAAGvB,kBAAkB,CAAEsB,SAAS,CAACE,MAAO,CAAC,EACvDC,SAAS;MAEZ,IAAK,CAAEF,WAAW,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAML,eAAe,GAAG,CAAEhB,eAAe,CAAEoB,SAAU,CAAC,GACnDT,kBAAkB,CAAES,SAAU,CAAC,GAC/BI,SAAS;MAEZ,IACCR,eAAe,IACfA,eAAe,CAACS,SAAS,IACzB,CAAET,eAAe,CAACS,SAAS,CAAEpB,IAAK,CAAC,EAClC;QACD,OAAO,IAAI;MACZ;MAEA,IAAKG,QAAQ,EAAG;QACf,OAAOA,QAAQ,CAAEa,WAAW,EAAED,SAAU,CAAC;MAC1C;MAEA,oBACCjB,IAAA,CAACkB,WAAW;QAEXhB,IAAI,EAAGA,IAAM;QACbO,KAAK,EAAGQ,SAAW;QACnBb,QAAQ,EAAGA;MAAU,GAHfa,SAAS,CAACN,EAIhB,CAAC;IAEJ,CAAE;EAAC,CACI,CAAC;AAEX","ignoreList":[]}
|