UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

50 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var info_1 = require("@atlaskit/icon/glyph/editor/info"); var hint_1 = require("@atlaskit/icon/glyph/editor/hint"); var note_1 = require("@atlaskit/icon/glyph/editor/note"); var warning_1 = require("@atlaskit/icon/glyph/warning"); var React = require("react"); var ReactDOM = require("react-dom"); var panelIcons = { info: info_1.default, tip: hint_1.default, note: note_1.default, warning: warning_1.default }; var getIconDom = function (panelType) { var dom = document.createElement('span'); dom.setAttribute('contenteditable', 'false'); // Prevent IE11 resize handles on selection. dom.addEventListener('mousedown', function (e) { return e.preventDefault(); }); // tslint:disable-next-line:variable-name var Icon = panelIcons[panelType]; ReactDOM.render(React.createElement(Icon, { label: "Panel " + panelType }), dom); return dom; }; exports.panel = { group: 'block', content: '(paragraph | heading | bulletList | orderedList)+', attrs: { panelType: { default: 'info' } }, parseDOM: [{ tag: 'div[data-panel-type]', getAttrs: function (dom) { return ({ 'panelType': dom.getAttribute('data-panel-type') }); } }], toDOM: function (node) { var panelType = node.attrs['panelType']; var attrs = { 'data-panel-type': panelType }; return [ 'div', attrs, getIconDom(panelType), ['div', {}, 0] ]; } }; //# sourceMappingURL=panel.js.map