blob: 38071321a23804ee32818b509a309d68e8bec0cd [file] [log] [blame]
var filterBy = function(tableType) {
$.fn.dataTableExt.afnFiltering.length = 0;
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var type = data[1]; // use data for the Type column
if ( type == tableType || tableType=='All' )
{
return true;
}
return false;
}
);
}
$(document).ready(function() {
var activeObject;
var table = $('#column_table').DataTable( {
deferRender: true,
data: tableData,
columns: [
{ data: "tableName" },
{ data: "tableType" },
{ data: "name" },
{ data: "type" },
{ data: "length" },
{ data: "nullable" },
{ data: "autoUpdated" },
{ data: "defaultValue" },
{ data: "comments" }
],
columnDefs: [
{
targets: 0,
render: function ( data, type, row, meta ) {
return '<a href="tables/'+data+'.html" target="_top">'+data+'</a>';
}
},
{
targets: 2,
createdCell: function(td, cellData, rowData, row, col) {
if (rowData.keyTitle.length > 0) {
$(td).prop('title', rowData.keyTitle);
}
if (rowData.keyClass.length > 0) {
$(td).addClass(rowData.keyClass);
}
}
},
{
targets: 5,
createdCell: function(td, cellData, rowData, row, col) {
if (cellData == '√') {
$(td).prop('title', "nullable");
}
}
},
{
targets: 6,
createdCell: function(td, cellData, rowData, row, col) {
if (cellData == '√') {
$(td).prop('title', "Automatically updated by the database");
}
}
}
],
lengthChange: false,
paging: config.pagination,
pageLength: 50,
autoWidth: true,
order: [[ 2, "asc" ]],
buttons: [
{
text: 'All',
action: function ( e, dt, node, config ) {
filterBy('All');
if (activeObject != null) {
activeObject.active(false);
}
table.draw();
}
},
{
text: 'Tables',
action: function ( e, dt, node, config ) {
filterBy('Table');
if (activeObject != null) {
activeObject.active(false);
}
this.active( !this.active() );
activeObject = this;
table.draw();
}
},
{
text: 'Views',
action: function ( e, dt, node, config ) {
filterBy('View');
if (activeObject != null) {
activeObject.active(false);
}
this.active( !this.active() );
activeObject = this;
table.draw();
}
},
{
extend: 'columnsToggle',
columns: '.toggle'
}
]
} );
//schemaSpy.js
dataTableExportButtons(table);
} );