UNPKG

@wordpress/editor

Version:
98 lines (92 loc) 3.13 kB
"use strict"; 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