@wordpress/fields 0.5.1-next.cd6172eb0.0 → 0.7.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 (267) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +32 -36
  4. package/build/actions/delete-post.js +5 -0
  5. package/build/actions/delete-post.js.map +1 -1
  6. package/build/actions/duplicate-pattern.js +4 -0
  7. package/build/actions/duplicate-pattern.js.map +1 -1
  8. package/build/actions/duplicate-post.js +8 -3
  9. package/build/actions/duplicate-post.js.map +1 -1
  10. package/build/actions/duplicate-template-part.js +3 -0
  11. package/build/actions/duplicate-template-part.js.map +1 -1
  12. package/build/actions/export-pattern.js +5 -0
  13. package/build/actions/export-pattern.js.map +1 -1
  14. package/build/actions/index.js +0 -21
  15. package/build/actions/index.js.map +1 -1
  16. package/build/actions/permanently-delete-post.js +109 -65
  17. package/build/actions/permanently-delete-post.js.map +1 -1
  18. package/build/actions/rename-post.js +4 -0
  19. package/build/actions/rename-post.js.map +1 -1
  20. package/build/actions/reorder-page.js +4 -0
  21. package/build/actions/reorder-page.js.map +1 -1
  22. package/build/actions/reset-post.js +4 -0
  23. package/build/actions/reset-post.js.map +1 -1
  24. package/build/actions/restore-post.js +5 -0
  25. package/build/actions/restore-post.js.map +1 -1
  26. package/build/actions/trash-post.js +5 -0
  27. package/build/actions/trash-post.js.map +1 -1
  28. package/build/actions/view-post-revisions.js +4 -0
  29. package/build/actions/view-post-revisions.js.map +1 -1
  30. package/build/actions/view-post.js +4 -0
  31. package/build/actions/view-post.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +48 -52
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/create-template-part-modal/utils.js +1 -0
  35. package/build/components/create-template-part-modal/utils.js.map +1 -1
  36. package/build/fields/featured-image/index.js +4 -0
  37. package/build/fields/featured-image/index.js.map +1 -1
  38. package/build/fields/index.js +21 -0
  39. package/build/fields/index.js.map +1 -1
  40. package/build/fields/order/index.js +4 -0
  41. package/build/fields/order/index.js.map +1 -1
  42. package/build/fields/page-title/index.js +36 -0
  43. package/build/fields/page-title/index.js.map +1 -0
  44. package/build/fields/page-title/view.js +49 -0
  45. package/build/fields/page-title/view.js.map +1 -0
  46. package/build/fields/parent/index.js +1 -1
  47. package/build/fields/parent/index.js.map +1 -1
  48. package/build/fields/parent/parent-edit.js +1 -0
  49. package/build/fields/parent/parent-edit.js.map +1 -1
  50. package/build/fields/password/index.js +1 -1
  51. package/build/fields/password/index.js.map +1 -1
  52. package/build/fields/pattern-title/index.js +36 -0
  53. package/build/fields/pattern-title/index.js.map +1 -0
  54. package/build/fields/pattern-title/view.js +45 -0
  55. package/build/fields/pattern-title/view.js.map +1 -0
  56. package/build/fields/slug/index.js +4 -0
  57. package/build/fields/slug/index.js.map +1 -1
  58. package/build/fields/status/status-view.js +1 -0
  59. package/build/fields/status/status-view.js.map +1 -1
  60. package/build/fields/template/index.js +4 -3
  61. package/build/fields/template/index.js.map +1 -1
  62. package/build/fields/template/template-edit.js +1 -0
  63. package/build/fields/template/template-edit.js.map +1 -1
  64. package/build/fields/template-title/index.js +36 -0
  65. package/build/fields/template-title/index.js.map +1 -0
  66. package/build/fields/title/index.js +10 -3
  67. package/build/fields/title/index.js.map +1 -1
  68. package/build/fields/title/view.js +48 -0
  69. package/build/fields/title/view.js.map +1 -0
  70. package/build/index.native.js +0 -26
  71. package/build/index.native.js.map +1 -1
  72. package/build/mutation/index.js +1 -0
  73. package/build/mutation/index.js.map +1 -1
  74. package/build-module/actions/delete-post.js +5 -0
  75. package/build-module/actions/delete-post.js.map +1 -1
  76. package/build-module/actions/duplicate-pattern.js +4 -0
  77. package/build-module/actions/duplicate-pattern.js.map +1 -1
  78. package/build-module/actions/duplicate-post.js +8 -3
  79. package/build-module/actions/duplicate-post.js.map +1 -1
  80. package/build-module/actions/duplicate-template-part.js +3 -0
  81. package/build-module/actions/duplicate-template-part.js.map +1 -1
  82. package/build-module/actions/export-pattern.js +5 -0
  83. package/build-module/actions/export-pattern.js.map +1 -1
  84. package/build-module/actions/index.js +0 -3
  85. package/build-module/actions/index.js.map +1 -1
  86. package/build-module/actions/permanently-delete-post.js +110 -66
  87. package/build-module/actions/permanently-delete-post.js.map +1 -1
  88. package/build-module/actions/rename-post.js +4 -0
  89. package/build-module/actions/rename-post.js.map +1 -1
  90. package/build-module/actions/reorder-page.js +4 -0
  91. package/build-module/actions/reorder-page.js.map +1 -1
  92. package/build-module/actions/reset-post.js +4 -0
  93. package/build-module/actions/reset-post.js.map +1 -1
  94. package/build-module/actions/restore-post.js +5 -0
  95. package/build-module/actions/restore-post.js.map +1 -1
  96. package/build-module/actions/trash-post.js +5 -0
  97. package/build-module/actions/trash-post.js.map +1 -1
  98. package/build-module/actions/view-post-revisions.js +4 -0
  99. package/build-module/actions/view-post-revisions.js.map +1 -1
  100. package/build-module/actions/view-post.js +4 -0
  101. package/build-module/actions/view-post.js.map +1 -1
  102. package/build-module/components/create-template-part-modal/index.js +49 -53
  103. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  104. package/build-module/components/create-template-part-modal/utils.js +1 -0
  105. package/build-module/components/create-template-part-modal/utils.js.map +1 -1
  106. package/build-module/fields/featured-image/index.js +4 -0
  107. package/build-module/fields/featured-image/index.js.map +1 -1
  108. package/build-module/fields/index.js +3 -0
  109. package/build-module/fields/index.js.map +1 -1
  110. package/build-module/fields/order/index.js +4 -0
  111. package/build-module/fields/order/index.js.map +1 -1
  112. package/build-module/fields/page-title/index.js +30 -0
  113. package/build-module/fields/page-title/index.js.map +1 -0
  114. package/build-module/fields/page-title/view.js +43 -0
  115. package/build-module/fields/page-title/view.js.map +1 -0
  116. package/build-module/fields/parent/index.js +1 -1
  117. package/build-module/fields/parent/index.js.map +1 -1
  118. package/build-module/fields/parent/parent-edit.js +1 -0
  119. package/build-module/fields/parent/parent-edit.js.map +1 -1
  120. package/build-module/fields/password/index.js +1 -1
  121. package/build-module/fields/password/index.js.map +1 -1
  122. package/build-module/fields/pattern-title/index.js +30 -0
  123. package/build-module/fields/pattern-title/index.js.map +1 -0
  124. package/build-module/fields/pattern-title/view.js +36 -0
  125. package/build-module/fields/pattern-title/view.js.map +1 -0
  126. package/build-module/fields/slug/index.js +4 -0
  127. package/build-module/fields/slug/index.js.map +1 -1
  128. package/build-module/fields/status/status-view.js +1 -0
  129. package/build-module/fields/status/status-view.js.map +1 -1
  130. package/build-module/fields/template/index.js +4 -3
  131. package/build-module/fields/template/index.js.map +1 -1
  132. package/build-module/fields/template/template-edit.js +1 -0
  133. package/build-module/fields/template/template-edit.js.map +1 -1
  134. package/build-module/fields/template-title/index.js +30 -0
  135. package/build-module/fields/template-title/index.js.map +1 -0
  136. package/build-module/fields/title/index.js +9 -2
  137. package/build-module/fields/title/index.js.map +1 -1
  138. package/build-module/fields/title/view.js +39 -0
  139. package/build-module/fields/title/view.js.map +1 -0
  140. package/build-module/index.native.js +1 -2
  141. package/build-module/index.native.js.map +1 -1
  142. package/build-module/mutation/index.js +1 -0
  143. package/build-module/mutation/index.js.map +1 -1
  144. package/build-style/style-rtl.css +62 -32
  145. package/build-style/style.css +62 -32
  146. package/build-types/actions/delete-post.d.ts +3 -0
  147. package/build-types/actions/delete-post.d.ts.map +1 -1
  148. package/build-types/actions/duplicate-pattern.d.ts +3 -0
  149. package/build-types/actions/duplicate-pattern.d.ts.map +1 -1
  150. package/build-types/actions/duplicate-post.d.ts +3 -0
  151. package/build-types/actions/duplicate-post.d.ts.map +1 -1
  152. package/build-types/actions/duplicate-template-part.d.ts +3 -0
  153. package/build-types/actions/duplicate-template-part.d.ts.map +1 -1
  154. package/build-types/actions/export-pattern.d.ts +3 -0
  155. package/build-types/actions/export-pattern.d.ts.map +1 -1
  156. package/build-types/actions/index.d.ts +0 -3
  157. package/build-types/actions/index.d.ts.map +1 -1
  158. package/build-types/actions/permanently-delete-post.d.ts +3 -0
  159. package/build-types/actions/permanently-delete-post.d.ts.map +1 -1
  160. package/build-types/actions/rename-post.d.ts +3 -0
  161. package/build-types/actions/rename-post.d.ts.map +1 -1
  162. package/build-types/actions/reorder-page.d.ts +3 -0
  163. package/build-types/actions/reorder-page.d.ts.map +1 -1
  164. package/build-types/actions/reset-post.d.ts +3 -0
  165. package/build-types/actions/reset-post.d.ts.map +1 -1
  166. package/build-types/actions/restore-post.d.ts +3 -0
  167. package/build-types/actions/restore-post.d.ts.map +1 -1
  168. package/build-types/actions/trash-post.d.ts +3 -0
  169. package/build-types/actions/trash-post.d.ts.map +1 -1
  170. package/build-types/actions/view-post-revisions.d.ts +3 -0
  171. package/build-types/actions/view-post-revisions.d.ts.map +1 -1
  172. package/build-types/actions/view-post.d.ts +3 -0
  173. package/build-types/actions/view-post.d.ts.map +1 -1
  174. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  175. package/build-types/fields/featured-image/index.d.ts +3 -0
  176. package/build-types/fields/featured-image/index.d.ts.map +1 -1
  177. package/build-types/fields/index.d.ts +3 -0
  178. package/build-types/fields/index.d.ts.map +1 -1
  179. package/build-types/fields/order/index.d.ts +3 -0
  180. package/build-types/fields/order/index.d.ts.map +1 -1
  181. package/build-types/fields/page-title/index.d.ts +14 -0
  182. package/build-types/fields/page-title/index.d.ts.map +1 -0
  183. package/build-types/fields/page-title/view.d.ts +8 -0
  184. package/build-types/fields/page-title/view.d.ts.map +1 -0
  185. package/build-types/fields/parent/index.d.ts +1 -1
  186. package/build-types/fields/password/index.d.ts +1 -1
  187. package/build-types/fields/pattern-title/index.d.ts +14 -0
  188. package/build-types/fields/pattern-title/index.d.ts.map +1 -0
  189. package/build-types/fields/pattern-title/view.d.ts +9 -0
  190. package/build-types/fields/pattern-title/view.d.ts.map +1 -0
  191. package/build-types/fields/slug/index.d.ts +3 -0
  192. package/build-types/fields/slug/index.d.ts.map +1 -1
  193. package/build-types/fields/template/index.d.ts +3 -0
  194. package/build-types/fields/template/index.d.ts.map +1 -1
  195. package/build-types/fields/template-title/index.d.ts +14 -0
  196. package/build-types/fields/template-title/index.d.ts.map +1 -0
  197. package/build-types/fields/title/index.d.ts +7 -2
  198. package/build-types/fields/title/index.d.ts.map +1 -1
  199. package/build-types/fields/title/view.d.ts +14 -0
  200. package/build-types/fields/title/view.d.ts.map +1 -0
  201. package/build-types/index.native.d.ts +0 -2
  202. package/build-types/index.native.d.ts.map +1 -1
  203. package/package.json +25 -25
  204. package/src/actions/delete-post.tsx +3 -0
  205. package/src/actions/duplicate-pattern.tsx +3 -0
  206. package/src/actions/duplicate-post.tsx +6 -3
  207. package/src/actions/duplicate-template-part.tsx +3 -1
  208. package/src/actions/export-pattern.tsx +3 -0
  209. package/src/actions/index.ts +0 -3
  210. package/src/actions/permanently-delete-post.tsx +160 -86
  211. package/src/actions/rename-post.tsx +3 -0
  212. package/src/actions/reorder-page.tsx +3 -0
  213. package/src/actions/reset-post.tsx +3 -0
  214. package/src/actions/restore-post.tsx +3 -0
  215. package/src/actions/trash-post.tsx +3 -0
  216. package/src/actions/view-post-revisions.tsx +3 -0
  217. package/src/actions/view-post.tsx +3 -0
  218. package/src/components/create-template-part-modal/index.tsx +81 -66
  219. package/src/components/create-template-part-modal/style.scss +79 -54
  220. package/src/fields/featured-image/index.ts +3 -0
  221. package/src/fields/index.ts +3 -0
  222. package/src/fields/order/index.ts +3 -0
  223. package/src/fields/page-title/index.ts +28 -0
  224. package/src/fields/page-title/view.tsx +41 -0
  225. package/src/fields/parent/index.ts +1 -1
  226. package/src/fields/password/index.tsx +1 -1
  227. package/src/fields/pattern-title/index.ts +28 -0
  228. package/src/fields/pattern-title/style.scss +3 -0
  229. package/src/fields/pattern-title/view.tsx +32 -0
  230. package/src/fields/slug/index.ts +3 -0
  231. package/src/fields/template/index.ts +3 -1
  232. package/src/fields/template-title/index.ts +28 -0
  233. package/src/fields/title/index.ts +9 -3
  234. package/src/fields/title/style.scss +8 -0
  235. package/src/fields/title/view.tsx +43 -0
  236. package/src/index.native.ts +0 -2
  237. package/src/style.scss +2 -0
  238. package/tsconfig.json +1 -4
  239. package/tsconfig.tsbuildinfo +1 -1
  240. package/build/actions/duplicate-post.native.js +0 -9
  241. package/build/actions/duplicate-post.native.js.map +0 -1
  242. package/build/actions/export-pattern.native.js +0 -9
  243. package/build/actions/export-pattern.native.js.map +0 -1
  244. package/build/actions/reorder-page.native.js +0 -9
  245. package/build/actions/reorder-page.native.js.map +0 -1
  246. package/build/fields/title/title-view.js +0 -61
  247. package/build/fields/title/title-view.js.map +0 -1
  248. package/build-module/actions/duplicate-post.native.js +0 -3
  249. package/build-module/actions/duplicate-post.native.js.map +0 -1
  250. package/build-module/actions/export-pattern.native.js +0 -3
  251. package/build-module/actions/export-pattern.native.js.map +0 -1
  252. package/build-module/actions/reorder-page.native.js +0 -3
  253. package/build-module/actions/reorder-page.native.js.map +0 -1
  254. package/build-module/fields/title/title-view.js +0 -55
  255. package/build-module/fields/title/title-view.js.map +0 -1
  256. package/build-types/actions/duplicate-post.native.d.ts +0 -3
  257. package/build-types/actions/duplicate-post.native.d.ts.map +0 -1
  258. package/build-types/actions/export-pattern.native.d.ts +0 -3
  259. package/build-types/actions/export-pattern.native.d.ts.map +0 -1
  260. package/build-types/actions/reorder-page.native.d.ts +0 -3
  261. package/build-types/actions/reorder-page.native.d.ts.map +0 -1
  262. package/build-types/fields/title/title-view.d.ts +0 -9
  263. package/build-types/fields/title/title-view.d.ts.map +0 -1
  264. package/src/actions/duplicate-post.native.tsx +0 -3
  265. package/src/actions/export-pattern.native.tsx +0 -3
  266. package/src/actions/reorder-page.native.tsx +0 -3
  267. package/src/fields/title/title-view.tsx +0 -61
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
@@ -8,7 +9,12 @@ var _coreData = require("@wordpress/core-data");
8
9
  var _i18n = require("@wordpress/i18n");
9
10
  var _notices = require("@wordpress/notices");
10
11
  var _icons = require("@wordpress/icons");
12
+ var _element = require("@wordpress/element");
13
+ var _data = require("@wordpress/data");
14
+ var _components = require("@wordpress/components");
15
+ var _htmlEntities = require("@wordpress/html-entities");
11
16
  var _utils = require("./utils");
17
+ var _jsxRuntime = require("react/jsx-runtime");
12
18
  /**
13
19
  * WordPress dependencies
14
20
  */
@@ -32,78 +38,116 @@ const permanentlyDeletePost = {
32
38
  } = item;
33
39
  return status === 'trash' && permissions?.delete;
34
40
  },
35
- async callback(posts, {
36
- registry,
41
+ hideModalHeader: true,
42
+ RenderModal: ({
43
+ items,
44
+ closeModal,
37
45
  onActionPerformed
38
- }) {
46
+ }) => {
47
+ const [isBusy, setIsBusy] = (0, _element.useState)(false);
39
48
  const {
40
49
  createSuccessNotice,
41
50
  createErrorNotice
42
- } = registry.dispatch(_notices.store);
51
+ } = (0, _data.useDispatch)(_notices.store);
43
52
  const {
44
53
  deleteEntityRecord
45
- } = registry.dispatch(_coreData.store);
46
- const promiseResult = await Promise.allSettled(posts.map(post => {
47
- return deleteEntityRecord('postType', post.type, post.id, {
48
- force: true
49
- }, {
50
- throwOnError: true
51
- });
52
- }));
53
- // If all the promises were fulfilled with success.
54
- if (promiseResult.every(({
55
- status
56
- }) => status === 'fulfilled')) {
57
- let successMessage;
58
- if (promiseResult.length === 1) {
59
- successMessage = (0, _i18n.sprintf)(/* translators: The posts's title. */
60
- (0, _i18n.__)('"%s" permanently deleted.'), (0, _utils.getItemTitle)(posts[0]));
61
- } else {
62
- successMessage = (0, _i18n.__)('The items were permanently deleted.');
63
- }
64
- createSuccessNotice(successMessage, {
65
- type: 'snackbar',
66
- id: 'permanently-delete-post-action'
67
- });
68
- onActionPerformed?.(posts);
69
- } else {
70
- // If there was at lease one failure.
71
- let errorMessage;
72
- // If we were trying to permanently delete a single post.
73
- if (promiseResult.length === 1) {
74
- const typedError = promiseResult[0];
75
- if (typedError.reason?.message) {
76
- errorMessage = typedError.reason.message;
77
- } else {
78
- errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the item.');
79
- }
80
- // If we were trying to permanently delete multiple posts
81
- } else {
82
- const errorMessages = new Set();
83
- const failedPromises = promiseResult.filter(({
84
- status
85
- }) => status === 'rejected');
86
- for (const failedPromise of failedPromises) {
87
- const typedError = failedPromise;
88
- if (typedError.reason?.message) {
89
- errorMessages.add(typedError.reason.message);
90
- }
91
- }
92
- if (errorMessages.size === 0) {
93
- errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the items.');
94
- } else if (errorMessages.size === 1) {
95
- errorMessage = (0, _i18n.sprintf)(/* translators: %s: an error message */
96
- (0, _i18n.__)('An error occurred while permanently deleting the items: %s'), [...errorMessages][0]);
97
- } else {
98
- errorMessage = (0, _i18n.sprintf)(/* translators: %s: a list of comma separated error messages */
99
- (0, _i18n.__)('Some errors occurred while permanently deleting the items: %s'), [...errorMessages].join(','));
100
- }
101
- }
102
- createErrorNotice(errorMessage, {
103
- type: 'snackbar'
104
- });
105
- }
54
+ } = (0, _data.useDispatch)(_coreData.store);
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
56
+ spacing: "5",
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
58
+ children: items.length > 1 ? (0, _i18n.sprintf)(
59
+ // translators: %d: number of items to delete.
60
+ (0, _i18n._n)('Are you sure you want to permanently delete %d item?', 'Are you sure you want to permanently delete %d items?', items.length), items.length) : (0, _i18n.sprintf)(
61
+ // translators: %s: The post's title
62
+ (0, _i18n.__)('Are you sure you want to permanently delete "%s"?'), (0, _htmlEntities.decodeEntities)((0, _utils.getItemTitle)(items[0])))
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
64
+ justify: "right",
65
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
66
+ variant: "tertiary",
67
+ onClick: closeModal,
68
+ disabled: isBusy,
69
+ accessibleWhenDisabled: true,
70
+ __next40pxDefaultSize: true,
71
+ children: (0, _i18n.__)('Cancel')
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
73
+ variant: "primary",
74
+ onClick: async () => {
75
+ setIsBusy(true);
76
+ const promiseResult = await Promise.allSettled(items.map(post => deleteEntityRecord('postType', post.type, post.id, {
77
+ force: true
78
+ }, {
79
+ throwOnError: true
80
+ })));
81
+
82
+ // If all the promises were fulfilled with success.
83
+ if (promiseResult.every(({
84
+ status
85
+ }) => status === 'fulfilled')) {
86
+ let successMessage;
87
+ if (promiseResult.length === 1) {
88
+ successMessage = (0, _i18n.sprintf)(/* translators: The posts's title. */
89
+ (0, _i18n.__)('"%s" permanently deleted.'), (0, _utils.getItemTitle)(items[0]));
90
+ } else {
91
+ successMessage = (0, _i18n.__)('The items were permanently deleted.');
92
+ }
93
+ createSuccessNotice(successMessage, {
94
+ type: 'snackbar',
95
+ id: 'permanently-delete-post-action'
96
+ });
97
+ onActionPerformed?.(items);
98
+ } else {
99
+ // If there was at lease one failure.
100
+ let errorMessage;
101
+ // If we were trying to permanently delete a single post.
102
+ if (promiseResult.length === 1) {
103
+ const typedError = promiseResult[0];
104
+ if (typedError.reason?.message) {
105
+ errorMessage = typedError.reason.message;
106
+ } else {
107
+ errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the item.');
108
+ }
109
+ // If we were trying to permanently delete multiple posts
110
+ } else {
111
+ const errorMessages = new Set();
112
+ const failedPromises = promiseResult.filter(({
113
+ status
114
+ }) => status === 'rejected');
115
+ for (const failedPromise of failedPromises) {
116
+ const typedError = failedPromise;
117
+ if (typedError.reason?.message) {
118
+ errorMessages.add(typedError.reason.message);
119
+ }
120
+ }
121
+ if (errorMessages.size === 0) {
122
+ errorMessage = (0, _i18n.__)('An error occurred while permanently deleting the items.');
123
+ } else if (errorMessages.size === 1) {
124
+ errorMessage = (0, _i18n.sprintf)(/* translators: %s: an error message */
125
+ (0, _i18n.__)('An error occurred while permanently deleting the items: %s'), [...errorMessages][0]);
126
+ } else {
127
+ errorMessage = (0, _i18n.sprintf)(/* translators: %s: a list of comma separated error messages */
128
+ (0, _i18n.__)('Some errors occurred while permanently deleting the items: %s'), [...errorMessages].join(','));
129
+ }
130
+ }
131
+ createErrorNotice(errorMessage, {
132
+ type: 'snackbar'
133
+ });
134
+ }
135
+ setIsBusy(false);
136
+ closeModal?.();
137
+ },
138
+ isBusy: isBusy,
139
+ disabled: isBusy,
140
+ accessibleWhenDisabled: true,
141
+ __next40pxDefaultSize: true,
142
+ children: (0, _i18n.__)('Delete permanently')
143
+ })]
144
+ })]
145
+ });
106
146
  }
107
147
  };
148
+
149
+ /**
150
+ * Delete action for PostWithPermissions.
151
+ */
108
152
  var _default = exports.default = permanentlyDeletePost;
109
153
  //# sourceMappingURL=permanently-delete-post.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_i18n","_notices","_icons","_utils","permanentlyDeletePost","id","label","__","supportsBulk","icon","trash","isEligible","item","isTemplateOrTemplatePart","type","status","permissions","delete","callback","posts","registry","onActionPerformed","createSuccessNotice","createErrorNotice","dispatch","noticesStore","deleteEntityRecord","coreStore","promiseResult","Promise","allSettled","map","post","force","throwOnError","every","successMessage","length","sprintf","getItemTitle","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_default","exports","default"],"sources":["@wordpress/fields/src/actions/permanently-delete-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\nimport { trash } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst permanentlyDeletePost: Action< PostWithPermissions > = {\n\tid: 'permanently-delete',\n\tlabel: __( 'Permanently delete' ),\n\tsupportsBulk: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { status, permissions } = item;\n\t\treturn status === 'trash' && permissions?.delete;\n\t},\n\tasync callback( posts, { registry, onActionPerformed } ) {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tregistry.dispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = registry.dispatch( coreStore );\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\tposts.map( ( post ) => {\n\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpost.type,\n\t\t\t\t\tpost.id,\n\t\t\t\t\t{ force: true },\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\t\t\t} )\n\t\t);\n\t\t// If all the promises were fulfilled with success.\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = __( 'The items were permanently deleted.' );\n\t\t\t}\n\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t} );\n\t\t\tonActionPerformed?.( posts );\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to permanently delete a single post.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t};\n\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\terrorMessage = typedError.reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while permanently deleting the item.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t};\n\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( typedError.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while permanently deleting the items.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'An error occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t},\n};\n\nexport default permanentlyDeletePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_i18n","_notices","_icons","_element","_data","_components","_htmlEntities","_utils","_jsxRuntime","permanentlyDeletePost","id","label","__","supportsBulk","icon","trash","isEligible","item","isTemplateOrTemplatePart","type","status","permissions","delete","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","length","sprintf","_n","decodeEntities","getItemTitle","__experimentalHStack","justify","Button","variant","onClick","disabled","accessibleWhenDisabled","__next40pxDefaultSize","promiseResult","Promise","allSettled","map","post","force","throwOnError","every","successMessage","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_default","exports","default"],"sources":["@wordpress/fields/src/actions/permanently-delete-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\nimport { trash } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst permanentlyDeletePost: Action< PostWithPermissions > = {\n\tid: 'permanently-delete',\n\tlabel: __( 'Permanently delete' ),\n\tsupportsBulk: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { status, permissions } = item;\n\t\treturn status === 'trash' && permissions?.delete;\n\t},\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d item?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The post's title\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete \"%s\"?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( getItemTitle( items[ 0 ] ) )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( post ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\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\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\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\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'The items were permanently deleted.'\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\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the item.'\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// If we were trying to permanently delete multiple posts\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\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\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the items.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\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'An error occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\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'Some errors occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\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\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete permanently' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Delete action for PostWithPermissions.\n */\nexport default permanentlyDeletePost;\n"],"mappings":"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","ignoreList":[]}
@@ -120,5 +120,9 @@ const renamePost = {
120
120
  });
121
121
  }
122
122
  };
123
+
124
+ /**
125
+ * Rename action for PostWithPermissions.
126
+ */
123
127
  var _default = exports.default = renamePost;
124
128
  //# sourceMappingURL=rename-post.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_i18n","_element","_patterns","_components","_notices","_lockUnlock","_utils","_jsxRuntime","PATTERN_TYPES","unlock","patternsPrivateApis","renamePost","id","label","__","isEligible","post","status","Object","values","includes","type","permissions","update","isTemplate","isTemplateRemovable","is_custom","isTemplatePart","source","has_theme_file","user","RenderModal","items","closeModal","onActionPerformed","item","title","setTitle","useState","getItemTitle","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onRename","event","preventDefault","throwOnError","error","typedError","errorMessage","message","code","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","__experimentalHStack","justify","Button","variant","onClick","_default","exports","default"],"sources":["@wordpress/fields/src/actions/rename-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport {\n\tgetItemTitle,\n\tisTemplateRemovable,\n\tisTemplate,\n\tisTemplatePart,\n} from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif (\n\t\t\t! [\n\t\t\t\t'wp_template',\n\t\t\t\t'wp_template_part',\n\t\t\t\t...Object.values( PATTERN_TYPES ),\n\t\t\t].includes( post.type )\n\t\t) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\t// In the case of templates, we can only rename custom templates.\n\t\tif ( isTemplate( post ) ) {\n\t\t\treturn (\n\t\t\t\tisTemplateRemovable( post ) &&\n\t\t\t\tpost.is_custom &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nexport default renamePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_i18n","_element","_patterns","_components","_notices","_lockUnlock","_utils","_jsxRuntime","PATTERN_TYPES","unlock","patternsPrivateApis","renamePost","id","label","__","isEligible","post","status","Object","values","includes","type","permissions","update","isTemplate","isTemplateRemovable","is_custom","isTemplatePart","source","has_theme_file","user","RenderModal","items","closeModal","onActionPerformed","item","title","setTitle","useState","getItemTitle","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onRename","event","preventDefault","throwOnError","error","typedError","errorMessage","message","code","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","__experimentalHStack","justify","Button","variant","onClick","_default","exports","default"],"sources":["@wordpress/fields/src/actions/rename-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport {\n\tgetItemTitle,\n\tisTemplateRemovable,\n\tisTemplate,\n\tisTemplatePart,\n} from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif (\n\t\t\t! [\n\t\t\t\t'wp_template',\n\t\t\t\t'wp_template_part',\n\t\t\t\t...Object.values( PATTERN_TYPES ),\n\t\t\t].includes( post.type )\n\t\t) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\t// In the case of templates, we can only rename custom templates.\n\t\tif ( isTemplate( post ) ) {\n\t\t\treturn (\n\t\t\t\tisTemplateRemovable( post ) &&\n\t\t\t\tpost.is_custom &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\n/**\n * Rename action for PostWithPermissions.\n */\nexport default renamePost;\n"],"mappings":"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","ignoreList":[]}
@@ -112,5 +112,9 @@ const reorderPage = {
112
112
  },
113
113
  RenderModal: ReorderModal
114
114
  };
115
+
116
+ /**
117
+ * Reorder action for BasePost.
118
+ */
115
119
  var _default = exports.default = reorderPage;
116
120
  //# sourceMappingURL=reorder-page.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_i18n","_notices","_element","_dataviews","_components","_fields","_jsxRuntime","fields","orderField","formOrderAction","ReorderModal","items","closeModal","onActionPerformed","item","setItem","useState","orderInput","menu_order","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onOrder","event","preventDefault","isItemValid","type","id","throwOnError","__","error","typedError","errorMessage","message","code","isSaveDisabled","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","DataForm","data","form","onChange","changes","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","accessibleWhenDisabled","disabled","reorderPage","label","isEligible","status","RenderModal","_default","exports","default"],"sources":["@wordpress/fields/src/actions/reorder-page.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { DataForm, isItemValid } from '@wordpress/dataviews';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action, RenderModalProps } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { CoreDataError, BasePost } from '../types';\nimport { orderField } from '../fields';\n\nconst fields = [ orderField ];\nconst formOrderAction = {\n\tfields: [ 'menu_order' ],\n};\n\nfunction ReorderModal( {\n\titems,\n\tcloseModal,\n\tonActionPerformed,\n}: RenderModalProps< BasePost > ) {\n\tconst [ item, setItem ] = useState( items[ 0 ] );\n\tconst orderInput = item.menu_order;\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function onOrder( event: React.FormEvent ) {\n\t\tevent.preventDefault();\n\n\t\tif ( ! isItemValid( item, fields, formOrderAction ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tmenu_order: orderInput,\n\t\t\t} );\n\t\t\tcloseModal?.();\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tcreateSuccessNotice( __( 'Order updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\tonActionPerformed?.( items );\n\t\t} catch ( error ) {\n\t\t\tconst typedError = error as CoreDataError;\n\t\t\tconst errorMessage =\n\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t? typedError.message\n\t\t\t\t\t: __( 'An error occurred while updating the order' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t}\n\tconst isSaveDisabled = ! isItemValid( item, fields, formOrderAction );\n\treturn (\n\t\t<form onSubmit={ onOrder }>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<div>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Determines the order of pages. Pages with the same order value are sorted alphabetically. Negative order values are supported.'\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<DataForm\n\t\t\t\t\tdata={ item }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tform={ formOrderAction }\n\t\t\t\t\tonChange={ ( changes ) =>\n\t\t\t\t\t\tsetItem( {\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tdisabled={ isSaveDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nconst reorderPage: Action< BasePost > = {\n\tid: 'order-pages',\n\tlabel: __( 'Order' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tRenderModal: ReorderModal,\n};\n\nexport default reorderPage;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAWA,IAAAO,OAAA,GAAAP,OAAA;AAAuC,IAAAQ,WAAA,GAAAR,OAAA;AApBvC;AACA;AACA;;AAcA;AACA;AACA;;AAIA,MAAMS,MAAM,GAAG,CAAEC,kBAAU,CAAE;AAC7B,MAAMC,eAAe,GAAG;EACvBF,MAAM,EAAE,CAAE,YAAY;AACvB,CAAC;AAED,SAASG,YAAYA,CAAE;EACtBC,KAAK;EACLC,UAAU;EACVC;AAC6B,CAAC,EAAG;EACjC,MAAM,CAAEC,IAAI,EAAEC,OAAO,CAAE,GAAG,IAAAC,iBAAQ,EAAEL,KAAK,CAAE,CAAC,CAAG,CAAC;EAChD,MAAMM,UAAU,GAAGH,IAAI,CAACI,UAAU;EAClC,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GACjD,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EACzB,MAAM;IAAEC,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAH,iBAAW,EAAEI,cAAa,CAAC;EAE5B,eAAeC,OAAOA,CAAEC,KAAsB,EAAG;IAChDA,KAAK,CAACC,cAAc,CAAC,CAAC;IAEtB,IAAK,CAAE,IAAAC,sBAAW,EAAEf,IAAI,EAAEP,MAAM,EAAEE,eAAgB,CAAC,EAAG;MACrD;IACD;IAEA,IAAI;MACH,MAAMU,gBAAgB,CAAE,UAAU,EAAEL,IAAI,CAACgB,IAAI,EAAEhB,IAAI,CAACiB,EAAE,EAAE;QACvDb,UAAU,EAAED;MACb,CAAE,CAAC;MACHL,UAAU,GAAG,CAAC;MACd;MACA,MAAMQ,sBAAsB,CAAE,UAAU,EAAEN,IAAI,CAACgB,IAAI,EAAEhB,IAAI,CAACiB,EAAE,EAAE;QAC7DC,YAAY,EAAE;MACf,CAAE,CAAC;MACHT,mBAAmB,CAAE,IAAAU,QAAE,EAAE,gBAAiB,CAAC,EAAE;QAC5CH,IAAI,EAAE;MACP,CAAE,CAAC;MACHjB,iBAAiB,GAAIF,KAAM,CAAC;IAC7B,CAAC,CAAC,OAAQuB,KAAK,EAAG;MACjB,MAAMC,UAAU,GAAGD,KAAsB;MACzC,MAAME,YAAY,GACjBD,UAAU,CAACE,OAAO,IAAIF,UAAU,CAACG,IAAI,KAAK,eAAe,GACtDH,UAAU,CAACE,OAAO,GAClB,IAAAJ,QAAE,EAAE,4CAA6C,CAAC;MACtDT,iBAAiB,CAAEY,YAAY,EAAE;QAChCN,IAAI,EAAE;MACP,CAAE,CAAC;IACJ;EACD;EACA,MAAMS,cAAc,GAAG,CAAE,IAAAV,sBAAW,EAAEf,IAAI,EAAEP,MAAM,EAAEE,eAAgB,CAAC;EACrE,oBACC,IAAAH,WAAA,CAAAkC,GAAA;IAAMC,QAAQ,EAAGf,OAAS;IAAAgB,QAAA,eACzB,IAAApC,WAAA,CAAAqC,IAAA,EAACvC,WAAA,CAAAwC,oBAAM;MAACC,OAAO,EAAC,GAAG;MAAAH,QAAA,gBAClB,IAAApC,WAAA,CAAAkC,GAAA;QAAAE,QAAA,EACG,IAAAT,QAAE,EACH,gIACD;MAAC,CACG,CAAC,eACN,IAAA3B,WAAA,CAAAkC,GAAA,EAACrC,UAAA,CAAA2C,QAAQ;QACRC,IAAI,EAAGjC,IAAM;QACbP,MAAM,EAAGA,MAAQ;QACjByC,IAAI,EAAGvC,eAAiB;QACxBwC,QAAQ,EAAKC,OAAO,IACnBnC,OAAO,CAAE;UACR,GAAGD,IAAI;UACP,GAAGoC;QACJ,CAAE;MACF,CACD,CAAC,eACF,IAAA5C,WAAA,CAAAqC,IAAA,EAACvC,WAAA,CAAA+C,oBAAM;QAACC,OAAO,EAAC,OAAO;QAAAV,QAAA,gBACtB,IAAApC,WAAA,CAAAkC,GAAA,EAACpC,WAAA,CAAAiD,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAGA,CAAA,KAAM;YACf5C,UAAU,GAAG,CAAC;UACf,CAAG;UAAA8B,QAAA,EAED,IAAAT,QAAE,EAAE,QAAS;QAAC,CACT,CAAC,eACT,IAAA3B,WAAA,CAAAkC,GAAA,EAACpC,WAAA,CAAAiD,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,SAAS;UACjBzB,IAAI,EAAC,QAAQ;UACb2B,sBAAsB;UACtBC,QAAQ,EAAGnB,cAAgB;UAAAG,QAAA,EAEzB,IAAAT,QAAE,EAAE,MAAO;QAAC,CACP,CAAC;MAAA,CACF,CAAC;IAAA,CACF;EAAC,CACJ,CAAC;AAET;AAEA,MAAM0B,WAA+B,GAAG;EACvC5B,EAAE,EAAE,aAAa;EACjB6B,KAAK,EAAE,IAAA3B,QAAE,EAAE,OAAQ,CAAC;EACpB4B,UAAUA,CAAE;IAAEC;EAAO,CAAC,EAAG;IACxB,OAAOA,MAAM,KAAK,OAAO;EAC1B,CAAC;EACDC,WAAW,EAAErD;AACd,CAAC;AAAC,IAAAsD,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaP,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_i18n","_notices","_element","_dataviews","_components","_fields","_jsxRuntime","fields","orderField","formOrderAction","ReorderModal","items","closeModal","onActionPerformed","item","setItem","useState","orderInput","menu_order","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onOrder","event","preventDefault","isItemValid","type","id","throwOnError","__","error","typedError","errorMessage","message","code","isSaveDisabled","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","DataForm","data","form","onChange","changes","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","accessibleWhenDisabled","disabled","reorderPage","label","isEligible","status","RenderModal","_default","exports","default"],"sources":["@wordpress/fields/src/actions/reorder-page.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { DataForm, isItemValid } from '@wordpress/dataviews';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action, RenderModalProps } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { CoreDataError, BasePost } from '../types';\nimport { orderField } from '../fields';\n\nconst fields = [ orderField ];\nconst formOrderAction = {\n\tfields: [ 'menu_order' ],\n};\n\nfunction ReorderModal( {\n\titems,\n\tcloseModal,\n\tonActionPerformed,\n}: RenderModalProps< BasePost > ) {\n\tconst [ item, setItem ] = useState( items[ 0 ] );\n\tconst orderInput = item.menu_order;\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function onOrder( event: React.FormEvent ) {\n\t\tevent.preventDefault();\n\n\t\tif ( ! isItemValid( item, fields, formOrderAction ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tmenu_order: orderInput,\n\t\t\t} );\n\t\t\tcloseModal?.();\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tcreateSuccessNotice( __( 'Order updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\tonActionPerformed?.( items );\n\t\t} catch ( error ) {\n\t\t\tconst typedError = error as CoreDataError;\n\t\t\tconst errorMessage =\n\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t? typedError.message\n\t\t\t\t\t: __( 'An error occurred while updating the order' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t}\n\tconst isSaveDisabled = ! isItemValid( item, fields, formOrderAction );\n\treturn (\n\t\t<form onSubmit={ onOrder }>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<div>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Determines the order of pages. Pages with the same order value are sorted alphabetically. Negative order values are supported.'\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<DataForm\n\t\t\t\t\tdata={ item }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tform={ formOrderAction }\n\t\t\t\t\tonChange={ ( changes ) =>\n\t\t\t\t\t\tsetItem( {\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tdisabled={ isSaveDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nconst reorderPage: Action< BasePost > = {\n\tid: 'order-pages',\n\tlabel: __( 'Order' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tRenderModal: ReorderModal,\n};\n\n/**\n * Reorder action for BasePost.\n */\nexport default reorderPage;\n"],"mappings":"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","ignoreList":[]}
@@ -202,5 +202,9 @@ const resetPostAction = {
202
202
  });
203
203
  }
204
204
  };
205
+
206
+ /**
207
+ * Reset action for Template and TemplatePart.
208
+ */
205
209
  var _default = exports.default = resetPostAction;
206
210
  //# sourceMappingURL=reset-post.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_blocks","_components","_url","_apiFetch","_interopRequireDefault","_utils","_jsxRuntime","isTemplateRevertable","templateOrTemplatePart","source","Boolean","plugin","has_theme_file","revertTemplate","template","allowUndo","noticeId","dispatch","noticesStore","removeNotice","createErrorNotice","__","type","templateEntityConfig","select","coreStore","getEntityConfig","fileTemplatePath","addQueryArgs","baseURL","id","context","origin","fileTemplate","apiFetch","path","serializeBlocks","blocks","blocksForSerialization","__unstableSerializeAndClean","edited","getEditedEntityRecord","editEntityRecord","content","undoIgnore","parse","raw","undoRevert","createSuccessNotice","actions","label","onClick","error","errorMessage","message","code","resetPostAction","isEligible","item","isTemplateOrTemplatePart","icon","backup","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","saveEditedEntityRecord","useDispatch","onConfirm","length","sprintf","getItemTitle","fallbackErrorMessage","typedError","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","disabled","accessibleWhenDisabled","_default","exports","default"],"sources":["@wordpress/fields/src/actions/reset-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { dispatch, select, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, Template, TemplatePart } from '../types';\n\nconst isTemplateRevertable = (\n\ttemplateOrTemplatePart: Template | TemplatePart\n) => {\n\tif ( ! templateOrTemplatePart ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplateOrTemplatePart.source === 'custom' &&\n\t\t( Boolean( templateOrTemplatePart?.plugin ) ||\n\t\t\ttemplateOrTemplatePart?.has_theme_file )\n\t);\n};\n\n/**\n * Copied - pasted from https://github.com/WordPress/gutenberg/blob/bf1462ad37d4637ebbf63270b9c244b23c69e2a8/packages/editor/src/store/private-actions.js#L233-L365\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nconst revertTemplate = async (\n\ttemplate: TemplatePart | Template,\n\t{ allowUndo = true } = {}\n) => {\n\tconst noticeId = 'edit-site-template-reverted';\n\tdispatch( noticesStore ).removeNotice( noticeId );\n\tif ( ! isTemplateRevertable( template ) ) {\n\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t__( 'This template is not revertable.' ),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst templateEntityConfig = select( coreStore ).getEntityConfig(\n\t\t\t'postType',\n\t\t\ttemplate.type\n\t\t);\n\n\t\tif ( ! templateEntityConfig ) {\n\t\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t{ context: 'edit', source: template.origin }\n\t\t);\n\n\t\tconst fileTemplate = ( await apiFetch( {\n\t\t\tpath: fileTemplatePath,\n\t\t} ) ) as any;\n\t\tif ( ! fileTemplate ) {\n\t\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst serializeBlocks = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\n\t\tconst edited = select( coreStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t) as any;\n\n\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t// the revert in the header toolbar correctly.\n\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t},\n\t\t\t{\n\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t}\n\t\t);\n\n\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\n\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\tfileTemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks,\n\t\t\t\tblocks,\n\t\t\t\tsource: 'theme',\n\t\t\t}\n\t\t);\n\n\t\tif ( allowUndo ) {\n\t\t\tconst undoRevert = () => {\n\t\t\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\tedited.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tdispatch( noticesStore ).createSuccessNotice(\n\t\t\t\t__( 'Template reset.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: noticeId,\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: undoRevert,\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} catch ( error: any ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\n\t\tdispatch( noticesStore ).createErrorNotice( errorMessage, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n};\n\nconst resetPostAction: Action< Template | TemplatePart > = {\n\tid: 'reset-post',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn (\n\t\t\tisTemplateOrTemplatePart( item ) &&\n\t\t\titem?.source === 'custom' &&\n\t\t\t( Boolean( item.type === 'wp_template' && item?.plugin ) ||\n\t\t\t\titem?.has_theme_file )\n\t\t);\n\t},\n\ticon: backup,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t} );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'revert-template-action',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === 'wp_template' ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait onConfirm();\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default resetPostAction;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_blocks","_components","_url","_apiFetch","_interopRequireDefault","_utils","_jsxRuntime","isTemplateRevertable","templateOrTemplatePart","source","Boolean","plugin","has_theme_file","revertTemplate","template","allowUndo","noticeId","dispatch","noticesStore","removeNotice","createErrorNotice","__","type","templateEntityConfig","select","coreStore","getEntityConfig","fileTemplatePath","addQueryArgs","baseURL","id","context","origin","fileTemplate","apiFetch","path","serializeBlocks","blocks","blocksForSerialization","__unstableSerializeAndClean","edited","getEditedEntityRecord","editEntityRecord","content","undoIgnore","parse","raw","undoRevert","createSuccessNotice","actions","label","onClick","error","errorMessage","message","code","resetPostAction","isEligible","item","isTemplateOrTemplatePart","icon","backup","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","saveEditedEntityRecord","useDispatch","onConfirm","length","sprintf","getItemTitle","fallbackErrorMessage","typedError","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","disabled","accessibleWhenDisabled","_default","exports","default"],"sources":["@wordpress/fields/src/actions/reset-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { dispatch, select, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, Template, TemplatePart } from '../types';\n\nconst isTemplateRevertable = (\n\ttemplateOrTemplatePart: Template | TemplatePart\n) => {\n\tif ( ! templateOrTemplatePart ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplateOrTemplatePart.source === 'custom' &&\n\t\t( Boolean( templateOrTemplatePart?.plugin ) ||\n\t\t\ttemplateOrTemplatePart?.has_theme_file )\n\t);\n};\n\n/**\n * Copied - pasted from https://github.com/WordPress/gutenberg/blob/bf1462ad37d4637ebbf63270b9c244b23c69e2a8/packages/editor/src/store/private-actions.js#L233-L365\n *\n * @param {Object} template The template to revert.\n * @param {Object} [options]\n * @param {boolean} [options.allowUndo] Whether to allow the user to undo\n * reverting the template. Default true.\n */\nconst revertTemplate = async (\n\ttemplate: TemplatePart | Template,\n\t{ allowUndo = true } = {}\n) => {\n\tconst noticeId = 'edit-site-template-reverted';\n\tdispatch( noticesStore ).removeNotice( noticeId );\n\tif ( ! isTemplateRevertable( template ) ) {\n\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t__( 'This template is not revertable.' ),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst templateEntityConfig = select( coreStore ).getEntityConfig(\n\t\t\t'postType',\n\t\t\ttemplate.type\n\t\t);\n\n\t\tif ( ! templateEntityConfig ) {\n\t\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst fileTemplatePath = addQueryArgs(\n\t\t\t`${ templateEntityConfig.baseURL }/${ template.id }`,\n\t\t\t{ context: 'edit', source: template.origin }\n\t\t);\n\n\t\tconst fileTemplate = ( await apiFetch( {\n\t\t\tpath: fileTemplatePath,\n\t\t} ) ) as any;\n\t\tif ( ! fileTemplate ) {\n\t\t\tdispatch( noticesStore ).createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'The editor has encountered an unexpected error. Please reload.'\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst serializeBlocks = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\n\t\tconst edited = select( coreStore ).getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id\n\t\t) as any;\n\n\t\t// We are fixing up the undo level here to make sure we can undo\n\t\t// the revert in the header toolbar correctly.\n\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\ttemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks, // Required to make the `undo` behave correctly.\n\t\t\t\tblocks: edited.blocks, // Required to revert the blocks in the editor.\n\t\t\t\tsource: 'custom', // required to avoid turning the editor into a dirty state\n\t\t\t},\n\t\t\t{\n\t\t\t\tundoIgnore: true, // Required to merge this edit with the last undo level.\n\t\t\t}\n\t\t);\n\n\t\tconst blocks = parse( fileTemplate?.content?.raw );\n\n\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t'postType',\n\t\t\ttemplate.type,\n\t\t\tfileTemplate.id,\n\t\t\t{\n\t\t\t\tcontent: serializeBlocks,\n\t\t\t\tblocks,\n\t\t\t\tsource: 'theme',\n\t\t\t}\n\t\t);\n\n\t\tif ( allowUndo ) {\n\t\t\tconst undoRevert = () => {\n\t\t\t\tdispatch( coreStore ).editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\tedited.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tcontent: serializeBlocks,\n\t\t\t\t\t\tblocks: edited.blocks,\n\t\t\t\t\t\tsource: 'custom',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tdispatch( noticesStore ).createSuccessNotice(\n\t\t\t\t__( 'Template reset.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: noticeId,\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: undoRevert,\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} catch ( error: any ) {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? error.message\n\t\t\t\t: __( 'Template revert failed. Please reload.' );\n\n\t\tdispatch( noticesStore ).createErrorNotice( errorMessage, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n};\n\nconst resetPostAction: Action< Template | TemplatePart > = {\n\tid: 'reset-post',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn (\n\t\t\tisTemplateOrTemplatePart( item ) &&\n\t\t\titem?.source === 'custom' &&\n\t\t\t( Boolean( item.type === 'wp_template' && item?.plugin ) ||\n\t\t\t\titem?.has_theme_file )\n\t\t);\n\t},\n\ticon: backup,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t} );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'revert-template-action',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === 'wp_template' ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait onConfirm();\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Reset action for Template and TemplatePart.\n */\nexport default resetPostAction;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
@@ -108,5 +109,9 @@ const restorePost = {
108
109
  }
109
110
  }
110
111
  };
112
+
113
+ /**
114
+ * Restore action for PostWithPermissions.
115
+ */
111
116
  var _default = exports.default = restorePost;
112
117
  //# sourceMappingURL=restore-post.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_coreData","_i18n","_notices","_utils","restorePost","id","label","__","isPrimary","icon","backup","supportsBulk","isEligible","item","isTemplateOrTemplatePart","type","status","permissions","update","callback","posts","registry","onActionPerformed","createSuccessNotice","createErrorNotice","dispatch","noticesStore","editEntityRecord","saveEditedEntityRecord","coreStore","Promise","allSettled","map","post","promiseResult","throwOnError","every","successMessage","length","sprintf","getItemTitle","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_default","exports","default"],"sources":["@wordpress/fields/src/actions/restore-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst restorePost: Action< PostWithPermissions > = {\n\tid: 'restore',\n\tlabel: __( 'Restore' ),\n\tisPrimary: true,\n\ticon: backup,\n\tsupportsBulk: true,\n\tisEligible( item ) {\n\t\treturn (\n\t\t\t! isTemplateOrTemplatePart( item ) &&\n\t\t\titem.type !== 'wp_block' &&\n\t\t\titem.status === 'trash' &&\n\t\t\titem.permissions?.update\n\t\t);\n\t},\n\tasync callback( posts, { registry, onActionPerformed } ) {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tregistry.dispatch( noticesStore );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tregistry.dispatch( coreStore );\n\t\tawait Promise.allSettled(\n\t\t\tposts.map( ( post ) => {\n\t\t\t\treturn editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t} );\n\t\t\t} )\n\t\t);\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\tposts.map( ( post ) => {\n\t\t\t\treturn saveEditedEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t} )\n\t\t);\n\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\t\t\tif ( posts.length === 1 ) {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t);\n\t\t\t} else if ( posts[ 0 ].type === 'page' ) {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '%d pages have been restored.' ),\n\t\t\t\t\tposts.length\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\tposts.length\n\t\t\t\t);\n\t\t\t}\n\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'restore-post-action',\n\t\t\t} );\n\t\t\tif ( onActionPerformed ) {\n\t\t\t\tonActionPerformed( posts );\n\t\t\t}\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to move a single post to the trash.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t};\n\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\terrorMessage = typedError.reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t};\n\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( typedError.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t__( 'An error occurred while restoring the posts: %s' ),\n\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Some errors occurred while restoring the posts: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t},\n};\n\nexport default restorePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_coreData","_i18n","_notices","_utils","restorePost","id","label","__","isPrimary","icon","backup","supportsBulk","isEligible","item","isTemplateOrTemplatePart","type","status","permissions","update","callback","posts","registry","onActionPerformed","createSuccessNotice","createErrorNotice","dispatch","noticesStore","editEntityRecord","saveEditedEntityRecord","coreStore","Promise","allSettled","map","post","promiseResult","throwOnError","every","successMessage","length","sprintf","getItemTitle","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_default","exports","default"],"sources":["@wordpress/fields/src/actions/restore-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst restorePost: Action< PostWithPermissions > = {\n\tid: 'restore',\n\tlabel: __( 'Restore' ),\n\tisPrimary: true,\n\ticon: backup,\n\tsupportsBulk: true,\n\tisEligible( item ) {\n\t\treturn (\n\t\t\t! isTemplateOrTemplatePart( item ) &&\n\t\t\titem.type !== 'wp_block' &&\n\t\t\titem.status === 'trash' &&\n\t\t\titem.permissions?.update\n\t\t);\n\t},\n\tasync callback( posts, { registry, onActionPerformed } ) {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tregistry.dispatch( noticesStore );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tregistry.dispatch( coreStore );\n\t\tawait Promise.allSettled(\n\t\t\tposts.map( ( post ) => {\n\t\t\t\treturn editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t} );\n\t\t\t} )\n\t\t);\n\t\tconst promiseResult = await Promise.allSettled(\n\t\t\tposts.map( ( post ) => {\n\t\t\t\treturn saveEditedEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t} )\n\t\t);\n\n\t\tif ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\t\tlet successMessage;\n\t\t\tif ( posts.length === 1 ) {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t);\n\t\t\t} else if ( posts[ 0 ].type === 'page' ) {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '%d pages have been restored.' ),\n\t\t\t\t\tposts.length\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\tposts.length\n\t\t\t\t);\n\t\t\t}\n\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'restore-post-action',\n\t\t\t} );\n\t\t\tif ( onActionPerformed ) {\n\t\t\t\tonActionPerformed( posts );\n\t\t\t}\n\t\t} else {\n\t\t\t// If there was at lease one failure.\n\t\t\tlet errorMessage;\n\t\t\t// If we were trying to move a single post to the trash.\n\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t};\n\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\terrorMessage = typedError.reason.message;\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t} else {\n\t\t\t\tconst errorMessages = new Set();\n\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t);\n\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t};\n\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\terrorMessages.add( typedError.reason.message );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t__( 'An error occurred while restoring the posts: %s' ),\n\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Some errors occurred while restoring the posts: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t},\n};\n\n/**\n * Restore action for PostWithPermissions.\n */\nexport default restorePost;\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,MAAMK,WAA0C,GAAG;EAClDC,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;EACtBC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,aAAM;EACZC,YAAY,EAAE,IAAI;EAClBC,UAAUA,CAAEC,IAAI,EAAG;IAClB,OACC,CAAE,IAAAC,+BAAwB,EAAED,IAAK,CAAC,IAClCA,IAAI,CAACE,IAAI,KAAK,UAAU,IACxBF,IAAI,CAACG,MAAM,KAAK,OAAO,IACvBH,IAAI,CAACI,WAAW,EAAEC,MAAM;EAE1B,CAAC;EACD,MAAMC,QAAQA,CAAEC,KAAK,EAAE;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,EAAG;IACxD,MAAM;MAAEC,mBAAmB;MAAEC;IAAkB,CAAC,GAC/CH,QAAQ,CAACI,QAAQ,CAAEC,cAAa,CAAC;IAClC,MAAM;MAAEC,gBAAgB;MAAEC;IAAuB,CAAC,GACjDP,QAAQ,CAACI,QAAQ,CAAEI,eAAU,CAAC;IAC/B,MAAMC,OAAO,CAACC,UAAU,CACvBX,KAAK,CAACY,GAAG,CAAIC,IAAI,IAAM;MACtB,OAAON,gBAAgB,CAAE,UAAU,EAAEM,IAAI,CAAClB,IAAI,EAAEkB,IAAI,CAAC5B,EAAE,EAAE;QACxDW,MAAM,EAAE;MACT,CAAE,CAAC;IACJ,CAAE,CACH,CAAC;IACD,MAAMkB,aAAa,GAAG,MAAMJ,OAAO,CAACC,UAAU,CAC7CX,KAAK,CAACY,GAAG,CAAIC,IAAI,IAAM;MACtB,OAAOL,sBAAsB,CAAE,UAAU,EAAEK,IAAI,CAAClB,IAAI,EAAEkB,IAAI,CAAC5B,EAAE,EAAE;QAC9D8B,YAAY,EAAE;MACf,CAAE,CAAC;IACJ,CAAE,CACH,CAAC;IAED,IAAKD,aAAa,CAACE,KAAK,CAAE,CAAE;MAAEpB;IAAO,CAAC,KAAMA,MAAM,KAAK,WAAY,CAAC,EAAG;MACtE,IAAIqB,cAAc;MAClB,IAAKjB,KAAK,CAACkB,MAAM,KAAK,CAAC,EAAG;QACzBD,cAAc,GAAG,IAAAE,aAAO,EACvB;QACA,IAAAhC,QAAE,EAAE,yBAA0B,CAAC,EAC/B,IAAAiC,mBAAY,EAAEpB,KAAK,CAAE,CAAC,CAAG,CAC1B,CAAC;MACF,CAAC,MAAM,IAAKA,KAAK,CAAE,CAAC,CAAE,CAACL,IAAI,KAAK,MAAM,EAAG;QACxCsB,cAAc,GAAG,IAAAE,aAAO,EACvB;QACA,IAAAhC,QAAE,EAAE,8BAA+B,CAAC,EACpCa,KAAK,CAACkB,MACP,CAAC;MACF,CAAC,MAAM;QACND,cAAc,GAAG,IAAAE,aAAO,EACvB;QACA,IAAAhC,QAAE,EAAE,8BAA+B,CAAC,EACpCa,KAAK,CAACkB,MACP,CAAC;MACF;MACAf,mBAAmB,CAAEc,cAAc,EAAE;QACpCtB,IAAI,EAAE,UAAU;QAChBV,EAAE,EAAE;MACL,CAAE,CAAC;MACH,IAAKiB,iBAAiB,EAAG;QACxBA,iBAAiB,CAAEF,KAAM,CAAC;MAC3B;IACD,CAAC,MAAM;MACN;MACA,IAAIqB,YAAY;MAChB;MACA,IAAKP,aAAa,CAACI,MAAM,KAAK,CAAC,EAAG;QACjC,MAAMI,UAAU,GAAGR,aAAa,CAAE,CAAC,CAElC;QACD,IAAKQ,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;UACjCH,YAAY,GAAGC,UAAU,CAACC,MAAM,CAACC,OAAO;QACzC,CAAC,MAAM;UACNH,YAAY,GAAG,IAAAlC,QAAE,EAChB,6CACD,CAAC;QACF;QACA;MACD,CAAC,MAAM;QACN,MAAMsC,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;QAC/B,MAAMC,cAAc,GAAGb,aAAa,CAACc,MAAM,CAC1C,CAAE;UAAEhC;QAAO,CAAC,KAAMA,MAAM,KAAK,UAC9B,CAAC;QACD,KAAM,MAAMiC,aAAa,IAAIF,cAAc,EAAG;UAC7C,MAAML,UAAU,GAAGO,aAElB;UACD,IAAKP,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;YACjCC,aAAa,CAACK,GAAG,CAAER,UAAU,CAACC,MAAM,CAACC,OAAQ,CAAC;UAC/C;QACD;QACA,IAAKC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;UAC/BV,YAAY,GAAG,IAAAlC,QAAE,EAChB,8CACD,CAAC;QACF,CAAC,MAAM,IAAKsC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;UACtCV,YAAY,GAAG,IAAAF,aAAO,EACrB;UACA,IAAAhC,QAAE,EAAE,iDAAkD,CAAC,EACvD,CAAE,GAAGsC,aAAa,CAAE,CAAE,CAAC,CACxB,CAAC;QACF,CAAC,MAAM;UACNJ,YAAY,GAAG,IAAAF,aAAO,EACrB;UACA,IAAAhC,QAAE,EACD,oDACD,CAAC,EACD,CAAE,GAAGsC,aAAa,CAAE,CAACO,IAAI,CAAE,GAAI,CAChC,CAAC;QACF;MACD;MACA5B,iBAAiB,CAAEiB,YAAY,EAAE;QAChC1B,IAAI,EAAE;MACP,CAAE,CAAC;IACJ;EACD;AACD,CAAC;;AAED;AACA;AACA;AAFA,IAAAsC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGenD,WAAW","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
@@ -140,5 +141,9 @@ const trashPost = {
140
141
  });
141
142
  }
142
143
  };
144
+
145
+ /**
146
+ * Trash action for PostWithPermissions.
147
+ */
143
148
  var _default = exports.default = trashPost;
144
149
  //# sourceMappingURL=trash-post.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_components","_utils","_jsxRuntime","trashPost","id","label","__","isPrimary","icon","trash","isEligible","item","isTemplateOrTemplatePart","type","status","includes","permissions","delete","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","length","sprintf","getItemTitle","_n","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","disabled","accessibleWhenDisabled","promiseResult","Promise","allSettled","map","toString","throwOnError","every","successMessage","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_x","_default","exports","default"],"sources":["@wordpress/fields/src/actions/trash-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { trash } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst trashPost: Action< PostWithPermissions > = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\t!! item.status &&\n\t\t\t! [ 'auto-draft', 'trash' ].includes( item.status ) &&\n\t\t\titem.permissions?.delete\n\t\t);\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move \"%s\" to the trash?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of items (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d item to the trash ?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d items to the trash ?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( item ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\titem.type,\n\t\t\t\t\t\t\t\t\t\titem.id.toString(),\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\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// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\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\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The item's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t'%s item moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\t'%s items moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\titems.length\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\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'move-to-trash-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at least one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to delete a single item.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the item to the trash.'\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// If we were trying to delete multiple items.\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\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\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the items to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\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'An error occurred while moving the item to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\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'Some errors occurred while moving the items to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\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\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Trash', 'verb' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default trashPost;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAWA,IAAAO,MAAA,GAAAP,OAAA;AAAiE,IAAAQ,WAAA,GAAAR,OAAA;AApBjE;AACA;AACA;;AAeA;AACA;AACA;;AAIA,MAAMS,SAAwC,GAAG;EAChDC,EAAE,EAAE,eAAe;EACnBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,YAAK;EACXC,UAAUA,CAAEC,IAAI,EAAG;IAClB,IAAK,IAAAC,+BAAwB,EAAED,IAAK,CAAC,IAAIA,IAAI,CAACE,IAAI,KAAK,UAAU,EAAG;MACnE,OAAO,KAAK;IACb;IAEA,OACC,CAAC,CAAEF,IAAI,CAACG,MAAM,IACd,CAAE,CAAE,YAAY,EAAE,OAAO,CAAE,CAACC,QAAQ,CAAEJ,IAAI,CAACG,MAAO,CAAC,IACnDH,IAAI,CAACK,WAAW,EAAEC,MAAM;EAE1B,CAAC;EACDC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAkB,CAAC,KAAM;IAC5D,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;IAC/C,MAAM;MAAEC,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC5B,MAAM;MAAEC;IAAmB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,eAAU,CAAC;IACvD,oBACC,IAAA9B,WAAA,CAAA+B,IAAA,EAACjC,WAAA,CAAAkC,oBAAM;MAACC,OAAO,EAAC,GAAG;MAAAC,QAAA,gBAClB,IAAAlC,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAAsC,kBAAI;QAAAF,QAAA,EACFf,KAAK,CAACkB,MAAM,KAAK,CAAC,GACjB,IAAAC,aAAO;QACP;QACA,IAAAlC,QAAE,EACD,kDACD,CAAC,EACD,IAAAmC,mBAAY,EAAEpB,KAAK,CAAE,CAAC,CAAG,CACzB,CAAC,GACD,IAAAmB,aAAO;QACP;QACA,IAAAE,QAAE,EACD,sDAAsD,EACtD,uDAAuD,EACvDrB,KAAK,CAACkB,MACP,CAAC,EACDlB,KAAK,CAACkB,MACN;MAAC,CACC,CAAC,eACP,IAAArC,WAAA,CAAA+B,IAAA,EAACjC,WAAA,CAAA2C,oBAAM;QAACC,OAAO,EAAC,OAAO;QAAAR,QAAA,gBACtB,IAAAlC,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAA6C,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAG1B,UAAY;UACtB2B,QAAQ,EAAGzB,MAAQ;UACnB0B,sBAAsB;UAAAd,QAAA,EAEpB,IAAA9B,QAAE,EAAE,QAAS;QAAC,CACT,CAAC,eACT,IAAAJ,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAA6C,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,SAAS;UACjBC,OAAO,EAAG,MAAAA,CAAA,KAAY;YACrBvB,SAAS,CAAE,IAAK,CAAC;YACjB,MAAM0B,aAAa,GAAG,MAAMC,OAAO,CAACC,UAAU,CAC7ChC,KAAK,CAACiC,GAAG,CAAI3C,IAAI,IAChBoB,kBAAkB,CACjB,UAAU,EACVpB,IAAI,CAACE,IAAI,EACTF,IAAI,CAACP,EAAE,CAACmD,QAAQ,CAAC,CAAC,EAClB,CAAC,CAAC,EACF;cAAEC,YAAY,EAAE;YAAK,CACtB,CACD,CACD,CAAC;YACD;YACA,IACCL,aAAa,CAACM,KAAK,CAClB,CAAE;cAAE3C;YAAO,CAAC,KAAMA,MAAM,KAAK,WAC9B,CAAC,EACA;cACD,IAAI4C,cAAc;cAClB,IAAKP,aAAa,CAACZ,MAAM,KAAK,CAAC,EAAG;gBACjCmB,cAAc,GAAG,IAAAlB,aAAO,EACvB;gBACA,IAAAlC,QAAE,EAAE,0BAA2B,CAAC,EAChC,IAAAmC,mBAAY,EAAEpB,KAAK,CAAE,CAAC,CAAG,CAC1B,CAAC;cACF,CAAC,MAAM;gBACNqC,cAAc,GAAG,IAAAlB,aAAO,EACvB;gBACA,IAAAE,QAAE,EACD,6BAA6B,EAC7B,8BAA8B,EAC9BrB,KAAK,CAACkB,MACP,CAAC,EACDlB,KAAK,CAACkB,MACP,CAAC;cACF;cACAZ,mBAAmB,CAAE+B,cAAc,EAAE;gBACpC7C,IAAI,EAAE,UAAU;gBAChBT,EAAE,EAAE;cACL,CAAE,CAAC;YACJ,CAAC,MAAM;cACN;cACA,IAAIuD,YAAY;cAChB;cACA,IAAKR,aAAa,CAACZ,MAAM,KAAK,CAAC,EAAG;gBACjC,MAAMqB,UAAU,GAAGT,aAAa,CAAE,CAAC,CAElC;gBACD,IAAKS,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;kBACjCH,YAAY,GACXC,UAAU,CAACC,MAAM,CAACC,OAAO;gBAC3B,CAAC,MAAM;kBACNH,YAAY,GAAG,IAAArD,QAAE,EAChB,uDACD,CAAC;gBACF;gBACA;cACD,CAAC,MAAM;gBACN,MAAMyD,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;gBAC/B,MAAMC,cAAc,GAAGd,aAAa,CAACe,MAAM,CAC1C,CAAE;kBAAEpD;gBAAO,CAAC,KAAMA,MAAM,KAAK,UAC9B,CAAC;gBACD,KAAM,MAAMqD,aAAa,IAAIF,cAAc,EAAG;kBAC7C,MAAML,UAAU,GAAGO,aAElB;kBACD,IAAKP,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;oBACjCC,aAAa,CAACK,GAAG,CAChBR,UAAU,CAACC,MAAM,CAACC,OACnB,CAAC;kBACF;gBACD;gBACA,IAAKC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;kBAC/BV,YAAY,GAAG,IAAArD,QAAE,EAChB,wDACD,CAAC;gBACF,CAAC,MAAM,IAAKyD,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;kBACtCV,YAAY,GAAG,IAAAnB,aAAO,EACrB;kBACA,IAAAlC,QAAE,EACD,0DACD,CAAC,EACD,CAAE,GAAGyD,aAAa,CAAE,CAAE,CAAC,CACxB,CAAC;gBACF,CAAC,MAAM;kBACNJ,YAAY,GAAG,IAAAnB,aAAO,EACrB;kBACA,IAAAlC,QAAE,EACD,8DACD,CAAC,EACD,CAAE,GAAGyD,aAAa,CAAE,CAACO,IAAI,CAAE,GAAI,CAChC,CAAC;gBACF;cACD;cACA1C,iBAAiB,CAAE+B,YAAY,EAAE;gBAChC9C,IAAI,EAAE;cACP,CAAE,CAAC;YACJ;YACA,IAAKU,iBAAiB,EAAG;cACxBA,iBAAiB,CAAEF,KAAM,CAAC;YAC3B;YACAI,SAAS,CAAE,KAAM,CAAC;YAClBH,UAAU,GAAG,CAAC;UACf,CAAG;UACHE,MAAM,EAAGA,MAAQ;UACjByB,QAAQ,EAAGzB,MAAQ;UACnB0B,sBAAsB;UAAAd,QAAA,EAEpB,IAAAmC,QAAE,EAAE,OAAO,EAAE,MAAO;QAAC,CAChB,CAAC;MAAA,CACF,CAAC;IAAA,CACF,CAAC;EAEX;AACD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEavE,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_components","_utils","_jsxRuntime","trashPost","id","label","__","isPrimary","icon","trash","isEligible","item","isTemplateOrTemplatePart","type","status","includes","permissions","delete","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","length","sprintf","getItemTitle","_n","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","disabled","accessibleWhenDisabled","promiseResult","Promise","allSettled","map","toString","throwOnError","every","successMessage","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_x","_default","exports","default"],"sources":["@wordpress/fields/src/actions/trash-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { trash } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst trashPost: Action< PostWithPermissions > = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\t!! item.status &&\n\t\t\t! [ 'auto-draft', 'trash' ].includes( item.status ) &&\n\t\t\titem.permissions?.delete\n\t\t);\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move \"%s\" to the trash?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of items (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d item to the trash ?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d items to the trash ?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( item ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\titem.type,\n\t\t\t\t\t\t\t\t\t\titem.id.toString(),\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\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// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\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\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The item's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t'%s item moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\t'%s items moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\titems.length\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\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'move-to-trash-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at least one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to delete a single item.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the item to the trash.'\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// If we were trying to delete multiple items.\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\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\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the items to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\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'An error occurred while moving the item to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\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'Some errors occurred while moving the items to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\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\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Trash', 'verb' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Trash action for PostWithPermissions.\n */\nexport default trashPost;\n"],"mappings":"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","ignoreList":[]}