@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
98 lines (92 loc) • 3.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _icons = require("@wordpress/icons");
var _data = require("@wordpress/data");
var _i18n = require("@wordpress/i18n");
var _element = require("@wordpress/element");
var _components = require("@wordpress/components");
var _patterns = require("@wordpress/patterns");
var _utils = require("./utils");
var _store = require("../../store");
var _lockUnlock = require("../../lock-unlock");
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
// @ts-ignore
/**
* Internal dependencies
*/
// @ts-ignore
const {
PATTERN_TYPES
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
// This action is used for templates, patterns and template parts.
// Every other post type uses the similar `trashPostAction` which
// moves the post to trash.
const deletePostAction = {
id: 'delete-post',
label: (0, _i18n.__)('Delete'),
isPrimary: true,
icon: _icons.trash,
isEligible(post) {
if ((0, _utils.isTemplateOrTemplatePart)(post)) {
return (0, _utils.isTemplateRemovable)(post);
}
// We can only remove user patterns.
return post.type === PATTERN_TYPES.user;
},
supportsBulk: true,
hideModalHeader: true,
RenderModal: ({
items,
closeModal,
onActionPerformed
}) => {
const [isBusy, setIsBusy] = (0, _element.useState)(false);
const {
removeTemplates
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
spacing: "5",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
children: items.length > 1 ? (0, _i18n.sprintf)(
// translators: %d: number of items to delete.
(0, _i18n._n)('Delete %d item?', 'Delete %d items?', items.length), items.length) : (0, _i18n.sprintf)(
// translators: %s: The template or template part's titles
(0, _i18n.__)('Delete "%s"?'), (0, _utils.getItemTitle)(items[0]))
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
justify: "right",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
variant: "tertiary",
onClick: closeModal,
disabled: isBusy,
accessibleWhenDisabled: true,
__next40pxDefaultSize: true,
children: (0, _i18n.__)('Cancel')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
variant: "primary",
onClick: async () => {
setIsBusy(true);
await removeTemplates(items, {
allowUndo: false
});
onActionPerformed?.(items);
setIsBusy(false);
closeModal?.();
},
isBusy: isBusy,
disabled: isBusy,
accessibleWhenDisabled: true,
__next40pxDefaultSize: true,
children: (0, _i18n.__)('Delete')
})]
})]
});
}
};
var _default = exports.default = deletePostAction;
//# sourceMappingURL=delete-post.js.map