RyanofWoods/rails-react-swedish-birds

View on GitHub
app/javascript/react_app/helpers/click_sorting_column.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import { SpeciesColumn, SpeciesSorting } from '../types/speciesData'

interface ClickSortingColumnOptions {
  sorting: SpeciesSorting
  clickedHeader: SpeciesColumn
}

const clickSortingColumn = ({ sorting, clickedHeader }: ClickSortingColumnOptions): SpeciesSorting => {
  if (sorting.column === clickedHeader) {
    if (sorting.ordering === 'asc') {
      return { ...sorting, ordering: 'desc' }
    } else {
      return { column: null, ordering: 'asc' }
    }
  } else {
    return { column: clickedHeader, ordering: 'asc' }
  }
}

export default clickSortingColumn