UNPKG

5.32 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _react = require('react');
8
9var _react2 = _interopRequireDefault(_react);
10
11var _propTypes = require('prop-types');
12
13var _propTypes2 = _interopRequireDefault(_propTypes);
14
15var _MergeTags = require('./MergeTags');
16
17var _MergeTags2 = _interopRequireDefault(_MergeTags);
18
19var _style = require('./style.scss');
20
21var _style2 = _interopRequireDefault(_style);
22
23require('../../styles/global/quill.scss');
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
28
29function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
31function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
32
33function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
34
35/**
36 * The Toolbar for the TextEditor component.
37 */
38var Toolbar = function (_PureComponent) {
39 _inherits(Toolbar, _PureComponent);
40
41 function Toolbar(props) {
42 _classCallCheck(this, Toolbar);
43
44 var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, props));
45
46 _this.componentDidMount = function () {
47 _this.props.onMount(_this._toolbar);
48 };
49
50 _this.renderMergeTags = function () {
51 var _this$props = _this.props,
52 onMount = _this$props.onMount,
53 other = _objectWithoutProperties(_this$props, ['onMount']);
54
55 return _this.props.mergeTags ? _react2.default.createElement(_MergeTags2.default, other) : null;
56 };
57
58 _this.render = function () {
59 return _react2.default.createElement(
60 'div',
61 { ref: function ref(c) {
62 return _this._toolbar = c;
63 } },
64 _react2.default.createElement(
65 'span',
66 { className: 'ql-formats' },
67 _react2.default.createElement('select', { className: 'ql-font' })
68 ),
69 _react2.default.createElement(
70 'span',
71 { className: 'ql-formats' },
72 _react2.default.createElement(
73 'select',
74 { className: 'ql-header' },
75 _react2.default.createElement('option', { value: '1' }),
76 _react2.default.createElement('option', { value: '2' }),
77 _react2.default.createElement('option', { value: '3' }),
78 _react2.default.createElement('option', { value: '4' }),
79 _react2.default.createElement('option', { value: '5' }),
80 _react2.default.createElement('option', { value: '6' }),
81 _react2.default.createElement('option', null)
82 )
83 ),
84 _react2.default.createElement(
85 'span',
86 { className: 'ql-formats' },
87 _react2.default.createElement('select', { className: 'ql-align' }),
88 _react2.default.createElement('button', { className: 'ql-bold' }),
89 _react2.default.createElement('button', { className: 'ql-italic' }),
90 _react2.default.createElement('button', { className: 'ql-strike' }),
91 _react2.default.createElement('button', { className: 'ql-underline' })
92 ),
93 _react2.default.createElement(
94 'span',
95 { className: 'ql-formats' },
96 _react2.default.createElement('select', { className: 'ql-color' }),
97 _react2.default.createElement('select', { className: 'ql-background' })
98 ),
99 _react2.default.createElement(
100 'span',
101 { className: 'ql-formats' },
102 _react2.default.createElement('button', { className: 'ql-list', value: 'ordered' }),
103 _react2.default.createElement('button', { className: 'ql-list', value: 'bullet' })
104 ),
105 _react2.default.createElement(
106 'span',
107 { className: 'ql-formats' },
108 _react2.default.createElement('button', { className: 'ql-link' }),
109 _react2.default.createElement('button', { className: 'ql-image' }),
110 _react2.default.createElement('button', { className: 'ql-clean' })
111 ),
112 _this.renderMergeTags()
113 );
114 };
115
116 return _this;
117 }
118
119 return Toolbar;
120}(_react.PureComponent);
121
122Toolbar.propTypes = {
123 /**
124 * The text editor.
125 */
126 textEditor: _propTypes2.default.object,
127 /**
128 * Merge tags to display in the toolbar.
129 */
130 mergeTags: _propTypes2.default.array,
131 /**
132 * A callback to be called when the component mounts.
133 */
134 onMount: _propTypes2.default.func
135};
136exports.default = Toolbar;
\No newline at end of file