@wordpress/dataviews 0.4.1 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -0
  3. package/build/add-filter.js +25 -108
  4. package/build/add-filter.js.map +1 -1
  5. package/build/constants.js +9 -18
  6. package/build/constants.js.map +1 -1
  7. package/build/dataviews.js +22 -16
  8. package/build/dataviews.js.map +1 -1
  9. package/build/dropdown-menu-helper.js +1 -2
  10. package/build/dropdown-menu-helper.js.map +1 -1
  11. package/build/filter-summary.js +146 -78
  12. package/build/filter-summary.js.map +1 -1
  13. package/build/filters.js +32 -18
  14. package/build/filters.js.map +1 -1
  15. package/build/pagination.js +1 -2
  16. package/build/pagination.js.map +1 -1
  17. package/build/reset-filters.js +4 -1
  18. package/build/reset-filters.js.map +1 -1
  19. package/build/search-widget.js +111 -0
  20. package/build/search-widget.js.map +1 -0
  21. package/build/search.js +2 -3
  22. package/build/search.js.map +1 -1
  23. package/build/single-selection-checkbox.js +54 -0
  24. package/build/single-selection-checkbox.js.map +1 -0
  25. package/build/utils.js +14 -1
  26. package/build/utils.js.map +1 -1
  27. package/build/view-actions.js +2 -3
  28. package/build/view-actions.js.map +1 -1
  29. package/build/view-grid.js +92 -22
  30. package/build/view-grid.js.map +1 -1
  31. package/build/view-list.js +2 -1
  32. package/build/view-list.js.map +1 -1
  33. package/build/view-table.js +43 -132
  34. package/build/view-table.js.map +1 -1
  35. package/build-module/add-filter.js +28 -111
  36. package/build-module/add-filter.js.map +1 -1
  37. package/build-module/dataviews.js +23 -17
  38. package/build-module/dataviews.js.map +1 -1
  39. package/build-module/filter-summary.js +147 -80
  40. package/build-module/filter-summary.js.map +1 -1
  41. package/build-module/filters.js +32 -17
  42. package/build-module/filters.js.map +1 -1
  43. package/build-module/reset-filters.js +4 -1
  44. package/build-module/reset-filters.js.map +1 -1
  45. package/build-module/search-widget.js +101 -0
  46. package/build-module/search-widget.js.map +1 -0
  47. package/build-module/search.js +1 -1
  48. package/build-module/search.js.map +1 -1
  49. package/build-module/single-selection-checkbox.js +47 -0
  50. package/build-module/single-selection-checkbox.js.map +1 -0
  51. package/build-module/utils.js +12 -0
  52. package/build-module/utils.js.map +1 -1
  53. package/build-module/view-actions.js +1 -1
  54. package/build-module/view-actions.js.map +1 -1
  55. package/build-module/view-grid.js +92 -22
  56. package/build-module/view-grid.js.map +1 -1
  57. package/build-module/view-list.js +2 -1
  58. package/build-module/view-list.js.map +1 -1
  59. package/build-module/view-table.js +43 -131
  60. package/build-module/view-table.js.map +1 -1
  61. package/build-style/style-rtl.css +248 -44
  62. package/build-style/style.css +248 -44
  63. package/package.json +12 -11
  64. package/src/add-filter.js +39 -230
  65. package/src/dataviews.js +31 -20
  66. package/src/filter-summary.js +190 -136
  67. package/src/filters.js +42 -29
  68. package/src/reset-filters.js +12 -2
  69. package/src/search-widget.js +128 -0
  70. package/src/search.js +1 -1
  71. package/src/single-selection-checkbox.js +59 -0
  72. package/src/style.scss +254 -44
  73. package/src/utils.js +15 -0
  74. package/src/view-actions.js +1 -2
  75. package/src/view-grid.js +127 -53
  76. package/src/view-list.js +5 -1
  77. package/src/view-table.js +57 -230
@@ -1 +1 @@
1
- {"version":3,"names":["classNames","useAsyncList","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","ENTER","SPACE","info","__","ViewList","view","fields","data","isLoading","getItemId","onSelectionChange","onDetailsChange","selection","deferredRendering","shownData","step","usedData","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","onEnter","item","event","keyCode","hasData","length","createElement","className","map","key","role","tabIndex","onKeyDown","onClick","spacing","justify","render","icon","label","size"],"sources":["@wordpress/dataviews/src/view-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { info } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ViewList( {\n\tview,\n\tfields,\n\tdata,\n\tisLoading,\n\tgetItemId,\n\tonSelectionChange,\n\tonDetailsChange,\n\tselection,\n\tdeferredRendering,\n} ) {\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onEnter = ( item ) => ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif ( [ ENTER, SPACE ].includes( keyCode ) ) {\n\t\t\tonSelectionChange( [ item ] );\n\t\t}\n\t};\n\n\tconst hasData = usedData?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ul className=\"dataviews-view-list\">\n\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t\t\t'is-selected': selection.includes( item.id ),\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\t\taria-pressed={ selection.includes( item.id ) }\n\t\t\t\t\t\t\t\tonKeyDown={ onEnter( item ) }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\t\t\tonClick={ () => onSelectionChange( [ item ] ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack spacing={ 3 } justify=\"start\">\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__primary-field\">\n\t\t\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__fields\">\n\t\t\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\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\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\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{ field.render( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\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</span>\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</div>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ onDetailsChange && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__details-button\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonDetailsChange( [ item ] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'View details' ) }\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classNames","useAsyncList","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","ENTER","SPACE","info","__","ViewList","view","fields","data","isLoading","getItemId","onSelectionChange","onDetailsChange","selection","deferredRendering","shownData","step","usedData","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","onEnter","item","event","keyCode","hasData","length","createElement","className","map","key","role","tabIndex","onKeyDown","onClick","spacing","justify","alignment","render","icon","label","size"],"sources":["@wordpress/dataviews/src/view-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { info } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ViewList( {\n\tview,\n\tfields,\n\tdata,\n\tisLoading,\n\tgetItemId,\n\tonSelectionChange,\n\tonDetailsChange,\n\tselection,\n\tdeferredRendering,\n} ) {\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onEnter = ( item ) => ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif ( [ ENTER, SPACE ].includes( keyCode ) ) {\n\t\t\tonSelectionChange( [ item ] );\n\t\t}\n\t};\n\n\tconst hasData = usedData?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ul className=\"dataviews-view-list\">\n\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t\t\t'is-selected': selection.includes( item.id ),\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\t\taria-pressed={ selection.includes( item.id ) }\n\t\t\t\t\t\t\t\tonKeyDown={ onEnter( item ) }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\t\t\tonClick={ () => onSelectionChange( [ item ] ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__primary-field\">\n\t\t\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__fields\">\n\t\t\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\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\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\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{ field.render( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\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</span>\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</div>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ onDetailsChange && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__details-button\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonDetailsChange( [ item ] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'View details' ) }\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":"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"}
@@ -7,63 +7,56 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { __, sprintf } from '@wordpress/i18n';
10
+ import { __ } from '@wordpress/i18n';
11
11
  import { useAsyncList } from '@wordpress/compose';
12
12
  import { unseen, funnel } from '@wordpress/icons';
13
13
  import { Button, Icon, privateApis as componentsPrivateApis, CheckboxControl } from '@wordpress/components';
14
- import { Children, Fragment, forwardRef, useEffect, useId, useRef, useState } from '@wordpress/element';
14
+ import { forwardRef, useEffect, useId, useRef, useState, Children, Fragment } from '@wordpress/element';
15
15
 
16
16
  /**
17
17
  * Internal dependencies
18
18
  */
19
+ import SingleSelectionCheckbox from './single-selection-checkbox';
19
20
  import { unlock } from './lock-unlock';
20
21
  import ItemActions from './item-actions';
21
- import { ENUMERATION_TYPE, OPERATORS, SORTING_DIRECTIONS } from './constants';
22
- import { DropdownMenuRadioItemCustom } from './dropdown-menu-helper';
22
+ import { sanitizeOperators } from './utils';
23
+ import { ENUMERATION_TYPE, SORTING_DIRECTIONS } from './constants';
23
24
  const {
24
25
  DropdownMenuV2: DropdownMenu,
25
26
  DropdownMenuGroupV2: DropdownMenuGroup,
26
27
  DropdownMenuItemV2: DropdownMenuItem,
27
28
  DropdownMenuRadioItemV2: DropdownMenuRadioItem,
28
- DropdownMenuSeparatorV2: DropdownMenuSeparator,
29
29
  DropdownMenuItemLabelV2: DropdownMenuItemLabel,
30
- DropdownMenuItemHelpTextV2: DropdownMenuItemHelpText
30
+ DropdownMenuSeparatorV2: DropdownMenuSeparator
31
31
  } = unlock(componentsPrivateApis);
32
+ function WithSeparators({
33
+ children
34
+ }) {
35
+ return Children.toArray(children).filter(Boolean).map((child, i) => createElement(Fragment, {
36
+ key: i
37
+ }, i > 0 && createElement(DropdownMenuSeparator, null), child));
38
+ }
32
39
  const sortArrows = {
33
40
  asc: '↑',
34
41
  desc: '↓'
35
42
  };
36
- const sanitizeOperators = field => {
37
- let operators = field.filterBy?.operators;
38
- if (!operators || !Array.isArray(operators)) {
39
- operators = Object.keys(OPERATORS);
40
- }
41
- return operators.filter(operator => Object.keys(OPERATORS).includes(operator));
42
- };
43
43
  const HeaderMenu = forwardRef(function HeaderMenu({
44
44
  field,
45
45
  view,
46
46
  onChangeView,
47
- onHide
47
+ onHide,
48
+ setOpenedFilter
48
49
  }, ref) {
49
50
  const isHidable = field.enableHiding !== false;
50
51
  const isSortable = field.enableSorting !== false;
51
52
  const isSorted = view.sort?.field === field.id;
52
- let filter, filterInView, activeElement, activeOperator, otherFilters;
53
53
  const operators = sanitizeOperators(field);
54
- if (field.type === ENUMERATION_TYPE && operators.length > 0) {
55
- filter = {
56
- field: field.id,
57
- operators,
58
- elements: field.elements || []
59
- };
60
- filterInView = view.filters.find(f => f.field === filter.field);
61
- otherFilters = view.filters.filter(f => f.field !== filter.field);
62
- activeElement = filter.elements.find(element => element.value === filterInView?.value);
63
- activeOperator = filterInView?.operator || filter.operators[0];
64
- }
65
- const isFilterable = !!filter;
66
- if (!isSortable && !isHidable && !isFilterable) {
54
+ // Filter can be added:
55
+ // 1. If the field is not already part of a view's filters.
56
+ // 2. If the field meets the type and operator requirements.
57
+ // 3. If it's not primary. If it is, it should be already visible.
58
+ const canAddFilter = !view.filters?.some(_filter => field.id === _filter.field) && field.type === ENUMERATION_TYPE && !!operators.length && !field.filterBy?.isPrimary;
59
+ if (!isSortable && !isHidable && !canAddFilter) {
67
60
  return field.header;
68
61
  }
69
62
  return createElement(DropdownMenu, {
@@ -103,7 +96,23 @@ const HeaderMenu = forwardRef(function HeaderMenu({
103
96
  });
104
97
  }
105
98
  }, createElement(DropdownMenuItemLabel, null, info.label));
106
- })), isHidable && createElement(DropdownMenuItem, {
99
+ })), canAddFilter && createElement(DropdownMenuGroup, null, createElement(DropdownMenuItem, {
100
+ prefix: createElement(Icon, {
101
+ icon: funnel
102
+ }),
103
+ onClick: () => {
104
+ setOpenedFilter(field.id);
105
+ onChangeView({
106
+ ...view,
107
+ page: 1,
108
+ filters: [...(view.filters || []), {
109
+ field: field.id,
110
+ value: undefined,
111
+ operator: operators[0]
112
+ }]
113
+ });
114
+ }
115
+ }, createElement(DropdownMenuItemLabel, null, __('Add filter')))), isHidable && createElement(DropdownMenuItem, {
107
116
  prefix: createElement(Icon, {
108
117
  icon: unseen
109
118
  }),
@@ -114,67 +123,8 @@ const HeaderMenu = forwardRef(function HeaderMenu({
114
123
  hiddenFields: view.hiddenFields.concat(field.id)
115
124
  });
116
125
  }
117
- }, createElement(DropdownMenuItemLabel, null, __('Hide'))), isFilterable && createElement(DropdownMenuGroup, null, createElement(DropdownMenu, {
118
- key: filter.field,
119
- trigger: createElement(DropdownMenuItem, {
120
- prefix: createElement(Icon, {
121
- icon: funnel
122
- }),
123
- suffix: activeElement && createElement("span", {
124
- "aria-hidden": "true"
125
- }, activeOperator in OPERATORS && `${OPERATORS[activeOperator].label} `, activeElement?.label)
126
- }, createElement(DropdownMenuItemLabel, null, __('Filter by')))
127
- }, createElement(WithSeparators, null, createElement(DropdownMenuGroup, null, filter.elements.map(element => {
128
- const isActive = activeElement?.value === element.value;
129
- return createElement(DropdownMenuRadioItemCustom, {
130
- key: element.value,
131
- name: `view-table-${filter.field}`,
132
- value: element.value,
133
- checked: isActive,
134
- onClick: () => {
135
- onChangeView({
136
- ...view,
137
- page: 1,
138
- filters: [...otherFilters, {
139
- field: filter.field,
140
- operator: activeOperator,
141
- value: isActive ? undefined : element.value
142
- }]
143
- });
144
- }
145
- }, createElement(DropdownMenuItemLabel, null, element.label), !!element.description && createElement(DropdownMenuItemHelpText, null, element.description));
146
- })), filter.operators.length > 1 && createElement(DropdownMenu, {
147
- trigger: createElement(DropdownMenuItem, {
148
- suffix: createElement("span", {
149
- "aria-hidden": "true"
150
- }, OPERATORS[activeOperator]?.label)
151
- }, createElement(DropdownMenuItemLabel, null, __('Conditions')))
152
- }, Object.entries(OPERATORS).map(([operator, {
153
- label,
154
- key
155
- }]) => createElement(DropdownMenuRadioItem, {
156
- key: key,
157
- name: `view-table-${filter.field}-conditions`,
158
- value: operator,
159
- checked: activeOperator === operator,
160
- onChange: e => onChangeView({
161
- ...view,
162
- page: 1,
163
- filters: [...otherFilters, {
164
- field: filter.field,
165
- operator: e.target.value,
166
- value: filterInView?.value
167
- }]
168
- })
169
- }, createElement(DropdownMenuItemLabel, null, label)))))))));
126
+ }, createElement(DropdownMenuItemLabel, null, __('Hide')))));
170
127
  });
171
- function WithSeparators({
172
- children
173
- }) {
174
- return Children.toArray(children).filter(Boolean).map((child, i) => createElement(Fragment, {
175
- key: i
176
- }, i > 0 && createElement(DropdownMenuSeparator, null), child));
177
- }
178
128
  function BulkSelectionCheckbox({
179
129
  selection,
180
130
  onSelectionChange,
@@ -196,46 +146,6 @@ function BulkSelectionCheckbox({
196
146
  label: areAllSelected ? __('Deselect all') : __('Select all')
197
147
  });
198
148
  }
199
- function SingleSelectionCheckbox({
200
- selection,
201
- onSelectionChange,
202
- item,
203
- data,
204
- getItemId,
205
- primaryField
206
- }) {
207
- const id = getItemId(item);
208
- const isSelected = selection.includes(id);
209
- let selectionLabel;
210
- if (primaryField?.getValue && item) {
211
- // eslint-disable-next-line @wordpress/valid-sprintf
212
- selectionLabel = sprintf( /* translators: %s: item title. */
213
- isSelected ? __('Deselect item: %s') : __('Select item: %s'), primaryField.getValue({
214
- item
215
- }));
216
- } else {
217
- selectionLabel = isSelected ? __('Select a new item') : __('Deselect item');
218
- }
219
- return createElement(CheckboxControl, {
220
- className: "dataviews-view-table-selection-checkbox",
221
- __nextHasNoMarginBottom: true,
222
- checked: isSelected,
223
- label: selectionLabel,
224
- onChange: () => {
225
- if (!isSelected) {
226
- onSelectionChange(data.filter(_item => {
227
- const itemId = getItemId?.(_item);
228
- return itemId === id || selection.includes(itemId);
229
- }));
230
- } else {
231
- onSelectionChange(data.filter(_item => {
232
- const itemId = getItemId?.(_item);
233
- return itemId !== id && selection.includes(itemId);
234
- }));
235
- }
236
- }
237
- });
238
- }
239
149
  function ViewTable({
240
150
  view,
241
151
  onChangeView,
@@ -246,7 +156,8 @@ function ViewTable({
246
156
  isLoading = false,
247
157
  deferredRendering,
248
158
  selection,
249
- onSelectionChange
159
+ onSelectionChange,
160
+ setOpenedFilter
250
161
  }) {
251
162
  const hasBulkActions = actions?.some(action => action.supportsBulk);
252
163
  const headerMenuRefs = useRef(new Map());
@@ -326,7 +237,8 @@ function ViewTable({
326
237
  field: field,
327
238
  view: view,
328
239
  onChangeView: onChangeView,
329
- onHide: onHide
240
+ onHide: onHide,
241
+ setOpenedFilter: setOpenedFilter
330
242
  }))), !!actions?.length && createElement("th", {
331
243
  "data-field-id": "actions",
332
244
  className: "dataviews-view-table__actions-column"
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","sprintf","useAsyncList","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Children","Fragment","forwardRef","useEffect","useId","useRef","useState","unlock","ItemActions","ENUMERATION_TYPE","OPERATORS","SORTING_DIRECTIONS","DropdownMenuRadioItemCustom","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuItemHelpTextV2","DropdownMenuItemHelpText","sortArrows","asc","desc","sanitizeOperators","field","operators","filterBy","Array","isArray","Object","keys","filter","operator","includes","HeaderMenu","view","onChangeView","onHide","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","filterInView","activeElement","activeOperator","otherFilters","type","length","elements","filters","find","f","element","value","isFilterable","header","createElement","align","trigger","size","className","variant","direction","style","minWidth","WithSeparators","entries","map","info","isChecked","key","name","checked","onChange","label","prefix","icon","onClick","hiddenFields","concat","suffix","isActive","page","undefined","description","e","target","children","toArray","Boolean","child","i","BulkSelectionCheckbox","selection","onSelectionChange","data","areAllSelected","__nextHasNoMarginBottom","indeterminate","SingleSelectionCheckbox","item","getItemId","primaryField","isSelected","selectionLabel","getValue","_item","itemId","ViewTable","fields","actions","isLoading","deferredRendering","hasBulkActions","some","action","supportsBulk","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","current","focus","asyncData","tableNoticeId","hidden","get","fallback","node","visibleFields","layout","mediaField","usedData","hasData","sortValues","width","scope","index","maxWidth","set","delete","render"],"sources":["@wordpress/dataviews/src/view-table.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport {\n\tChildren,\n\tFragment,\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { ENUMERATION_TYPE, OPERATORS, SORTING_DIRECTIONS } 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\nconst sortArrows = { asc: '↑', desc: '↓' };\n\nconst sanitizeOperators = ( field ) => {\n\tlet operators = field.filterBy?.operators;\n\tif ( ! operators || ! Array.isArray( operators ) ) {\n\t\toperators = Object.keys( OPERATORS );\n\t}\n\treturn operators.filter( ( operator ) =>\n\t\tObject.keys( OPERATORS ).includes( operator )\n\t);\n};\n\nconst HeaderMenu = forwardRef( function HeaderMenu(\n\t{ field, view, onChangeView, onHide },\n\tref\n) {\n\tconst isHidable = field.enableHiding !== false;\n\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\n\tlet filter, filterInView, activeElement, activeOperator, otherFilters;\n\tconst operators = sanitizeOperators( field );\n\tif ( field.type === ENUMERATION_TYPE && operators.length > 0 ) {\n\t\tfilter = {\n\t\t\tfield: field.id,\n\t\t\toperators,\n\t\t\telements: field.elements || [],\n\t\t};\n\t\tfilterInView = view.filters.find( ( f ) => f.field === filter.field );\n\t\totherFilters = view.filters.filter( ( f ) => f.field !== filter.field );\n\t\tactiveElement = filter.elements.find(\n\t\t\t( element ) => element.value === filterInView?.value\n\t\t);\n\t\tactiveOperator = filterInView?.operator || filter.operators[ 0 ];\n\t}\n\tconst isFilterable = !! filter;\n\n\tif ( ! isSortable && ! isHidable && ! isFilterable ) {\n\t\treturn field.header;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ isSorted && sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ Object.entries( SORTING_DIRECTIONS ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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{ info.label }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( 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\thiddenFields: view.hiddenFields.concat(\n\t\t\t\t\t\t\t\t\tfield.id\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{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t\t{ isFilterable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\tactiveElement && (\n\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{ activeOperator in OPERATORS &&\n\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{ activeElement?.label }\n\t\t\t\t\t\t\t\t\t\t\t</span>\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Filter by' ) }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WithSeparators>\n\t\t\t\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t\t\t\t{ filter.elements.map( ( element ) => {\n\t\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\t\tactiveElement?.value ===\n\t\t\t\t\t\t\t\t\t\t\telement.value;\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItemCustom\n\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\tname={ `view-table-${ filter.field }` }\n\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\tchecked={ isActive }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\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\tpage: 1,\n\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...otherFilters,\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\tfield: filter.field,\n\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\tactiveOperator,\n\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? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: element.value,\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>\n\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.label }\n\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{ !! element.description && (\n\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{ element.description }\n\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) }\n\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItemCustom>\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</DropdownMenuGroup>\n\t\t\t\t\t\t\t\t{ filter.operators.length > 1 && (\n\t\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\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<span aria-hidden=\"true\">\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\t\tOPERATORS[\n\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]?.label\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</span>\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\t\t<DropdownMenuItemLabel>\n\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</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\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{ Object.entries( OPERATORS ).map(\n\t\t\t\t\t\t\t\t\t\t\t( [\n\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{ label, key },\n\t\t\t\t\t\t\t\t\t\t\t] ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\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\tname={ `view-table-${ filter.field }-conditions` }\n\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\tchecked={\n\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\toperator\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\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\te.target\n\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\tvalue: filterInView?.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{ 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</DropdownMenuRadioItem>\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</DropdownMenu>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</WithSeparators>\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t</WithSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\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\nfunction BulkSelectionCheckbox( { selection, onSelectionChange, data } ) {\n\tconst areAllSelected = selection.length === data.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && selection.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( data );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tlabel={ areAllSelected ? __( 'Deselect all' ) : __( 'Select all' ) }\n\t\t/>\n\t);\n}\n\nfunction SingleSelectionCheckbox( {\n\tselection,\n\tonSelectionChange,\n\titem,\n\tdata,\n\tgetItemId,\n\tprimaryField,\n} ) {\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tisSelected ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = isSelected\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ isSelected }\n\t\t\tlabel={ selectionLabel }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId === id || selection.includes( itemId )\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} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId !== id && selection.includes( itemId )\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}\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction ViewTable( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tgetItemId,\n\tisLoading = false,\n\tdeferredRendering,\n\tselection,\n\tonSelectionChange,\n} ) {\n\tconst hasBulkActions = actions?.some( ( action ) => action.supportsBulk );\n\tconst headerMenuRefs = useRef( new Map() );\n\tconst headerMenuToFocusRef = useRef();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] = useState();\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst asyncData = useAsyncList( data );\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus();\n\t\treturn;\n\t}\n\n\tconst onHide = ( field ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = headerMenuRefs.current.get( hidden.fallback );\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst usedData = deferredRendering ? asyncData : data;\n\tconst hasData = !! usedData?.length;\n\tconst sortValues = { asc: 'ascending', desc: 'descending' };\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<div className=\"dataviews-view-table-wrapper\">\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: 20,\n\t\t\t\t\t\t\t\t\tminWidth: 20,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id &&\n\t\t\t\t\t\t\t\t\tsortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\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\tonHide={ onHide }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tusedData.map( ( item, index ) => (\n\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__row',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-selected': selection.includes(\n\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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>\n\t\t\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: 20,\n\t\t\t\t\t\t\t\t\t\t\tminWidth: 20,\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<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\t\t\tminWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.minWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.maxWidth || undefined,\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<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\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'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryField?.id ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t\t\t<td className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","useAsyncList","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","forwardRef","useEffect","useId","useRef","useState","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","ENUMERATION_TYPE","SORTING_DIRECTIONS","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithSeparators","children","toArray","filter","Boolean","map","child","i","createElement","key","sortArrows","asc","desc","HeaderMenu","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","type","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","Object","entries","info","isChecked","value","name","checked","onChange","label","prefix","icon","onClick","page","undefined","operator","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","areAllSelected","__nextHasNoMarginBottom","indeterminate","ViewTable","fields","actions","getItemId","isLoading","deferredRendering","hasBulkActions","action","supportsBulk","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","current","focus","asyncData","tableNoticeId","hidden","get","fallback","node","visibleFields","includes","layout","mediaField","usedData","hasData","sortValues","primaryField","find","width","scope","index","maxWidth","set","delete","item","render"],"sources":["@wordpress/dataviews/src/view-table.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport { ENUMERATION_TYPE, SORTING_DIRECTIONS } from './constants';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\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\nconst sortArrows = { asc: '↑', desc: '↓' };\n\nconst HeaderMenu = forwardRef( function HeaderMenu(\n\t{ field, view, onChangeView, onHide, setOpenedFilter },\n\tref\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\tfield.type === ENUMERATION_TYPE &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ isSorted && sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ Object.entries( SORTING_DIRECTIONS ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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{ info.label }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( 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\thiddenFields: view.hiddenFields.concat(\n\t\t\t\t\t\t\t\t\tfield.id\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{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\nfunction BulkSelectionCheckbox( { selection, onSelectionChange, data } ) {\n\tconst areAllSelected = selection.length === data.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && selection.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( data );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tlabel={ areAllSelected ? __( 'Deselect all' ) : __( 'Select all' ) }\n\t\t/>\n\t);\n}\n\nfunction ViewTable( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tgetItemId,\n\tisLoading = false,\n\tdeferredRendering,\n\tselection,\n\tonSelectionChange,\n\tsetOpenedFilter,\n} ) {\n\tconst hasBulkActions = actions?.some( ( action ) => action.supportsBulk );\n\tconst headerMenuRefs = useRef( new Map() );\n\tconst headerMenuToFocusRef = useRef();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] = useState();\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst asyncData = useAsyncList( data );\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus();\n\t\treturn;\n\t}\n\n\tconst onHide = ( field ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = headerMenuRefs.current.get( hidden.fallback );\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst usedData = deferredRendering ? asyncData : data;\n\tconst hasData = !! usedData?.length;\n\tconst sortValues = { asc: 'ascending', desc: 'descending' };\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<div className=\"dataviews-view-table-wrapper\">\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: 20,\n\t\t\t\t\t\t\t\t\tminWidth: 20,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id &&\n\t\t\t\t\t\t\t\t\tsortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\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\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tusedData.map( ( item, index ) => (\n\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__row',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-selected': selection.includes(\n\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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>\n\t\t\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: 20,\n\t\t\t\t\t\t\t\t\t\t\tminWidth: 20,\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<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\t\t\tminWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.minWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.maxWidth || undefined,\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<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\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'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryField?.id ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t\t\t<td className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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"}