UNPKG

@wordpress/editor

Version:
60 lines (57 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CopyContentMenuItem; var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _i18n = require("@wordpress/i18n"); var _compose = require("@wordpress/compose"); var _notices = require("@wordpress/notices"); var _coreData = require("@wordpress/core-data"); var _blocks = require("@wordpress/blocks"); var _store = require("../../store"); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ /** * Internal dependencies */ function CopyContentMenuItem() { const { createNotice } = (0, _data.useDispatch)(_notices.store); const { getCurrentPostId, getCurrentPostType } = (0, _data.useSelect)(_store.store); const { getEditedEntityRecord } = (0, _data.useSelect)(_coreData.store); function getText() { const record = getEditedEntityRecord('postType', getCurrentPostType(), getCurrentPostId()); if (!record) { return ''; } if (typeof record.content === 'function') { return record.content(record); } else if (record.blocks) { return (0, _blocks.__unstableSerializeAndClean)(record.blocks); } else if (record.content) { return record.content; } } function onSuccess() { createNotice('info', (0, _i18n.__)('All content copied.'), { isDismissible: true, type: 'snackbar' }); } const ref = (0, _compose.useCopyToClipboard)(getText, onSuccess); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, { ref: ref, children: (0, _i18n.__)('Copy all blocks') }); } //# sourceMappingURL=copy-content-menu-item.js.map