var searchFilter = $('#search-filter').val();
var pageLen = $('#page-len').val();
function createBuildsTable(data) {
'use strict';
var localData = data.result,
table = null;
table = $('#defconfstable').dataTable({
'dom': '<"row"<"col-xs-12 col-sm-12 col-md-6 col-lg-6"' +
'<"length-menu"l>>' +
'<"col-xs-12 col-sm-12 col-md-4 col-lg-4 col-lg-offset-2"f>r' +
'<"col-xs-12 col-sm-12 col-md-12 col-lg-12"t>>' +
'<"row"<"col-xs-12 col-sm-12 col-md-6 col-lg-6"i>' +
'<"col-xs-12 col-sm-12 col-md-6 col-lg-6"p>>',
'language': {
'lengthMenu': '_MENU_ builds per page',
'zeroRecords': '
No builds to display.
',
'search': '' +
'' +
'_INPUT_
'
},
'initComplete': function(settings, data) {
$('#table-loading').remove();
$('#table-div').fadeIn('slow', 'linear');
var api = this.api();
if (pageLen !== undefined && pageLen !== null) {
if (pageLen.length > 0) {
pageLen = Number(pageLen);
if (isNaN(pageLen)) {
pageLen = 25;
}
api.page.len(pageLen).draw();
}
}
if (searchFilter !== null && searchFilter !== undefined) {
if (searchFilter.length > 0) {
api.search(searchFilter, true).draw();
}
}
},
'lengthMenu': [25, 50, 75, 100],
'deferRender': true,
'ordering': true,
'processing': true,
'stateDuration': -1,
'stateSave': true,
'order': [5, 'desc'],
'search': {
'regex': true,
'smart': true
},
'data': localData,
'columns': [
{
'data': '_id',
'visible': false,
'searchable': false,
'orderable': false
},
{
'data': 'job',
'title': 'Tree ‐ Branch',
'render': function(data, type, object) {
var display = '' + data;
if (object.git_branch !== null) {
display += ' ‐ ' +
object.git_branch + '';
}
return display + '';
}
},
{
'data': 'kernel',
'title': 'Kernel'
},
{
'data': 'defconfig_full',
'title': 'Defconfig',
'render': function(data, type, object) {
var display = data;
if (data.length > 33) {
display = '' +
data.slice(0, 33) + '…' +
'';
}
return display;
}
},
{
'data': 'arch',
'title': 'Arch.'
},
{
'data': 'created_on',
'title': 'Date',
'type': 'date',
'className': 'pull-center',
'render': function(data) {
var created = new Date(data.$date);
return created.getCustomISODate();
}
},
{
'data': 'status',
'title': 'Status',
'type': 'string',
'className': 'pull-center',
'render': function(data) {
var displ;
switch (data) {
case 'PASS':
displ = '' +
'' +
'';
break;
case 'FAIL':
displ = '' +
'' +
'' +
'';
break;
default:
displ = '' +
'' +
'' +
'';
break;
}
return displ;
}
},
{
'data': 'job',
'title': '',
'orderable': false,
'searchable': false,
'className': 'pull-center',
'render': function(data, type, object) {
return '' +
'' +
'';
}
}
]
});
$(document).on('click', '#defconfstable tbody tr', function() {
var tableData = table.fnGetData(this),
location = '#';
if (tableData) {
location = '/build/' + tableData.job +
'/kernel/' + tableData.kernel + '/defconfig/' +
tableData.defconfig_full;
if (tableData._id !== null) {
location += '?_id=' + tableData._id.$oid;
}
window.location = location;
}
});
$('#search-area > .input-sm').attr('placeholder', 'Filter the results');
$('.input-sm').keyup(function(key) {
// Remove focus from input when Esc is pressed.
if (key.keyCode === 27) {
$(this).blur();
}
});
}
function failedAjaxCall() {
'use strict';
$('#table-loading').remove();
}
$(document).ready(function() {
'use strict';
$('#li-build').addClass('active');
$('#table-div').hide();
var ajaxDeferredCall = null,
ajaxData = null,
errorReason = '';
errorReason = 'Defconfig data call failed';
ajaxData = {
'sort': 'created_on',
'sort_order': -1,
'date_range': $('#date-range').val(),
'field': [
'_id', 'job', 'kernel', 'status',
'arch', 'created_on', 'git_branch', 'defconfig_full'
]
};
ajaxDeferredCall = JSBase.createDeferredCall(
'/_ajax/defconf',
'GET',
ajaxData,
null,
failedAjaxCall,
errorReason
);
$.when(ajaxDeferredCall).done(createBuildsTable);
});