@atlaskit/editor-plugin-synced-block
Version:
SyncedBlock plugin for @atlaskit/editor-core
20 lines • 749 B
JavaScript
import { BodiedSyncBlockSharedCssClassName } from '@atlaskit/editor-common/sync-block';
import { findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
export const calculateDecorations = (doc, selection, schema) => {
const {
bodiedSyncBlock
} = schema.nodes;
const syncBlockParent = findParentNodeOfType(bodiedSyncBlock)(selection);
if (syncBlockParent) {
const {
node,
pos
} = syncBlockParent;
const decoration = Decoration.node(pos, pos + node.nodeSize, {
class: `${BodiedSyncBlockSharedCssClassName.selectionInside}`
});
return DecorationSet.create(doc, [decoration]);
}
return DecorationSet.empty;
};