Kaynağa Gözat

Add function color remaining text (#1980)

master
usagi-f 7 yıl önce
committed by Eugen
ebeveyn
işleme
b87a08e160
3 değiştirilmiş dosya ile 29 ekleme ve 5 silme
  1. +8
    -5
      app/assets/javascripts/components/features/compose/components/character_counter.jsx
  2. +1
    -0
      storybook/config.js
  3. +20
    -0
      storybook/stories/character_counter.story.jsx

+ 8
- 5
app/assets/javascripts/components/features/compose/components/character_counter.jsx Dosyayı Görüntüle

@@ -9,14 +9,17 @@ const CharacterCounter = React.createClass({

mixins: [PureRenderMixin],

checkRemainingText (diff) {
if (diff <= 0) {
return <span style={{ fontSize: '16px', cursor: 'default', color: '#ff5050' }}>{diff}</span>;
}
return <span style={{ fontSize: '16px', cursor: 'default' }}>{diff}</span>;
},

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>
);
return this.checkRemainingText(diff);
}

});


+ 1
- 0
storybook/config.js Dosyayı Görüntüle

@@ -17,6 +17,7 @@ window.React = React;
function loadStories () {
require('./stories/loading_indicator.story.jsx');
require('./stories/button.story.jsx');
require('./stories/character_counter.story.jsx');
require('./stories/autosuggest_textarea.story.jsx');
}



+ 20
- 0
storybook/stories/character_counter.story.jsx Dosyayı Görüntüle

@@ -0,0 +1,20 @@
import { storiesOf } from '@kadira/storybook';
import CharacterCounter from '../../app/assets/javascripts/components/features/compose/components/character_counter';

storiesOf('CharacterCounter', module)
.add('no text', () => {
const text = '';
return <CharacterCounter text={text} max="500" />;
})
.add('a few strings text', () => {
const text = '0123456789';
return <CharacterCounter text={text} max="500" />;
})
.add('the same text', () => {
const text = '01234567890123456789';
return <CharacterCounter text={text} max="20" />;
})
.add('over text', () => {
const text = '01234567890123456789012345678901234567890123456789';
return <CharacterCounter text={text} max="10" />;
});

Yükleniyor…
İptal
Kaydet