@wordpress/editor 14.5.0 → 14.6.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 (216) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/post-meta.js +2 -2
  3. package/build/bindings/post-meta.js.map +1 -1
  4. package/build/components/create-template-part-modal/index.js +1 -0
  5. package/build/components/create-template-part-modal/index.js.map +1 -1
  6. package/build/components/global-styles-provider/index.js +17 -4
  7. package/build/components/global-styles-provider/index.js.map +1 -1
  8. package/build/components/inserter-sidebar/index.js +5 -2
  9. package/build/components/inserter-sidebar/index.js.map +1 -1
  10. package/build/components/page-attributes/parent.js +6 -5
  11. package/build/components/page-attributes/parent.js.map +1 -1
  12. package/build/components/post-actions/actions.js +4 -499
  13. package/build/components/post-actions/actions.js.map +1 -1
  14. package/build/components/post-actions/index.js +8 -17
  15. package/build/components/post-actions/index.js.map +1 -1
  16. package/build/components/post-card-panel/index.js +20 -20
  17. package/build/components/post-card-panel/index.js.map +1 -1
  18. package/build/components/post-featured-image/index.js +2 -0
  19. package/build/components/post-featured-image/index.js.map +1 -1
  20. package/build/components/post-publish-panel/postpublish.js +4 -0
  21. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  22. package/build/components/post-slug/index.js +1 -0
  23. package/build/components/post-slug/index.js.map +1 -1
  24. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -1
  25. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  26. package/build/components/post-url/index.js +6 -5
  27. package/build/components/post-url/index.js.map +1 -1
  28. package/build/components/sidebar/post-summary.js +10 -7
  29. package/build/components/sidebar/post-summary.js.map +1 -1
  30. package/build/components/template-content-panel/index.js +1 -1
  31. package/build/components/template-content-panel/index.js.map +1 -1
  32. package/build/dataviews/actions/duplicate-pattern.js +48 -0
  33. package/build/dataviews/actions/duplicate-pattern.js.map +1 -0
  34. package/build/dataviews/actions/duplicate-post.js +146 -0
  35. package/build/dataviews/actions/duplicate-post.js.map +1 -0
  36. package/build/dataviews/actions/duplicate-post.native.js +9 -0
  37. package/build/dataviews/actions/duplicate-post.native.js.map +1 -0
  38. package/build/dataviews/actions/duplicate-template-part.js +67 -0
  39. package/build/dataviews/actions/duplicate-template-part.js.map +1 -0
  40. package/build/dataviews/actions/rename-post.js +125 -0
  41. package/build/dataviews/actions/rename-post.js.map +1 -0
  42. package/build/dataviews/actions/reorder-page.js +116 -0
  43. package/build/dataviews/actions/reorder-page.js.map +1 -0
  44. package/build/dataviews/actions/reorder-page.native.js +9 -0
  45. package/build/dataviews/actions/reorder-page.native.js.map +1 -0
  46. package/build/dataviews/actions/reset-post.js +1 -1
  47. package/build/dataviews/actions/reset-post.js.map +1 -1
  48. package/build/dataviews/actions/utils.js +9 -1
  49. package/build/dataviews/actions/utils.js.map +1 -1
  50. package/build/dataviews/actions/view-post-revisions.js +49 -0
  51. package/build/dataviews/actions/view-post-revisions.js.map +1 -0
  52. package/build/dataviews/actions/view-post.js +36 -0
  53. package/build/dataviews/actions/view-post.js.map +1 -0
  54. package/build/dataviews/fields/index.js +32 -0
  55. package/build/dataviews/fields/index.js.map +1 -0
  56. package/build/dataviews/store/private-actions.js +16 -2
  57. package/build/dataviews/store/private-actions.js.map +1 -1
  58. package/build/dataviews/types.js.map +1 -1
  59. package/build/private-apis.js +2 -0
  60. package/build/private-apis.js.map +1 -1
  61. package/build/store/private-actions.js +1 -1
  62. package/build/store/private-actions.js.map +1 -1
  63. package/build/store/utils/is-template-revertable.js +1 -1
  64. package/build/store/utils/is-template-revertable.js.map +1 -1
  65. package/build-module/bindings/post-meta.js +2 -2
  66. package/build-module/bindings/post-meta.js.map +1 -1
  67. package/build-module/components/create-template-part-modal/index.js +1 -0
  68. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  69. package/build-module/components/global-styles-provider/index.js +17 -4
  70. package/build-module/components/global-styles-provider/index.js.map +1 -1
  71. package/build-module/components/inserter-sidebar/index.js +5 -2
  72. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  73. package/build-module/components/page-attributes/parent.js +6 -5
  74. package/build-module/components/page-attributes/parent.js.map +1 -1
  75. package/build-module/components/post-actions/actions.js +5 -501
  76. package/build-module/components/post-actions/actions.js.map +1 -1
  77. package/build-module/components/post-actions/index.js +8 -17
  78. package/build-module/components/post-actions/index.js.map +1 -1
  79. package/build-module/components/post-card-panel/index.js +20 -20
  80. package/build-module/components/post-card-panel/index.js.map +1 -1
  81. package/build-module/components/post-featured-image/index.js +2 -0
  82. package/build-module/components/post-featured-image/index.js.map +1 -1
  83. package/build-module/components/post-publish-panel/postpublish.js +4 -0
  84. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  85. package/build-module/components/post-slug/index.js +1 -0
  86. package/build-module/components/post-slug/index.js.map +1 -1
  87. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +3 -2
  88. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  89. package/build-module/components/post-url/index.js +7 -6
  90. package/build-module/components/post-url/index.js.map +1 -1
  91. package/build-module/components/sidebar/post-summary.js +10 -7
  92. package/build-module/components/sidebar/post-summary.js.map +1 -1
  93. package/build-module/components/template-content-panel/index.js +1 -1
  94. package/build-module/components/template-content-panel/index.js.map +1 -1
  95. package/build-module/dataviews/actions/duplicate-pattern.js +39 -0
  96. package/build-module/dataviews/actions/duplicate-pattern.js.map +1 -0
  97. package/build-module/dataviews/actions/duplicate-post.js +139 -0
  98. package/build-module/dataviews/actions/duplicate-post.js.map +1 -0
  99. package/build-module/dataviews/actions/duplicate-post.native.js +3 -0
  100. package/build-module/dataviews/actions/duplicate-post.native.js.map +1 -0
  101. package/build-module/dataviews/actions/duplicate-template-part.js +58 -0
  102. package/build-module/dataviews/actions/duplicate-template-part.js.map +1 -0
  103. package/build-module/dataviews/actions/rename-post.js +118 -0
  104. package/build-module/dataviews/actions/rename-post.js.map +1 -0
  105. package/build-module/dataviews/actions/reorder-page.js +111 -0
  106. package/build-module/dataviews/actions/reorder-page.js.map +1 -0
  107. package/build-module/dataviews/actions/reorder-page.native.js +3 -0
  108. package/build-module/dataviews/actions/reorder-page.native.js.map +1 -0
  109. package/build-module/dataviews/actions/reset-post.js +1 -1
  110. package/build-module/dataviews/actions/reset-post.js.map +1 -1
  111. package/build-module/dataviews/actions/utils.js +7 -1
  112. package/build-module/dataviews/actions/utils.js.map +1 -1
  113. package/build-module/dataviews/actions/view-post-revisions.js +43 -0
  114. package/build-module/dataviews/actions/view-post-revisions.js.map +1 -0
  115. package/build-module/dataviews/actions/view-post.js +30 -0
  116. package/build-module/dataviews/actions/view-post.js.map +1 -0
  117. package/build-module/dataviews/fields/index.js +26 -0
  118. package/build-module/dataviews/fields/index.js.map +1 -0
  119. package/build-module/dataviews/store/private-actions.js +16 -2
  120. package/build-module/dataviews/store/private-actions.js.map +1 -1
  121. package/build-module/dataviews/types.js.map +1 -1
  122. package/build-module/private-apis.js +2 -0
  123. package/build-module/private-apis.js.map +1 -1
  124. package/build-module/store/private-actions.js +1 -1
  125. package/build-module/store/private-actions.js.map +1 -1
  126. package/build-module/store/utils/is-template-revertable.js +1 -1
  127. package/build-module/store/utils/is-template-revertable.js.map +1 -1
  128. package/build-style/style-rtl.css +2 -31
  129. package/build-style/style.css +2 -31
  130. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  131. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  132. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
  133. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  134. package/build-types/components/post-actions/actions.d.ts +1 -26
  135. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  136. package/build-types/components/post-actions/index.d.ts +3 -2
  137. package/build-types/components/post-actions/index.d.ts.map +1 -1
  138. package/build-types/components/post-card-panel/index.d.ts +4 -2
  139. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  140. package/build-types/components/post-slug/index.d.ts.map +1 -1
  141. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +1 -17
  142. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  143. package/build-types/components/post-url/index.d.ts.map +1 -1
  144. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  145. package/build-types/components/template-content-panel/index.d.ts.map +1 -1
  146. package/build-types/dataviews/actions/duplicate-pattern.d.ts +5 -0
  147. package/build-types/dataviews/actions/duplicate-pattern.d.ts.map +1 -0
  148. package/build-types/dataviews/actions/duplicate-post.d.ts +5 -0
  149. package/build-types/dataviews/actions/duplicate-post.d.ts.map +1 -0
  150. package/build-types/dataviews/actions/duplicate-post.native.d.ts +3 -0
  151. package/build-types/dataviews/actions/duplicate-post.native.d.ts.map +1 -0
  152. package/build-types/dataviews/actions/duplicate-template-part.d.ts +5 -0
  153. package/build-types/dataviews/actions/duplicate-template-part.d.ts.map +1 -0
  154. package/build-types/dataviews/actions/rename-post.d.ts +5 -0
  155. package/build-types/dataviews/actions/rename-post.d.ts.map +1 -0
  156. package/build-types/dataviews/actions/reorder-page.d.ts +8 -0
  157. package/build-types/dataviews/actions/reorder-page.d.ts.map +1 -0
  158. package/build-types/dataviews/actions/reorder-page.native.d.ts +3 -0
  159. package/build-types/dataviews/actions/reorder-page.native.d.ts.map +1 -0
  160. package/build-types/dataviews/actions/reset-post.d.ts.map +1 -1
  161. package/build-types/dataviews/actions/utils.d.ts +5 -3
  162. package/build-types/dataviews/actions/utils.d.ts.map +1 -1
  163. package/build-types/dataviews/actions/view-post-revisions.d.ts +8 -0
  164. package/build-types/dataviews/actions/view-post-revisions.d.ts.map +1 -0
  165. package/build-types/dataviews/actions/view-post.d.ts +8 -0
  166. package/build-types/dataviews/actions/view-post.d.ts.map +1 -0
  167. package/build-types/dataviews/fields/index.d.ts +8 -0
  168. package/build-types/dataviews/fields/index.d.ts.map +1 -0
  169. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  170. package/build-types/dataviews/types.d.ts +57 -8
  171. package/build-types/dataviews/types.d.ts.map +1 -1
  172. package/build-types/private-apis.d.ts.map +1 -1
  173. package/build-types/store/utils/is-template-revertable.d.ts.map +1 -1
  174. package/package.json +36 -36
  175. package/src/bindings/post-meta.js +2 -2
  176. package/src/components/block-manager/style.scss +2 -2
  177. package/src/components/create-template-part-modal/index.js +1 -0
  178. package/src/components/error-boundary/style.native.scss +1 -1
  179. package/src/components/error-boundary/style.scss +1 -1
  180. package/src/components/global-styles-provider/index.js +16 -3
  181. package/src/components/inserter-sidebar/index.js +10 -4
  182. package/src/components/page-attributes/parent.js +13 -9
  183. package/src/components/post-actions/actions.js +5 -616
  184. package/src/components/post-actions/index.js +16 -20
  185. package/src/components/post-card-panel/index.js +28 -27
  186. package/src/components/post-discussion/style.scss +0 -9
  187. package/src/components/post-featured-image/index.js +2 -0
  188. package/src/components/post-format/style.scss +0 -6
  189. package/src/components/post-publish-panel/postpublish.js +8 -2
  190. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +8 -8
  191. package/src/components/post-slug/index.js +1 -0
  192. package/src/components/post-status/style.scss +0 -19
  193. package/src/components/post-taxonomies/hierarchical-term-selector.js +3 -1
  194. package/src/components/post-url/index.js +15 -9
  195. package/src/components/save-publish-panels/style.scss +3 -3
  196. package/src/components/sidebar/post-summary.js +20 -16
  197. package/src/components/site-discussion/style.scss +0 -14
  198. package/src/components/template-content-panel/index.js +4 -1
  199. package/src/dataviews/actions/duplicate-pattern.tsx +40 -0
  200. package/src/dataviews/actions/duplicate-post.native.tsx +3 -0
  201. package/src/dataviews/actions/duplicate-post.tsx +174 -0
  202. package/src/dataviews/actions/duplicate-template-part.tsx +70 -0
  203. package/src/dataviews/actions/rename-post.tsx +146 -0
  204. package/src/dataviews/actions/reorder-page.native.tsx +3 -0
  205. package/src/dataviews/actions/reorder-page.tsx +125 -0
  206. package/src/dataviews/actions/reset-post.tsx +2 -1
  207. package/src/dataviews/actions/utils.ts +14 -4
  208. package/src/dataviews/actions/view-post-revisions.tsx +47 -0
  209. package/src/dataviews/actions/view-post.tsx +30 -0
  210. package/src/dataviews/fields/index.ts +26 -0
  211. package/src/dataviews/store/private-actions.ts +42 -1
  212. package/src/dataviews/types.ts +47 -6
  213. package/src/private-apis.js +2 -0
  214. package/src/store/private-actions.js +1 -1
  215. package/src/store/utils/is-template-revertable.js +2 -1
  216. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,67 @@
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 _i18n = require("@wordpress/i18n");
9
+ var _notices = require("@wordpress/notices");
10
+ var _element = require("@wordpress/element");
11
+ var _blocks = require("@wordpress/blocks");
12
+ var _constants = require("../../store/constants");
13
+ var _createTemplatePartModal = require("../../components/create-template-part-modal");
14
+ var _utils = require("./utils");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
20
+ // @ts-ignore
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
26
+ const duplicateTemplatePart = {
27
+ id: 'duplicate-template-part',
28
+ label: (0, _i18n._x)('Duplicate', 'action label'),
29
+ isEligible: item => item.type === _constants.TEMPLATE_PART_POST_TYPE,
30
+ modalHeader: (0, _i18n._x)('Duplicate template part', 'action label'),
31
+ RenderModal: ({
32
+ items,
33
+ closeModal
34
+ }) => {
35
+ const [item] = items;
36
+ const blocks = (0, _element.useMemo)(() => {
37
+ var _item$blocks;
38
+ return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : (0, _blocks.parse)(typeof item.content === 'string' ? item.content : item.content.raw, {
39
+ __unstableSkipMigrationLogs: true
40
+ });
41
+ }, [item.content, item.blocks]);
42
+ const {
43
+ createSuccessNotice
44
+ } = (0, _data.useDispatch)(_notices.store);
45
+ function onTemplatePartSuccess() {
46
+ createSuccessNotice((0, _i18n.sprintf)(
47
+ // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
48
+ (0, _i18n.__)('"%s" duplicated.'), (0, _utils.getItemTitle)(item)), {
49
+ type: 'snackbar',
50
+ id: 'edit-site-patterns-success'
51
+ });
52
+ closeModal?.();
53
+ }
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_createTemplatePartModal.CreateTemplatePartModalContents, {
55
+ blocks: blocks,
56
+ defaultArea: item.area,
57
+ defaultTitle: (0, _i18n.sprintf)( /* translators: %s: Existing template part title */
58
+ (0, _i18n.__)('%s (Copy)'), (0, _utils.getItemTitle)(item)),
59
+ onCreate: onTemplatePartSuccess,
60
+ onError: closeModal,
61
+ confirmLabel: (0, _i18n._x)('Duplicate', 'action label'),
62
+ closeModal: closeModal
63
+ });
64
+ }
65
+ };
66
+ var _default = exports.default = duplicateTemplatePart;
67
+ //# sourceMappingURL=duplicate-template-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_i18n","_notices","_element","_blocks","_constants","_createTemplatePartModal","_utils","_jsxRuntime","duplicateTemplatePart","id","label","_x","isEligible","item","type","TEMPLATE_PART_POST_TYPE","modalHeader","RenderModal","items","closeModal","blocks","useMemo","_item$blocks","parse","content","raw","__unstableSkipMigrationLogs","createSuccessNotice","useDispatch","noticesStore","onTemplatePartSuccess","sprintf","__","getItemTitle","jsx","CreateTemplatePartModalContents","defaultArea","area","defaultTitle","onCreate","onError","confirmLabel","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/duplicate-template-part.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\n// @ts-ignore\nimport { parse } from '@wordpress/blocks';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE } from '../../store/constants';\nimport { CreateTemplatePartModalContents } from '../../components/create-template-part-modal';\nimport { getItemTitle } from './utils';\nimport type { TemplatePart } from '../types';\n\nconst duplicateTemplatePart: Action< TemplatePart > = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst blocks = useMemo( () => {\n\t\t\treturn (\n\t\t\t\titem.blocks ??\n\t\t\t\tparse(\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\t\t{\n\t\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t}, [ item.content, item.blocks ] );\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tfunction onTemplatePartSuccess() {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\tgetItemTitle( item )\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\tcloseModal?.();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ blocks }\n\t\t\t\tdefaultArea={ item.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\t\tgetItemTitle( item )\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\tcloseModal={ closeModal }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport default duplicateTemplatePart;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAMA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,wBAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAuC,IAAAQ,WAAA,GAAAR,OAAA;AAhBvC;AACA;AACA;;AAKA;;AAIA;AACA;AACA;;AAMA,MAAMS,qBAA6C,GAAG;EACrDC,EAAE,EAAE,yBAAyB;EAC7BC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,cAAe,CAAC;EACxCC,UAAU,EAAIC,IAAI,IAAMA,IAAI,CAACC,IAAI,KAAKC,kCAAuB;EAC7DC,WAAW,EAAE,IAAAL,QAAE,EAAE,yBAAyB,EAAE,cAAe,CAAC;EAC5DM,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC;EAAW,CAAC,KAAM;IACzC,MAAM,CAAEN,IAAI,CAAE,GAAGK,KAAK;IACtB,MAAME,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;MAAA,IAAAC,YAAA;MAC7B,QAAAA,YAAA,GACCT,IAAI,CAACO,MAAM,cAAAE,YAAA,cAAAA,YAAA,GACX,IAAAC,aAAK,EACJ,OAAOV,IAAI,CAACW,OAAO,KAAK,QAAQ,GAC7BX,IAAI,CAACW,OAAO,GACZX,IAAI,CAACW,OAAO,CAACC,GAAG,EACnB;QACCC,2BAA2B,EAAE;MAC9B,CACD,CAAC;IAEH,CAAC,EAAE,CAAEb,IAAI,CAACW,OAAO,EAAEX,IAAI,CAACO,MAAM,CAAG,CAAC;IAClC,MAAM;MAAEO;IAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC3D,SAASC,qBAAqBA,CAAA,EAAG;MAChCH,mBAAmB,CAClB,IAAAI,aAAO;MACN;MACA,IAAAC,QAAE,EAAE,kBAAmB,CAAC,EACxB,IAAAC,mBAAY,EAAEpB,IAAK,CACpB,CAAC,EACD;QAAEC,IAAI,EAAE,UAAU;QAAEL,EAAE,EAAE;MAA6B,CACtD,CAAC;MACDU,UAAU,GAAG,CAAC;IACf;IACA,oBACC,IAAAZ,WAAA,CAAA2B,GAAA,EAAC7B,wBAAA,CAAA8B,+BAA+B;MAC/Bf,MAAM,EAAGA,MAAQ;MACjBgB,WAAW,EAAGvB,IAAI,CAACwB,IAAM;MACzBC,YAAY,EAAG,IAAAP,aAAO,GACrB;MACA,IAAAC,QAAE,EAAE,WAAY,CAAC,EACjB,IAAAC,mBAAY,EAAEpB,IAAK,CACpB,CAAG;MACH0B,QAAQ,EAAGT,qBAAuB;MAClCU,OAAO,EAAGrB,UAAY;MACtBsB,YAAY,EAAG,IAAA9B,QAAE,EAAE,WAAW,EAAE,cAAe,CAAG;MAClDQ,UAAU,EAAGA;IAAY,CACzB,CAAC;EAEJ;AACD,CAAC;AAAC,IAAAuB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEapC,qBAAqB","ignoreList":[]}
@@ -0,0 +1,125 @@
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 _element = require("@wordpress/element");
11
+ var _patterns = require("@wordpress/patterns");
12
+ var _components = require("@wordpress/components");
13
+ var _notices = require("@wordpress/notices");
14
+ var _constants = require("../../store/constants");
15
+ var _lockUnlock = require("../../lock-unlock");
16
+ var _utils = require("./utils");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ // @ts-ignore
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+
28
+ // Patterns.
29
+ const {
30
+ PATTERN_TYPES
31
+ } = (0, _lockUnlock.unlock)(_patterns.privateApis);
32
+ const renamePost = {
33
+ id: 'rename-post',
34
+ label: (0, _i18n.__)('Rename'),
35
+ isEligible(post) {
36
+ if (post.status === 'trash') {
37
+ return false;
38
+ }
39
+ // Templates, template parts and patterns have special checks for renaming.
40
+ if (![_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE, ...Object.values(PATTERN_TYPES)].includes(post.type)) {
41
+ return post.permissions?.update;
42
+ }
43
+
44
+ // In the case of templates, we can only rename custom templates.
45
+ if ((0, _utils.isTemplate)(post)) {
46
+ return (0, _utils.isTemplateRemovable)(post) && post.is_custom && post.permissions?.update;
47
+ }
48
+ if ((0, _utils.isTemplatePart)(post)) {
49
+ return post.source === _constants.TEMPLATE_ORIGINS.custom && !post?.has_theme_file && post.permissions?.update;
50
+ }
51
+ return post.type === PATTERN_TYPES.user && post.permissions?.update;
52
+ },
53
+ RenderModal: ({
54
+ items,
55
+ closeModal,
56
+ onActionPerformed
57
+ }) => {
58
+ const [item] = items;
59
+ const [title, setTitle] = (0, _element.useState)(() => (0, _utils.getItemTitle)(item));
60
+ const {
61
+ editEntityRecord,
62
+ saveEditedEntityRecord
63
+ } = (0, _data.useDispatch)(_coreData.store);
64
+ const {
65
+ createSuccessNotice,
66
+ createErrorNotice
67
+ } = (0, _data.useDispatch)(_notices.store);
68
+ async function onRename(event) {
69
+ event.preventDefault();
70
+ try {
71
+ await editEntityRecord('postType', item.type, item.id, {
72
+ title
73
+ });
74
+ // Update state before saving rerenders the list.
75
+ setTitle('');
76
+ closeModal?.();
77
+ // Persist edited entity.
78
+ await saveEditedEntityRecord('postType', item.type, item.id, {
79
+ throwOnError: true
80
+ });
81
+ createSuccessNotice((0, _i18n.__)('Name updated'), {
82
+ type: 'snackbar'
83
+ });
84
+ onActionPerformed?.(items);
85
+ } catch (error) {
86
+ const typedError = error;
87
+ const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : (0, _i18n.__)('An error occurred while updating the name');
88
+ createErrorNotice(errorMessage, {
89
+ type: 'snackbar'
90
+ });
91
+ }
92
+ }
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
94
+ onSubmit: onRename,
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
96
+ spacing: "5",
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
98
+ __nextHasNoMarginBottom: true,
99
+ __next40pxDefaultSize: true,
100
+ label: (0, _i18n.__)('Name'),
101
+ value: title,
102
+ onChange: setTitle,
103
+ required: true
104
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
105
+ justify: "right",
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
107
+ __next40pxDefaultSize: true,
108
+ variant: "tertiary",
109
+ onClick: () => {
110
+ closeModal?.();
111
+ },
112
+ children: (0, _i18n.__)('Cancel')
113
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
114
+ __next40pxDefaultSize: true,
115
+ variant: "primary",
116
+ type: "submit",
117
+ children: (0, _i18n.__)('Save')
118
+ })]
119
+ })]
120
+ })
121
+ });
122
+ }
123
+ };
124
+ var _default = exports.default = renamePost;
125
+ //# sourceMappingURL=rename-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_coreData","_i18n","_element","_patterns","_components","_notices","_constants","_lockUnlock","_utils","_jsxRuntime","PATTERN_TYPES","unlock","patternsPrivateApis","renamePost","id","label","__","isEligible","post","status","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","Object","values","includes","type","permissions","update","isTemplate","isTemplateRemovable","is_custom","isTemplatePart","source","TEMPLATE_ORIGINS","custom","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/editor/src/dataviews/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 */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\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\tTEMPLATE_POST_TYPE,\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\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 === TEMPLATE_ORIGINS.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":[]}
@@ -0,0 +1,116 @@
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
@@ -0,0 +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/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":";;;;;;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":[]}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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":[]}
@@ -28,7 +28,7 @@ const resetPost = {
28
28
  id: 'reset-post',
29
29
  label: (0, _i18n.__)('Reset'),
30
30
  isEligible: item => {
31
- return (0, _utils.isTemplateOrTemplatePart)(item) && item?.source === _constants.TEMPLATE_ORIGINS.custom && item?.has_theme_file;
31
+ return (0, _utils.isTemplateOrTemplatePart)(item) && item?.source === _constants.TEMPLATE_ORIGINS.custom && (Boolean(item.type === 'wp_template' && item?.plugin) || item?.has_theme_file);
32
32
  },
33
33
  icon: _icons.backup,
34
34
  supportsBulk: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_components","_constants","_store","_lockUnlock","_utils","_jsxRuntime","resetPost","id","label","__","isEligible","item","isTemplateOrTemplatePart","source","TEMPLATE_ORIGINS","custom","has_theme_file","icon","backup","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","revertTemplate","unlock","useDispatch","editorStore","saveEditedEntityRecord","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onConfirm","template","allowUndo","type","length","sprintf","getItemTitle","error","fallbackErrorMessage","TEMPLATE_POST_TYPE","typedError","errorMessage","message","code","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","__experimentalHStack","justify","Button","variant","onClick","disabled","accessibleWhenDisabled","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/reset-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { 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';\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 type { StoreDescriptor } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport type { Post, CoreDataError } from '../types';\nimport { isTemplateOrTemplatePart, getItemTitle } from './utils';\n\nconst resetPost: Action< Post > = {\n\tid: 'reset-post',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn (\n\t\t\tisTemplateOrTemplatePart( item ) &&\n\t\t\titem?.source === TEMPLATE_ORIGINS.custom &&\n\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\t\tconst { revertTemplate } = unlock(\n\t\t\tuseDispatch( editorStore as StoreDescriptor )\n\t\t);\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 === TEMPLATE_POST_TYPE ) {\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\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\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 resetPost;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_components","_constants","_store","_lockUnlock","_utils","_jsxRuntime","resetPost","id","label","__","isEligible","item","isTemplateOrTemplatePart","source","TEMPLATE_ORIGINS","custom","Boolean","type","plugin","has_theme_file","icon","backup","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","revertTemplate","unlock","useDispatch","editorStore","saveEditedEntityRecord","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onConfirm","template","allowUndo","length","sprintf","getItemTitle","error","fallbackErrorMessage","TEMPLATE_POST_TYPE","typedError","errorMessage","message","code","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","__experimentalHStack","justify","Button","variant","onClick","disabled","accessibleWhenDisabled","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/reset-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { 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';\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 type { StoreDescriptor } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport type { Post, CoreDataError } from '../types';\nimport { isTemplateOrTemplatePart, getItemTitle } from './utils';\n\nconst resetPost: Action< Post > = {\n\tid: 'reset-post',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn (\n\t\t\tisTemplateOrTemplatePart( item ) &&\n\t\t\titem?.source === TEMPLATE_ORIGINS.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\t\tconst { revertTemplate } = unlock(\n\t\t\tuseDispatch( editorStore as StoreDescriptor )\n\t\t);\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 === TEMPLATE_POST_TYPE ) {\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\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\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 resetPost;\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getItemTitle = getItemTitle;
7
+ exports.isTemplate = isTemplate;
7
8
  exports.isTemplateOrTemplatePart = isTemplateOrTemplatePart;
9
+ exports.isTemplatePart = isTemplatePart;
8
10
  exports.isTemplateRemovable = isTemplateRemovable;
9
11
  var _htmlEntities = require("@wordpress/html-entities");
10
12
  var _constants = require("../../store/constants");
@@ -16,6 +18,12 @@ var _constants = require("../../store/constants");
16
18
  * Internal dependencies
17
19
  */
18
20
 
21
+ function isTemplate(post) {
22
+ return post.type === _constants.TEMPLATE_POST_TYPE;
23
+ }
24
+ function isTemplatePart(post) {
25
+ return post.type === _constants.TEMPLATE_PART_POST_TYPE;
26
+ }
19
27
  function isTemplateOrTemplatePart(p) {
20
28
  return p.type === _constants.TEMPLATE_POST_TYPE || p.type === _constants.TEMPLATE_PART_POST_TYPE;
21
29
  }
@@ -45,6 +53,6 @@ function isTemplateRemovable(template) {
45
53
  // In patterns list page we map the templates parts to a different object
46
54
  // than the one returned from the endpoint. This is why we need to check for
47
55
  // two props whether is custom or has a theme file.
48
- return [template.source, template.source].includes(_constants.TEMPLATE_ORIGINS.custom) && !template.has_theme_file;
56
+ return [template.source, template.source].includes(_constants.TEMPLATE_ORIGINS.custom) && !Boolean(template.type === 'wp_template' && template?.plugin) && !template.has_theme_file;
49
57
  }
50
58
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_htmlEntities","require","_constants","isTemplateOrTemplatePart","p","type","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","getItemTitle","item","title","decodeEntities","rendered","raw","isTemplateRemovable","template","source","includes","TEMPLATE_ORIGINS","custom","has_theme_file"],"sources":["@wordpress/editor/src/dataviews/actions/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nimport type { Post, TemplateOrTemplatePart } from '../types';\n\nexport function isTemplateOrTemplatePart(\n\tp: Post\n): p is TemplateOrTemplatePart {\n\treturn p.type === TEMPLATE_POST_TYPE || p.type === TEMPLATE_PART_POST_TYPE;\n}\n\nexport function getItemTitle( item: Post ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\tif ( 'rendered' in item.title ) {\n\t\treturn decodeEntities( item.title.rendered );\n\t}\n\tif ( 'raw' in item.title ) {\n\t\treturn decodeEntities( item.title.raw );\n\t}\n\treturn '';\n}\n\n/**\n * Check if a template is removable.\n *\n * @param template The template entity to check.\n * @return Whether the template is removable.\n */\nexport function isTemplateRemovable( template: TemplateOrTemplatePart ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\t// In patterns list page we map the templates parts to a different object\n\t// than the one returned from the endpoint. This is why we need to check for\n\t// two props whether is custom or has a theme file.\n\treturn (\n\t\t[ template.source, template.source ].includes(\n\t\t\tTEMPLATE_ORIGINS.custom\n\t\t) && ! template.has_theme_file\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AASO,SAASE,wBAAwBA,CACvCC,CAAO,EACuB;EAC9B,OAAOA,CAAC,CAACC,IAAI,KAAKC,6BAAkB,IAAIF,CAAC,CAACC,IAAI,KAAKE,kCAAuB;AAC3E;AAEO,SAASC,YAAYA,CAAEC,IAAU,EAAG;EAC1C,IAAK,OAAOA,IAAI,CAACC,KAAK,KAAK,QAAQ,EAAG;IACrC,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAM,CAAC;EACpC;EACA,IAAK,UAAU,IAAID,IAAI,CAACC,KAAK,EAAG;IAC/B,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAK,CAACE,QAAS,CAAC;EAC7C;EACA,IAAK,KAAK,IAAIH,IAAI,CAACC,KAAK,EAAG;IAC1B,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAK,CAACG,GAAI,CAAC;EACxC;EACA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAEC,QAAgC,EAAG;EACvE,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EACA;EACA;EACA;EACA,OACC,CAAEA,QAAQ,CAACC,MAAM,EAAED,QAAQ,CAACC,MAAM,CAAE,CAACC,QAAQ,CAC5CC,2BAAgB,CAACC,MAClB,CAAC,IAAI,CAAEJ,QAAQ,CAACK,cAAc;AAEhC","ignoreList":[]}
1
+ {"version":3,"names":["_htmlEntities","require","_constants","isTemplate","post","type","TEMPLATE_POST_TYPE","isTemplatePart","TEMPLATE_PART_POST_TYPE","isTemplateOrTemplatePart","p","getItemTitle","item","title","decodeEntities","rendered","raw","isTemplateRemovable","template","source","includes","TEMPLATE_ORIGINS","custom","Boolean","plugin","has_theme_file"],"sources":["@wordpress/editor/src/dataviews/actions/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nimport type { Post, TemplatePart, Template } from '../types';\n\nexport function isTemplate( post: Post ): post is Template {\n\treturn post.type === TEMPLATE_POST_TYPE;\n}\n\nexport function isTemplatePart( post: Post ): post is TemplatePart {\n\treturn post.type === TEMPLATE_PART_POST_TYPE;\n}\n\nexport function isTemplateOrTemplatePart(\n\tp: Post\n): p is Template | TemplatePart {\n\treturn p.type === TEMPLATE_POST_TYPE || p.type === TEMPLATE_PART_POST_TYPE;\n}\n\nexport function getItemTitle( item: Post ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\tif ( 'rendered' in item.title ) {\n\t\treturn decodeEntities( item.title.rendered );\n\t}\n\tif ( 'raw' in item.title ) {\n\t\treturn decodeEntities( item.title.raw );\n\t}\n\treturn '';\n}\n\n/**\n * Check if a template is removable.\n *\n * @param template The template entity to check.\n * @return Whether the template is removable.\n */\nexport function isTemplateRemovable( template: Template | TemplatePart ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\t// In patterns list page we map the templates parts to a different object\n\t// than the one returned from the endpoint. This is why we need to check for\n\t// two props whether is custom or has a theme file.\n\treturn (\n\t\t[ template.source, template.source ].includes(\n\t\t\tTEMPLATE_ORIGINS.custom\n\t\t) &&\n\t\t! Boolean( template.type === 'wp_template' && template?.plugin ) &&\n\t\t! template.has_theme_file\n\t);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AASO,SAASE,UAAUA,CAAEC,IAAU,EAAqB;EAC1D,OAAOA,IAAI,CAACC,IAAI,KAAKC,6BAAkB;AACxC;AAEO,SAASC,cAAcA,CAAEH,IAAU,EAAyB;EAClE,OAAOA,IAAI,CAACC,IAAI,KAAKG,kCAAuB;AAC7C;AAEO,SAASC,wBAAwBA,CACvCC,CAAO,EACwB;EAC/B,OAAOA,CAAC,CAACL,IAAI,KAAKC,6BAAkB,IAAII,CAAC,CAACL,IAAI,KAAKG,kCAAuB;AAC3E;AAEO,SAASG,YAAYA,CAAEC,IAAU,EAAG;EAC1C,IAAK,OAAOA,IAAI,CAACC,KAAK,KAAK,QAAQ,EAAG;IACrC,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAM,CAAC;EACpC;EACA,IAAK,UAAU,IAAID,IAAI,CAACC,KAAK,EAAG;IAC/B,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAK,CAACE,QAAS,CAAC;EAC7C;EACA,IAAK,KAAK,IAAIH,IAAI,CAACC,KAAK,EAAG;IAC1B,OAAO,IAAAC,4BAAc,EAAEF,IAAI,CAACC,KAAK,CAACG,GAAI,CAAC;EACxC;EACA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAEC,QAAiC,EAAG;EACxE,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EACA;EACA;EACA;EACA,OACC,CAAEA,QAAQ,CAACC,MAAM,EAAED,QAAQ,CAACC,MAAM,CAAE,CAACC,QAAQ,CAC5CC,2BAAgB,CAACC,MAClB,CAAC,IACD,CAAEC,OAAO,CAAEL,QAAQ,CAACb,IAAI,KAAK,aAAa,IAAIa,QAAQ,EAAEM,MAAO,CAAC,IAChE,CAAEN,QAAQ,CAACO,cAAc;AAE3B","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _url = require("@wordpress/url");
8
+ var _i18n = require("@wordpress/i18n");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ const viewPostRevisions = {
18
+ id: 'view-post-revisions',
19
+ context: 'list',
20
+ label(items) {
21
+ var _items$0$_links$versi;
22
+ const revisionsCount = (_items$0$_links$versi = items[0]._links?.['version-history']?.[0]?.count) !== null && _items$0$_links$versi !== void 0 ? _items$0$_links$versi : 0;
23
+ return (0, _i18n.sprintf)( /* translators: %s: number of revisions */
24
+ (0, _i18n.__)('View revisions (%s)'), revisionsCount);
25
+ },
26
+ isEligible(post) {
27
+ var _post$_links$predeces, _post$_links$version;
28
+ if (post.status === 'trash') {
29
+ return false;
30
+ }
31
+ const lastRevisionId = (_post$_links$predeces = post?._links?.['predecessor-version']?.[0]?.id) !== null && _post$_links$predeces !== void 0 ? _post$_links$predeces : null;
32
+ const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
33
+ return !!lastRevisionId && revisionsCount > 1;
34
+ },
35
+ callback(posts, {
36
+ onActionPerformed
37
+ }) {
38
+ const post = posts[0];
39
+ const href = (0, _url.addQueryArgs)('revision.php', {
40
+ revision: post?._links?.['predecessor-version']?.[0]?.id
41
+ });
42
+ document.location.href = href;
43
+ if (onActionPerformed) {
44
+ onActionPerformed(posts);
45
+ }
46
+ }
47
+ };
48
+ var _default = exports.default = viewPostRevisions;
49
+ //# sourceMappingURL=view-post-revisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_url","require","_i18n","viewPostRevisions","id","context","label","items","_items$0$_links$versi","revisionsCount","_links","count","sprintf","__","isEligible","post","_post$_links$predeces","_post$_links$version","status","lastRevisionId","callback","posts","onActionPerformed","href","addQueryArgs","revision","document","location","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/view-post-revisions.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addQueryArgs } from '@wordpress/url';\nimport { __, sprintf } from '@wordpress/i18n';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Post } from '../types';\n\nconst viewPostRevisions: Action< Post > = {\n\tid: 'view-post-revisions',\n\tcontext: 'list',\n\tlabel( items ) {\n\t\tconst revisionsCount =\n\t\t\titems[ 0 ]._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn sprintf(\n\t\t\t/* translators: %s: number of revisions */\n\t\t\t__( 'View revisions (%s)' ),\n\t\t\trevisionsCount\n\t\t);\n\t},\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn !! lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts, { onActionPerformed } ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nexport default viewPostRevisions;\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,MAAME,iBAAiC,GAAG;EACzCC,EAAE,EAAE,qBAAqB;EACzBC,OAAO,EAAE,MAAM;EACfC,KAAKA,CAAEC,KAAK,EAAG;IAAA,IAAAC,qBAAA;IACd,MAAMC,cAAc,IAAAD,qBAAA,GACnBD,KAAK,CAAE,CAAC,CAAE,CAACG,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEC,KAAK,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,CAAC;IAC5D,OAAO,IAAAI,aAAO,GACb;IACA,IAAAC,QAAE,EAAE,qBAAsB,CAAC,EAC3BJ,cACD,CAAC;EACF,CAAC;EACDK,UAAUA,CAAEC,IAAI,EAAG;IAAA,IAAAC,qBAAA,EAAAC,oBAAA;IAClB,IAAKF,IAAI,CAACG,MAAM,KAAK,OAAO,EAAG;MAC9B,OAAO,KAAK;IACb;IACA,MAAMC,cAAc,IAAAH,qBAAA,GACnBD,IAAI,EAAEL,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEN,EAAE,cAAAY,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IAC3D,MAAMP,cAAc,IAAAQ,oBAAA,GACnBF,IAAI,EAAEL,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEC,KAAK,cAAAM,oBAAA,cAAAA,oBAAA,GAAI,CAAC;IACvD,OAAO,CAAC,CAAEE,cAAc,IAAIV,cAAc,GAAG,CAAC;EAC/C,CAAC;EACDW,QAAQA,CAAEC,KAAK,EAAE;IAAEC;EAAkB,CAAC,EAAG;IACxC,MAAMP,IAAI,GAAGM,KAAK,CAAE,CAAC,CAAE;IACvB,MAAME,IAAI,GAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;MAC1CC,QAAQ,EAAEV,IAAI,EAAEL,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEN;IAC3D,CAAE,CAAC;IACHsB,QAAQ,CAACC,QAAQ,CAACJ,IAAI,GAAGA,IAAI;IAC7B,IAAKD,iBAAiB,EAAG;MACxBA,iBAAiB,CAAED,KAAM,CAAC;IAC3B;EACD;AACD,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa3B,iBAAiB","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _icons = require("@wordpress/icons");
8
+ var _i18n = require("@wordpress/i18n");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ const viewPost = {
18
+ id: 'view-post',
19
+ label: (0, _i18n.__)('View'),
20
+ isPrimary: true,
21
+ icon: _icons.external,
22
+ isEligible(post) {
23
+ return post.status !== 'trash';
24
+ },
25
+ callback(posts, {
26
+ onActionPerformed
27
+ }) {
28
+ const post = posts[0];
29
+ window.open(post?.link, '_blank');
30
+ if (onActionPerformed) {
31
+ onActionPerformed(posts);
32
+ }
33
+ }
34
+ };
35
+ var _default = exports.default = viewPost;
36
+ //# sourceMappingURL=view-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_icons","require","_i18n","viewPost","id","label","__","isPrimary","icon","external","isEligible","post","status","callback","posts","onActionPerformed","window","open","link","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/view-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../types';\n\nconst viewPost: Action< BasePost > = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts, { onActionPerformed } ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post?.link, '_blank' );\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nexport default viewPost;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,MAAME,QAA4B,GAAG;EACpCC,EAAE,EAAE,WAAW;EACfC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,eAAQ;EACdC,UAAUA,CAAEC,IAAI,EAAG;IAClB,OAAOA,IAAI,CAACC,MAAM,KAAK,OAAO;EAC/B,CAAC;EACDC,QAAQA,CAAEC,KAAK,EAAE;IAAEC;EAAkB,CAAC,EAAG;IACxC,MAAMJ,IAAI,GAAGG,KAAK,CAAE,CAAC,CAAE;IACvBE,MAAM,CAACC,IAAI,CAAEN,IAAI,EAAEO,IAAI,EAAE,QAAS,CAAC;IACnC,IAAKH,iBAAiB,EAAG;MACxBA,iBAAiB,CAAED,KAAM,CAAC;IAC3B;EACD;AACD,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEalB,QAAQ","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.titleField = exports.orderField = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _utils = require("../actions/utils");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ const titleField = exports.titleField = {
18
+ type: 'text',
19
+ id: 'title',
20
+ label: (0, _i18n.__)('Title'),
21
+ placeholder: (0, _i18n.__)('No title'),
22
+ getValue: ({
23
+ item
24
+ }) => (0, _utils.getItemTitle)(item)
25
+ };
26
+ const orderField = exports.orderField = {
27
+ type: 'integer',
28
+ id: 'menu_order',
29
+ label: (0, _i18n.__)('Order'),
30
+ description: (0, _i18n.__)('Determines the order of pages.')
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_utils","titleField","exports","type","id","label","__","placeholder","getValue","item","getItemTitle","orderField","description"],"sources":["@wordpress/editor/src/dataviews/fields/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../types';\nimport { getItemTitle } from '../actions/utils';\n\nexport const titleField: Field< BasePost > = {\n\ttype: 'text',\n\tid: 'title',\n\tlabel: __( 'Title' ),\n\tplaceholder: __( 'No title' ),\n\tgetValue: ( { item } ) => getItemTitle( item ),\n};\n\nexport const orderField: Field< BasePost > = {\n\ttype: 'integer',\n\tid: 'menu_order',\n\tlabel: __( 'Order' ),\n\tdescription: __( 'Determines the order of pages.' ),\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIO,MAAME,UAA6B,GAAAC,OAAA,CAAAD,UAAA,GAAG;EAC5CE,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,OAAO;EACXC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,WAAW,EAAE,IAAAD,QAAE,EAAE,UAAW,CAAC;EAC7BE,QAAQ,EAAEA,CAAE;IAAEC;EAAK,CAAC,KAAM,IAAAC,mBAAY,EAAED,IAAK;AAC9C,CAAC;AAEM,MAAME,UAA6B,GAAAT,OAAA,CAAAS,UAAA,GAAG;EAC5CR,IAAI,EAAE,SAAS;EACfC,EAAE,EAAE,YAAY;EAChBC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBM,WAAW,EAAE,IAAAN,QAAE,EAAE,gCAAiC;AACnD,CAAC","ignoreList":[]}