diff --git a/client/homebrew/pages/userPage/userPage.jsx b/client/homebrew/pages/userPage/userPage.jsx index b32e09f79..f9a761bab 100644 --- a/client/homebrew/pages/userPage/userPage.jsx +++ b/client/homebrew/pages/userPage/userPage.jsx @@ -25,14 +25,12 @@ const UserPage = createClass({ return { username : '', brews : [], - sortType : 'alpha', - sortDir : 'desc' }; }, getInitialState : function() { return { sortType : 'alpha', - sortDir : 'desc' + sortDir : 'asc' }; }, getUsernameWithS : function() { @@ -51,23 +49,19 @@ const UserPage = createClass({ }); }, - sortBrews : function(brews, sortType){ - if(sortType == 'alpha') { - return _.orderBy(brews, (brew)=>{ return _.deburr(brew.title.toLowerCase()); }, this.state.sortDir); - } - if(sortType == 'created'){ - return _.orderBy(brews, (brew)=>{ return brew.createdAt; }, this.state.sortDir); - } - if(sortType == 'updated'){ - return _.orderBy(brews, (brew)=>{ return brew.updatedAt; }, this.state.sortDir); - } - if(sortType == 'views'){ - return _.orderBy(brews, (brew)=>{ return brew.views; }, this.state.sortDir); - } - if(sortType == 'latest'){ - return _.orderBy(brews, (brew)=>{ return brew.lastViewed; }, this.state.sortDir); - } - return _.orderBy(brews, (brew)=>{ return _.deburr(brew.title.toLowerCase()); }, this.state.sortDir); + sortBrewOrder : function(brew){ + const mapping = { + 'alpha' : _.deburr(brew.title.toLowerCase()), + 'created' : brew.createdAt, + 'updated' : brew.updatedAt, + 'views' : brew.views, + 'latest' : brew.lastViewed + }; + return mapping[this.state.sortType]; + }, + + sortBrews : function(brews){ + return _.orderBy(brews, (brew)=>{ return this.sortBrewOrder(brew); }, this.state.sortDir); }, handleSortOptionChange : function(event){ @@ -77,51 +71,49 @@ const UserPage = createClass({ }, handleSortDirChange : function(event){ - const newDir = (this.state.sortDir == 'asc' ? 'desc' : 'asc'); this.setState({ - sortDir : `${newDir}` + sortDir : `${(this.state.sortDir == 'asc' ? 'desc' : 'asc')}` }); }, - renderSortRadioOption : function(sortTitle, sortValue){ + renderSortOption : function(sortTitle, sortValue){ return
- Sort Type :- |
- {this.renderSortRadioOption('Title', 'alpha')}
- {this.renderSortRadioOption('Created Date', 'created')}
- {this.renderSortRadioOption('Updated Date', 'updated')}
- {this.renderSortRadioOption('Views', 'views')}
- {/* {this.renderSortRadioOption('Latest', 'latest')} */}
-
- Direction :- |
- - - | -
+ Sort by :+ |
+ {this.renderSortOption('Title', 'alpha')}
+ {this.renderSortOption('Created Date', 'created')}
+ {this.renderSortOption('Updated Date', 'updated')}
+ {this.renderSortOption('Views', 'views')}
+ {/* {this.renderSortOption('Latest', 'latest')} */}
+
+ Direction :+ |
+ + + | +