$(document).ready(function() { function render_task_link(data) { // render funtion to create link to Task view page if ( data === null ) { return data; } var url = $SCRIPT_ROOT + "/task/tasks/view/" + data; return '<a href="' + url + '">' + data + '</a>'; } $("#allTasks").on('change', function() { // reload the data from the Ajax source tasks_table.ajax.reload(); }); var tasks_table = $("#tasks_table").DataTable({ "ajax": function(data, callback, settings) { var allTasks = $('#allTasks').prop("checked"); $.getJSON( $SCRIPT_ROOT + "/task/_retrieve_tasks?all=" + allTasks, function(json) { callback(json); }); }, "pagingType": "full_numbers", "pageLength": 20, "lengthMenu": [[20, 50, 100, -1], [20, 50, 100, "All"]], "order": [[2, 'desc']], "columns": [ { data: 'id', render: function(data, type, row) { return render_task_link(data); } }, { data: 'name' }, { data: 'created_at' }, { data: 'ended_at' }, { data: 'status' }, { data: null, render: function(data, type, row) { // render link to AWX job if ( row.awx_job_id === null ) { return null; } return '<a href="' + row.awx_job_url + '">' + row.awx_job_id + '</a>'; } }, { data: 'depends_on', render: function(data, type, row) { return render_task_link(data); } }, { data: 'command' }, { data: 'user' }, ] }); });