JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="PeopleCtrl">
        <button type="button" class="btn btn-primary load" ng-click="loadPeople()">Load Data</button>
        Filter: <input ng-model="searchText">  
    <table>
        <tr>
            <th>Job Id</th>
            <th>Mobile ID</th>
            <th>Type of Work</th>
            <th>Work Date</th>
            <th>Contractor</th>
            <th>Phone</th>
        </tr>
        <tr ng-repeat="person in people | filter:searchText">
            <td>{{person.jobid}}</td>
            <td>{{person.mobileid}}</td>
            <td>{{person.typeofwork}}</td>
            <td>{{person.workdate}}</td>
            <td>{{person.contractor}}</td>
            <td>{{person.phone}}</td>
        </tr>
    </table>
    </div>
</div>

CSS

/* 
Generic Styling, for Desktops/Laptops 
*/

.btn {
   margin: 15px; 
}

table { 
  width: 100%; 
  border-collapse: collapse; 
}
/* Zebra striping */
tr:nth-of-type(odd) { 
  background: #eee; 
}
th { 
  background: #333; 
  color: white; 
  font-weight: bold; 
}
td, th { 
  padding: 6px; 
  border: 1px solid #ccc; 
  text-align: left; 
}

/* 
Max width before this PARTICULAR table gets nasty
This query will take effect for any screen smaller than 760px
and also iPads specifically.
*/
@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding-left: 50%; 
	}
	
	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}
	
	/*
	Label the data
	*/
	td:nth-of-type(1):before { content: "Job ID"; }
	td:nth-of-type(2):before { content: "Mobile ID"; }
	td:nth-of-type(3):before { content: "Type Of Work"; }
	td:nth-of-type(4):before { content: "Work Date"; }
	td:nth-of-type(5):before { content: "Contractor"; }
	td:nth-of-type(6):before { content: "Phone"; }
}

JavaScript

var mockDataForThisTest = "json=" + encodeURI(JSON.stringify([
    {
        "jobid": "MN1238",
        "mobileid": "METRO-SOUTH",
        "typeofwork": "Excavation",
        "workdate": "(2013, 11, 21)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1243",
        "mobileid": "METRO-SOUTH",
        "typeofwork": "Excavation",
        "workdate": "(2013, 12, 31)",
        "contractor": "Sammy Spade",
        "phone": "6125554567"
    },
    {
        "jobid": "MN1247",
        "mobileid": "METRO-SOUTH",
        "typeofwork": "Excavation",
        "workdate": "(2014, 05, 01)",
        "contractor": "Sammy Spade",
        "phone": "6125554567"
    },
    {
        "jobid": "MN1248",
        "mobileid": "METRO-NORTH",
        "typeofwork": "Ditch Cleaning",
        "workdate": "(2014, 01, 09)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1240",
        "mobileid": "METRO-NORTH",
        "typeofwork": "Ditch Cleaning",
        "workdate": "(2014, 01, 18)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1252",
        "mobileid": "METRO-NORTH",
        "typeofwork": "Ditch Cleaning",
        "workdate": "(2014, 07, 12)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1236",
        "mobileid": "METRO-NORTH",
        "typeofwork": "Ditch Cleaning",
        "workdate": "(2014, 01, 21)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1246",
        "mobileid": "METRO-SOUTH",
        "typeofwork": "Excavation",
        "workdate": "(2014, 06, 14)",
        "contractor": "Joe Diggs",
        "phone": "6125551234"
    },
    {
        "jobid": "MN1249",
        "mobileid": "METRO-NORTH",
        "typeofwork": "Sewer Repair",
        "workdate": "(2014, 03, 01)",
        "contractor": "Sammy Spade",
        "phone":...