UNPKG

@atlaskit/editor-plugin-floating-toolbar

Version:

Floating toolbar plugin for @atlaskit/editor-core

34 lines (32 loc) • 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.copyNode = void 0; var _clipboard = require("@atlaskit/editor-common/clipboard"); var _copyButton = require("@atlaskit/editor-common/copy-button"); var copyNode = exports.copyNode = function copyNode(nodeType, editorAnalyticsApi, inputMethod) { return function (_ref) { var tr = _ref.tr; // const { tr, schema } = state; // This command should only be triggered by the Copy button in the floating toolbar // which is only visible when selection is inside the target node var contentNodeWithPos = (0, _copyButton.getSelectedNodeOrNodeParentByNodeType)({ nodeType: nodeType, selection: tr.selection }); if (!contentNodeWithPos) { return tr; } var schema = tr.doc.type.schema; var copyToClipboardTr = tr; var domNode = (0, _copyButton.toDOM)(contentNodeWithPos.node, schema); (0, _copyButton.copyDomNode)(domNode, contentNodeWithPos.node.type, tr.selection); if (editorAnalyticsApi) { var analyticsPayload = (0, _clipboard.getNodeCopiedAnalyticsPayload)(contentNodeWithPos.node, inputMethod); editorAnalyticsApi.attachAnalyticsEvent(analyticsPayload)(copyToClipboardTr); } copyToClipboardTr.setMeta('scrollIntoView', false); return copyToClipboardTr; }; };