@wordpress/editor 14.8.6 → 14.9.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 (115) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-settings-menu/content-only-settings-menu.js +15 -18
  3. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  4. package/build/components/document-tools/index.js +1 -6
  5. package/build/components/document-tools/index.js.map +1 -1
  6. package/build/components/header/index.js +22 -17
  7. package/build/components/header/index.js.map +1 -1
  8. package/build/components/inserter-sidebar/index.js +8 -9
  9. package/build/components/inserter-sidebar/index.js.map +1 -1
  10. package/build/components/provider/disable-non-page-content-blocks.js +17 -18
  11. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  12. package/build/components/provider/use-post-content-blocks.js +34 -0
  13. package/build/components/provider/use-post-content-blocks.js.map +1 -0
  14. package/build/components/resizable-editor/resize-handle.js +4 -0
  15. package/build/components/resizable-editor/resize-handle.js.map +1 -1
  16. package/build/components/zoom-out-toggle/index.js +1 -1
  17. package/build/components/zoom-out-toggle/index.js.map +1 -1
  18. package/build/dataviews/store/private-actions.js +2 -7
  19. package/build/dataviews/store/private-actions.js.map +1 -1
  20. package/build/store/actions.js +20 -5
  21. package/build/store/actions.js.map +1 -1
  22. package/build/store/private-selectors.js +3 -3
  23. package/build/store/private-selectors.js.map +1 -1
  24. package/build-module/components/block-settings-menu/content-only-settings-menu.js +14 -18
  25. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  26. package/build-module/components/document-tools/index.js +1 -6
  27. package/build-module/components/document-tools/index.js.map +1 -1
  28. package/build-module/components/header/index.js +22 -17
  29. package/build-module/components/header/index.js.map +1 -1
  30. package/build-module/components/inserter-sidebar/index.js +8 -9
  31. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  32. package/build-module/components/provider/disable-non-page-content-blocks.js +17 -18
  33. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  34. package/build-module/components/provider/use-post-content-blocks.js +27 -0
  35. package/build-module/components/provider/use-post-content-blocks.js.map +1 -0
  36. package/build-module/components/resizable-editor/resize-handle.js +4 -0
  37. package/build-module/components/resizable-editor/resize-handle.js.map +1 -1
  38. package/build-module/components/zoom-out-toggle/index.js +1 -1
  39. package/build-module/components/zoom-out-toggle/index.js.map +1 -1
  40. package/build-module/dataviews/store/private-actions.js +4 -8
  41. package/build-module/dataviews/store/private-actions.js.map +1 -1
  42. package/build-module/store/actions.js +18 -5
  43. package/build-module/store/actions.js.map +1 -1
  44. package/build-module/store/private-selectors.js +2 -2
  45. package/build-module/store/private-selectors.js.map +1 -1
  46. package/build-style/style-rtl.css +10 -1
  47. package/build-style/style.css +10 -1
  48. package/build-types/components/document-tools/index.d.ts.map +1 -1
  49. package/build-types/components/header/index.d.ts.map +1 -1
  50. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
  51. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  52. package/build-types/components/provider/use-post-content-blocks.d.ts +2 -0
  53. package/build-types/components/provider/use-post-content-blocks.d.ts.map +1 -0
  54. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -1
  55. package/build-types/store/actions.d.ts +1 -13
  56. package/build-types/store/actions.d.ts.map +1 -1
  57. package/build-types/store/private-selectors.d.ts +2 -2
  58. package/build-types/store/private-selectors.d.ts.map +1 -1
  59. package/package.json +37 -37
  60. package/src/components/block-settings-menu/content-only-settings-menu.js +19 -19
  61. package/src/components/document-tools/index.js +1 -4
  62. package/src/components/header/index.js +30 -14
  63. package/src/components/inserter-sidebar/index.js +8 -11
  64. package/src/components/provider/disable-non-page-content-blocks.js +20 -34
  65. package/src/components/provider/use-post-content-blocks.js +42 -0
  66. package/src/components/resizable-editor/resize-handle.js +5 -0
  67. package/src/components/zoom-out-toggle/index.js +1 -1
  68. package/src/dataviews/store/private-actions.ts +7 -7
  69. package/src/store/actions.js +23 -6
  70. package/src/store/private-selectors.js +2 -2
  71. package/src/store/test/actions.js +76 -0
  72. package/src/store/test/reducer.js +0 -22
  73. package/tsconfig.tsbuildinfo +1 -1
  74. package/build/dataviews/actions/delete-post.js +0 -98
  75. package/build/dataviews/actions/delete-post.js.map +0 -1
  76. package/build/dataviews/actions/rename-post.js +0 -125
  77. package/build/dataviews/actions/rename-post.js.map +0 -1
  78. package/build/dataviews/actions/reset-post.js +0 -113
  79. package/build/dataviews/actions/reset-post.js.map +0 -1
  80. package/build/dataviews/actions/restore-post.js +0 -112
  81. package/build/dataviews/actions/restore-post.js.map +0 -1
  82. package/build/dataviews/actions/trash-post.js +0 -144
  83. package/build/dataviews/actions/trash-post.js.map +0 -1
  84. package/build/dataviews/fields/index.js +0 -32
  85. package/build/dataviews/fields/index.js.map +0 -1
  86. package/build-module/dataviews/actions/delete-post.js +0 -89
  87. package/build-module/dataviews/actions/delete-post.js.map +0 -1
  88. package/build-module/dataviews/actions/rename-post.js +0 -118
  89. package/build-module/dataviews/actions/rename-post.js.map +0 -1
  90. package/build-module/dataviews/actions/reset-post.js +0 -106
  91. package/build-module/dataviews/actions/reset-post.js.map +0 -1
  92. package/build-module/dataviews/actions/restore-post.js +0 -104
  93. package/build-module/dataviews/actions/restore-post.js.map +0 -1
  94. package/build-module/dataviews/actions/trash-post.js +0 -137
  95. package/build-module/dataviews/actions/trash-post.js.map +0 -1
  96. package/build-module/dataviews/fields/index.js +0 -26
  97. package/build-module/dataviews/fields/index.js.map +0 -1
  98. package/build-types/dataviews/actions/delete-post.d.ts +0 -5
  99. package/build-types/dataviews/actions/delete-post.d.ts.map +0 -1
  100. package/build-types/dataviews/actions/rename-post.d.ts +0 -5
  101. package/build-types/dataviews/actions/rename-post.d.ts.map +0 -1
  102. package/build-types/dataviews/actions/reset-post.d.ts +0 -5
  103. package/build-types/dataviews/actions/reset-post.d.ts.map +0 -1
  104. package/build-types/dataviews/actions/restore-post.d.ts +0 -5
  105. package/build-types/dataviews/actions/restore-post.d.ts.map +0 -1
  106. package/build-types/dataviews/actions/trash-post.d.ts +0 -5
  107. package/build-types/dataviews/actions/trash-post.d.ts.map +0 -1
  108. package/build-types/dataviews/fields/index.d.ts +0 -8
  109. package/build-types/dataviews/fields/index.d.ts.map +0 -1
  110. package/src/dataviews/actions/delete-post.tsx +0 -109
  111. package/src/dataviews/actions/rename-post.tsx +0 -146
  112. package/src/dataviews/actions/reset-post.tsx +0 -147
  113. package/src/dataviews/actions/restore-post.tsx +0 -134
  114. package/src/dataviews/actions/trash-post.tsx +0 -198
  115. package/src/dataviews/fields/index.ts +0 -26
@@ -1,144 +0,0 @@
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 _data = require("@wordpress/data");
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 _components = require("@wordpress/components");
14
- var _utils = require("./utils");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- const trashPost = {
25
- id: 'move-to-trash',
26
- label: (0, _i18n.__)('Move to trash'),
27
- isPrimary: true,
28
- icon: _icons.trash,
29
- isEligible(item) {
30
- if ((0, _utils.isTemplateOrTemplatePart)(item) || item.type === 'wp_block') {
31
- return false;
32
- }
33
- return !!item.status && !['auto-draft', 'trash'].includes(item.status) && item.permissions?.delete;
34
- },
35
- supportsBulk: true,
36
- hideModalHeader: true,
37
- RenderModal: ({
38
- items,
39
- closeModal,
40
- onActionPerformed
41
- }) => {
42
- const [isBusy, setIsBusy] = (0, _element.useState)(false);
43
- const {
44
- createSuccessNotice,
45
- createErrorNotice
46
- } = (0, _data.useDispatch)(_notices.store);
47
- const {
48
- deleteEntityRecord
49
- } = (0, _data.useDispatch)(_coreData.store);
50
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
51
- spacing: "5",
52
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
53
- children: items.length === 1 ? (0, _i18n.sprintf)(
54
- // translators: %s: The item's title.
55
- (0, _i18n.__)('Are you sure you want to move "%s" to the trash?'), (0, _utils.getItemTitle)(items[0])) : (0, _i18n.sprintf)(
56
- // translators: %d: The number of items (2 or more).
57
- (0, _i18n._n)('Are you sure you want to move %d item to the trash ?', 'Are you sure you want to move %d items to the trash ?', items.length), items.length)
58
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
59
- justify: "right",
60
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
61
- __next40pxDefaultSize: true,
62
- variant: "tertiary",
63
- onClick: closeModal,
64
- disabled: isBusy,
65
- accessibleWhenDisabled: true,
66
- children: (0, _i18n.__)('Cancel')
67
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
68
- __next40pxDefaultSize: true,
69
- variant: "primary",
70
- onClick: async () => {
71
- setIsBusy(true);
72
- const promiseResult = await Promise.allSettled(items.map(item => deleteEntityRecord('postType', item.type, item.id.toString(), {}, {
73
- throwOnError: true
74
- })));
75
- // If all the promises were fulfilled with success.
76
- if (promiseResult.every(({
77
- status
78
- }) => status === 'fulfilled')) {
79
- let successMessage;
80
- if (promiseResult.length === 1) {
81
- successMessage = (0, _i18n.sprintf)( /* translators: The item's title. */
82
- (0, _i18n.__)('"%s" moved to the trash.'), (0, _utils.getItemTitle)(items[0]));
83
- } else {
84
- successMessage = (0, _i18n.sprintf)( /* translators: The number of items. */
85
- (0, _i18n._n)('%s item moved to the trash.', '%s items moved to the trash.', items.length), items.length);
86
- }
87
- createSuccessNotice(successMessage, {
88
- type: 'snackbar',
89
- id: 'move-to-trash-action'
90
- });
91
- } else {
92
- // If there was at least one failure.
93
- let errorMessage;
94
- // If we were trying to delete a single item.
95
- if (promiseResult.length === 1) {
96
- const typedError = promiseResult[0];
97
- if (typedError.reason?.message) {
98
- errorMessage = typedError.reason.message;
99
- } else {
100
- errorMessage = (0, _i18n.__)('An error occurred while moving the item to the trash.');
101
- }
102
- // If we were trying to delete multiple items.
103
- } else {
104
- const errorMessages = new Set();
105
- const failedPromises = promiseResult.filter(({
106
- status
107
- }) => status === 'rejected');
108
- for (const failedPromise of failedPromises) {
109
- const typedError = failedPromise;
110
- if (typedError.reason?.message) {
111
- errorMessages.add(typedError.reason.message);
112
- }
113
- }
114
- if (errorMessages.size === 0) {
115
- errorMessage = (0, _i18n.__)('An error occurred while moving the items to the trash.');
116
- } else if (errorMessages.size === 1) {
117
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
118
- (0, _i18n.__)('An error occurred while moving the item to the trash: %s'), [...errorMessages][0]);
119
- } else {
120
- errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
121
- (0, _i18n.__)('Some errors occurred while moving the items to the trash: %s'), [...errorMessages].join(','));
122
- }
123
- }
124
- createErrorNotice(errorMessage, {
125
- type: 'snackbar'
126
- });
127
- }
128
- if (onActionPerformed) {
129
- onActionPerformed(items);
130
- }
131
- setIsBusy(false);
132
- closeModal?.();
133
- },
134
- isBusy: isBusy,
135
- disabled: isBusy,
136
- accessibleWhenDisabled: true,
137
- children: (0, _i18n._x)('Trash', 'verb')
138
- })]
139
- })]
140
- });
141
- }
142
- };
143
- var _default = exports.default = trashPost;
144
- //# sourceMappingURL=trash-post.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_icons","require","_data","_coreData","_i18n","_notices","_element","_components","_utils","_jsxRuntime","trashPost","id","label","__","isPrimary","icon","trash","isEligible","item","isTemplateOrTemplatePart","type","status","includes","permissions","delete","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","useState","createSuccessNotice","createErrorNotice","useDispatch","noticesStore","deleteEntityRecord","coreStore","jsxs","__experimentalVStack","spacing","children","jsx","__experimentalText","length","sprintf","getItemTitle","_n","__experimentalHStack","justify","Button","__next40pxDefaultSize","variant","onClick","disabled","accessibleWhenDisabled","promiseResult","Promise","allSettled","map","toString","throwOnError","every","successMessage","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","_x","_default","exports","default"],"sources":["@wordpress/editor/src/dataviews/actions/trash-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { trash } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst trashPost: Action< PostWithPermissions > = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\t!! item.status &&\n\t\t\t! [ 'auto-draft', 'trash' ].includes( item.status ) &&\n\t\t\titem.permissions?.delete\n\t\t);\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move \"%s\" to the trash?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of items (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d item to the trash ?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to move %d items to the trash ?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( item ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\titem.type,\n\t\t\t\t\t\t\t\t\t\titem.id.toString(),\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The item's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t\t'%s item moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\t'%s items moved to the trash.',\n\t\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'move-to-trash-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at least one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to delete a single item.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the item to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to delete multiple items.\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the items to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the item to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the items to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( items );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Trash', 'verb' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default trashPost;\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAWA,IAAAO,MAAA,GAAAP,OAAA;AAAiE,IAAAQ,WAAA,GAAAR,OAAA;AApBjE;AACA;AACA;;AAeA;AACA;AACA;;AAIA,MAAMS,SAAwC,GAAG;EAChDC,EAAE,EAAE,eAAe;EACnBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAEC,YAAK;EACXC,UAAUA,CAAEC,IAAI,EAAG;IAClB,IAAK,IAAAC,+BAAwB,EAAED,IAAK,CAAC,IAAIA,IAAI,CAACE,IAAI,KAAK,UAAU,EAAG;MACnE,OAAO,KAAK;IACb;IAEA,OACC,CAAC,CAAEF,IAAI,CAACG,MAAM,IACd,CAAE,CAAE,YAAY,EAAE,OAAO,CAAE,CAACC,QAAQ,CAAEJ,IAAI,CAACG,MAAO,CAAC,IACnDH,IAAI,CAACK,WAAW,EAAEC,MAAM;EAE1B,CAAC;EACDC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAkB,CAAC,KAAM;IAC5D,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;IAC/C,MAAM;MAAEC,mBAAmB;MAAEC;IAAkB,CAAC,GAC/C,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC5B,MAAM;MAAEC;IAAmB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,eAAU,CAAC;IACvD,oBACC,IAAA9B,WAAA,CAAA+B,IAAA,EAACjC,WAAA,CAAAkC,oBAAM;MAACC,OAAO,EAAC,GAAG;MAAAC,QAAA,gBAClB,IAAAlC,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAAsC,kBAAI;QAAAF,QAAA,EACFf,KAAK,CAACkB,MAAM,KAAK,CAAC,GACjB,IAAAC,aAAO;QACP;QACA,IAAAlC,QAAE,EACD,kDACD,CAAC,EACD,IAAAmC,mBAAY,EAAEpB,KAAK,CAAE,CAAC,CAAG,CACzB,CAAC,GACD,IAAAmB,aAAO;QACP;QACA,IAAAE,QAAE,EACD,sDAAsD,EACtD,uDAAuD,EACvDrB,KAAK,CAACkB,MACP,CAAC,EACDlB,KAAK,CAACkB,MACN;MAAC,CACC,CAAC,eACP,IAAArC,WAAA,CAAA+B,IAAA,EAACjC,WAAA,CAAA2C,oBAAM;QAACC,OAAO,EAAC,OAAO;QAAAR,QAAA,gBACtB,IAAAlC,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAA6C,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAG1B,UAAY;UACtB2B,QAAQ,EAAGzB,MAAQ;UACnB0B,sBAAsB;UAAAd,QAAA,EAEpB,IAAA9B,QAAE,EAAE,QAAS;QAAC,CACT,CAAC,eACT,IAAAJ,WAAA,CAAAmC,GAAA,EAACrC,WAAA,CAAA6C,MAAM;UACNC,qBAAqB;UACrBC,OAAO,EAAC,SAAS;UACjBC,OAAO,EAAG,MAAAA,CAAA,KAAY;YACrBvB,SAAS,CAAE,IAAK,CAAC;YACjB,MAAM0B,aAAa,GAAG,MAAMC,OAAO,CAACC,UAAU,CAC7ChC,KAAK,CAACiC,GAAG,CAAI3C,IAAI,IAChBoB,kBAAkB,CACjB,UAAU,EACVpB,IAAI,CAACE,IAAI,EACTF,IAAI,CAACP,EAAE,CAACmD,QAAQ,CAAC,CAAC,EAClB,CAAC,CAAC,EACF;cAAEC,YAAY,EAAE;YAAK,CACtB,CACD,CACD,CAAC;YACD;YACA,IACCL,aAAa,CAACM,KAAK,CAClB,CAAE;cAAE3C;YAAO,CAAC,KAAMA,MAAM,KAAK,WAC9B,CAAC,EACA;cACD,IAAI4C,cAAc;cAClB,IAAKP,aAAa,CAACZ,MAAM,KAAK,CAAC,EAAG;gBACjCmB,cAAc,GAAG,IAAAlB,aAAO,GACvB;gBACA,IAAAlC,QAAE,EAAE,0BAA2B,CAAC,EAChC,IAAAmC,mBAAY,EAAEpB,KAAK,CAAE,CAAC,CAAG,CAC1B,CAAC;cACF,CAAC,MAAM;gBACNqC,cAAc,GAAG,IAAAlB,aAAO,GACvB;gBACA,IAAAE,QAAE,EACD,6BAA6B,EAC7B,8BAA8B,EAC9BrB,KAAK,CAACkB,MACP,CAAC,EACDlB,KAAK,CAACkB,MACP,CAAC;cACF;cACAZ,mBAAmB,CAAE+B,cAAc,EAAE;gBACpC7C,IAAI,EAAE,UAAU;gBAChBT,EAAE,EAAE;cACL,CAAE,CAAC;YACJ,CAAC,MAAM;cACN;cACA,IAAIuD,YAAY;cAChB;cACA,IAAKR,aAAa,CAACZ,MAAM,KAAK,CAAC,EAAG;gBACjC,MAAMqB,UAAU,GAAGT,aAAa,CAAE,CAAC,CAElC;gBACD,IAAKS,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;kBACjCH,YAAY,GACXC,UAAU,CAACC,MAAM,CAACC,OAAO;gBAC3B,CAAC,MAAM;kBACNH,YAAY,GAAG,IAAArD,QAAE,EAChB,uDACD,CAAC;gBACF;gBACA;cACD,CAAC,MAAM;gBACN,MAAMyD,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;gBAC/B,MAAMC,cAAc,GAAGd,aAAa,CAACe,MAAM,CAC1C,CAAE;kBAAEpD;gBAAO,CAAC,KAAMA,MAAM,KAAK,UAC9B,CAAC;gBACD,KAAM,MAAMqD,aAAa,IAAIF,cAAc,EAAG;kBAC7C,MAAML,UAAU,GAAGO,aAElB;kBACD,IAAKP,UAAU,CAACC,MAAM,EAAEC,OAAO,EAAG;oBACjCC,aAAa,CAACK,GAAG,CAChBR,UAAU,CAACC,MAAM,CAACC,OACnB,CAAC;kBACF;gBACD;gBACA,IAAKC,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;kBAC/BV,YAAY,GAAG,IAAArD,QAAE,EAChB,wDACD,CAAC;gBACF,CAAC,MAAM,IAAKyD,aAAa,CAACM,IAAI,KAAK,CAAC,EAAG;kBACtCV,YAAY,GAAG,IAAAnB,aAAO,GACrB;kBACA,IAAAlC,QAAE,EACD,0DACD,CAAC,EACD,CAAE,GAAGyD,aAAa,CAAE,CAAE,CAAC,CACxB,CAAC;gBACF,CAAC,MAAM;kBACNJ,YAAY,GAAG,IAAAnB,aAAO,GACrB;kBACA,IAAAlC,QAAE,EACD,8DACD,CAAC,EACD,CAAE,GAAGyD,aAAa,CAAE,CAACO,IAAI,CAAE,GAAI,CAChC,CAAC;gBACF;cACD;cACA1C,iBAAiB,CAAE+B,YAAY,EAAE;gBAChC9C,IAAI,EAAE;cACP,CAAE,CAAC;YACJ;YACA,IAAKU,iBAAiB,EAAG;cACxBA,iBAAiB,CAAEF,KAAM,CAAC;YAC3B;YACAI,SAAS,CAAE,KAAM,CAAC;YAClBH,UAAU,GAAG,CAAC;UACf,CAAG;UACHE,MAAM,EAAGA,MAAQ;UACjByB,QAAQ,EAAGzB,MAAQ;UACnB0B,sBAAsB;UAAAd,QAAA,EAEpB,IAAAmC,QAAE,EAAE,OAAO,EAAE,MAAO;QAAC,CAChB,CAAC;MAAA,CACF,CAAC;IAAA,CACF,CAAC;EAEX;AACD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEavE,SAAS","ignoreList":[]}
@@ -1,32 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,89 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { trash } from '@wordpress/icons';
5
- import { useDispatch } from '@wordpress/data';
6
- import { __, _n, sprintf } from '@wordpress/i18n';
7
- import { useState } from '@wordpress/element';
8
- import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
9
- // @ts-ignore
10
- import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
11
- /**
12
- * Internal dependencies
13
- */
14
- import { isTemplateRemovable, getItemTitle, isTemplateOrTemplatePart } from './utils';
15
- // @ts-ignore
16
- import { store as editorStore } from '../../store';
17
- import { unlock } from '../../lock-unlock';
18
- import { jsx as _jsx } from "react/jsx-runtime";
19
- import { jsxs as _jsxs } from "react/jsx-runtime";
20
- const {
21
- PATTERN_TYPES
22
- } = unlock(patternsPrivateApis);
23
-
24
- // This action is used for templates, patterns and template parts.
25
- // Every other post type uses the similar `trashPostAction` which
26
- // moves the post to trash.
27
- const deletePostAction = {
28
- id: 'delete-post',
29
- label: __('Delete'),
30
- isPrimary: true,
31
- icon: trash,
32
- isEligible(post) {
33
- if (isTemplateOrTemplatePart(post)) {
34
- return isTemplateRemovable(post);
35
- }
36
- // We can only remove user patterns.
37
- return post.type === PATTERN_TYPES.user;
38
- },
39
- supportsBulk: true,
40
- hideModalHeader: true,
41
- RenderModal: ({
42
- items,
43
- closeModal,
44
- onActionPerformed
45
- }) => {
46
- const [isBusy, setIsBusy] = useState(false);
47
- const {
48
- removeTemplates
49
- } = unlock(useDispatch(editorStore));
50
- return /*#__PURE__*/_jsxs(VStack, {
51
- spacing: "5",
52
- children: [/*#__PURE__*/_jsx(Text, {
53
- children: items.length > 1 ? sprintf(
54
- // translators: %d: number of items to delete.
55
- _n('Delete %d item?', 'Delete %d items?', items.length), items.length) : sprintf(
56
- // translators: %s: The template or template part's titles
57
- __('Delete "%s"?'), getItemTitle(items[0]))
58
- }), /*#__PURE__*/_jsxs(HStack, {
59
- justify: "right",
60
- children: [/*#__PURE__*/_jsx(Button, {
61
- variant: "tertiary",
62
- onClick: closeModal,
63
- disabled: isBusy,
64
- accessibleWhenDisabled: true,
65
- __next40pxDefaultSize: true,
66
- children: __('Cancel')
67
- }), /*#__PURE__*/_jsx(Button, {
68
- variant: "primary",
69
- onClick: async () => {
70
- setIsBusy(true);
71
- await removeTemplates(items, {
72
- allowUndo: false
73
- });
74
- onActionPerformed?.(items);
75
- setIsBusy(false);
76
- closeModal?.();
77
- },
78
- isBusy: isBusy,
79
- disabled: isBusy,
80
- accessibleWhenDisabled: true,
81
- __next40pxDefaultSize: true,
82
- children: __('Delete')
83
- })]
84
- })]
85
- });
86
- }
87
- };
88
- export default deletePostAction;
89
- //# sourceMappingURL=delete-post.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["trash","useDispatch","__","_n","sprintf","useState","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","privateApis","patternsPrivateApis","isTemplateRemovable","getItemTitle","isTemplateOrTemplatePart","store","editorStore","unlock","jsx","_jsx","jsxs","_jsxs","PATTERN_TYPES","deletePostAction","id","label","isPrimary","icon","isEligible","post","type","user","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","removeTemplates","spacing","children","length","justify","variant","onClick","disabled","accessibleWhenDisabled","__next40pxDefaultSize","allowUndo"],"sources":["@wordpress/editor/src/dataviews/actions/delete-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { trash } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\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';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport type { Action } from '@wordpress/dataviews';\nimport type { StoreDescriptor } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tisTemplateRemovable,\n\tgetItemTitle,\n\tisTemplateOrTemplatePart,\n} from './utils';\n// @ts-ignore\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport type { Post } from '../types';\n\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\n// This action is used for templates, patterns and template parts.\n// Every other post type uses the similar `trashPostAction` which\n// moves the post to trash.\nconst deletePostAction: Action< Post > = {\n\tid: 'delete-post',\n\tlabel: __( 'Delete' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( post ) {\n\t\tif ( isTemplateOrTemplatePart( post ) ) {\n\t\t\treturn isTemplateRemovable( post );\n\t\t}\n\t\t// We can only remove user patterns.\n\t\treturn post.type === PATTERN_TYPES.user;\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { removeTemplates } = unlock(\n\t\t\tuseDispatch( editorStore as StoreDescriptor )\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{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait removeTemplates( items, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\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\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\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 deletePostAction;\n"],"mappings":"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","ignoreList":[]}
@@ -1,118 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useDispatch } from '@wordpress/data';
5
- import { store as coreStore } from '@wordpress/core-data';
6
- import { __ } from '@wordpress/i18n';
7
- import { useState } from '@wordpress/element';
8
- // @ts-ignore
9
- import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
10
- import { Button, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
11
- import { store as noticesStore } from '@wordpress/notices';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import { TEMPLATE_ORIGINS, TEMPLATE_PART_POST_TYPE, TEMPLATE_POST_TYPE } from '../../store/constants';
17
- import { unlock } from '../../lock-unlock';
18
- import { getItemTitle, isTemplateRemovable, isTemplate, isTemplatePart } from './utils';
19
- import { jsx as _jsx } from "react/jsx-runtime";
20
- import { jsxs as _jsxs } from "react/jsx-runtime";
21
- // Patterns.
22
- const {
23
- PATTERN_TYPES
24
- } = unlock(patternsPrivateApis);
25
- const renamePost = {
26
- id: 'rename-post',
27
- label: __('Rename'),
28
- isEligible(post) {
29
- if (post.status === 'trash') {
30
- return false;
31
- }
32
- // Templates, template parts and patterns have special checks for renaming.
33
- if (![TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, ...Object.values(PATTERN_TYPES)].includes(post.type)) {
34
- return post.permissions?.update;
35
- }
36
-
37
- // In the case of templates, we can only rename custom templates.
38
- if (isTemplate(post)) {
39
- return isTemplateRemovable(post) && post.is_custom && post.permissions?.update;
40
- }
41
- if (isTemplatePart(post)) {
42
- return post.source === TEMPLATE_ORIGINS.custom && !post?.has_theme_file && post.permissions?.update;
43
- }
44
- return post.type === PATTERN_TYPES.user && post.permissions?.update;
45
- },
46
- RenderModal: ({
47
- items,
48
- closeModal,
49
- onActionPerformed
50
- }) => {
51
- const [item] = items;
52
- const [title, setTitle] = useState(() => getItemTitle(item));
53
- const {
54
- editEntityRecord,
55
- saveEditedEntityRecord
56
- } = useDispatch(coreStore);
57
- const {
58
- createSuccessNotice,
59
- createErrorNotice
60
- } = useDispatch(noticesStore);
61
- async function onRename(event) {
62
- event.preventDefault();
63
- try {
64
- await editEntityRecord('postType', item.type, item.id, {
65
- title
66
- });
67
- // Update state before saving rerenders the list.
68
- setTitle('');
69
- closeModal?.();
70
- // Persist edited entity.
71
- await saveEditedEntityRecord('postType', item.type, item.id, {
72
- throwOnError: true
73
- });
74
- createSuccessNotice(__('Name updated'), {
75
- type: 'snackbar'
76
- });
77
- onActionPerformed?.(items);
78
- } catch (error) {
79
- const typedError = error;
80
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : __('An error occurred while updating the name');
81
- createErrorNotice(errorMessage, {
82
- type: 'snackbar'
83
- });
84
- }
85
- }
86
- return /*#__PURE__*/_jsx("form", {
87
- onSubmit: onRename,
88
- children: /*#__PURE__*/_jsxs(VStack, {
89
- spacing: "5",
90
- children: [/*#__PURE__*/_jsx(TextControl, {
91
- __nextHasNoMarginBottom: true,
92
- __next40pxDefaultSize: true,
93
- label: __('Name'),
94
- value: title,
95
- onChange: setTitle,
96
- required: true
97
- }), /*#__PURE__*/_jsxs(HStack, {
98
- justify: "right",
99
- children: [/*#__PURE__*/_jsx(Button, {
100
- __next40pxDefaultSize: true,
101
- variant: "tertiary",
102
- onClick: () => {
103
- closeModal?.();
104
- },
105
- children: __('Cancel')
106
- }), /*#__PURE__*/_jsx(Button, {
107
- __next40pxDefaultSize: true,
108
- variant: "primary",
109
- type: "submit",
110
- children: __('Save')
111
- })]
112
- })]
113
- })
114
- });
115
- }
116
- };
117
- export default renamePost;
118
- //# sourceMappingURL=rename-post.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useDispatch","store","coreStore","__","useState","privateApis","patternsPrivateApis","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","noticesStore","TEMPLATE_ORIGINS","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","unlock","getItemTitle","isTemplateRemovable","isTemplate","isTemplatePart","jsx","_jsx","jsxs","_jsxs","PATTERN_TYPES","renamePost","id","label","isEligible","post","status","Object","values","includes","type","permissions","update","is_custom","source","custom","has_theme_file","user","RenderModal","items","closeModal","onActionPerformed","item","title","setTitle","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onRename","event","preventDefault","throwOnError","error","typedError","errorMessage","message","code","onSubmit","children","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","justify","variant","onClick"],"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":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C;AACA,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE,SACCC,MAAM,EACNC,WAAW,EACXC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAE9B,SAASX,KAAK,IAAIY,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SACCC,gBAAgB,EAChBC,uBAAuB,EACvBC,kBAAkB,QACZ,uBAAuB;AAC9B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SACCC,YAAY,EACZC,mBAAmB,EACnBC,UAAU,EACVC,cAAc,QACR,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAGjB;AACA,MAAM;EAAEC;AAAc,CAAC,GAAGT,MAAM,CAAEX,mBAAoB,CAAC;AAEvD,MAAMqB,UAAyC,GAAG;EACjDC,EAAE,EAAE,aAAa;EACjBC,KAAK,EAAE1B,EAAE,CAAE,QAAS,CAAC;EACrB2B,UAAUA,CAAEC,IAAI,EAAG;IAClB,IAAKA,IAAI,CAACC,MAAM,KAAK,OAAO,EAAG;MAC9B,OAAO,KAAK;IACb;IACA;IACA,IACC,CAAE,CACDhB,kBAAkB,EAClBD,uBAAuB,EACvB,GAAGkB,MAAM,CAACC,MAAM,CAAER,aAAc,CAAC,CACjC,CAACS,QAAQ,CAAEJ,IAAI,CAACK,IAAK,CAAC,EACtB;MACD,OAAOL,IAAI,CAACM,WAAW,EAAEC,MAAM;IAChC;;IAEA;IACA,IAAKlB,UAAU,CAAEW,IAAK,CAAC,EAAG;MACzB,OACCZ,mBAAmB,CAAEY,IAAK,CAAC,IAC3BA,IAAI,CAACQ,SAAS,IACdR,IAAI,CAACM,WAAW,EAAEC,MAAM;IAE1B;IAEA,IAAKjB,cAAc,CAAEU,IAAK,CAAC,EAAG;MAC7B,OACCA,IAAI,CAACS,MAAM,KAAK1B,gBAAgB,CAAC2B,MAAM,IACvC,CAAEV,IAAI,EAAEW,cAAc,IACtBX,IAAI,CAACM,WAAW,EAAEC,MAAM;IAE1B;IAEA,OAAOP,IAAI,CAACK,IAAI,KAAKV,aAAa,CAACiB,IAAI,IAAIZ,IAAI,CAACM,WAAW,EAAEC,MAAM;EACpE,CAAC;EACDM,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAkB,CAAC,KAAM;IAC5D,MAAM,CAAEC,IAAI,CAAE,GAAGH,KAAK;IACtB,MAAM,CAAEI,KAAK,EAAEC,QAAQ,CAAE,GAAG9C,QAAQ,CAAE,MAAMc,YAAY,CAAE8B,IAAK,CAAE,CAAC;IAClE,MAAM;MAAEG,gBAAgB;MAAEC;IAAuB,CAAC,GACjDpD,WAAW,CAAEE,SAAU,CAAC;IACzB,MAAM;MAAEmD,mBAAmB;MAAEC;IAAkB,CAAC,GAC/CtD,WAAW,CAAEa,YAAa,CAAC;IAE5B,eAAe0C,QAAQA,CAAEC,KAAsB,EAAG;MACjDA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB,IAAI;QACH,MAAMN,gBAAgB,CAAE,UAAU,EAAEH,IAAI,CAACZ,IAAI,EAAEY,IAAI,CAACpB,EAAE,EAAE;UACvDqB;QACD,CAAE,CAAC;QACH;QACAC,QAAQ,CAAE,EAAG,CAAC;QACdJ,UAAU,GAAG,CAAC;QACd;QACA,MAAMM,sBAAsB,CAAE,UAAU,EAAEJ,IAAI,CAACZ,IAAI,EAAEY,IAAI,CAACpB,EAAE,EAAE;UAC7D8B,YAAY,EAAE;QACf,CAAE,CAAC;QACHL,mBAAmB,CAAElD,EAAE,CAAE,cAAe,CAAC,EAAE;UAC1CiC,IAAI,EAAE;QACP,CAAE,CAAC;QACHW,iBAAiB,GAAIF,KAAM,CAAC;MAC7B,CAAC,CAAC,OAAQc,KAAK,EAAG;QACjB,MAAMC,UAAU,GAAGD,KAAsB;QACzC,MAAME,YAAY,GACjBD,UAAU,CAACE,OAAO,IAAIF,UAAU,CAACG,IAAI,KAAK,eAAe,GACtDH,UAAU,CAACE,OAAO,GAClB3D,EAAE,CAAE,2CAA4C,CAAC;QACrDmD,iBAAiB,CAAEO,YAAY,EAAE;UAAEzB,IAAI,EAAE;QAAW,CAAE,CAAC;MACxD;IACD;IAEA,oBACCb,IAAA;MAAMyC,QAAQ,EAAGT,QAAU;MAAAU,QAAA,eAC1BxC,KAAA,CAACb,MAAM;QAACsD,OAAO,EAAC,GAAG;QAAAD,QAAA,gBAClB1C,IAAA,CAACf,WAAW;UACX2D,uBAAuB;UACvBC,qBAAqB;UACrBvC,KAAK,EAAG1B,EAAE,CAAE,MAAO,CAAG;UACtBkE,KAAK,EAAGpB,KAAO;UACfqB,QAAQ,EAAGpB,QAAU;UACrBqB,QAAQ;QAAA,CACR,CAAC,eACF9C,KAAA,CAACf,MAAM;UAAC8D,OAAO,EAAC,OAAO;UAAAP,QAAA,gBACtB1C,IAAA,CAAChB,MAAM;YACN6D,qBAAqB;YACrBK,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAGA,CAAA,KAAM;cACf5B,UAAU,GAAG,CAAC;YACf,CAAG;YAAAmB,QAAA,EAED9D,EAAE,CAAE,QAAS;UAAC,CACT,CAAC,eACToB,IAAA,CAAChB,MAAM;YACN6D,qBAAqB;YACrBK,OAAO,EAAC,SAAS;YACjBrC,IAAI,EAAC,QAAQ;YAAA6B,QAAA,EAEX9D,EAAE,CAAE,MAAO;UAAC,CACP,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ,CAAC;EAET;AACD,CAAC;AAED,eAAewB,UAAU","ignoreList":[]}
@@ -1,106 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { backup } from '@wordpress/icons';
5
- import { useDispatch } from '@wordpress/data';
6
- import { store as coreStore } from '@wordpress/core-data';
7
- import { __, sprintf } from '@wordpress/i18n';
8
- import { store as noticesStore } from '@wordpress/notices';
9
- import { useState } from '@wordpress/element';
10
- import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
11
- /**
12
- * Internal dependencies
13
- */
14
- import { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../store/constants';
15
- import { store as editorStore } from '../../store';
16
- import { unlock } from '../../lock-unlock';
17
- import { isTemplateOrTemplatePart, getItemTitle } from './utils';
18
- import { jsx as _jsx } from "react/jsx-runtime";
19
- import { jsxs as _jsxs } from "react/jsx-runtime";
20
- const resetPost = {
21
- id: 'reset-post',
22
- label: __('Reset'),
23
- isEligible: item => {
24
- return isTemplateOrTemplatePart(item) && item?.source === TEMPLATE_ORIGINS.custom && (Boolean(item.type === 'wp_template' && item?.plugin) || item?.has_theme_file);
25
- },
26
- icon: backup,
27
- supportsBulk: true,
28
- hideModalHeader: true,
29
- RenderModal: ({
30
- items,
31
- closeModal,
32
- onActionPerformed
33
- }) => {
34
- const [isBusy, setIsBusy] = useState(false);
35
- const {
36
- revertTemplate
37
- } = unlock(useDispatch(editorStore));
38
- const {
39
- saveEditedEntityRecord
40
- } = useDispatch(coreStore);
41
- const {
42
- createSuccessNotice,
43
- createErrorNotice
44
- } = useDispatch(noticesStore);
45
- const onConfirm = async () => {
46
- try {
47
- for (const template of items) {
48
- await revertTemplate(template, {
49
- allowUndo: false
50
- });
51
- await saveEditedEntityRecord('postType', template.type, template.id);
52
- }
53
- createSuccessNotice(items.length > 1 ? sprintf( /* translators: The number of items. */
54
- __('%s items reset.'), items.length) : sprintf( /* translators: The template/part's name. */
55
- __('"%s" reset.'), getItemTitle(items[0])), {
56
- type: 'snackbar',
57
- id: 'revert-template-action'
58
- });
59
- } catch (error) {
60
- let fallbackErrorMessage;
61
- if (items[0].type === TEMPLATE_POST_TYPE) {
62
- fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template.') : __('An error occurred while reverting the templates.');
63
- } else {
64
- fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template part.') : __('An error occurred while reverting the template parts.');
65
- }
66
- const typedError = error;
67
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : fallbackErrorMessage;
68
- createErrorNotice(errorMessage, {
69
- type: 'snackbar'
70
- });
71
- }
72
- };
73
- return /*#__PURE__*/_jsxs(VStack, {
74
- spacing: "5",
75
- children: [/*#__PURE__*/_jsx(Text, {
76
- children: __('Reset to default and clear all customizations?')
77
- }), /*#__PURE__*/_jsxs(HStack, {
78
- justify: "right",
79
- children: [/*#__PURE__*/_jsx(Button, {
80
- __next40pxDefaultSize: true,
81
- variant: "tertiary",
82
- onClick: closeModal,
83
- disabled: isBusy,
84
- accessibleWhenDisabled: true,
85
- children: __('Cancel')
86
- }), /*#__PURE__*/_jsx(Button, {
87
- __next40pxDefaultSize: true,
88
- variant: "primary",
89
- onClick: async () => {
90
- setIsBusy(true);
91
- await onConfirm();
92
- onActionPerformed?.(items);
93
- setIsBusy(false);
94
- closeModal?.();
95
- },
96
- isBusy: isBusy,
97
- disabled: isBusy,
98
- accessibleWhenDisabled: true,
99
- children: __('Reset')
100
- })]
101
- })]
102
- });
103
- }
104
- };
105
- export default resetPost;
106
- //# sourceMappingURL=reset-post.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["backup","useDispatch","store","coreStore","__","sprintf","noticesStore","useState","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","TEMPLATE_POST_TYPE","TEMPLATE_ORIGINS","editorStore","unlock","isTemplateOrTemplatePart","getItemTitle","jsx","_jsx","jsxs","_jsxs","resetPost","id","label","isEligible","item","source","custom","Boolean","type","plugin","has_theme_file","icon","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","revertTemplate","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onConfirm","template","allowUndo","length","error","fallbackErrorMessage","typedError","errorMessage","message","code","spacing","children","justify","__next40pxDefaultSize","variant","onClick","disabled","accessibleWhenDisabled"],"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\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait onConfirm();\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default resetPost;\n"],"mappings":"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","ignoreList":[]}