@wordpress/editor 14.7.1-next.5368f64a9.0 → 14.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/bindings/post-meta.js +42 -7
  4. package/build/bindings/post-meta.js.map +1 -1
  5. package/build/components/block-manager/index.js +45 -66
  6. package/build/components/block-manager/index.js.map +1 -1
  7. package/build/components/document-bar/index.js +20 -28
  8. package/build/components/document-bar/index.js.map +1 -1
  9. package/build/components/editor-history/redo.js +2 -4
  10. package/build/components/editor-history/redo.js.map +1 -1
  11. package/build/components/editor-history/undo.js +2 -4
  12. package/build/components/editor-history/undo.js.map +1 -1
  13. package/build/components/editor-interface/index.js +1 -2
  14. package/build/components/editor-interface/index.js.map +1 -1
  15. package/build/components/error-boundary/index.js +2 -4
  16. package/build/components/error-boundary/index.js.map +1 -1
  17. package/build/components/global-styles-provider/index.js +21 -12
  18. package/build/components/global-styles-provider/index.js.map +1 -1
  19. package/build/components/header/index.js +4 -4
  20. package/build/components/header/index.js.map +1 -1
  21. package/build/components/media-categories/index.js +1 -0
  22. package/build/components/media-categories/index.js.map +1 -1
  23. package/build/components/post-excerpt/panel.js +2 -5
  24. package/build/components/post-excerpt/panel.js.map +1 -1
  25. package/build/components/post-featured-image/index.js +6 -12
  26. package/build/components/post-featured-image/index.js.map +1 -1
  27. package/build/components/post-format/index.js +2 -4
  28. package/build/components/post-format/index.js.map +1 -1
  29. package/build/components/post-last-revision/index.js +2 -4
  30. package/build/components/post-last-revision/index.js.map +1 -1
  31. package/build/components/post-locked-modal/index.js +4 -8
  32. package/build/components/post-locked-modal/index.js.map +1 -1
  33. package/build/components/post-publish-panel/index.js +2 -4
  34. package/build/components/post-publish-panel/index.js.map +1 -1
  35. package/build/components/post-publish-panel/maybe-post-format-panel.js +2 -4
  36. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  37. package/build/components/post-publish-panel/maybe-upload-media.js +2 -4
  38. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  39. package/build/components/post-status/index.js +1 -0
  40. package/build/components/post-status/index.js.map +1 -1
  41. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -4
  42. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  43. package/build/components/post-taxonomies/most-used-terms.js +2 -4
  44. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  45. package/build/components/post-url/index.js +8 -7
  46. package/build/components/post-url/index.js.map +1 -1
  47. package/build/components/preview-dropdown/index.js +5 -57
  48. package/build/components/preview-dropdown/index.js.map +1 -1
  49. package/build/components/save-publish-panels/index.js +4 -10
  50. package/build/components/save-publish-panels/index.js.map +1 -1
  51. package/build/components/zoom-out-toggle/index.js +38 -0
  52. package/build/components/zoom-out-toggle/index.js.map +1 -0
  53. package/build/dataviews/store/private-actions.js +4 -10
  54. package/build/dataviews/store/private-actions.js.map +1 -1
  55. package/build-module/bindings/post-meta.js +40 -7
  56. package/build-module/bindings/post-meta.js.map +1 -1
  57. package/build-module/components/block-manager/index.js +46 -67
  58. package/build-module/components/block-manager/index.js.map +1 -1
  59. package/build-module/components/document-bar/index.js +22 -28
  60. package/build-module/components/document-bar/index.js.map +1 -1
  61. package/build-module/components/editor-history/redo.js +2 -4
  62. package/build-module/components/editor-history/redo.js.map +1 -1
  63. package/build-module/components/editor-history/undo.js +2 -4
  64. package/build-module/components/editor-history/undo.js.map +1 -1
  65. package/build-module/components/editor-interface/index.js +1 -2
  66. package/build-module/components/editor-interface/index.js.map +1 -1
  67. package/build-module/components/error-boundary/index.js +2 -4
  68. package/build-module/components/error-boundary/index.js.map +1 -1
  69. package/build-module/components/global-styles-provider/index.js +21 -12
  70. package/build-module/components/global-styles-provider/index.js.map +1 -1
  71. package/build-module/components/header/index.js +4 -4
  72. package/build-module/components/header/index.js.map +1 -1
  73. package/build-module/components/media-categories/index.js +1 -0
  74. package/build-module/components/media-categories/index.js.map +1 -1
  75. package/build-module/components/post-excerpt/panel.js +2 -5
  76. package/build-module/components/post-excerpt/panel.js.map +1 -1
  77. package/build-module/components/post-featured-image/index.js +6 -12
  78. package/build-module/components/post-featured-image/index.js.map +1 -1
  79. package/build-module/components/post-format/index.js +2 -4
  80. package/build-module/components/post-format/index.js.map +1 -1
  81. package/build-module/components/post-last-revision/index.js +2 -4
  82. package/build-module/components/post-last-revision/index.js.map +1 -1
  83. package/build-module/components/post-locked-modal/index.js +4 -8
  84. package/build-module/components/post-locked-modal/index.js.map +1 -1
  85. package/build-module/components/post-publish-panel/index.js +2 -4
  86. package/build-module/components/post-publish-panel/index.js.map +1 -1
  87. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +2 -4
  88. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  89. package/build-module/components/post-publish-panel/maybe-upload-media.js +2 -4
  90. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  91. package/build-module/components/post-status/index.js +1 -0
  92. package/build-module/components/post-status/index.js.map +1 -1
  93. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -4
  94. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  95. package/build-module/components/post-taxonomies/most-used-terms.js +2 -4
  96. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  97. package/build-module/components/post-url/index.js +9 -8
  98. package/build-module/components/post-url/index.js.map +1 -1
  99. package/build-module/components/preview-dropdown/index.js +5 -57
  100. package/build-module/components/preview-dropdown/index.js.map +1 -1
  101. package/build-module/components/save-publish-panels/index.js +4 -10
  102. package/build-module/components/save-publish-panels/index.js.map +1 -1
  103. package/build-module/components/zoom-out-toggle/index.js +31 -0
  104. package/build-module/components/zoom-out-toggle/index.js.map +1 -0
  105. package/build-module/dataviews/store/private-actions.js +2 -8
  106. package/build-module/dataviews/store/private-actions.js.map +1 -1
  107. package/build-style/style-rtl.css +38 -23
  108. package/build-style/style.css +38 -23
  109. package/build-types/bindings/post-meta.d.ts +4 -1
  110. package/build-types/bindings/post-meta.d.ts.map +1 -1
  111. package/build-types/components/block-manager/index.d.ts +1 -2
  112. package/build-types/components/block-manager/index.d.ts.map +1 -1
  113. package/build-types/components/document-bar/index.d.ts +7 -6
  114. package/build-types/components/document-bar/index.d.ts.map +1 -1
  115. package/build-types/components/editor-history/redo.d.ts.map +1 -1
  116. package/build-types/components/editor-history/undo.d.ts.map +1 -1
  117. package/build-types/components/editor-interface/index.d.ts +1 -2
  118. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  119. package/build-types/components/error-boundary/index.d.ts.map +1 -1
  120. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  121. package/build-types/components/header/index.d.ts +2 -2
  122. package/build-types/components/header/index.d.ts.map +1 -1
  123. package/build-types/components/post-format/index.d.ts.map +1 -1
  124. package/build-types/components/post-last-revision/index.d.ts.map +1 -1
  125. package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
  126. package/build-types/components/post-publish-panel/index.d.ts.map +1 -1
  127. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -1
  128. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -1
  129. package/build-types/components/post-status/index.d.ts.map +1 -1
  130. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  131. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -1
  132. package/build-types/components/post-url/index.d.ts.map +1 -1
  133. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  134. package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
  135. package/build-types/components/zoom-out-toggle/index.d.ts +3 -0
  136. package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -0
  137. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  138. package/package.json +37 -36
  139. package/src/bindings/post-meta.js +56 -20
  140. package/src/components/block-manager/index.js +50 -67
  141. package/src/components/document-bar/index.js +29 -41
  142. package/src/components/document-bar/style.scss +33 -15
  143. package/src/components/editor-history/redo.js +1 -2
  144. package/src/components/editor-history/undo.js +1 -2
  145. package/src/components/editor-interface/index.js +1 -2
  146. package/src/components/error-boundary/index.js +1 -6
  147. package/src/components/global-styles-provider/index.js +50 -36
  148. package/src/components/header/index.js +8 -2
  149. package/src/components/post-excerpt/panel.js +1 -3
  150. package/src/components/post-featured-image/index.js +3 -6
  151. package/src/components/post-featured-image/style.scss +1 -5
  152. package/src/components/post-format/index.js +1 -2
  153. package/src/components/post-last-revision/index.js +1 -2
  154. package/src/components/post-locked-modal/index.js +2 -4
  155. package/src/components/post-panel-row/style.scss +1 -0
  156. package/src/components/post-publish-panel/index.js +1 -2
  157. package/src/components/post-publish-panel/maybe-post-format-panel.js +1 -2
  158. package/src/components/post-publish-panel/maybe-upload-media.js +1 -2
  159. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
  160. package/src/components/post-status/index.js +1 -0
  161. package/src/components/post-status/style.scss +5 -0
  162. package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -2
  163. package/src/components/post-taxonomies/most-used-terms.js +1 -2
  164. package/src/components/post-taxonomies/style.scss +0 -4
  165. package/src/components/post-url/index.js +9 -7
  166. package/src/components/preview-dropdown/index.js +26 -84
  167. package/src/components/save-publish-panels/index.js +2 -6
  168. package/src/components/zoom-out-toggle/index.js +34 -0
  169. package/src/dataviews/store/private-actions.ts +10 -8
  170. package/tsconfig.json +1 -0
  171. package/tsconfig.tsbuildinfo +1 -1
  172. package/build/dataviews/actions/duplicate-pattern.js +0 -48
  173. package/build/dataviews/actions/duplicate-pattern.js.map +0 -1
  174. package/build/dataviews/actions/duplicate-post.js +0 -146
  175. package/build/dataviews/actions/duplicate-post.js.map +0 -1
  176. package/build/dataviews/actions/duplicate-post.native.js +0 -9
  177. package/build/dataviews/actions/duplicate-post.native.js.map +0 -1
  178. package/build/dataviews/actions/export-pattern.js +0 -57
  179. package/build/dataviews/actions/export-pattern.js.map +0 -1
  180. package/build/dataviews/actions/export-pattern.native.js +0 -9
  181. package/build/dataviews/actions/export-pattern.native.js.map +0 -1
  182. package/build/dataviews/actions/permanently-delete-post.js +0 -109
  183. package/build/dataviews/actions/permanently-delete-post.js.map +0 -1
  184. package/build/dataviews/actions/reorder-page.js +0 -116
  185. package/build/dataviews/actions/reorder-page.js.map +0 -1
  186. package/build/dataviews/actions/reorder-page.native.js +0 -9
  187. package/build/dataviews/actions/reorder-page.native.js.map +0 -1
  188. package/build/dataviews/actions/view-post-revisions.js +0 -49
  189. package/build/dataviews/actions/view-post-revisions.js.map +0 -1
  190. package/build/dataviews/actions/view-post.js +0 -36
  191. package/build/dataviews/actions/view-post.js.map +0 -1
  192. package/build-module/dataviews/actions/duplicate-pattern.js +0 -39
  193. package/build-module/dataviews/actions/duplicate-pattern.js.map +0 -1
  194. package/build-module/dataviews/actions/duplicate-post.js +0 -139
  195. package/build-module/dataviews/actions/duplicate-post.js.map +0 -1
  196. package/build-module/dataviews/actions/duplicate-post.native.js +0 -3
  197. package/build-module/dataviews/actions/duplicate-post.native.js.map +0 -1
  198. package/build-module/dataviews/actions/export-pattern.js +0 -51
  199. package/build-module/dataviews/actions/export-pattern.js.map +0 -1
  200. package/build-module/dataviews/actions/export-pattern.native.js +0 -3
  201. package/build-module/dataviews/actions/export-pattern.native.js.map +0 -1
  202. package/build-module/dataviews/actions/permanently-delete-post.js +0 -102
  203. package/build-module/dataviews/actions/permanently-delete-post.js.map +0 -1
  204. package/build-module/dataviews/actions/reorder-page.js +0 -111
  205. package/build-module/dataviews/actions/reorder-page.js.map +0 -1
  206. package/build-module/dataviews/actions/reorder-page.native.js +0 -3
  207. package/build-module/dataviews/actions/reorder-page.native.js.map +0 -1
  208. package/build-module/dataviews/actions/view-post-revisions.js +0 -43
  209. package/build-module/dataviews/actions/view-post-revisions.js.map +0 -1
  210. package/build-module/dataviews/actions/view-post.js +0 -30
  211. package/build-module/dataviews/actions/view-post.js.map +0 -1
  212. package/build-types/dataviews/actions/duplicate-pattern.d.ts +0 -5
  213. package/build-types/dataviews/actions/duplicate-pattern.d.ts.map +0 -1
  214. package/build-types/dataviews/actions/duplicate-post.d.ts +0 -5
  215. package/build-types/dataviews/actions/duplicate-post.d.ts.map +0 -1
  216. package/build-types/dataviews/actions/duplicate-post.native.d.ts +0 -3
  217. package/build-types/dataviews/actions/duplicate-post.native.d.ts.map +0 -1
  218. package/build-types/dataviews/actions/export-pattern.d.ts +0 -8
  219. package/build-types/dataviews/actions/export-pattern.d.ts.map +0 -1
  220. package/build-types/dataviews/actions/export-pattern.native.d.ts +0 -3
  221. package/build-types/dataviews/actions/export-pattern.native.d.ts.map +0 -1
  222. package/build-types/dataviews/actions/permanently-delete-post.d.ts +0 -5
  223. package/build-types/dataviews/actions/permanently-delete-post.d.ts.map +0 -1
  224. package/build-types/dataviews/actions/reorder-page.d.ts +0 -8
  225. package/build-types/dataviews/actions/reorder-page.d.ts.map +0 -1
  226. package/build-types/dataviews/actions/reorder-page.native.d.ts +0 -3
  227. package/build-types/dataviews/actions/reorder-page.native.d.ts.map +0 -1
  228. package/build-types/dataviews/actions/view-post-revisions.d.ts +0 -8
  229. package/build-types/dataviews/actions/view-post-revisions.d.ts.map +0 -1
  230. package/build-types/dataviews/actions/view-post.d.ts +0 -8
  231. package/build-types/dataviews/actions/view-post.d.ts.map +0 -1
  232. package/src/dataviews/actions/duplicate-pattern.tsx +0 -40
  233. package/src/dataviews/actions/duplicate-post.native.tsx +0 -3
  234. package/src/dataviews/actions/duplicate-post.tsx +0 -174
  235. package/src/dataviews/actions/export-pattern.native.tsx +0 -3
  236. package/src/dataviews/actions/export-pattern.tsx +0 -76
  237. package/src/dataviews/actions/permanently-delete-post.tsx +0 -118
  238. package/src/dataviews/actions/reorder-page.native.tsx +0 -3
  239. package/src/dataviews/actions/reorder-page.tsx +0 -125
  240. package/src/dataviews/actions/view-post-revisions.tsx +0 -47
  241. package/src/dataviews/actions/view-post.tsx +0 -30
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _i18n = require("@wordpress/i18n");
8
- var _patterns = require("@wordpress/patterns");
9
- var _lockUnlock = require("../../lock-unlock");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- /**
12
- * WordPress dependencies
13
- */
14
-
15
- // @ts-ignore
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
-
21
- // Patterns.
22
- const {
23
- CreatePatternModalContents,
24
- useDuplicatePatternProps
25
- } = (0, _lockUnlock.unlock)(_patterns.privateApis);
26
- const duplicatePattern = {
27
- id: 'duplicate-pattern',
28
- label: (0, _i18n._x)('Duplicate', 'action label'),
29
- isEligible: item => item.type !== 'wp_template_part',
30
- modalHeader: (0, _i18n._x)('Duplicate pattern', 'action label'),
31
- RenderModal: ({
32
- items,
33
- closeModal
34
- }) => {
35
- const [item] = items;
36
- const duplicatedProps = useDuplicatePatternProps({
37
- pattern: item,
38
- onSuccess: () => closeModal?.()
39
- });
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(CreatePatternModalContents, {
41
- onClose: closeModal,
42
- confirmLabel: (0, _i18n._x)('Duplicate', 'action label'),
43
- ...duplicatedProps
44
- });
45
- }
46
- };
47
- var _default = exports.default = duplicatePattern;
48
- //# sourceMappingURL=duplicate-pattern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_i18n","require","_patterns","_lockUnlock","_jsxRuntime","CreatePatternModalContents","useDuplicatePatternProps","unlock","patternsPrivateApis","duplicatePattern","id","label","_x","isEligible","item","type","modalHeader","RenderModal","items","closeModal","duplicatedProps","pattern","onSuccess","jsx","onClose","confirmLabel","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/duplicate-pattern.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Pattern } from '../types';\n\n// Patterns.\nconst { CreatePatternModalContents, useDuplicatePatternProps } =\n\tunlock( patternsPrivateApis );\n\nconst duplicatePattern: Action< Pattern > = {\n\tid: 'duplicate-pattern',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type !== 'wp_template_part',\n\tmodalHeader: _x( 'Duplicate pattern', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst duplicatedProps = useDuplicatePatternProps( {\n\t\t\tpattern: item,\n\t\t\tonSuccess: () => closeModal?.(),\n\t\t} );\n\t\treturn (\n\t\t\t<CreatePatternModalContents\n\t\t\t\tonClose={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t{ ...duplicatedProps }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport default duplicatePattern;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AAA2C,IAAAG,WAAA,GAAAH,OAAA;AAX3C;AACA;AACA;;AAEA;;AAIA;AACA;AACA;;AAIA;AACA,MAAM;EAAEI,0BAA0B;EAAEC;AAAyB,CAAC,GAC7D,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;AAE9B,MAAMC,gBAAmC,GAAG;EAC3CC,EAAE,EAAE,mBAAmB;EACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,cAAe,CAAC;EACxCC,UAAU,EAAIC,IAAI,IAAMA,IAAI,CAACC,IAAI,KAAK,kBAAkB;EACxDC,WAAW,EAAE,IAAAJ,QAAE,EAAE,mBAAmB,EAAE,cAAe,CAAC;EACtDK,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC;EAAW,CAAC,KAAM;IACzC,MAAM,CAAEL,IAAI,CAAE,GAAGI,KAAK;IACtB,MAAME,eAAe,GAAGd,wBAAwB,CAAE;MACjDe,OAAO,EAAEP,IAAI;MACbQ,SAAS,EAAEA,CAAA,KAAMH,UAAU,GAAG;IAC/B,CAAE,CAAC;IACH,oBACC,IAAAf,WAAA,CAAAmB,GAAA,EAAClB,0BAA0B;MAC1BmB,OAAO,EAAGL,UAAY;MACtBM,YAAY,EAAG,IAAAb,QAAE,EAAE,WAAW,EAAE,cAAe,CAAG;MAAA,GAC7CQ;IAAe,CACpB,CAAC;EAEJ;AACD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEanB,gBAAgB","ignoreList":[]}
@@ -1,146 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _data = require("@wordpress/data");
8
- var _htmlEntities = require("@wordpress/html-entities");
9
- var _coreData = require("@wordpress/core-data");
10
- var _i18n = require("@wordpress/i18n");
11
- var _notices = require("@wordpress/notices");
12
- var _element = require("@wordpress/element");
13
- var _dataviews = require("@wordpress/dataviews");
14
- var _components = require("@wordpress/components");
15
- var _utils = require("../../dataviews/actions/utils");
16
- var _fields = require("../fields");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- /**
19
- * WordPress dependencies
20
- */
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
-
26
- const fields = [_fields.titleField];
27
- const formDuplicateAction = {
28
- fields: ['title']
29
- };
30
- const duplicatePost = {
31
- id: 'duplicate-post',
32
- label: (0, _i18n._x)('Duplicate', 'action label'),
33
- isEligible({
34
- status
35
- }) {
36
- return status !== 'trash';
37
- },
38
- RenderModal: ({
39
- items,
40
- closeModal,
41
- onActionPerformed
42
- }) => {
43
- const [item, setItem] = (0, _element.useState)({
44
- ...items[0],
45
- title: (0, _i18n.sprintf)( /* translators: %s: Existing template title */
46
- (0, _i18n.__)('%s (Copy)'), (0, _utils.getItemTitle)(items[0]))
47
- });
48
- const [isCreatingPage, setIsCreatingPage] = (0, _element.useState)(false);
49
- const {
50
- saveEntityRecord
51
- } = (0, _data.useDispatch)(_coreData.store);
52
- const {
53
- createSuccessNotice,
54
- createErrorNotice
55
- } = (0, _data.useDispatch)(_notices.store);
56
- async function createPage(event) {
57
- event.preventDefault();
58
- if (isCreatingPage) {
59
- return;
60
- }
61
- const newItemOject = {
62
- status: 'draft',
63
- title: item.title,
64
- slug: item.title || (0, _i18n.__)('No title'),
65
- comment_status: item.comment_status,
66
- content: typeof item.content === 'string' ? item.content : item.content.raw,
67
- excerpt: typeof item.excerpt === 'string' ? item.excerpt : item.excerpt?.raw,
68
- meta: item.meta,
69
- parent: item.parent,
70
- password: item.password,
71
- template: item.template,
72
- format: item.format,
73
- featured_media: item.featured_media,
74
- menu_order: item.menu_order,
75
- ping_status: item.ping_status
76
- };
77
- const assignablePropertiesPrefix = 'wp:action-assign-';
78
- // Get all the properties that the current user is able to assign normally author, categories, tags,
79
- // and custom taxonomies.
80
- const assignableProperties = Object.keys(item?._links || {}).filter(property => property.startsWith(assignablePropertiesPrefix)).map(property => property.slice(assignablePropertiesPrefix.length));
81
- assignableProperties.forEach(property => {
82
- if (item.hasOwnProperty(property)) {
83
- // @ts-ignore
84
- newItemOject[property] = item[property];
85
- }
86
- });
87
- setIsCreatingPage(true);
88
- try {
89
- const newItem = await saveEntityRecord('postType', item.type, newItemOject, {
90
- throwOnError: true
91
- });
92
- createSuccessNotice((0, _i18n.sprintf)(
93
- // translators: %s: Title of the created template e.g: "Category".
94
- (0, _i18n.__)('"%s" successfully created.'), (0, _htmlEntities.decodeEntities)(newItem.title?.rendered || item.title)), {
95
- id: 'duplicate-post-action',
96
- type: 'snackbar'
97
- });
98
- if (onActionPerformed) {
99
- onActionPerformed([newItem]);
100
- }
101
- } catch (error) {
102
- const typedError = error;
103
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : (0, _i18n.__)('An error occurred while duplicating the page.');
104
- createErrorNotice(errorMessage, {
105
- type: 'snackbar'
106
- });
107
- } finally {
108
- setIsCreatingPage(false);
109
- closeModal?.();
110
- }
111
- }
112
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
113
- onSubmit: createPage,
114
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
115
- spacing: 3,
116
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
117
- data: item,
118
- fields: fields,
119
- form: formDuplicateAction,
120
- onChange: changes => setItem(prev => ({
121
- ...prev,
122
- ...changes
123
- }))
124
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
125
- spacing: 2,
126
- justify: "end",
127
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
128
- variant: "tertiary",
129
- onClick: closeModal,
130
- __next40pxDefaultSize: true,
131
- children: (0, _i18n.__)('Cancel')
132
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
133
- variant: "primary",
134
- type: "submit",
135
- isBusy: isCreatingPage,
136
- "aria-disabled": isCreatingPage,
137
- __next40pxDefaultSize: true,
138
- children: (0, _i18n._x)('Duplicate', 'action label')
139
- })]
140
- })]
141
- })
142
- });
143
- }
144
- };
145
- var _default = exports.default = duplicatePost;
146
- //# sourceMappingURL=duplicate-post.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_data","require","_htmlEntities","_coreData","_i18n","_notices","_element","_dataviews","_components","_utils","_fields","_jsxRuntime","fields","titleField","formDuplicateAction","duplicatePost","id","label","_x","isEligible","status","RenderModal","items","closeModal","onActionPerformed","item","setItem","useState","title","sprintf","__","getItemTitle","isCreatingPage","setIsCreatingPage","saveEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","createPage","event","preventDefault","newItemOject","slug","comment_status","content","raw","excerpt","meta","parent","password","template","format","featured_media","menu_order","ping_status","assignablePropertiesPrefix","assignableProperties","Object","keys","_links","filter","property","startsWith","map","slice","length","forEach","hasOwnProperty","newItem","type","throwOnError","decodeEntities","rendered","error","typedError","errorMessage","message","code","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","DataForm","data","form","onChange","changes","prev","__experimentalHStack","justify","Button","variant","onClick","__next40pxDefaultSize","isBusy","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/duplicate-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\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 } from '../../dataviews/actions/utils';\nimport type { CoreDataError, BasePost } from '../types';\nimport { titleField } from '../fields';\n\nconst fields = [ titleField ];\nconst formDuplicateAction = {\n\tfields: [ 'title' ],\n};\n\nconst duplicatePost: Action< BasePost > = {\n\tid: 'duplicate-post',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item, setItem ] = useState< BasePost >( {\n\t\t\t...items[ 0 ],\n\t\t\ttitle: sprintf(\n\t\t\t\t/* translators: %s: Existing template title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t),\n\t\t} );\n\n\t\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function createPage( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( isCreatingPage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst newItemOject = {\n\t\t\t\tstatus: 'draft',\n\t\t\t\ttitle: item.title,\n\t\t\t\tslug: item.title || __( 'No title' ),\n\t\t\t\tcomment_status: item.comment_status,\n\t\t\t\tcontent:\n\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.content.raw,\n\t\t\t\texcerpt:\n\t\t\t\t\ttypeof item.excerpt === 'string'\n\t\t\t\t\t\t? item.excerpt\n\t\t\t\t\t\t: item.excerpt?.raw,\n\t\t\t\tmeta: item.meta,\n\t\t\t\tparent: item.parent,\n\t\t\t\tpassword: item.password,\n\t\t\t\ttemplate: item.template,\n\t\t\t\tformat: item.format,\n\t\t\t\tfeatured_media: item.featured_media,\n\t\t\t\tmenu_order: item.menu_order,\n\t\t\t\tping_status: item.ping_status,\n\t\t\t};\n\t\t\tconst assignablePropertiesPrefix = 'wp:action-assign-';\n\t\t\t// Get all the properties that the current user is able to assign normally author, categories, tags,\n\t\t\t// and custom taxonomies.\n\t\t\tconst assignableProperties = Object.keys( item?._links || {} )\n\t\t\t\t.filter( ( property ) =>\n\t\t\t\t\tproperty.startsWith( assignablePropertiesPrefix )\n\t\t\t\t)\n\t\t\t\t.map( ( property ) =>\n\t\t\t\t\tproperty.slice( assignablePropertiesPrefix.length )\n\t\t\t\t);\n\t\t\tassignableProperties.forEach( ( property ) => {\n\t\t\t\tif ( item.hasOwnProperty( property ) ) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tnewItemOject[ property ] = item[ property ];\n\t\t\t\t}\n\t\t\t} );\n\t\t\tsetIsCreatingPage( true );\n\t\t\ttry {\n\t\t\t\tconst newItem = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\titem.type,\n\t\t\t\t\tnewItemOject,\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\tdecodeEntities( newItem.title?.rendered || item.title )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\tonActionPerformed( [ newItem ] );\n\t\t\t\t}\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 duplicating the page.' );\n\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} finally {\n\t\t\t\tsetIsCreatingPage( false );\n\t\t\t\tcloseModal?.();\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ item }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ formDuplicateAction }\n\t\t\t\t\t\tonChange={ ( changes ) =>\n\t\t\t\t\t\t\tsetItem( ( prev ) => ( {\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\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\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Duplicate', 'action label' ) }\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 duplicatePost;\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- const duplicatePost = undefined;
8
- var _default = exports.default = duplicatePost;
9
- //# sourceMappingURL=duplicate-post.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["duplicatePost","undefined","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/duplicate-post.native.tsx"],"sourcesContent":["const duplicatePost = undefined;\n\nexport default duplicatePost;\n"],"mappings":";;;;;;AAAA,MAAMA,aAAa,GAAGC,SAAS;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEjBJ,aAAa","ignoreList":[]}
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _changeCase = require("change-case");
8
- var _clientZip = require("client-zip");
9
- var _blob = require("@wordpress/blob");
10
- var _i18n = require("@wordpress/i18n");
11
- var _icons = require("@wordpress/icons");
12
- var _utils = require("./utils");
13
- /**
14
- * External dependencies
15
- */
16
-
17
- /**
18
- * WordPress dependencies
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
- function getJsonFromItem(item) {
26
- return JSON.stringify({
27
- __file: item.type,
28
- title: (0, _utils.getItemTitle)(item),
29
- content: typeof item.content === 'string' ? item.content : item.content?.raw,
30
- syncStatus: item.wp_pattern_sync_status
31
- }, null, 2);
32
- }
33
- const exportPattern = {
34
- id: 'export-pattern',
35
- label: (0, _i18n.__)('Export as JSON'),
36
- icon: _icons.download,
37
- supportsBulk: true,
38
- isEligible: item => item.type === 'wp_block',
39
- callback: async items => {
40
- if (items.length === 1) {
41
- return (0, _blob.downloadBlob)(`${(0, _changeCase.paramCase)((0, _utils.getItemTitle)(items[0]) || items[0].slug)}.json`, getJsonFromItem(items[0]), 'application/json');
42
- }
43
- const nameCount = {};
44
- const filesToZip = items.map(item => {
45
- const name = (0, _changeCase.paramCase)((0, _utils.getItemTitle)(item) || item.slug);
46
- nameCount[name] = (nameCount[name] || 0) + 1;
47
- return {
48
- name: `${name + (nameCount[name] > 1 ? '-' + (nameCount[name] - 1) : '')}.json`,
49
- lastModified: new Date(),
50
- input: getJsonFromItem(item)
51
- };
52
- });
53
- return (0, _blob.downloadBlob)((0, _i18n.__)('patterns-export') + '.zip', await (0, _clientZip.downloadZip)(filesToZip).blob(), 'application/zip');
54
- }
55
- };
56
- var _default = exports.default = exportPattern;
57
- //# sourceMappingURL=export-pattern.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_changeCase","require","_clientZip","_blob","_i18n","_icons","_utils","getJsonFromItem","item","JSON","stringify","__file","type","title","getItemTitle","content","raw","syncStatus","wp_pattern_sync_status","exportPattern","id","label","__","icon","download","supportsBulk","isEligible","callback","items","length","downloadBlob","kebabCase","slug","nameCount","filesToZip","map","name","lastModified","Date","input","downloadZip","blob","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/export-pattern.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport { downloadZip } from 'client-zip';\n\n/**\n * WordPress dependencies\n */\nimport { downloadBlob } from '@wordpress/blob';\nimport { __ } from '@wordpress/i18n';\nimport { download } from '@wordpress/icons';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Pattern } from '../types';\nimport { getItemTitle } from './utils';\n\nfunction getJsonFromItem( item: Pattern ) {\n\treturn JSON.stringify(\n\t\t{\n\t\t\t__file: item.type,\n\t\t\ttitle: getItemTitle( item ),\n\t\t\tcontent:\n\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t? item.content\n\t\t\t\t\t: item.content?.raw,\n\t\t\tsyncStatus: item.wp_pattern_sync_status,\n\t\t},\n\t\tnull,\n\t\t2\n\t);\n}\n\nconst exportPattern: Action< Pattern > = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\ticon: download,\n\tsupportsBulk: true,\n\tisEligible: ( item ) => item.type === 'wp_block',\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase(\n\t\t\t\t\tgetItemTitle( items[ 0 ] ) || items[ 0 ].slug\n\t\t\t\t) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount: Record< string, number > = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( getItemTitle( item ) || item.slug );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\n\t\t);\n\t},\n};\n\nexport default exportPattern;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAOA,IAAAK,MAAA,GAAAL,OAAA;AAlBA;AACA;AACA;;AAIA;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASM,eAAeA,CAAEC,IAAa,EAAG;EACzC,OAAOC,IAAI,CAACC,SAAS,CACpB;IACCC,MAAM,EAAEH,IAAI,CAACI,IAAI;IACjBC,KAAK,EAAE,IAAAC,mBAAY,EAAEN,IAAK,CAAC;IAC3BO,OAAO,EACN,OAAOP,IAAI,CAACO,OAAO,KAAK,QAAQ,GAC7BP,IAAI,CAACO,OAAO,GACZP,IAAI,CAACO,OAAO,EAAEC,GAAG;IACrBC,UAAU,EAAET,IAAI,CAACU;EAClB,CAAC,EACD,IAAI,EACJ,CACD,CAAC;AACF;AAEA,MAAMC,aAAgC,GAAG;EACxCC,EAAE,EAAE,gBAAgB;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC7BC,IAAI,EAAEC,eAAQ;EACdC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAIlB,IAAI,IAAMA,IAAI,CAACI,IAAI,KAAK,UAAU;EAChDe,QAAQ,EAAE,MAAQC,KAAK,IAAM;IAC5B,IAAKA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAG;MACzB,OAAO,IAAAC,kBAAY,EACjB,GAAG,IAAAC,qBAAS,EACZ,IAAAjB,mBAAY,EAAEc,KAAK,CAAE,CAAC,CAAG,CAAC,IAAIA,KAAK,CAAE,CAAC,CAAE,CAACI,IAC1C,CAAG,OAAM,EACTzB,eAAe,CAAEqB,KAAK,CAAE,CAAC,CAAG,CAAC,EAC7B,kBACD,CAAC;IACF;IACA,MAAMK,SAAmC,GAAG,CAAC,CAAC;IAC9C,MAAMC,UAAU,GAAGN,KAAK,CAACO,GAAG,CAAI3B,IAAI,IAAM;MACzC,MAAM4B,IAAI,GAAG,IAAAL,qBAAS,EAAE,IAAAjB,mBAAY,EAAEN,IAAK,CAAC,IAAIA,IAAI,CAACwB,IAAK,CAAC;MAC3DC,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAEH,SAAS,CAAEG,IAAI,CAAE,IAAI,CAAC,IAAK,CAAC;MAClD,OAAO;QACNA,IAAI,EAAG,GACNA,IAAI,IACFH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,GACpB,GAAG,IAAKH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,CAAE,GAC/B,EAAE,CACL,OAAM;QACPC,YAAY,EAAE,IAAIC,IAAI,CAAC,CAAC;QACxBC,KAAK,EAAEhC,eAAe,CAAEC,IAAK;MAC9B,CAAC;IACF,CAAE,CAAC;IACH,OAAO,IAAAsB,kBAAY,EAClB,IAAAR,QAAE,EAAE,iBAAkB,CAAC,GAAG,MAAM,EAChC,MAAM,IAAAkB,sBAAW,EAAEN,UAAW,CAAC,CAACO,IAAI,CAAC,CAAC,EACtC,iBACD,CAAC;EACF;AACD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEazB,aAAa","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- const exportPattern = undefined;
8
- var _default = exports.default = exportPattern;
9
- //# sourceMappingURL=export-pattern.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["exportPattern","undefined","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/export-pattern.native.tsx"],"sourcesContent":["const exportPattern = undefined;\n\nexport default exportPattern;\n"],"mappings":";;;;;;AAAA,MAAMA,aAAa,GAAGC,SAAS;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEjBJ,aAAa","ignoreList":[]}
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _coreData = require("@wordpress/core-data");
8
- var _i18n = require("@wordpress/i18n");
9
- var _notices = require("@wordpress/notices");
10
- var _icons = require("@wordpress/icons");
11
- var _utils = require("./utils");
12
- /**
13
- * WordPress dependencies
14
- */
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
-
20
- const permanentlyDeletePost = {
21
- id: 'permanently-delete',
22
- label: (0, _i18n.__)('Permanently delete'),
23
- supportsBulk: true,
24
- icon: _icons.trash,
25
- isEligible(item) {
26
- if ((0, _utils.isTemplateOrTemplatePart)(item) || item.type === 'wp_block') {
27
- return false;
28
- }
29
- const {
30
- status,
31
- permissions
32
- } = item;
33
- return status === 'trash' && permissions?.delete;
34
- },
35
- async callback(posts, {
36
- registry,
37
- onActionPerformed
38
- }) {
39
- const {
40
- createSuccessNotice,
41
- createErrorNotice
42
- } = registry.dispatch(_notices.store);
43
- const {
44
- 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
- }
106
- }
107
- };
108
- var _default = exports.default = permanentlyDeletePost;
109
- //# sourceMappingURL=permanently-delete-post.js.map
@@ -1 +0,0 @@
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/editor/src/dataviews/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,116 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _data = require("@wordpress/data");
8
- var _coreData = require("@wordpress/core-data");
9
- var _i18n = require("@wordpress/i18n");
10
- var _notices = require("@wordpress/notices");
11
- var _element = require("@wordpress/element");
12
- var _dataviews = require("@wordpress/dataviews");
13
- var _components = require("@wordpress/components");
14
- var _fields = require("../fields");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- const fields = [_fields.orderField];
25
- const formOrderAction = {
26
- fields: ['menu_order']
27
- };
28
- function ReorderModal({
29
- items,
30
- closeModal,
31
- onActionPerformed
32
- }) {
33
- const [item, setItem] = (0, _element.useState)(items[0]);
34
- const orderInput = item.menu_order;
35
- const {
36
- editEntityRecord,
37
- saveEditedEntityRecord
38
- } = (0, _data.useDispatch)(_coreData.store);
39
- const {
40
- createSuccessNotice,
41
- createErrorNotice
42
- } = (0, _data.useDispatch)(_notices.store);
43
- async function onOrder(event) {
44
- event.preventDefault();
45
- if (!(0, _dataviews.isItemValid)(item, fields, formOrderAction)) {
46
- return;
47
- }
48
- try {
49
- await editEntityRecord('postType', item.type, item.id, {
50
- menu_order: orderInput
51
- });
52
- closeModal?.();
53
- // Persist edited entity.
54
- await saveEditedEntityRecord('postType', item.type, item.id, {
55
- throwOnError: true
56
- });
57
- createSuccessNotice((0, _i18n.__)('Order updated.'), {
58
- type: 'snackbar'
59
- });
60
- onActionPerformed?.(items);
61
- } catch (error) {
62
- const typedError = error;
63
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : (0, _i18n.__)('An error occurred while updating the order');
64
- createErrorNotice(errorMessage, {
65
- type: 'snackbar'
66
- });
67
- }
68
- }
69
- const isSaveDisabled = !(0, _dataviews.isItemValid)(item, fields, formOrderAction);
70
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
71
- onSubmit: onOrder,
72
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
73
- spacing: "5",
74
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
75
- children: (0, _i18n.__)('Determines the order of pages. Pages with the same order value are sorted alphabetically. Negative order values are supported.')
76
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
77
- data: item,
78
- fields: fields,
79
- form: formOrderAction,
80
- onChange: changes => setItem({
81
- ...item,
82
- ...changes
83
- })
84
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
85
- justify: "right",
86
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
87
- __next40pxDefaultSize: true,
88
- variant: "tertiary",
89
- onClick: () => {
90
- closeModal?.();
91
- },
92
- children: (0, _i18n.__)('Cancel')
93
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
94
- __next40pxDefaultSize: true,
95
- variant: "primary",
96
- type: "submit",
97
- accessibleWhenDisabled: true,
98
- disabled: isSaveDisabled,
99
- children: (0, _i18n.__)('Save')
100
- })]
101
- })]
102
- })
103
- });
104
- }
105
- const reorderPage = {
106
- id: 'order-pages',
107
- label: (0, _i18n.__)('Order'),
108
- isEligible({
109
- status
110
- }) {
111
- return status !== 'trash';
112
- },
113
- RenderModal: ReorderModal
114
- };
115
- var _default = exports.default = reorderPage;
116
- //# sourceMappingURL=reorder-page.js.map
@@ -1 +0,0 @@
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/editor/src/dataviews/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":"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","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- const reorderPage = undefined;
8
- var _default = exports.default = reorderPage;
9
- //# sourceMappingURL=reorder-page.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["reorderPage","undefined","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/reorder-page.native.tsx"],"sourcesContent":["const reorderPage = undefined;\n\nexport default reorderPage;\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAGC,SAAS;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEfJ,WAAW","ignoreList":[]}