@@ -9,10 +9,9 @@ import { Input, Button, Alert } from 'react-bootstrap';
99import FontAwesome from 'react-fontawesome' ;
1010//
1111import FilterActions from '../../actions/FilterActions' ;
12- import LanguagesActions from '../../actions/LanguagesActions' ;
1312//
1413import ReposStore from '../../stores/ReposStore' ;
15- import LanguagesStore from '../../stores/LanguagesStore ' ;
14+ import FilterStore from '../../stores/FilterStore ' ;
1615//
1716import Config from '../../config/Config' ;
1817
@@ -23,35 +22,24 @@ const LanguagesBlock = React.createClass({
2322
2423 mixins : [
2524 Reflux . connect ( ReposStore , 'reposStore' ) ,
26- Reflux . connect ( LanguagesStore , 'languagesStore ' )
25+ Reflux . connect ( FilterStore , 'filterStore ' )
2726 ] ,
2827
2928 filterReposByLanguages ( language ) {
30- const languagesStore = this . state . languagesStore ;
31- const activeLanguages = languagesStore . activeLanguages ;
32- const newActiveLanguages = _ . xor ( activeLanguages , [ language ] ) ;
33- //
34- const reposStore = this . state . reposStore ;
35- const filteredReposIds = _ ( reposStore . repos )
36- . filter ( ( repo ) => {
37- return newActiveLanguages . length ? _ . includes ( newActiveLanguages , repo . language ) : true ;
38- } )
39- . pluck ( 'id' )
40- . value ( ) ;
41- //
42- FilterActions . setFilterLanguages ( this . props . uname , filteredReposIds ) ;
43- LanguagesActions . setActiveLanguages ( newActiveLanguages ) ;
29+ const filterStore = this . state . filterStore ;
30+ const activeLanguages = _ . xor ( filterStore . languages , [ language ] ) ;
31+ FilterActions . setLanguages ( this . props . uname , activeLanguages ) ;
4432 } ,
4533
4634 render ( ) {
47- const languagesStore = this . state . languagesStore ;
48- console . log ( 'languagesStore' , languagesStore ) ;
35+ const reposStore = this . state . reposStore ;
36+ const filterStore = this . state . filterStore ;
4937 //
50- let languages = null ;
51- if ( this . props . openUser && languagesStore && languagesStore . languages . length ) {
52- const sortedLanguages = _ . sortBy ( languagesStore . languages ) ;
53- languages = _ . map ( sortedLanguages , ( language ) => {
54- let activeClass = _ . includes ( languagesStore . activeLanguages , language ) ?
38+ let languagesBlock = < p > There are no languages for now! </ p > ;
39+ if ( reposStore && filterStore ) {
40+ const sortedLanguages = _ . sortBy ( reposStore . languages ) ;
41+ languagesBlock = _ . map ( sortedLanguages , ( language ) => {
42+ let activeClass = _ . includes ( filterStore . languages , language ) ?
5543 ' active' :
5644 '' ;
5745 //
@@ -66,14 +54,10 @@ const LanguagesBlock = React.createClass({
6654 ) ;
6755 } ) ;
6856 }
69- else if ( this . props . openUser && languagesStore &&
70- ! languagesStore . languages . length ) {
71- languages = < p > There are no languages for now!</ p > ;
72- }
7357 //
7458 return (
7559 < div className = "languages-block" >
76- { languages }
60+ { languagesBlock }
7761 </ div >
7862 ) ;
7963 }
0 commit comments