UNPKG

@atlaskit/adf-schema

Version:

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

72 lines (70 loc) 2.48 kB
import { embedCard as embedCardFactory } from '../../next-schema/generated/nodeTypes'; import { uuid } from '../../utils/uuid'; /** * @name embedCard_node */ export var embedCard = embedCardFactory({ parseDOM: [{ tag: 'div[data-embed-card]', getAttrs: function getAttrs(dom) { return { url: dom.getAttribute('data-card-url'), layout: dom.getAttribute('data-layout') || 'center', width: Number(dom.getAttribute('data-width')) || null, originalWidth: Number(dom.getAttribute('data-card-original-width')) || null, originalHeight: Number(dom.getAttribute('data-card-original-height')) || null }; } }], toDOM: function toDOM(node) { var _node$attrs = node.attrs, url = _node$attrs.url, layout = _node$attrs.layout, width = _node$attrs.width, originalWidth = _node$attrs.originalWidth, originalHeight = _node$attrs.originalHeight; var attrs = { 'data-embed-card': '', 'data-card-url': url, 'data-layout': layout, 'data-width': width, 'data-original-width': originalWidth, 'data-original-height': originalHeight }; return ['div', attrs]; } }); export var embedCardWithLocalId = embedCardFactory({ parseDOM: [{ tag: 'div[data-embed-card]', getAttrs: function getAttrs(dom) { return { url: dom.getAttribute('data-card-url'), layout: dom.getAttribute('data-layout') || 'center', width: Number(dom.getAttribute('data-width')) || null, originalWidth: Number(dom.getAttribute('data-card-original-width')) || null, originalHeight: Number(dom.getAttribute('data-card-original-height')) || null, localId: uuid.generate() }; } }], toDOM: function toDOM(node) { var _node$attrs3; var _node$attrs2 = node.attrs, url = _node$attrs2.url, layout = _node$attrs2.layout, width = _node$attrs2.width, originalWidth = _node$attrs2.originalWidth, originalHeight = _node$attrs2.originalHeight; var attrs = { 'data-embed-card': '', 'data-card-url': url, 'data-layout': layout, 'data-width': width, 'data-original-width': originalWidth, 'data-original-height': originalHeight, 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.localId) || undefined }; return ['div', attrs]; } });