Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. import React, { Component } from "react";
  2.  
  3. class TableHeader extends Component {
  4. raiseSort = path => {
  5. const sortColumn = { ...this.props.sortColumn };
  6. if (sortColumn.path === path) {
  7. sortColumn.order = sortColumn.order === "asc" ? "desc" : "asc";
  8. } else {
  9. sortColumn.path = path;
  10. sortColumn.order = "asc";
  11. }
  12. this.props.onSort(sortColumn);
  13. };
  14.  
  15. renderSortIcon = column => {
  16. const { sortColumn } = this.props;
  17. if (column.path !== sortColumn.path) return null;
  18. if (sortColumn.order === "asc") return <i className="fa fa-sort-asc" />;
  19. return <i className="fa fa-sort-desc" />;
  20. };
  21.  
  22. render() {
  23. return (
  24. <thead>
  25. <tr>
  26. {this.props.columns.map(column => (
  27. <th
  28. className="clickable"
  29. key={column.path || column.key}
  30. onClick={() => this.raiseSort(column.path)}
  31. >
  32. {column.label} {this.renderSortIcon(column)}
  33. </th>
  34. ))}
  35. </tr>
  36. </thead>
  37. );
  38. }
  39. }
  40.  
  41. export default TableHeader;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement