@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
60 lines (57 loc) • 1.7 kB
JavaScript
;
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