ldx-widgets
Version:
widgets
41 lines (33 loc) • 1.29 kB
JavaScript
(function() {
var RTEButton, RTEButtonRow, React, createClass, div;
React = require('react');
createClass = require('create-react-class');
RTEButton = React.createFactory(require('./rte_button'));
div = require('react-dom-factories').div;
RTEButtonRow = createClass({
displayName: 'RTEButtonRow',
render: function() {
var b, blockType, buttonStyles, currentStyle, editorState, i, len, onToggle, ref, rteButtons, selection;
ref = this.props, buttonStyles = ref.buttonStyles, editorState = ref.editorState, onToggle = ref.onToggle;
currentStyle = editorState.getCurrentInlineStyle();
selection = editorState.getSelection();
blockType = editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();
rteButtons = [];
for (i = 0, len = buttonStyles.length; i < len; i++) {
b = buttonStyles[i];
rteButtons.push(RTEButton({
key: b.label,
active: currentStyle.has(b.style) || b.style === blockType,
label: b.label,
onToggle: onToggle,
style: b.style
}));
}
return div({
key: 'button-row',
className: 'RichEditor-controls'
}, rteButtons);
}
});
module.exports = RTEButtonRow;
}).call(this);