EvaluationTable.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import React from "react";
  2. import data from "./evaluation/metrics.json";
  3. import {Table} from 'reactstrap';
  4. import "./css/maps.css";
  5. export default class Google extends React.Component{
  6. render() {
  7. let categoryRow;
  8. let metricRows = data.metrics.map((m, idx, metrics) => {
  9. if(idx === 0 || metrics[idx-1].category!==m.category){
  10. categoryRow = (<tr><th colSpan="3">{m.category}</th></tr>);
  11. }else{
  12. categoryRow = <></>
  13. }
  14. return (
  15. <>
  16. {categoryRow}
  17. <tr key={idx}>
  18. <td>{m.metric}</td>
  19. <td>{m.rating[this.props.mapId]}</td>
  20. <td>{m.comments[this.props.mapId]}</td>
  21. </tr>
  22. </>
  23. )
  24. })
  25. return (
  26. <div>
  27. <Table>
  28. <tbody>
  29. <tr>
  30. <th>Metrik</th>
  31. <th>Bewertung</th>
  32. <th>Kommentar</th>
  33. </tr>
  34. {metricRows}
  35. </tbody>
  36. </Table>
  37. </div>
  38. );
  39. }
  40. }
  41. //
  42. // <tr> for every metrik
  43. //
  44. // if category != oldCat:
  45. // <td> cat name in bold
  46. // </tr>
  47. // <tr>
  48. //
  49. // <td> metrik name
  50. // <td> if map == mapname
  51. // </tr>