1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _react = require('react');
|
8 |
|
9 | var _react2 = _interopRequireDefault(_react);
|
10 |
|
11 | var _styleMap = require('../style-map');
|
12 |
|
13 | var _styleMap2 = _interopRequireDefault(_styleMap);
|
14 |
|
15 | var _decorators = require('../decorators');
|
16 |
|
17 | var _decorators2 = _interopRequireDefault(_decorators);
|
18 |
|
19 | var _component = require('../component');
|
20 |
|
21 | var _component2 = _interopRequireDefault(_component);
|
22 |
|
23 | var _blocks = require('../blocks');
|
24 |
|
25 | var _blockRenderMap = require('../block-render-map');
|
26 |
|
27 | var _blockRenderMap2 = _interopRequireDefault(_blockRenderMap);
|
28 |
|
29 | var _draftJs = require('draft-js');
|
30 |
|
31 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
32 |
|
33 | function blockRenderer(draftBlock) {
|
34 | if (draftBlock.getType() !== 'atomic') return null;
|
35 | var data = draftBlock.getData().toObject();
|
36 | var blockData = _blocks.blocks.find(function (block) {
|
37 | return block.type === data.type;
|
38 | });
|
39 |
|
40 | if (blockData) {
|
41 | return {
|
42 | component: _blocks.BaseBlock,
|
43 | editable: false,
|
44 | props: { blockData: blockData }
|
45 | };
|
46 | }
|
47 |
|
48 | return false;
|
49 | }
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 | function getDecorators() {
|
57 | return new _draftJs.CompositeDecorator(_decorators2.default);
|
58 | }
|
59 |
|
60 | var EditorView = function EditorView(_ref) {
|
61 | var raw = _ref.raw;
|
62 |
|
63 | var contentState = (0, _draftJs.convertFromRaw)(raw);
|
64 | var editorState = _draftJs.EditorState.createWithContent(contentState, getDecorators());
|
65 |
|
66 | return _react2.default.createElement(
|
67 | _component2.default,
|
68 | null,
|
69 | _react2.default.createElement(_draftJs.Editor, {
|
70 | editorState: editorState,
|
71 | customStyleMap: _styleMap2.default,
|
72 | blockRenderMap: _blockRenderMap2.default,
|
73 | blockRendererFn: blockRenderer,
|
74 | readOnly: true
|
75 | })
|
76 | );
|
77 | };
|
78 |
|
79 | EditorView.propTypes = {
|
80 | raw: _react.PropTypes.shape().isRequired
|
81 | };
|
82 |
|
83 | exports.default = EditorView; |
\ | No newline at end of file |