All files / organism/flight-schedule-table index.js

100% Statements 7/7
100% Branches 2/2
100% Functions 4/4
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59                          3x       3x 3x           6x                   60x                                       1x        
import React, { Component } from 'react';
import FlightScheduleTableRow from '../../molecule/flight-schedule-row';
import './flight-schedule-table.scss'
import mock from '../../mock/flight-schedule.json';
//TODO: Mock Below api call with jest
import PropTypes from 'prop-types';
 
/**
 * Component renders flight schedule table.
 * @extends Component
 */
class FlightScheduleTable extends Component {
 
  state = {
    selected: '',
  };
 
  handleRowClicked = row => {
     this.setState(state => ({
      selected: row,
    }));
  };
 
  render() {
    return (
      <div className="content">
          <ul className="schedule-header">
            <li>Depart</li>
            <li>Arrive</li>
            <li>Flight</li>
            <li>Total Duration</li>
            <li>&nbsp;</li>
        </ul>
          {mock.map((flight, index) => (
              <FlightScheduleTableRow
                key={flight.flight}
                index={index}
                rowid={flight.flight}
                flight={flight.flight}
                from={flight.from}
                to={flight.to}
                dtime={flight.dtime}
                atime={flight.atime}
                acode={flight.acode}
                duration={flight.duration}
                onRowClicked={this.handleRowClicked}
                selected={this.state.selected != flight.flight ? false : true}
              />
            ))}
        </div>
    );
  }
}
 
FlightScheduleTable.propTypes = {
  
};
 
export default FlightScheduleTable;