UNPKG

medium-draft

Version:

A medium like rich text editor built upon draft-js with an emphasis on eliminating mouse usage by adding relevant keyboard shortcuts

82 lines (66 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _blockquotecaption = require('./blocks/blockquotecaption'); var _blockquotecaption2 = _interopRequireDefault(_blockquotecaption); var _caption = require('./blocks/caption'); var _caption2 = _interopRequireDefault(_caption); var _atomic = require('./blocks/atomic'); var _atomic2 = _interopRequireDefault(_atomic); var _todo = require('./blocks/todo'); var _todo2 = _interopRequireDefault(_todo); var _image = require('./blocks/image'); var _image2 = _interopRequireDefault(_image); var _break = require('./blocks/break'); var _break2 = _interopRequireDefault(_break); var _constants = require('../util/constants'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (setEditorState, getEditorState, extraProps) { return function (contentBlock) { // console.log(editorState, onChange); var type = contentBlock.getType(); switch (type) { case _constants.Block.BLOCKQUOTE_CAPTION: return { component: _blockquotecaption2.default }; case _constants.Block.CAPTION: return { component: _caption2.default }; case _constants.Block.ATOMIC: return { component: _atomic2.default, editable: false, props: { getEditorState: getEditorState } }; case _constants.Block.TODO: return { component: _todo2.default, props: { setEditorState: setEditorState, getEditorState: getEditorState } }; case _constants.Block.IMAGE: return { component: _image2.default, props: { setEditorState: setEditorState, getEditorState: getEditorState, placeholder: extraProps ? extraProps.imageCaptionPlaceholder : '' } }; case _constants.Block.BREAK: return { component: _break2.default, editable: false }; default: return null; } }; };