UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

36 lines (34 loc) 946 B
import { syncBlock as syncBlockFactory } from '../../next-schema/generated/nodeTypes'; import { uuid } from '../../utils'; /** * Represents a block node that is designed to be synchronized * with an external resource across different products. * @name syncBlock_node */ export const syncBlock = syncBlockFactory({ parseDOM: [{ tag: 'div[data-sync-block]', getAttrs: domNode => { // eslint-disable-next-line @atlaskit/editor/no-as-casting const dom = domNode; const attrs = { localId: dom.getAttribute('data-local-id') || uuid.generate(), resourceId: dom.getAttribute('data-resource-id') || '' }; return attrs; } }], toDOM(node) { const { localId, resourceId } = node.attrs; const name = 'div'; const attrs = { 'data-sync-block': '', 'data-local-id': localId, 'data-resource-id': resourceId }; return [name, attrs]; } });