<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
<script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
<meta charset=utf-8 />
<title>DataTables - JS Bin</title>
</head>
<body>
<div class="container">
<table id="example" class="display" width="100%">
<thead>
<tr>
<th></th>
<th>MACHINE</th>
<th>STATUS</th>
<th>TIME</th>
<th>ID</th>
</tr>
</thead>
</table>
</div>
</body>
</html>
body {
font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif;
margin: 0;
padding: 0;
color: #333;
background-color: #fff;
}
div.container {
min-width: 980px;
margin: 0 auto;
}
td.details-control {
background: url('https://www.datatables.net/examples/resources/details_open.png') no-repeat center center;
cursor: pointer;
}
tr.shown td.details-control {
background: url('https://www.datatables.net/examples/resources/details_close.png') no-repeat center center;
}
.red {
background-color:#FC6767 ;
}
function separateIt(arr, size) {
// creating a new Array to return
// to the calling context:
let res = [];
while (arr.length) {
res.push(arr.splice(0, size));
}
// returning the new Array:
return res;
}
function format ( d ) {
// `d` is the original data object for the row
//console.log(d);
var tr = '';
d.AVAINFO.forEach(function (item) {
var a = item.ava.split("#");
result = separateIt(a, 4)
//console.log(result);
tr += '<tr>'+
'<th>Recipe</th>'+
'<th>ORDER</th>'+
'<th>QTY</th>'+
'<th>CODE</th>'+
'<th>TYPE</th>'+
'</tr>';
for (i=0; i<result.length; i++) {
tr += '</tr>'+
'<tr>'+
'<td>'+item.RECIPE+'</td>'+
'<td>'+result[i][0]+'</td>'+
'<td>'+result[i][1]+'</td>'+
'<td>'+result[i][2]+'</td>'+
'<td>'+result[i][3]+'</td>'+
'</tr>';
console.log(result[i][1])
if(result[i][1] < 25){
$('th:eq(1)').addClass('red');
}
}
});
return '<table id="test" cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
tr +
'</table>';
}
var data = [
{
"MACHINE": "A01",
"STATUS": "ENGTEST",
"TXN_TIME": "2020/09/17 00:04:15",
"AVAINFO": [
{
"RECIPE": "8EX-001",
"ava": "Z03341#25#A9161#P#Z03934#5#A9021#P"
},
{
"RECIPE": "8EX-005",
"ava": "Z80597#3#B3542#L"
}
],
"ID": "1"
}
];
$(document).ready(function() {
var table = $('#example').DataTable( {
data: data,
order: [[1, 'asc']],
columns: [
{
className: 'details-control',
orderable: false,
data: null,
defaultContent: ''
},
{ data: "MACHINE" },
{ data: "STATUS" },
{ data: "TXN_TIME" },
],
"rowCallback": function( row, data, index ) {
if ( data.STATUS !== 'PROD' ) {$('td:eq(2)',row).addClass('red');}
},
} );
// Add event listener for opening and closing details
$('#example tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
d = row.data();
row.child( format(d) ).show();
tr.addClass('shown');
}
} );
} );
You can jump to the latest bin by adding /latest
to your URL
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + [ | Indents selected lines |
ctrl + ] | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Clone Bin |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |