diff --git a/webapp/src/components/sidebar_right/sidebar_right.jsx b/webapp/src/components/sidebar_right/sidebar_right.jsx index 567527929..26e134dfb 100644 --- a/webapp/src/components/sidebar_right/sidebar_right.jsx +++ b/webapp/src/components/sidebar_right/sidebar_right.jsx @@ -81,6 +81,15 @@ export default class SidebarRight extends React.PureComponent { }).isRequired, }; + constructor(props) { + super(props); + this.state = {sortBy: 'created'}; + } + + handleSortChange = (e) => { + this.setState({sortBy: e.target.value}); + } + componentDidMount() { if (this.props.yourPrs && this.props.rhsState === RHSStates.PRS) { this.props.actions.getYourPrsDetails(mapGithubItemListToPrList(this.props.yourPrs)); @@ -145,6 +154,14 @@ export default class SidebarRight extends React.PureComponent { break; } + // Sort items by selected criteria + const {sortBy} = this.state; + const sortedItems = githubItems.slice().sort((a, b) => { + const dateA = sortBy === 'updated' ? a.updated_at : a.created_at; + const dateB = sortBy === 'updated' ? b.updated_at : b.created_at; + return new Date(dateB) - new Date(dateA); + }); + return ( {title} +