@wordpress/dataviews 0.4.0 → 0.5.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/README.md +1 -0
- package/build/add-filter.js +25 -108
- package/build/add-filter.js.map +1 -1
- package/build/constants.js +9 -18
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +22 -16
- package/build/dataviews.js.map +1 -1
- package/build/dropdown-menu-helper.js +1 -2
- package/build/dropdown-menu-helper.js.map +1 -1
- package/build/filter-summary.js +180 -77
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js +32 -18
- package/build/filters.js.map +1 -1
- package/build/pagination.js +1 -2
- package/build/pagination.js.map +1 -1
- package/build/reset-filters.js +4 -1
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +111 -0
- package/build/search-widget.js.map +1 -0
- package/build/search.js +2 -3
- package/build/search.js.map +1 -1
- package/build/single-selection-checkbox.js +54 -0
- package/build/single-selection-checkbox.js.map +1 -0
- package/build/utils.js +14 -1
- package/build/utils.js.map +1 -1
- package/build/view-actions.js +2 -3
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +92 -22
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +2 -1
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +45 -134
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js +28 -111
- package/build-module/add-filter.js.map +1 -1
- package/build-module/dataviews.js +23 -17
- package/build-module/dataviews.js.map +1 -1
- package/build-module/filter-summary.js +181 -79
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js +32 -17
- package/build-module/filters.js.map +1 -1
- package/build-module/reset-filters.js +4 -1
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +101 -0
- package/build-module/search-widget.js.map +1 -0
- package/build-module/search.js +1 -1
- package/build-module/search.js.map +1 -1
- package/build-module/single-selection-checkbox.js +47 -0
- package/build-module/single-selection-checkbox.js.map +1 -0
- package/build-module/utils.js +12 -0
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js +1 -1
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +92 -22
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +2 -1
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +45 -133
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +257 -44
- package/build-style/style.css +257 -44
- package/package.json +12 -11
- package/src/add-filter.js +39 -230
- package/src/dataviews.js +31 -20
- package/src/filter-summary.js +228 -135
- package/src/filters.js +42 -29
- package/src/reset-filters.js +12 -2
- package/src/search-widget.js +128 -0
- package/src/search.js +1 -1
- package/src/single-selection-checkbox.js +59 -0
- package/src/style.scss +264 -44
- package/src/utils.js +15 -0
- package/src/view-actions.js +1 -2
- package/src/view-grid.js +127 -53
- package/src/view-list.js +5 -1
- package/src/view-table.js +61 -234
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -201,6 +201,7 @@ Example:
|
|
|
201
201
|
- `enableHiding`: whether the field can be hidden. True by default.
|
|
202
202
|
- `filterBy`: configuration for the filters.
|
|
203
203
|
- `operators`: the list of operators supported by the field.
|
|
204
|
+
- `isPrimary`: whether it is a primary filter. A primary filter is always visible and is not listed in the "Add filter" component, except for the list layout where it behaves like a secondary filter.
|
|
204
205
|
|
|
205
206
|
## Actions
|
|
206
207
|
|
package/build/add-filter.js
CHANGED
|
@@ -3,15 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _icons = require("@wordpress/icons");
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
11
|
var _element = require("@wordpress/element");
|
|
12
12
|
var _lockUnlock = require("./lock-unlock");
|
|
13
|
-
var _constants = require("./constants");
|
|
14
|
-
var _dropdownMenuHelper = require("./dropdown-menu-helper");
|
|
15
13
|
/**
|
|
16
14
|
* WordPress dependencies
|
|
17
15
|
*/
|
|
@@ -22,129 +20,48 @@ var _dropdownMenuHelper = require("./dropdown-menu-helper");
|
|
|
22
20
|
|
|
23
21
|
const {
|
|
24
22
|
DropdownMenuV2: DropdownMenu,
|
|
25
|
-
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
26
23
|
DropdownMenuItemV2: DropdownMenuItem,
|
|
27
|
-
|
|
28
|
-
DropdownMenuSeparatorV2: DropdownMenuSeparator,
|
|
29
|
-
DropdownMenuItemLabelV2: DropdownMenuItemLabel,
|
|
30
|
-
DropdownMenuItemHelpTextV2: DropdownMenuItemHelpText
|
|
24
|
+
DropdownMenuItemLabelV2: DropdownMenuItemLabel
|
|
31
25
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
32
|
-
function WithSeparators({
|
|
33
|
-
children
|
|
34
|
-
}) {
|
|
35
|
-
return _element.Children.toArray(children).filter(Boolean).map((child, i) => (0, _react.createElement)(_element.Fragment, {
|
|
36
|
-
key: i
|
|
37
|
-
}, i > 0 && (0, _react.createElement)(DropdownMenuSeparator, null), child));
|
|
38
|
-
}
|
|
39
26
|
function AddFilter({
|
|
40
27
|
filters,
|
|
41
28
|
view,
|
|
42
|
-
onChangeView
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
onChangeView,
|
|
30
|
+
setOpenedFilter
|
|
31
|
+
}, ref) {
|
|
32
|
+
if (!filters.length || filters.every(({
|
|
33
|
+
isPrimary
|
|
34
|
+
}) => isPrimary)) {
|
|
45
35
|
return null;
|
|
46
36
|
}
|
|
47
|
-
const
|
|
48
|
-
if (filter.value !== undefined) {
|
|
49
|
-
return acc + 1;
|
|
50
|
-
}
|
|
51
|
-
return acc;
|
|
52
|
-
}, 0);
|
|
37
|
+
const inactiveFilters = filters.filter(filter => !filter.isVisible);
|
|
53
38
|
return (0, _react.createElement)(DropdownMenu, {
|
|
54
39
|
trigger: (0, _react.createElement)(_components.Button, {
|
|
55
40
|
__experimentalIsFocusable: true,
|
|
56
|
-
label: (0, _i18n.__)('Filters'),
|
|
57
41
|
size: "compact",
|
|
58
|
-
icon: _icons.
|
|
59
|
-
className: "dataviews-filters-button"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}, (0, _react.createElement)(WithSeparators, null, (0, _react.createElement)(DropdownMenuGroup, null, filters.map(filter => {
|
|
67
|
-
const filterInView = view.filters.find(f => f.field === filter.field);
|
|
68
|
-
const otherFilters = view.filters.filter(f => f.field !== filter.field);
|
|
69
|
-
const activeElement = filter.elements.find(element => element.value === filterInView?.value);
|
|
70
|
-
const activeOperator = filterInView?.operator || filter.operators[0];
|
|
71
|
-
return (0, _react.createElement)(DropdownMenu, {
|
|
42
|
+
icon: _icons.plus,
|
|
43
|
+
className: "dataviews-filters-button",
|
|
44
|
+
variant: "tertiary",
|
|
45
|
+
disabled: !inactiveFilters.length,
|
|
46
|
+
ref: ref
|
|
47
|
+
}, (0, _i18n.__)('Add filter'))
|
|
48
|
+
}, inactiveFilters.map(filter => {
|
|
49
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
72
50
|
key: filter.field,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"aria-hidden": "true"
|
|
76
|
-
}, activeOperator in _constants.OPERATORS && `${_constants.OPERATORS[activeOperator].label} `, activeElement.label)
|
|
77
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null, filter.name)),
|
|
78
|
-
style: {
|
|
79
|
-
minWidth: '200px'
|
|
80
|
-
}
|
|
81
|
-
}, (0, _react.createElement)(WithSeparators, null, (0, _react.createElement)(DropdownMenuGroup, null, filter.elements.map(element => {
|
|
82
|
-
const isActive = activeElement?.value === element.value;
|
|
83
|
-
return (0, _react.createElement)(_dropdownMenuHelper.DropdownMenuRadioItemCustom, {
|
|
84
|
-
key: element.value,
|
|
85
|
-
name: `add-filter-${filter.field}`,
|
|
86
|
-
value: element.value,
|
|
87
|
-
checked: isActive,
|
|
88
|
-
onChange: e => {
|
|
89
|
-
onChangeView({
|
|
90
|
-
...view,
|
|
91
|
-
page: 1,
|
|
92
|
-
filters: [...otherFilters, {
|
|
93
|
-
field: filter.field,
|
|
94
|
-
operator: activeOperator,
|
|
95
|
-
value: isActive ? undefined : e.target.value
|
|
96
|
-
}]
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null, element.label), !!element.description && (0, _react.createElement)(DropdownMenuItemHelpText, null, element.description));
|
|
100
|
-
})), filter.operators.length > 1 && (0, _react.createElement)(DropdownMenu, {
|
|
101
|
-
trigger: (0, _react.createElement)(DropdownMenuItem, {
|
|
102
|
-
suffix: (0, _react.createElement)("span", {
|
|
103
|
-
"aria-hidden": "true"
|
|
104
|
-
}, _constants.OPERATORS[activeOperator]?.label)
|
|
105
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Conditions')))
|
|
106
|
-
}, Object.entries(_constants.OPERATORS).map(([operator, {
|
|
107
|
-
label,
|
|
108
|
-
key
|
|
109
|
-
}]) => (0, _react.createElement)(DropdownMenuRadioItem, {
|
|
110
|
-
key: key,
|
|
111
|
-
name: `add-filter-${filter.field}-conditions`,
|
|
112
|
-
value: operator,
|
|
113
|
-
checked: activeOperator === operator,
|
|
114
|
-
onChange: e => {
|
|
51
|
+
onClick: () => {
|
|
52
|
+
setOpenedFilter(filter.field);
|
|
115
53
|
onChangeView({
|
|
116
54
|
...view,
|
|
117
55
|
page: 1,
|
|
118
|
-
filters: [...
|
|
56
|
+
filters: [...(view.filters || []), {
|
|
119
57
|
field: filter.field,
|
|
120
|
-
|
|
121
|
-
|
|
58
|
+
value: undefined,
|
|
59
|
+
operator: filter.operators[0]
|
|
122
60
|
}]
|
|
123
61
|
});
|
|
124
62
|
}
|
|
125
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null,
|
|
126
|
-
|
|
127
|
-
disabled: !activeElement,
|
|
128
|
-
hideOnClick: false,
|
|
129
|
-
onClick: () => {
|
|
130
|
-
onChangeView({
|
|
131
|
-
...view,
|
|
132
|
-
page: 1,
|
|
133
|
-
filters: view.filters.filter(f => f.field !== filter.field)
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.sprintf)( /* translators: 1: Filter name. e.g.: "Reset Author". */
|
|
137
|
-
(0, _i18n.__)('Reset %1$s'), filter.name.toLowerCase())))));
|
|
138
|
-
})), (0, _react.createElement)(DropdownMenuItem, {
|
|
139
|
-
disabled: view.search === '' && view.filters?.length === 0,
|
|
140
|
-
hideOnClick: false,
|
|
141
|
-
onClick: () => {
|
|
142
|
-
onChangeView({
|
|
143
|
-
...view,
|
|
144
|
-
page: 1,
|
|
145
|
-
filters: []
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Reset filters')))));
|
|
63
|
+
}, (0, _react.createElement)(DropdownMenuItemLabel, null, filter.name));
|
|
64
|
+
}));
|
|
149
65
|
}
|
|
66
|
+
var _default = exports.default = (0, _element.forwardRef)(AddFilter);
|
|
150
67
|
//# sourceMappingURL=add-filter.js.map
|
package/build/add-filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_i18n","_element","_lockUnlock","_constants","_dropdownMenuHelper","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuItemHelpTextV2","DropdownMenuItemHelpText","unlock","componentsPrivateApis","WithSeparators","children","Children","toArray","filter","Boolean","map","child","i","_react","createElement","Fragment","key","AddFilter","filters","view","onChangeView","length","filterCount","reduce","acc","value","undefined","trigger","Button","__experimentalIsFocusable","label","__","size","icon","funnel","className","type","LAYOUT_LIST","style","minWidth","filterInView","find","f","field","otherFilters","activeElement","elements","element","activeOperator","operator","operators","suffix","OPERATORS","name","isActive","DropdownMenuRadioItemCustom","checked","onChange","e","page","target","description","Object","entries","disabled","hideOnClick","onClick","sprintf","toLowerCase","search"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { funnel } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { LAYOUT_LIST, OPERATORS } from './constants';\nimport { DropdownMenuRadioItemCustom } from './dropdown-menu-helper';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuItemHelpTextV2: DropdownMenuItemHelpText,\n} = unlock( componentsPrivateApis );\n\nfunction WithSeparators( { children } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nexport default function AddFilter( { filters, view, onChangeView } ) {\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst filterCount = view.filters.reduce( ( acc, filter ) => {\n\t\tif ( filter.value !== undefined ) {\n\t\t\treturn acc + 1;\n\t\t}\n\t\treturn acc;\n\t}, 0 );\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ funnel }\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t>\n\t\t\t\t\t{ view.type === LAYOUT_LIST && filterCount > 0 ? (\n\t\t\t\t\t\t<span className=\"dataviews-filters-count\">\n\t\t\t\t\t\t\t{ filterCount }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ {\n\t\t\t\tminWidth: '230px',\n\t\t\t} }\n\t\t>\n\t\t\t<WithSeparators>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t{ filters.map( ( filter ) => {\n\t\t\t\t\t\tconst filterInView = view.filters.find(\n\t\t\t\t\t\t\t( f ) => f.field === filter.field\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst otherFilters = view.filters.filter(\n\t\t\t\t\t\t\t( f ) => f.field !== filter.field\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst activeElement = filter.elements.find(\n\t\t\t\t\t\t\t( element ) => element.value === filterInView?.value\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst activeOperator =\n\t\t\t\t\t\t\tfilterInView?.operator || filter.operators[ 0 ];\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tactiveElement && (\n\t\t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ activeOperator in\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATORS &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${ OPERATORS[ activeOperator ].label } ` }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ activeElement.label }\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tminWidth: '200px',\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<WithSeparators>\n\t\t\t\t\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t\t\t\t\t{ filter.elements.map( ( element ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\t\t\tactiveElement?.value ===\n\t\t\t\t\t\t\t\t\t\t\t\telement.value;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItemCustom\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\t\t\t\t\t\t\tname={ `add-filter-${ filter.field }` }\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={ isActive }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( e ) => {\n\t\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\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...otherFilters,\n\t\t\t\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\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveOperator,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: isActive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.value,\n\t\t\t\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\t\t\t],\n\t\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\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ element.label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemHelpText>\n\t\t\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\t\t\t\telement.description\n\t\t\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\t\t</DropdownMenuItemHelpText>\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</DropdownMenuRadioItemCustom>\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</DropdownMenuGroup>\n\t\t\t\t\t\t\t\t\t{ filter.operators.length > 1 && (\n\t\t\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\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\t\t\t\tOPERATORS[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveOperator\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.label\n\t\t\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\t\t</span>\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Conditions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\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\t\t{ Object.entries( OPERATORS ).map(\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\t\toperator,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ label, key },\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\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname={ `add-filter-${ filter.field }-conditions` }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ operator }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveOperator ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator\n\t\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\t\tonChange={ ( e ) => {\n\t\t\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\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...otherFilters,\n\t\t\t\t\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\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.target\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: filterInView?.value,\n\t\t\t\t\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\t\t\t\t],\n\t\t\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\t\t} }\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ 'reset-filter-' + filter.name }\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! activeElement }\n\t\t\t\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\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\tpage: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tfilters: view.filters.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tf.field !== filter.field\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} );\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\t\t<DropdownMenuItemLabel>\n\t\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: 1: Filter name. e.g.: \"Reset Author\". */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Reset %1$s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t</WithSeparators>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tview.search === '' && view.filters?.length === 0\n\t\t\t\t\t}\n\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: [],\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Reset filters' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t</WithSeparators>\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_icons","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","AddFilter","filters","view","onChangeView","setOpenedFilter","ref","length","every","isPrimary","inactiveFilters","filter","isVisible","_react","createElement","trigger","Button","__experimentalIsFocusable","size","icon","plus","className","variant","disabled","__","map","key","field","onClick","page","value","undefined","operator","operators","name","_default","exports","default","forwardRef"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction AddFilter( { filters, view, onChangeView, setOpenedFilter }, ref ) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetOpenedFilter( filter.field );\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\tpage: 1,\n\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAM;EACLK,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEnC,SAASC,SAASA,CAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAEC,GAAG,EAAG;EAC3E,IAAK,CAAEJ,OAAO,CAACK,MAAM,IAAIL,OAAO,CAACM,KAAK,CAAE,CAAE;IAAEC;EAAU,CAAC,KAAMA,SAAU,CAAC,EAAG;IAC1E,OAAO,IAAI;EACZ;EACA,MAAMC,eAAe,GAAGR,OAAO,CAACS,MAAM,CAAIA,MAAM,IAAM,CAAEA,MAAM,CAACC,SAAU,CAAC;EAC1E,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,YAAY;IACZqB,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAA6B,MAAM;MACNC,yBAAyB;MACzBC,IAAI,EAAC,SAAS;MACdC,IAAI,EAAGC,WAAM;MACbC,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAC,UAAU;MAClBC,QAAQ,EAAG,CAAEb,eAAe,CAACH,MAAQ;MACrCD,GAAG,EAAGA;IAAK,GAET,IAAAkB,QAAE,EAAE,YAAa,CACZ;EACR,GAECd,eAAe,CAACe,GAAG,CAAId,MAAM,IAAM;IACpC,OACC,IAAAE,MAAA,CAAAC,aAAA,EAAClB,gBAAgB;MAChB8B,GAAG,EAAGf,MAAM,CAACgB,KAAO;MACpBC,OAAO,EAAGA,CAAA,KAAM;QACfvB,eAAe,CAAEM,MAAM,CAACgB,KAAM,CAAC;QAC/BvB,YAAY,CAAE;UACb,GAAGD,IAAI;UACP0B,IAAI,EAAE,CAAC;UACP3B,OAAO,EAAE,CACR,IAAKC,IAAI,CAACD,OAAO,IAAI,EAAE,CAAE,EACzB;YACCyB,KAAK,EAAEhB,MAAM,CAACgB,KAAK;YACnBG,KAAK,EAAEC,SAAS;YAChBC,QAAQ,EAAErB,MAAM,CAACsB,SAAS,CAAE,CAAC;UAC9B,CAAC;QAEH,CAAE,CAAC;MACJ;IAAG,GAEH,IAAApB,MAAA,CAAAC,aAAA,EAAChB,qBAAqB,QACnBa,MAAM,CAACuB,IACa,CACN,CAAC;EAErB,CAAE,CACW,CAAC;AAEjB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAErC,SAAU,CAAC"}
|
package/build/constants.js
CHANGED
|
@@ -19,15 +19,12 @@ var _viewList = _interopRequireDefault(require("./view-list"));
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
// Field types.
|
|
22
|
-
const ENUMERATION_TYPE = 'enumeration';
|
|
22
|
+
const ENUMERATION_TYPE = exports.ENUMERATION_TYPE = 'enumeration';
|
|
23
23
|
|
|
24
24
|
// Filter operators.
|
|
25
|
-
exports.
|
|
26
|
-
const
|
|
27
|
-
exports.
|
|
28
|
-
const OPERATOR_NOT_IN = 'notIn';
|
|
29
|
-
exports.OPERATOR_NOT_IN = OPERATOR_NOT_IN;
|
|
30
|
-
const OPERATORS = {
|
|
25
|
+
const OPERATOR_IN = exports.OPERATOR_IN = 'in';
|
|
26
|
+
const OPERATOR_NOT_IN = exports.OPERATOR_NOT_IN = 'notIn';
|
|
27
|
+
const OPERATORS = exports.OPERATORS = {
|
|
31
28
|
[OPERATOR_IN]: {
|
|
32
29
|
key: 'in-filter',
|
|
33
30
|
label: (0, _i18n.__)('Is')
|
|
@@ -39,8 +36,7 @@ const OPERATORS = {
|
|
|
39
36
|
};
|
|
40
37
|
|
|
41
38
|
// Sorting
|
|
42
|
-
exports.
|
|
43
|
-
const SORTING_DIRECTIONS = {
|
|
39
|
+
const SORTING_DIRECTIONS = exports.SORTING_DIRECTIONS = {
|
|
44
40
|
asc: {
|
|
45
41
|
label: (0, _i18n.__)('Sort ascending')
|
|
46
42
|
},
|
|
@@ -50,14 +46,10 @@ const SORTING_DIRECTIONS = {
|
|
|
50
46
|
};
|
|
51
47
|
|
|
52
48
|
// View layouts.
|
|
53
|
-
exports.
|
|
54
|
-
const
|
|
55
|
-
exports.
|
|
56
|
-
const
|
|
57
|
-
exports.LAYOUT_GRID = LAYOUT_GRID;
|
|
58
|
-
const LAYOUT_LIST = 'list';
|
|
59
|
-
exports.LAYOUT_LIST = LAYOUT_LIST;
|
|
60
|
-
const VIEW_LAYOUTS = [{
|
|
49
|
+
const LAYOUT_TABLE = exports.LAYOUT_TABLE = 'table';
|
|
50
|
+
const LAYOUT_GRID = exports.LAYOUT_GRID = 'grid';
|
|
51
|
+
const LAYOUT_LIST = exports.LAYOUT_LIST = 'list';
|
|
52
|
+
const VIEW_LAYOUTS = exports.VIEW_LAYOUTS = [{
|
|
61
53
|
type: LAYOUT_TABLE,
|
|
62
54
|
label: (0, _i18n.__)('Table'),
|
|
63
55
|
component: _viewTable.default,
|
|
@@ -73,5 +65,4 @@ const VIEW_LAYOUTS = [{
|
|
|
73
65
|
component: _viewList.default,
|
|
74
66
|
icon: (0, _i18n.isRTL)() ? _icons.formatListBulletsRTL : _icons.formatListBullets
|
|
75
67
|
}];
|
|
76
|
-
exports.VIEW_LAYOUTS = VIEW_LAYOUTS;
|
|
77
68
|
//# sourceMappingURL=constants.js.map
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_viewTable","_interopRequireDefault","_viewGrid","_viewList","ENUMERATION_TYPE","exports","OPERATOR_IN","OPERATOR_NOT_IN","OPERATORS","key","label","__","SORTING_DIRECTIONS","asc","desc","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST","VIEW_LAYOUTS","type","component","ViewTable","icon","blockTable","ViewGrid","category","ViewList","isRTL","formatListBulletsRTL","formatListBullets"],"sources":["@wordpress/dataviews/src/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './view-table';\nimport ViewGrid from './view-grid';\nimport ViewList from './view-list';\n\n// Field types.\nexport const ENUMERATION_TYPE = 'enumeration';\n\n// Filter operators.\nexport const OPERATOR_IN = 'in';\nexport const OPERATOR_NOT_IN = 'notIn';\nexport const OPERATORS = {\n\t[ OPERATOR_IN ]: {\n\t\tkey: 'in-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_NOT_IN ]: {\n\t\tkey: 'not-in-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n};\n\n// Sorting\nexport const SORTING_DIRECTIONS = {\n\tasc: { label: __( 'Sort ascending' ) },\n\tdesc: { label: __( 'Sort descending' ) },\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n];\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,SAAA,GAAAF,sBAAA,CAAAH,OAAA;AAhBA;AACA;AACA;;AASA;AACA;AACA;;AAKA;AACO,MAAMM,gBAAgB,
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_viewTable","_interopRequireDefault","_viewGrid","_viewList","ENUMERATION_TYPE","exports","OPERATOR_IN","OPERATOR_NOT_IN","OPERATORS","key","label","__","SORTING_DIRECTIONS","asc","desc","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST","VIEW_LAYOUTS","type","component","ViewTable","icon","blockTable","ViewGrid","category","ViewList","isRTL","formatListBulletsRTL","formatListBullets"],"sources":["@wordpress/dataviews/src/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './view-table';\nimport ViewGrid from './view-grid';\nimport ViewList from './view-list';\n\n// Field types.\nexport const ENUMERATION_TYPE = 'enumeration';\n\n// Filter operators.\nexport const OPERATOR_IN = 'in';\nexport const OPERATOR_NOT_IN = 'notIn';\nexport const OPERATORS = {\n\t[ OPERATOR_IN ]: {\n\t\tkey: 'in-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_NOT_IN ]: {\n\t\tkey: 'not-in-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n};\n\n// Sorting\nexport const SORTING_DIRECTIONS = {\n\tasc: { label: __( 'Sort ascending' ) },\n\tdesc: { label: __( 'Sort descending' ) },\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n];\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,SAAA,GAAAF,sBAAA,CAAAH,OAAA;AAhBA;AACA;AACA;;AASA;AACA;AACA;;AAKA;AACO,MAAMM,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,aAAa;;AAE7C;AACO,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,IAAI;AACxB,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,OAAO;AAC/B,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAG;EACxB,CAAEF,WAAW,GAAI;IAChBG,GAAG,EAAE,WAAW;IAChBC,KAAK,EAAE,IAAAC,QAAE,EAAE,IAAK;EACjB,CAAC;EACD,CAAEJ,eAAe,GAAI;IACpBE,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB;AACD,CAAC;;AAED;AACO,MAAMC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAG;EACjCC,GAAG,EAAE;IAAEH,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB;EAAE,CAAC;EACtCG,IAAI,EAAE;IAAEJ,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB;EAAE;AACxC,CAAC;;AAED;AACO,MAAMI,YAAY,GAAAV,OAAA,CAAAU,YAAA,GAAG,OAAO;AAC5B,MAAMC,WAAW,GAAAX,OAAA,CAAAW,WAAA,GAAG,MAAM;AAC1B,MAAMC,WAAW,GAAAZ,OAAA,CAAAY,WAAA,GAAG,MAAM;AAE1B,MAAMC,YAAY,GAAAb,OAAA,CAAAa,YAAA,GAAG,CAC3B;EACCC,IAAI,EAAEJ,YAAY;EAClBL,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBS,SAAS,EAAEC,kBAAS;EACpBC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,IAAI,EAAEH,WAAW;EACjBN,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBS,SAAS,EAAEI,iBAAQ;EACnBF,IAAI,EAAEG;AACP,CAAC,EACD;EACCN,IAAI,EAAEF,WAAW;EACjBP,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBS,SAAS,EAAEM,iBAAQ;EACnBJ,IAAI,EAAE,IAAAK,WAAK,EAAC,CAAC,GAAGC,2BAAoB,GAAGC;AACxC,CAAC,CACD"}
|
package/build/dataviews.js
CHANGED
|
@@ -41,17 +41,18 @@ function DataViews({
|
|
|
41
41
|
deferredRendering = false
|
|
42
42
|
}) {
|
|
43
43
|
const [selection, setSelection] = (0, _element.useState)([]);
|
|
44
|
+
const [openedFilter, setOpenedFilter] = (0, _element.useState)(null);
|
|
44
45
|
(0, _element.useEffect)(() => {
|
|
45
|
-
if (selection.length > 0 && selection.some(id => !data.some(item => item
|
|
46
|
-
const newSelection = selection.filter(id => data.some(item => item
|
|
46
|
+
if (selection.length > 0 && selection.some(id => !data.some(item => getItemId(item) === id))) {
|
|
47
|
+
const newSelection = selection.filter(id => data.some(item => getItemId(item) === id));
|
|
47
48
|
setSelection(newSelection);
|
|
48
|
-
onSelectionChange(data.filter(item => newSelection.includes(item
|
|
49
|
+
onSelectionChange(data.filter(item => newSelection.includes(getItemId(item))));
|
|
49
50
|
}
|
|
50
|
-
}, [selection, data, onSelectionChange]);
|
|
51
|
+
}, [selection, data, getItemId, onSelectionChange]);
|
|
51
52
|
const onSetSelection = (0, _element.useCallback)(items => {
|
|
52
|
-
setSelection(items.map(item => item
|
|
53
|
+
setSelection(items.map(item => getItemId(item)));
|
|
53
54
|
onSelectionChange(items);
|
|
54
|
-
}, [setSelection, onSelectionChange]);
|
|
55
|
+
}, [setSelection, getItemId, onSelectionChange]);
|
|
55
56
|
const ViewComponent = _constants.VIEW_LAYOUTS.find(v => v.type === view.type).component;
|
|
56
57
|
const _fields = (0, _element.useMemo)(() => {
|
|
57
58
|
return fields.map(field => ({
|
|
@@ -62,23 +63,17 @@ function DataViews({
|
|
|
62
63
|
return (0, _react.createElement)("div", {
|
|
63
64
|
className: "dataviews-wrapper"
|
|
64
65
|
}, (0, _react.createElement)(_components.__experimentalVStack, {
|
|
65
|
-
spacing:
|
|
66
|
+
spacing: 3,
|
|
66
67
|
justify: "flex-start"
|
|
67
68
|
}, (0, _react.createElement)(_components.__experimentalHStack, {
|
|
68
69
|
alignment: "flex-start",
|
|
69
|
-
className: "dataviews-filters__view-actions"
|
|
70
|
-
}, (0, _react.createElement)(_components.__experimentalHStack, {
|
|
71
70
|
justify: "start",
|
|
72
|
-
|
|
71
|
+
className: "dataviews-filters__view-actions"
|
|
73
72
|
}, search && (0, _react.createElement)(_search.default, {
|
|
74
73
|
label: searchLabel,
|
|
75
74
|
view: view,
|
|
76
75
|
onChangeView: onChangeView
|
|
77
|
-
}), (0, _react.createElement)(
|
|
78
|
-
fields: _fields,
|
|
79
|
-
view: view,
|
|
80
|
-
onChangeView: onChangeView
|
|
81
|
-
})), view.type === _constants.LAYOUT_TABLE && (0, _react.createElement)(_bulkActions.default, {
|
|
76
|
+
}), [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID].includes(view.type) && (0, _react.createElement)(_bulkActions.default, {
|
|
82
77
|
actions: actions,
|
|
83
78
|
data: data,
|
|
84
79
|
onSelectionChange: onSetSelection,
|
|
@@ -89,6 +84,16 @@ function DataViews({
|
|
|
89
84
|
view: view,
|
|
90
85
|
onChangeView: onChangeView,
|
|
91
86
|
supportedLayouts: supportedLayouts
|
|
87
|
+
})), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
88
|
+
justify: "start",
|
|
89
|
+
className: "dataviews-filters__container",
|
|
90
|
+
wrap: true
|
|
91
|
+
}, (0, _react.createElement)(_filters.default, {
|
|
92
|
+
fields: _fields,
|
|
93
|
+
view: view,
|
|
94
|
+
onChangeView: onChangeView,
|
|
95
|
+
openedFilter: openedFilter,
|
|
96
|
+
setOpenedFilter: setOpenedFilter
|
|
92
97
|
})), (0, _react.createElement)(ViewComponent, {
|
|
93
98
|
fields: _fields,
|
|
94
99
|
view: view,
|
|
@@ -100,7 +105,8 @@ function DataViews({
|
|
|
100
105
|
onSelectionChange: onSetSelection,
|
|
101
106
|
onDetailsChange: onDetailsChange,
|
|
102
107
|
selection: selection,
|
|
103
|
-
deferredRendering: deferredRendering
|
|
108
|
+
deferredRendering: deferredRendering,
|
|
109
|
+
setOpenedFilter: setOpenedFilter
|
|
104
110
|
}), (0, _react.createElement)(_pagination.default, {
|
|
105
111
|
view: view,
|
|
106
112
|
onChangeView: onChangeView,
|
package/build/dataviews.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_bulkActions","defaultGetItemId","item","id","defaultOnSelectionChange","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","onDetailsChange","deferredRendering","selection","setSelection","useState","useEffect","length","some","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","useMemo","field","render","getValue","_react","createElement","className","__experimentalVStack","spacing","justify","__experimentalHStack","alignment","
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_bulkActions","defaultGetItemId","item","id","defaultOnSelectionChange","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","onDetailsChange","deferredRendering","selection","setSelection","useState","openedFilter","setOpenedFilter","useEffect","length","some","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","useMemo","field","render","getValue","_react","createElement","className","__experimentalVStack","spacing","justify","__experimentalHStack","alignment","default","label","LAYOUT_TABLE","LAYOUT_GRID","wrap"],"sources":["@wordpress/dataviews/src/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { VIEW_LAYOUTS, LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport BulkActions from './bulk-actions';\n\nconst defaultGetItemId = ( item ) => item.id;\nconst defaultOnSelectionChange = () => {};\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n\tonSelectionChange = defaultOnSelectionChange,\n\tonDetailsChange = null,\n\tdeferredRendering = false,\n} ) {\n\tconst [ selection, setSelection ] = useState( [] );\n\tconst [ openedFilter, setOpenedFilter ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselection.length > 0 &&\n\t\t\tselection.some(\n\t\t\t\t( id ) => ! data.some( ( item ) => getItemId( item ) === id )\n\t\t\t)\n\t\t) {\n\t\t\tconst newSelection = selection.filter( ( id ) =>\n\t\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t\t);\n\t\t\tsetSelection( newSelection );\n\t\t\tonSelectionChange(\n\t\t\t\tdata.filter( ( item ) =>\n\t\t\t\t\tnewSelection.includes( getItemId( item ) )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selection, data, getItemId, onSelectionChange ] );\n\n\tconst onSetSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items.map( ( item ) => getItemId( item ) ) );\n\t\t\tonSelectionChange( items );\n\t\t},\n\t\t[ setSelection, getItemId, onSelectionChange ]\n\t);\n\n\tconst ViewComponent = VIEW_LAYOUTS.find(\n\t\t( v ) => v.type === view.type\n\t).component;\n\tconst _fields = useMemo( () => {\n\t\treturn fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\trender: field.render || field.getValue,\n\t\t} ) );\n\t}, [ fields ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 3 } justify=\"flex-start\">\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\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\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ViewActions\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t<ViewComponent\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\tonDetailsChange={ onDetailsChange }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tdeferredRendering={ deferredRendering }\n\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t/>\n\t\t\t\t<Pagination\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ const radioCheck = (0, _react.createElement)(_primitives.SVG, {
|
|
|
33
33
|
* A custom implementation of a radio menu item using the standard menu item
|
|
34
34
|
* component, which allows deselecting selected values.
|
|
35
35
|
*/
|
|
36
|
-
const DropdownMenuRadioItemCustom = (0, _element.forwardRef)(function DropdownMenuRadioItemCustom({
|
|
36
|
+
const DropdownMenuRadioItemCustom = exports.DropdownMenuRadioItemCustom = (0, _element.forwardRef)(function DropdownMenuRadioItemCustom({
|
|
37
37
|
checked,
|
|
38
38
|
name,
|
|
39
39
|
value,
|
|
@@ -68,5 +68,4 @@ const DropdownMenuRadioItemCustom = (0, _element.forwardRef)(function DropdownMe
|
|
|
68
68
|
...props
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
-
exports.DropdownMenuRadioItemCustom = DropdownMenuRadioItemCustom;
|
|
72
71
|
//# sourceMappingURL=dropdown-menu-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_primitives","_lockUnlock","DropdownMenuItemV2","DropdownMenuItem","unlock","componentsPrivateApis","radioCheck","_react","createElement","SVG","xmlns","viewBox","Circle","cx","cy","r","DropdownMenuRadioItemCustom","forwardRef","checked","name","value","hideOnClick","onChange","onClick","props","ref","onClickHandler","e","target","role","prefix","Icon","icon","className"
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_primitives","_lockUnlock","DropdownMenuItemV2","DropdownMenuItem","unlock","componentsPrivateApis","radioCheck","_react","createElement","SVG","xmlns","viewBox","Circle","cx","cy","r","DropdownMenuRadioItemCustom","exports","forwardRef","checked","name","value","hideOnClick","onChange","onClick","props","ref","onClickHandler","e","target","role","prefix","Icon","icon","className"],"sources":["@wordpress/dataviews/src/dropdown-menu-helper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { DropdownMenuItemV2: DropdownMenuItem } = unlock(\n\tcomponentsPrivateApis\n);\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\n/**\n * A custom implementation of a radio menu item using the standard menu item\n * component, which allows deselecting selected values.\n */\nexport const DropdownMenuRadioItemCustom = forwardRef(\n\tfunction DropdownMenuRadioItemCustom(\n\t\t{ checked, name, value, hideOnClick, onChange, onClick, ...props },\n\t\tref\n\t) {\n\t\tconst onClickHandler = ( e ) => {\n\t\t\tonClick?.( e );\n\t\t\tonChange?.( { ...e, target: { ...e.target, value } } );\n\t\t};\n\t\treturn (\n\t\t\t<DropdownMenuItem\n\t\t\t\tref={ ref }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\tname={ name }\n\t\t\t\taria-checked={ checked }\n\t\t\t\thideOnClick={ !! hideOnClick }\n\t\t\t\tprefix={\n\t\t\t\t\tchecked ? (\n\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__custom-menu-radio-item-prefix\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t></span>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tonClick={ onClickHandler }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EAAEI,kBAAkB,EAAEC;AAAiB,CAAC,GAAG,IAAAC,kBAAM,EACtDC,uBACD,CAAC;AAED,MAAMC,UAAU,GACf,IAAAC,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAS,GAAG;EAACC,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC;AAAW,GAC1D,IAAAJ,MAAA,CAAAC,aAAA,EAACR,WAAA,CAAAY,MAAM;EAACC,EAAE,EAAG,EAAI;EAACC,EAAE,EAAG,EAAI;EAACC,CAAC,EAAG;AAAG,CAAS,CACxC,CACL;;AAED;AACA;AACA;AACA;AACO,MAAMC,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,IAAAE,mBAAU,EACpD,SAASF,2BAA2BA,CACnC;EAAEG,OAAO;EAAEC,IAAI;EAAEC,KAAK;EAAEC,WAAW;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAM,CAAC,EAClEC,GAAG,EACF;EACD,MAAMC,cAAc,GAAKC,CAAC,IAAM;IAC/BJ,OAAO,GAAII,CAAE,CAAC;IACdL,QAAQ,GAAI;MAAE,GAAGK,CAAC;MAAEC,MAAM,EAAE;QAAE,GAAGD,CAAC,CAACC,MAAM;QAAER;MAAM;IAAE,CAAE,CAAC;EACvD,CAAC;EACD,OACC,IAAAd,MAAA,CAAAC,aAAA,EAACL,gBAAgB;IAChBuB,GAAG,EAAGA,GAAK;IACXI,IAAI,EAAC,eAAe;IACpBV,IAAI,EAAGA,IAAM;IACb,gBAAeD,OAAS;IACxBG,WAAW,EAAG,CAAC,CAAEA,WAAa;IAC9BS,MAAM,EACLZ,OAAO,GACN,IAAAZ,MAAA,CAAAC,aAAA,EAACX,WAAA,CAAAmC,IAAI;MAACC,IAAI,EAAG3B;IAAY,CAAE,CAAC,GAE5B,IAAAC,MAAA,CAAAC,aAAA;MACC0B,SAAS,EAAC,kDAAkD;MAC5D,eAAY;IAAM,CACZ,CAER;IACDV,OAAO,EAAGG,cAAgB;IAAA,GACrBF;EAAK,CACV,CAAC;AAEJ,CACD,CAAC"}
|