UNPKG

@atlaskit/adf-schema

Version:

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

40 lines (38 loc) 1.09 kB
import { uuid } from '../../utils/uuid'; import { status as statusFactory } from '../../next-schema/generated/nodeTypes'; /** * @name status_node */ export const status = statusFactory({ parseDOM: [{ tag: 'span[data-node-type="status"]', getAttrs: domNode => { // eslint-disable-next-line @atlaskit/editor/no-as-casting const dom = domNode; return { // @ts-ignore TS1501: This regular expression flag is only available when targeting 'es6' or later. // eslint-disable-next-line @typescript-eslint/no-non-null-assertion text: dom.textContent.replace(/\n/u, '').trim(), color: dom.getAttribute('data-color'), localId: uuid.generate(), style: dom.getAttribute('data-style') }; } }], toDOM(node) { const { text, color, localId, style } = node.attrs; const attrs = { 'data-node-type': 'status', 'data-color': color, 'data-local-id': localId, 'data-style': style, contenteditable: 'false' }; return ['span', attrs, text]; } });