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); });