about summary refs log tree commit diff
path: root/app/assets/javascripts/components/features/compose/components/character_counter.jsx
blob: e6b67535443d78e3383e61d38ba4c6d9c5db67e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import PureRenderMixin from 'react-addons-pure-render-mixin';

const CharacterCounter = React.createClass({

  propTypes: {
    text: React.PropTypes.string.isRequired,
    max: React.PropTypes.number.isRequired
  },

  mixins: [PureRenderMixin],

  render () {
    const diff = this.props.max - this.props.text.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length;

    return (
      <span style={{ fontSize: '16px', cursor: 'default' }}>
        {diff}
      </span>
    );
  }

});

export default CharacterCounter;