@wordpress/edit-site 5.20.1 → 5.21.1-next.f8d8eceb.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.
Files changed (260) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +121 -0
  3. package/build/components/actions/index.js.map +1 -0
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +17 -13
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/block-editor/resize-handle.js +2 -1
  7. package/build/components/block-editor/resize-handle.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +12 -4
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/create-template-part-modal/index.js +10 -6
  11. package/build/components/create-template-part-modal/index.js.map +1 -1
  12. package/build/components/dataviews/context.js +15 -0
  13. package/build/components/dataviews/context.js.map +1 -0
  14. package/build/components/dataviews/dataviews.js +50 -33
  15. package/build/components/dataviews/dataviews.js.map +1 -1
  16. package/build/components/dataviews/filters.js +74 -0
  17. package/build/components/dataviews/filters.js.map +1 -0
  18. package/build/components/dataviews/in-filter.js +49 -0
  19. package/build/components/dataviews/in-filter.js.map +1 -0
  20. package/build/components/dataviews/index.js +0 -7
  21. package/build/components/dataviews/index.js.map +1 -1
  22. package/build/components/dataviews/item-actions.js +62 -0
  23. package/build/components/dataviews/item-actions.js.map +1 -0
  24. package/build/components/dataviews/pagination.js +74 -45
  25. package/build/components/dataviews/pagination.js.map +1 -1
  26. package/build/components/dataviews/{text-filter.js → search.js} +21 -15
  27. package/build/components/dataviews/search.js.map +1 -0
  28. package/build/components/dataviews/view-actions.js +94 -56
  29. package/build/components/dataviews/view-actions.js.map +1 -1
  30. package/build/components/dataviews/view-grid.js +59 -0
  31. package/build/components/dataviews/view-grid.js.map +1 -0
  32. package/build/components/dataviews/view-list.js +283 -0
  33. package/build/components/dataviews/view-list.js.map +1 -0
  34. package/build/components/editor/index.js +2 -1
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/context.js +16 -10
  37. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/font-collection.js +20 -6
  39. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  40. package/build/components/global-styles/screen-block.js +2 -10
  41. package/build/components/global-styles/screen-block.js.map +1 -1
  42. package/build/components/global-styles/screen-root.js +1 -2
  43. package/build/components/global-styles/screen-root.js.map +1 -1
  44. package/build/components/global-styles/ui.js +3 -4
  45. package/build/components/global-styles/ui.js.map +1 -1
  46. package/build/components/layout/index.js +10 -2
  47. package/build/components/layout/index.js.map +1 -1
  48. package/build/components/media/index.js +34 -0
  49. package/build/components/media/index.js.map +1 -0
  50. package/build/components/page-actions/index.js +0 -2
  51. package/build/components/page-actions/index.js.map +1 -1
  52. package/build/components/page-pages/default-views.js +60 -0
  53. package/build/components/page-pages/default-views.js.map +1 -0
  54. package/build/components/page-pages/index.js +174 -107
  55. package/build/components/page-pages/index.js.map +1 -1
  56. package/build/components/page-patterns/delete-category-menu-item.js +89 -0
  57. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -0
  58. package/build/components/page-patterns/duplicate-menu-item.js +52 -131
  59. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  60. package/build/components/page-patterns/grid-item.js +1 -0
  61. package/build/components/page-patterns/grid-item.js.map +1 -1
  62. package/build/components/page-patterns/header.js +25 -3
  63. package/build/components/page-patterns/header.js.map +1 -1
  64. package/build/components/page-patterns/rename-category-menu-item.js +49 -0
  65. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/rename-menu-item.js +1 -1
  67. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -0
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/pattern-modal/duplicate.js +65 -0
  71. package/build/components/pattern-modal/duplicate.js.map +1 -0
  72. package/build/components/pattern-modal/index.js +24 -0
  73. package/build/components/pattern-modal/index.js.map +1 -0
  74. package/build/components/pattern-modal/rename.js +42 -0
  75. package/build/components/pattern-modal/rename.js.map +1 -0
  76. package/build/components/sidebar/index.js +3 -1
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/index.js +72 -0
  79. package/build/components/sidebar-dataviews/index.js.map +1 -0
  80. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  81. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  83. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  85. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
  87. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  88. package/build/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  89. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  90. package/build/hooks/commands/use-common-commands.js +1 -2
  91. package/build/hooks/commands/use-common-commands.js.map +1 -1
  92. package/build/hooks/commands/use-edit-mode-commands.js +50 -0
  93. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  94. package/build/lock-unlock.js +1 -1
  95. package/build/lock-unlock.js.map +1 -1
  96. package/build/store/selectors.js +4 -5
  97. package/build/store/selectors.js.map +1 -1
  98. package/build-module/components/actions/index.js +108 -0
  99. package/build-module/components/actions/index.js.map +1 -0
  100. package/build-module/components/add-new-template/add-custom-template-modal-content.js +16 -12
  101. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  102. package/build-module/components/block-editor/resize-handle.js +2 -1
  103. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  104. package/build-module/components/block-editor/use-site-editor-settings.js +12 -4
  105. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  106. package/build-module/components/create-template-part-modal/index.js +10 -6
  107. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  108. package/build-module/components/dataviews/context.js +7 -0
  109. package/build-module/components/dataviews/context.js.map +1 -0
  110. package/build-module/components/dataviews/dataviews.js +49 -32
  111. package/build-module/components/dataviews/dataviews.js.map +1 -1
  112. package/build-module/components/dataviews/filters.js +66 -0
  113. package/build-module/components/dataviews/filters.js.map +1 -0
  114. package/build-module/components/dataviews/in-filter.js +41 -0
  115. package/build-module/components/dataviews/in-filter.js.map +1 -0
  116. package/build-module/components/dataviews/index.js +0 -1
  117. package/build-module/components/dataviews/index.js.map +1 -1
  118. package/build-module/components/dataviews/item-actions.js +55 -0
  119. package/build-module/components/dataviews/item-actions.js.map +1 -0
  120. package/build-module/components/dataviews/pagination.js +73 -46
  121. package/build-module/components/dataviews/pagination.js.map +1 -1
  122. package/build-module/components/dataviews/search.js +42 -0
  123. package/build-module/components/dataviews/search.js.map +1 -0
  124. package/build-module/components/dataviews/view-actions.js +95 -54
  125. package/build-module/components/dataviews/view-actions.js.map +1 -1
  126. package/build-module/components/dataviews/view-grid.js +51 -0
  127. package/build-module/components/dataviews/view-grid.js.map +1 -0
  128. package/build-module/components/dataviews/view-list.js +274 -0
  129. package/build-module/components/dataviews/view-list.js.map +1 -0
  130. package/build-module/components/editor/index.js +2 -1
  131. package/build-module/components/editor/index.js.map +1 -1
  132. package/build-module/components/global-styles/font-library-modal/context.js +16 -10
  133. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  134. package/build-module/components/global-styles/font-library-modal/font-collection.js +20 -6
  135. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  136. package/build-module/components/global-styles/screen-block.js +2 -10
  137. package/build-module/components/global-styles/screen-block.js.map +1 -1
  138. package/build-module/components/global-styles/screen-root.js +1 -2
  139. package/build-module/components/global-styles/screen-root.js.map +1 -1
  140. package/build-module/components/global-styles/ui.js +3 -4
  141. package/build-module/components/global-styles/ui.js.map +1 -1
  142. package/build-module/components/layout/index.js +11 -3
  143. package/build-module/components/layout/index.js.map +1 -1
  144. package/build-module/components/media/index.js +26 -0
  145. package/build-module/components/media/index.js.map +1 -0
  146. package/build-module/components/page-actions/index.js +0 -2
  147. package/build-module/components/page-actions/index.js.map +1 -1
  148. package/build-module/components/page-pages/default-views.js +53 -0
  149. package/build-module/components/page-pages/default-views.js.map +1 -0
  150. package/build-module/components/page-pages/index.js +175 -110
  151. package/build-module/components/page-pages/index.js.map +1 -1
  152. package/build-module/components/page-patterns/delete-category-menu-item.js +82 -0
  153. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -0
  154. package/build-module/components/page-patterns/duplicate-menu-item.js +54 -133
  155. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  156. package/build-module/components/page-patterns/grid-item.js +1 -0
  157. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  158. package/build-module/components/page-patterns/header.js +26 -4
  159. package/build-module/components/page-patterns/header.js.map +1 -1
  160. package/build-module/components/page-patterns/rename-category-menu-item.js +42 -0
  161. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -0
  162. package/build-module/components/page-patterns/rename-menu-item.js +1 -1
  163. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  164. package/build-module/components/page-patterns/use-patterns.js +1 -0
  165. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  166. package/build-module/components/pattern-modal/duplicate.js +57 -0
  167. package/build-module/components/pattern-modal/duplicate.js.map +1 -0
  168. package/build-module/components/pattern-modal/index.js +14 -0
  169. package/build-module/components/pattern-modal/index.js.map +1 -0
  170. package/build-module/components/pattern-modal/rename.js +34 -0
  171. package/build-module/components/pattern-modal/rename.js.map +1 -0
  172. package/build-module/components/sidebar/index.js +3 -1
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-dataviews/index.js +64 -0
  175. package/build-module/components/sidebar-dataviews/index.js.map +1 -0
  176. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  177. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  179. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  181. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
  183. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  184. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  185. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  186. package/build-module/hooks/commands/use-common-commands.js +1 -2
  187. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  188. package/build-module/hooks/commands/use-edit-mode-commands.js +51 -1
  189. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  190. package/build-module/lock-unlock.js +1 -1
  191. package/build-module/lock-unlock.js.map +1 -1
  192. package/build-module/store/selectors.js +4 -5
  193. package/build-module/store/selectors.js.map +1 -1
  194. package/build-style/style-rtl.css +48 -11
  195. package/build-style/style.css +48 -11
  196. package/package.json +40 -40
  197. package/src/components/actions/index.js +123 -0
  198. package/src/components/add-new-template/add-custom-template-modal-content.js +22 -17
  199. package/src/components/block-editor/resize-handle.js +1 -0
  200. package/src/components/block-editor/use-site-editor-settings.js +21 -13
  201. package/src/components/create-template-part-modal/index.js +9 -5
  202. package/src/components/dataviews/README.md +194 -0
  203. package/src/components/dataviews/context.js +7 -0
  204. package/src/components/dataviews/dataviews.js +55 -34
  205. package/src/components/dataviews/filters.js +75 -0
  206. package/src/components/dataviews/in-filter.js +45 -0
  207. package/src/components/dataviews/index.js +0 -1
  208. package/src/components/dataviews/item-actions.js +69 -0
  209. package/src/components/dataviews/pagination.js +80 -59
  210. package/src/components/dataviews/search.js +41 -0
  211. package/src/components/dataviews/style.scss +18 -3
  212. package/src/components/dataviews/view-actions.js +108 -63
  213. package/src/components/dataviews/view-grid.js +65 -0
  214. package/src/components/dataviews/view-list.js +348 -0
  215. package/src/components/editor/index.js +2 -0
  216. package/src/components/global-styles/font-library-modal/context.js +17 -11
  217. package/src/components/global-styles/font-library-modal/font-collection.js +19 -11
  218. package/src/components/global-styles/screen-block.js +2 -9
  219. package/src/components/global-styles/screen-root.js +1 -2
  220. package/src/components/global-styles/style.scss +16 -4
  221. package/src/components/global-styles/ui.js +1 -2
  222. package/src/components/layout/index.js +12 -4
  223. package/src/components/media/index.js +25 -0
  224. package/src/components/page-actions/index.js +1 -7
  225. package/src/components/page-pages/default-views.js +58 -0
  226. package/src/components/page-pages/index.js +181 -108
  227. package/src/components/page-pages/style.scss +3 -0
  228. package/src/components/page-patterns/delete-category-menu-item.js +104 -0
  229. package/src/components/page-patterns/duplicate-menu-item.js +68 -181
  230. package/src/components/page-patterns/grid-item.js +1 -0
  231. package/src/components/page-patterns/header.js +42 -6
  232. package/src/components/page-patterns/rename-category-menu-item.js +45 -0
  233. package/src/components/page-patterns/rename-menu-item.js +2 -2
  234. package/src/components/page-patterns/style.scss +8 -0
  235. package/src/components/page-patterns/use-patterns.js +5 -0
  236. package/src/components/pattern-modal/duplicate.js +53 -0
  237. package/src/components/pattern-modal/index.js +19 -0
  238. package/src/components/pattern-modal/rename.js +29 -0
  239. package/src/components/sidebar/index.js +2 -0
  240. package/src/components/sidebar-dataviews/index.js +65 -0
  241. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +4 -0
  242. package/src/components/sidebar-navigation-screen/style.scss +17 -5
  243. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -7
  244. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -8
  245. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
  246. package/src/components/sidebar-navigation-screen-template/home-template-details.js +21 -7
  247. package/src/hooks/commands/use-common-commands.js +1 -2
  248. package/src/hooks/commands/use-edit-mode-commands.js +43 -0
  249. package/src/lock-unlock.js +1 -1
  250. package/src/store/selectors.js +9 -10
  251. package/src/style.scss +1 -0
  252. package/build/components/dataviews/list-view.js +0 -89
  253. package/build/components/dataviews/list-view.js.map +0 -1
  254. package/build/components/dataviews/text-filter.js.map +0 -1
  255. package/build-module/components/dataviews/list-view.js +0 -80
  256. package/build-module/components/dataviews/list-view.js.map +0 -1
  257. package/build-module/components/dataviews/text-filter.js +0 -36
  258. package/build-module/components/dataviews/text-filter.js.map +0 -1
  259. package/src/components/dataviews/list-view.js +0 -106
  260. package/src/components/dataviews/text-filter.js +0 -37
@@ -4,17 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = TextFilter;
7
+ exports.default = Search;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _element = require("@wordpress/element");
12
11
  var _components = require("@wordpress/components");
13
12
  var _useDebouncedInput = _interopRequireDefault(require("../../utils/use-debounced-input"));
14
- /**
15
- * External dependencies
16
- */
17
-
18
13
  /**
19
14
  * WordPress dependencies
20
15
  */
@@ -23,17 +18,28 @@ var _useDebouncedInput = _interopRequireDefault(require("../../utils/use-debounc
23
18
  * Internal dependencies
24
19
  */
25
20
 
26
- function TextFilter({
27
- className,
28
- searchLabel = (0, _i18n.__)('Filter list'),
29
- onChange
21
+ function Search({
22
+ label,
23
+ view,
24
+ onChangeView
30
25
  }) {
31
- const [search, setSearch, debouncedSearch] = (0, _useDebouncedInput.default)();
26
+ const [search, setSearch, debouncedSearch] = (0, _useDebouncedInput.default)(view.search);
27
+ (0, _element.useEffect)(() => {
28
+ setSearch(view.search);
29
+ }, [view]);
30
+ const onChangeViewRef = (0, _element.useRef)(onChangeView);
31
+ (0, _element.useEffect)(() => {
32
+ onChangeViewRef.current = onChangeView;
33
+ }, [onChangeView]);
32
34
  (0, _element.useEffect)(() => {
33
- onChange(debouncedSearch);
34
- }, [debouncedSearch, onChange]);
35
+ onChangeViewRef.current(currentView => ({
36
+ ...currentView,
37
+ page: 1,
38
+ search: debouncedSearch
39
+ }));
40
+ }, [debouncedSearch]);
41
+ const searchLabel = label || (0, _i18n.__)('Filter list');
35
42
  return (0, _react.createElement)(_components.SearchControl, {
36
- className: (0, _classnames.default)('dataviews__text-filter', className),
37
43
  onChange: setSearch,
38
44
  value: search,
39
45
  label: searchLabel,
@@ -41,4 +47,4 @@ function TextFilter({
41
47
  size: "compact"
42
48
  });
43
49
  }
44
- //# sourceMappingURL=text-filter.js.map
50
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_element","_components","_useDebouncedInput","_interopRequireDefault","Search","label","view","onChangeView","search","setSearch","debouncedSearch","useDebouncedInput","useEffect","onChangeViewRef","useRef","current","currentView","page","searchLabel","__","_react","createElement","SearchControl","onChange","value","placeholder","size"],"sources":["@wordpress/edit-site/src/components/dataviews/search.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\n\nexport default function Search( { label, view, onChangeView } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search );\n\t}, [ view ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t}, [ onChangeView ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} ) );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Filter list' );\n\treturn (\n\t\t<SearchControl\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,MAAMA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC/D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAC/DL,IAAI,CAACE,MACN,CAAC;EACD,IAAAI,kBAAS,EAAE,MAAM;IAChBH,SAAS,CAAEH,IAAI,CAACE,MAAO,CAAC;EACzB,CAAC,EAAE,CAAEF,IAAI,CAAG,CAAC;EACb,MAAMO,eAAe,GAAG,IAAAC,eAAM,EAAEP,YAAa,CAAC;EAC9C,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,GAAGR,YAAY;EACvC,CAAC,EAAE,CAAEA,YAAY,CAAG,CAAC;EACrB,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,CAAIC,WAAW,KAAQ;MAC7C,GAAGA,WAAW;MACdC,IAAI,EAAE,CAAC;MACPT,MAAM,EAAEE;IACT,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMQ,WAAW,GAAGb,KAAK,IAAI,IAAAc,QAAE,EAAE,aAAc,CAAC;EAChD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,aAAa;IACbC,QAAQ,EAAGd,SAAW;IACtBe,KAAK,EAAGhB,MAAQ;IAChBH,KAAK,EAAGa,WAAa;IACrBO,WAAW,EAAGP,WAAa;IAC3BQ,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ"}
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PAGE_SIZE_VALUES = void 0;
7
- exports.PageSizeControl = PageSizeControl;
8
6
  exports.default = ViewActions;
9
7
  var _react = require("react");
10
8
  var _components = require("@wordpress/components");
@@ -26,51 +24,69 @@ const {
26
24
  DropdownSubMenuV2,
27
25
  DropdownSubMenuTriggerV2
28
26
  } = (0, _lockUnlock.unlock)(_components.privateApis);
29
- const PAGE_SIZE_VALUES = [5, 20, 50];
30
- exports.PAGE_SIZE_VALUES = PAGE_SIZE_VALUES;
31
- function PageSizeControl({
32
- dataView
27
+ const availableViews = [{
28
+ id: 'list',
29
+ label: (0, _i18n.__)('List')
30
+ }, {
31
+ id: 'grid',
32
+ label: (0, _i18n.__)('Grid')
33
+ }];
34
+ function ViewTypeMenu({
35
+ view,
36
+ onChangeView
33
37
  }) {
34
- const label = (0, _i18n.__)('Rows per page:');
35
- return (0, _react.createElement)(_components.SelectControl, {
36
- __nextHasNoMarginBottom: true,
37
- label: label,
38
- hideLabelFromVision: true
39
- // TODO: This should probably use a label based on the wanted design
40
- // and we could remove InputControlPrefixWrapper usage.
41
- ,
42
- prefix: (0, _react.createElement)(_components.__experimentalInputControlPrefixWrapper, {
43
- as: "span",
44
- className: "dataviews__per-page-control-prefix"
45
- }, label),
46
- value: dataView.getState().pagination.pageSize,
47
- options: PAGE_SIZE_VALUES.map(pageSize => ({
48
- value: pageSize,
49
- label: pageSize
50
- })),
51
- onChange: value => dataView.setPageSize(+value)
52
- });
38
+ const activeView = availableViews.find(v => view.type === v.id);
39
+ return (0, _react.createElement)(DropdownSubMenuV2, {
40
+ trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
41
+ suffix: (0, _react.createElement)(_react.Fragment, null, activeView.label, (0, _react.createElement)(_components.Icon, {
42
+ icon: _icons.chevronRightSmall
43
+ }))
44
+ }, (0, _i18n.__)('Layout'))
45
+ }, availableViews.map(availableView => {
46
+ return (0, _react.createElement)(DropdownMenuItemV2, {
47
+ key: availableView.id,
48
+ prefix: availableView.id === view.type && (0, _react.createElement)(_components.Icon, {
49
+ icon: _icons.check
50
+ }),
51
+ onSelect: event => {
52
+ // We need to handle this on DropDown component probably..
53
+ event.preventDefault();
54
+ onChangeView({
55
+ ...view,
56
+ type: availableView.id
57
+ });
58
+ }
59
+ // TODO: check about role and a11y.
60
+ ,
61
+ role: "menuitemcheckbox"
62
+ }, availableView.label);
63
+ }));
53
64
  }
65
+ const PAGE_SIZE_VALUES = [5, 20, 50];
54
66
  function PageSizeMenu({
55
- dataView
67
+ view,
68
+ onChangeView
56
69
  }) {
57
- const currenPageSize = dataView.getState().pagination.pageSize;
58
70
  return (0, _react.createElement)(DropdownSubMenuV2, {
59
71
  trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
60
- suffix: (0, _react.createElement)(_react.Fragment, null, currenPageSize, (0, _react.createElement)(_components.Icon, {
72
+ suffix: (0, _react.createElement)(_react.Fragment, null, view.perPage, (0, _react.createElement)(_components.Icon, {
61
73
  icon: _icons.chevronRightSmall
62
74
  }))
63
75
  }, (0, _i18n.__)('Rows per page'))
64
76
  }, PAGE_SIZE_VALUES.map(size => {
65
77
  return (0, _react.createElement)(DropdownMenuItemV2, {
66
78
  key: size,
67
- prefix: currenPageSize === size && (0, _react.createElement)(_components.Icon, {
79
+ prefix: view.perPage === size && (0, _react.createElement)(_components.Icon, {
68
80
  icon: _icons.check
69
81
  }),
70
82
  onSelect: event => {
71
83
  // We need to handle this on DropDown component probably..
72
84
  event.preventDefault();
73
- dataView.setPageSize(size);
85
+ onChangeView({
86
+ ...view,
87
+ perPage: size,
88
+ page: 1
89
+ });
74
90
  }
75
91
  // TODO: check about role and a11y.
76
92
  ,
@@ -79,10 +95,12 @@ function PageSizeMenu({
79
95
  }));
80
96
  }
81
97
  function FieldsVisibilityMenu({
82
- dataView
98
+ view,
99
+ onChangeView,
100
+ fields
83
101
  }) {
84
- const hideableFields = dataView.getAllColumns().filter(columnn => columnn.getCanHide());
85
- if (!hideableFields?.length) {
102
+ const hidableFields = fields.filter(field => field.enableHiding !== false);
103
+ if (!hidableFields?.length) {
86
104
  return null;
87
105
  }
88
106
  return (0, _react.createElement)(DropdownSubMenuV2, {
@@ -91,18 +109,21 @@ function FieldsVisibilityMenu({
91
109
  icon: _icons.chevronRightSmall
92
110
  })
93
111
  }, (0, _i18n.__)('Fields'))
94
- }, hideableFields?.map(field => {
112
+ }, hidableFields?.map(field => {
95
113
  return (0, _react.createElement)(DropdownMenuItemV2, {
96
114
  key: field.id,
97
- prefix: field.getIsVisible() && (0, _react.createElement)(_components.Icon, {
115
+ prefix: !view.hiddenFields?.includes(field.id) && (0, _react.createElement)(_components.Icon, {
98
116
  icon: _icons.check
99
117
  }),
100
118
  onSelect: event => {
101
119
  event.preventDefault();
102
- field.getToggleVisibilityHandler()(event);
120
+ onChangeView({
121
+ ...view,
122
+ hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...view.hiddenFields, field.id]
123
+ });
103
124
  },
104
125
  role: "menuitemcheckbox"
105
- }, field.columnDef.header);
126
+ }, field.header);
106
127
  }));
107
128
  }
108
129
 
@@ -118,47 +139,56 @@ const sortingItemsInfo = {
118
139
  }
119
140
  };
120
141
  function SortMenu({
121
- dataView
142
+ fields,
143
+ view,
144
+ onChangeView
122
145
  }) {
123
- const sortableFields = dataView.getAllColumns().filter(columnn => columnn.getCanSort());
146
+ const sortableFields = fields.filter(field => field.enableSorting !== false);
124
147
  if (!sortableFields?.length) {
125
148
  return null;
126
149
  }
127
- const currentSortedField = sortableFields.find(field => field.getIsSorted());
150
+ const currentSortedField = fields.find(field => field.id === view.sort?.field);
128
151
  return (0, _react.createElement)(DropdownSubMenuV2, {
129
152
  trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
130
- suffix: (0, _react.createElement)(_react.Fragment, null, currentSortedField?.columnDef.header, (0, _react.createElement)(_components.Icon, {
153
+ suffix: (0, _react.createElement)(_react.Fragment, null, currentSortedField?.header, (0, _react.createElement)(_components.Icon, {
131
154
  icon: _icons.chevronRightSmall
132
155
  }))
133
156
  }, (0, _i18n.__)('Sort by'))
134
157
  }, sortableFields?.map(field => {
135
- const sortedDirection = field.getIsSorted();
158
+ const sortedDirection = view.sort?.direction;
136
159
  return (0, _react.createElement)(DropdownSubMenuV2, {
137
160
  key: field.id,
138
161
  trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
139
162
  suffix: (0, _react.createElement)(_components.Icon, {
140
163
  icon: _icons.chevronRightSmall
141
164
  })
142
- }, field.columnDef.header),
165
+ }, field.header),
143
166
  side: "left"
144
167
  }, Object.entries(sortingItemsInfo).map(([direction, info]) => {
168
+ const isActive = currentSortedField && sortedDirection === direction && field.id === currentSortedField.id;
145
169
  return (0, _react.createElement)(DropdownMenuItemV2, {
146
170
  key: direction,
147
171
  prefix: (0, _react.createElement)(_components.Icon, {
148
172
  icon: info.icon
149
173
  }),
150
- suffix: sortedDirection === direction && (0, _react.createElement)(_components.Icon, {
174
+ suffix: isActive && (0, _react.createElement)(_components.Icon, {
151
175
  icon: _icons.check
152
176
  }),
153
177
  onSelect: event => {
154
178
  event.preventDefault();
155
179
  if (sortedDirection === direction) {
156
- dataView.resetSorting();
180
+ onChangeView({
181
+ ...view,
182
+ sort: undefined
183
+ });
157
184
  } else {
158
- dataView.setSorting([{
159
- id: field.id,
160
- desc: direction === 'desc'
161
- }]);
185
+ onChangeView({
186
+ ...view,
187
+ sort: {
188
+ field: field.id,
189
+ direction
190
+ }
191
+ });
162
192
  }
163
193
  }
164
194
  }, info.label);
@@ -166,24 +196,32 @@ function SortMenu({
166
196
  }));
167
197
  }
168
198
  function ViewActions({
169
- dataView,
170
- className
199
+ fields,
200
+ view,
201
+ onChangeView
171
202
  }) {
172
203
  return (0, _react.createElement)(DropdownMenuV2, {
173
204
  label: (0, _i18n.__)('Actions'),
174
- className: className,
175
205
  trigger: (0, _react.createElement)(_components.Button, {
176
206
  variant: "tertiary",
177
207
  icon: _icons.blockTable
178
208
  }, (0, _i18n.__)('View'), (0, _react.createElement)(_components.Icon, {
179
209
  icon: _icons.chevronDown
180
210
  }))
181
- }, (0, _react.createElement)(DropdownMenuGroupV2, null, (0, _react.createElement)(SortMenu, {
182
- dataView: dataView
211
+ }, (0, _react.createElement)(DropdownMenuGroupV2, null, (0, _react.createElement)(ViewTypeMenu, {
212
+ view: view,
213
+ onChangeView: onChangeView
214
+ }), (0, _react.createElement)(SortMenu, {
215
+ fields: fields,
216
+ view: view,
217
+ onChangeView: onChangeView
183
218
  }), (0, _react.createElement)(FieldsVisibilityMenu, {
184
- dataView: dataView
219
+ fields: fields,
220
+ view: view,
221
+ onChangeView: onChangeView
185
222
  }), (0, _react.createElement)(PageSizeMenu, {
186
- dataView: dataView
223
+ view: view,
224
+ onChangeView: onChangeView
187
225
  })));
188
226
  }
189
227
  //# sourceMappingURL=view-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","unlock","componentsPrivateApis","PAGE_SIZE_VALUES","exports","PageSizeControl","dataView","label","__","_react","createElement","SelectControl","__nextHasNoMarginBottom","hideLabelFromVision","prefix","__experimentalInputControlPrefixWrapper","as","className","value","getState","pagination","pageSize","options","map","onChange","setPageSize","PageSizeMenu","currenPageSize","trigger","suffix","Fragment","Icon","icon","chevronRightSmall","size","key","check","onSelect","event","preventDefault","role","FieldsVisibilityMenu","hideableFields","getAllColumns","filter","columnn","getCanHide","length","field","id","getIsVisible","getToggleVisibilityHandler","columnDef","header","sortingItemsInfo","asc","arrowUp","desc","arrowDown","SortMenu","sortableFields","getCanSort","currentSortedField","find","getIsSorted","sortedDirection","side","Object","entries","direction","info","resetSorting","setSorting","ViewActions","Button","variant","blockTable","chevronDown"],"sources":["@wordpress/edit-site/src/components/dataviews/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tSelectControl,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport {\n\tchevronRightSmall,\n\tcheck,\n\tblockTable,\n\tchevronDown,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\n} = unlock( componentsPrivateApis );\n\nexport const PAGE_SIZE_VALUES = [ 5, 20, 50 ];\n\nexport function PageSizeControl( { dataView } ) {\n\tconst label = __( 'Rows per page:' );\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\t// TODO: This should probably use a label based on the wanted design\n\t\t\t// and we could remove InputControlPrefixWrapper usage.\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"span\"\n\t\t\t\t\tclassName=\"dataviews__per-page-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\tvalue={ dataView.getState().pagination.pageSize }\n\t\t\toptions={ PAGE_SIZE_VALUES.map( ( pageSize ) => ( {\n\t\t\t\tvalue: pageSize,\n\t\t\t\tlabel: pageSize,\n\t\t\t} ) ) }\n\t\t\tonChange={ ( value ) => dataView.setPageSize( +value ) }\n\t\t/>\n\t);\n}\n\nfunction PageSizeMenu( { dataView } ) {\n\tconst currenPageSize = dataView.getState().pagination.pageSize;\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currenPageSize }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tcurrenPageSize === size && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdataView.setPageSize( size );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ size }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { dataView } ) {\n\tconst hideableFields = dataView\n\t\t.getAllColumns()\n\t\t.filter( ( columnn ) => columnn.getCanHide() );\n\tif ( ! hideableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ hideableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tfield.getIsVisible() && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfield.getToggleVisibilityHandler()( event );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ field.columnDef.header }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\n// This object is used to construct the sorting options per sortable field.\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nfunction SortMenu( { dataView } ) {\n\tconst sortableFields = dataView\n\t\t.getAllColumns()\n\t\t.filter( ( columnn ) => columnn.getCanSort() );\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = sortableFields.find( ( field ) =>\n\t\tfield.getIsSorted()\n\t);\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currentSortedField?.columnDef.header }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = field.getIsSorted();\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenuV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ field.columnDef.header }\n\t\t\t\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside=\"left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\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\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tdataView.resetSorting();\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tdataView.setSorting( [\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\tid: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc:\n\t\t\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\t\t\t'desc',\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} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemV2>\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</DropdownSubMenuV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nexport default function ViewActions( { dataView, className } ) {\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName={ className }\n\t\t\ttrigger={\n\t\t\t\t<Button variant=\"tertiary\" icon={ blockTable }>\n\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t<Icon icon={ chevronDown } />\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroupV2>\n\t\t\t\t<SortMenu dataView={ dataView } />\n\t\t\t\t<FieldsVisibilityMenu dataView={ dataView } />\n\t\t\t\t<PageSizeMenu dataView={ dataView } />\n\t\t\t</DropdownMenuGroupV2>\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","unlock","componentsPrivateApis","availableViews","id","label","__","ViewTypeMenu","view","onChangeView","activeView","find","v","type","_react","createElement","trigger","suffix","Fragment","Icon","icon","chevronRightSmall","map","availableView","key","prefix","check","onSelect","event","preventDefault","role","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","filter","field","enableHiding","length","hiddenFields","includes","header","sortingItemsInfo","asc","arrowUp","desc","arrowDown","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","undefined","ViewActions","Button","variant","blockTable","chevronDown"],"sources":["@wordpress/edit-site/src/components/dataviews/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tchevronRightSmall,\n\tcheck,\n\tblockTable,\n\tchevronDown,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\n} = unlock( componentsPrivateApis );\n\nconst availableViews = [\n\t{\n\t\tid: 'list',\n\t\tlabel: __( 'List' ),\n\t},\n\t{\n\t\tid: 'grid',\n\t\tlabel: __( 'Grid' ),\n\t},\n];\n\nfunction ViewTypeMenu( { view, onChangeView } ) {\n\tconst activeView = availableViews.find( ( v ) => view.type === v.id );\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ activeView.label }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ availableViews.map( ( availableView ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ availableView.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tavailableView.id === view.type && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( { ...view, type: availableView.id } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ availableView.label }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 5, 20, 50 ];\nfunction PageSizeMenu( { view, onChangeView } ) {\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ view.perPage }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tview.perPage === size && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( { ...view, perPage: size, page: 1 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ size }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { view, onChangeView, fields } ) {\n\tconst hidableFields = fields.filter(\n\t\t( field ) => field.enableHiding !== false\n\t);\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t! view.hiddenFields?.includes( field.id ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\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?.includes(\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\t\t? view.hiddenFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...view.hiddenFields, field.id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\n// This object is used to construct the sorting options per sortable field.\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nfunction SortMenu( { fields, view, onChangeView } ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currentSortedField?.header }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenuV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside=\"left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\tcurrentSortedField &&\n\t\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tisActive && <Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction\n\t\t\t\t\t\t\t\t\t\t\t) {\n\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...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsort: undefined,\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} else {\n\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...view,\n\t\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\t\tfield: field.id,\n\t\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\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} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemV2>\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</DropdownSubMenuV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nexport default function ViewActions( { fields, view, onChangeView } ) {\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\ttrigger={\n\t\t\t\t<Button variant=\"tertiary\" icon={ blockTable }>\n\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t<Icon icon={ chevronDown } />\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroupV2>\n\t\t\t\t<ViewTypeMenu view={ view } onChangeView={ onChangeView } />\n\t\t\t\t<SortMenu\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/>\n\t\t\t\t<FieldsVisibilityMenu\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/>\n\t\t\t\t<PageSizeMenu view={ view } onChangeView={ onChangeView } />\n\t\t\t</DropdownMenuGroupV2>\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ViewGrid = ViewGrid;
8
+ var _react = require("react");
9
+ var _components = require("@wordpress/components");
10
+ var _itemActions = _interopRequireDefault(require("./item-actions"));
11
+ /**
12
+ * WordPress dependencies
13
+ */
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+
19
+ function ViewGrid({
20
+ data,
21
+ fields,
22
+ view,
23
+ actions
24
+ }) {
25
+ const mediaField = fields.find(field => field.id === view.layout.mediaField);
26
+ const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && field.id !== view.layout.mediaField);
27
+ return (0, _react.createElement)(_components.__experimentalGrid, {
28
+ gap: 8,
29
+ columns: 2,
30
+ alignment: "top"
31
+ }, data.map((item, index) => {
32
+ return (0, _react.createElement)(_components.__experimentalVStack, {
33
+ key: index
34
+ }, (0, _react.createElement)("div", {
35
+ className: "dataviews-view-grid__media"
36
+ }, mediaField?.render({
37
+ item,
38
+ view
39
+ }) || (0, _react.createElement)(_components.Placeholder, {
40
+ withIllustration: true,
41
+ style: {
42
+ width: '100%',
43
+ minHeight: '200px'
44
+ }
45
+ })), (0, _react.createElement)(_components.__experimentalHStack, {
46
+ justify: "space-between",
47
+ alignment: "top"
48
+ }, (0, _react.createElement)(_components.FlexBlock, null, (0, _react.createElement)(_components.__experimentalVStack, null, visibleFields.map(field => (0, _react.createElement)("div", {
49
+ key: field.id
50
+ }, field.render({
51
+ item,
52
+ view
53
+ }))))), (0, _react.createElement)(_components.FlexBlock, null, (0, _react.createElement)(_itemActions.default, {
54
+ item: item,
55
+ actions: actions
56
+ }))));
57
+ }));
58
+ }
59
+ //# sourceMappingURL=view-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_itemActions","_interopRequireDefault","ViewGrid","data","fields","view","actions","mediaField","find","field","id","layout","visibleFields","filter","hiddenFields","includes","_react","createElement","__experimentalGrid","gap","columns","alignment","map","item","index","__experimentalVStack","key","className","render","Placeholder","withIllustration","style","width","minHeight","__experimentalHStack","justify","FlexBlock","default"],"sources":["@wordpress/edit-site/src/components/dataviews/view-grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tFlexBlock,\n\tPlaceholder,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\n\nexport function ViewGrid( { data, fields, view, actions } ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\tfield.id !== view.layout.mediaField\n\t);\n\treturn (\n\t\t<Grid gap={ 8 } columns={ 2 } alignment=\"top\">\n\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack key={ index }>\n\t\t\t\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t\t\t\t{ mediaField?.render( { item, view } ) || (\n\t\t\t\t\t\t\t\t<Placeholder\n\t\t\t\t\t\t\t\t\twithIllustration\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\tminHeight: '200px',\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</div>\n\n\t\t\t\t\t\t<HStack justify=\"space-between\" alignment=\"top\">\n\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div key={ field.id }>\n\t\t\t\t\t\t\t\t\t\t\t{ field.render( { item, view } ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAWA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGO,SAASG,QAAQA,CAAE;EAAEC,IAAI;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,UAAU,GAAGH,MAAM,CAACI,IAAI,CAC3BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKL,IAAI,CAACM,MAAM,CAACJ,UACvC,CAAC;EACD,MAAMK,aAAa,GAAGR,MAAM,CAACS,MAAM,CAChCJ,KAAK,IACN,CAAEJ,IAAI,CAACS,YAAY,CAACC,QAAQ,CAAEN,KAAK,CAACC,EAAG,CAAC,IACxCD,KAAK,CAACC,EAAE,KAAKL,IAAI,CAACM,MAAM,CAACJ,UAC3B,CAAC;EACD,OACC,IAAAS,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,kBAAI;IAACC,GAAG,EAAG,CAAG;IAACC,OAAO,EAAG,CAAG;IAACC,SAAS,EAAC;EAAK,GAC1ClB,IAAI,CAACmB,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAAM;IAC9B,OACC,IAAAR,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA2B,oBAAM;MAACC,GAAG,EAAGF;IAAO,GACpB,IAAAR,MAAA,CAAAC,aAAA;MAAKU,SAAS,EAAC;IAA4B,GACxCpB,UAAU,EAAEqB,MAAM,CAAE;MAAEL,IAAI;MAAElB;IAAK,CAAE,CAAC,IACrC,IAAAW,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA+B,WAAW;MACXC,gBAAgB;MAChBC,KAAK,EAAG;QACPC,KAAK,EAAE,MAAM;QACbC,SAAS,EAAE;MACZ;IAAG,CACH,CAEE,CAAC,EAEN,IAAAjB,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoC,oBAAM;MAACC,OAAO,EAAC,eAAe;MAACd,SAAS,EAAC;IAAK,GAC9C,IAAAL,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAsC,SAAS,QACT,IAAApB,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA2B,oBAAM,QACJb,aAAa,CAACU,GAAG,CAAIb,KAAK,IAC3B,IAAAO,MAAA,CAAAC,aAAA;MAAKS,GAAG,EAAGjB,KAAK,CAACC;IAAI,GAClBD,KAAK,CAACmB,MAAM,CAAE;MAAEL,IAAI;MAAElB;IAAK,CAAE,CAC3B,CACJ,CACK,CACE,CAAC,EACZ,IAAAW,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAsC,SAAS,QACT,IAAApB,MAAA,CAAAC,aAAA,EAACjB,YAAA,CAAAqC,OAAW;MACXd,IAAI,EAAGA,IAAM;MACbjB,OAAO,EAAGA;IAAS,CACnB,CACS,CACJ,CACD,CAAC;EAEX,CAAE,CACG,CAAC;AAET"}