XH_Digital_Management/static/js/pages/data-table-custom.js

25 lines
13 KiB
JavaScript

$(document).ready(function(){setTimeout(function(){$.fn.dataTable.Api.register('column().data().sum()',function(){return this.reduce(function(a,b){var x=parseFloat(a)||0;var y=parseFloat(b)||0;return x+y;});});var table=$('#dt-plugin-method').DataTable();$('<button class="btn btn-primary m-b-20">sum of age in all rows</button>').prependTo('.dt-plugin-buttons').on('click',function(){alert('Column sum is: '+table.column(3).data().sum());});$('<button class="btn btn-primary m-r-10 m-b-20">sum of age of visible rows</button>').prependTo('.dt-plugin-buttons').on('click',function(){alert('Column sum is: '+table.column(3,{page:'current'}).data().sum());});$.fn.dataTable.ext.type.detect.unshift(function(d){return d==='Low'||d==='Medium'||d==='High'?'salary-grade':null;});$.fn.dataTable.ext.type.order['salary-grade-pre']=function(d){switch(d){case 'Low':return 1;case 'Medium':return 2;case 'High':return 3;}
return 0;};$('#dt-ordering').DataTable();$.fn.dataTable.ext.search.push(function(settings,data,dataIndex){var min=parseInt($('#min').val(),10);var max=parseInt($('#max').val(),10);var age=parseFloat(data[3])||0;if((isNaN(min)&&isNaN(max))||(isNaN(min)&&age<=max)||(min<=age&&isNaN(max))||(min<=age&&age<=max)){return true;}
return false;});var dtage=$('#dt-range').DataTable();$('#min, #max').keyup(function(){dtage.draw();});$.fn.dataTable.ext.order['dom-text']=function(settings,col){return this.api().column(col,{order:'index'}).nodes().map(function(td,i){return $('input',td).val();});}
$.fn.dataTable.ext.order['dom-text-numeric']=function(settings,col){return this.api().column(col,{order:'index'}).nodes().map(function(td,i){return $('input',td).val()*1;});}
$.fn.dataTable.ext.order['dom-select']=function(settings,col){return this.api().column(col,{order:'index'}).nodes().map(function(td,i){return $('select',td).val();});}
$.fn.dataTable.ext.order['dom-checkbox']=function(settings,col){return this.api().column(col,{order:'index'}).nodes().map(function(td,i){return $('input',td).prop('checked')?'1':'0';});}
$(document).ready(function(){$('#dt-live-dom').DataTable({"columns":[null,{"orderDataType":"dom-text-numeric"},{"orderDataType":"dom-text",type:'string'},{"orderDataType":"dom-select"}]});});$('#dt-server-processing').DataTable({"processing":true,"serverSide":true,"ajax":"dt-json-data/scripts/server-processing.php","columns":[{"data":"first_name"},{"data":"last_name"},{"data":"position"},{"data":"office"},{"data":"start_date"},{"data":"salary"}]});$('#dt-http').DataTable({"processing":true,"serverSide":true,"ajax":{url:"dt-json-data/scripts/server-processing.php",data:function(d){d.myKey="myValue";}},"columns":[{"data":"first_name"},{"data":"last_name"},{"data":"position"},{"data":"office"},{"data":"start_date"},{"data":"salary"}]});$('#dt-post').DataTable({"processing":true,"serverSide":true,"ajax":{url:"dt-json-data/scripts/post.php",type:"post"},"columns":[{"data":"first_name"},{"data":"last_name"},{"data":"position"},{"data":"office"},{"data":"start_date"},{"data":"salary"}]});$('#dt-ajax-array').DataTable({"ajax":"dt-json-data/arrays.txt"});$('#dt-ajax-object').DataTable({"ajax":"dt-json-data/objects.txt","columns":[{"data":"name"},{"data":"position"},{"data":"office"},{"data":"extn"},{"data":"start_date"},{"data":"salary"}]});$('#dt-nested-object').DataTable({"processing":true,"ajax":"dt-json-data/objects_deep.txt","columns":[{"data":"name"},{"data":"hr.position"},{"data":"contact.0"},{"data":"contact.1"},{"data":"hr.start_date"},{"data":"hr.salary"}]});$('#dt-orthogonal').DataTable({ajax:"dt-json-data/orthogonal.txt",columns:[{data:"name"},{data:"position"},{data:"office"},{data:"extn"},{data:{_:"start_date.display",sort:"start_date.timestamp"}},{data:"salary"}]});var generatetable=$('#dt-generate-content').DataTable({"ajax":"dt-json-data/arrays.txt","columnDefs":[{"targets":-1,"data":null,"defaultContent":"<button>Click!</button>"}]});$('#dt-generate-content tbody').on('click','button',function(){var data=generatetable.row($(this).parents('tr')).data();alert(data[0]+"'s salary is: "+data[5]);});$('#dt-render').DataTable({"ajax":"dt-json-data/arrays.txt","deferRender":true});$('#dom-table').DataTable();$('#ajax-table').DataTable({"ajax":'dt-json-data/ajax-table.json'});var dataSet=[["Tiger Nixon","System Architect","Edinburgh","5421","2011/04/25","$320,800"],["Garrett Winters","Accountant","Tokyo","8422","2011/07/25","$170,750"],["Ashton Cox","Junior Technical Author","San Francisco","1562","2009/01/12","$86,000"],["Cedric Kelly","Senior Javascript Developer","Edinburgh","6224","2012/03/29","$433,060"],["Airi Satou","Accountant","Tokyo","5407","2008/11/28","$162,700"],["Brielle Williamson","Integration Specialist","New York","4804","2012/12/02","$372,000"],["Herrod Chandler","Sales Assistant","San Francisco","9608","2012/08/06","$137,500"],["Rhona Davidson","Integration Specialist","Tokyo","6200","2010/10/14","$327,900"],["Colleen Hurst","Javascript Developer","San Francisco","2360","2009/09/15","$205,500"],["Sonya Frost","Software Engineer","Edinburgh","1667","2008/12/13","$103,600"],["Jena Gaines","Office Manager","London","3814","2008/12/19","$90,560"],["Quinn Flynn","Support Lead","Edinburgh","9497","2013/03/03","$342,000"],["Charde Marshall","Regional Director","San Francisco","6741","2008/10/16","$470,600"],["Haley Kennedy","Senior Marketing Designer","London","3597","2012/12/18","$313,500"],["Tatyana Fitzpatrick","Regional Director","London","1965","2010/03/17","$385,750"],["Michael Silva","Marketing Designer","London","1581","2012/11/27","$198,500"],["Paul Byrd","Chief Financial Officer (CFO)","New York","3059","2010/06/09","$725,000"],["Gloria Little","Systems Administrator","New York","1721","2009/04/10","$237,500"],["Bradley Greer","Software Engineer","London","2558","2012/10/13","$132,000"],["Dai Rios","Personnel Lead","Edinburgh","2290","2012/09/26","$217,500"],["Jenette Caldwell","Development Lead","New York","1937","2011/09/03","$345,000"],["Yuri Berry","Chief Marketing Officer (CMO)","New York","6154","2009/06/25","$675,000"],["Caesar Vance","Pre-Sales Support","New York","8330","2011/12/12","$106,450"],["Doris Wilder","Sales Assistant","Sidney","3023","2010/09/20","$85,600"],["Angelica Ramos","Chief Executive Officer (CEO)","London","5797","2009/10/09","$1,200,000"],["Gavin Joyce","Developer","Edinburgh","8822","2010/12/22","$92,575"],["Jennifer Chang","Regional Director","Singapore","9239","2010/11/14","$357,650"],["Brenden Wagner","Software Engineer","San Francisco","1314","2011/06/07","$206,850"],["Fiona Green","Chief Operating Officer (COO)","San Francisco","2947","2010/03/11","$850,000"],["Shou Itou","Regional Marketing","Tokyo","8899","2011/08/14","$163,000"],["Michelle House","Integration Specialist","Sidney","2769","2011/06/02","$95,400"],["Suki Burks","Developer","London","6832","2009/10/22","$114,500"],["Prescott Bartlett","Technical Author","London","3606","2011/05/07","$145,000"],["Gavin Cortez","Team Leader","San Francisco","2860","2008/10/26","$235,500"],["Martena Mccray","Post-Sales support","Edinburgh","8240","2011/03/09","$324,050"],["Unity Butler","Marketing Designer","San Francisco","5384","2009/12/09","$85,675"]];$('#jsource-table').DataTable({data:dataSet,columns:[{title:"Name"},{title:"Position"},{title:"Office"},{title:"Extn."},{title:"Start date"},{title:"Salary"}]});$('#server-table').DataTable({"processing":true,"serverSide":true,"ajax":"dt-json-data/server-table.php"});var t=$('#add-row-table').DataTable();var counter=1;$('#addRow').on('click',function(){t.row.add([counter+'.1',counter+'.2',counter+'.3',counter+'.4',counter+'.5']).draw(false);counter++;});$('#addRow').click();$('#footer-search tfoot th').each(function(){var title=$(this).text();$(this).html('<input type="text" class="form-control" placeholder="Search '+title+'" />');});var table=$('#footer-search').DataTable();table.columns().every(function(){var that=this;$('input',this.footer()).on('keyup change',function(){if(that.search()!==this.value){that.search(this.value).draw();}});});$('#footer-select').DataTable({initComplete:function(){this.api().columns().every(function(){var column=this;var select=$('<select class="form-control form-control-sm"><option value=""></option></select>').appendTo($(column.footer()).empty()).on('change',function(){var val=$.fn.dataTable.util.escapeRegex($(this).val());column.search(val?'^'+val+'$':'',true,false).draw();});column.data().unique().sort().each(function(d,j){select.append('<option value="'+d+'">'+d+'</option>')});});}});var srow=$('#row-select').DataTable();$('#row-select tbody').on('click','tr',function(){$(this).toggleClass('selected');});var drow=$('#row-delete').DataTable();$('#row-delete tbody').on('click','tr',function(){if($(this).hasClass('selected')){$(this).removeClass('selected');}else{drow.$('tr.selected').removeClass('selected');$(this).addClass('selected');}});$('#row-delete-btn').on('click',function(){drow.row('.selected').remove().draw(!1);});function format(d){return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
'<tr>'+
'<td>Full name:</td>'+
'<td>'+d.name+'</td>'+
'</tr>'+
'<tr>'+
'<td>Extension number:</td>'+
'<td>'+d.extn+'</td>'+
'</tr>'+
'<tr>'+
'<td>Extra info:</td>'+
'<td>And any further details here (images etc)...</td>'+
'</tr>'+
'</table>';}
var ct=$('#child-table').DataTable({"ajax":"dt-json-data/ajax-child-rows.json","columns":[{"className":'details-control',"orderable":false,"data":null,"defaultContent":''},{"data":"name"},{"data":"position"},{"data":"office"},{"data":"salary"}],"order":[[1,'asc']]});$('#child-table tbody').on('click','td.details-control',function(){var tr=$(this).closest('tr');var row=ct.row(tr);if(row.child.isShown()){row.child.hide();tr.removeClass('shown');}else{row.child(format(row.data())).show();tr.addClass('shown');}});var table=$('#form-input-table').DataTable();$('#form-input-btn').on('click',function(){var data=table.$('input, select').serialize();alert("The following data would have been submitted to the server: \n\n"+
data.substr(0,120)+'...');return false;});var sh=$('#show-hide-table').DataTable({"scrollY":"200px","paging":false});$('a.toggle-vis').on('click',function(e){e.preventDefault();var column=sh.column($(this).attr('data-column'));column.visible(!column.visible());});function filterGlobal(){$('#search-api').DataTable().search($('#global_filter').val(),$('#global_regex').prop('checked'),$('#global_smart').prop('checked')).draw();}
function filterColumn(i){$('#search-api').DataTable().column(i).search($('#col'+i+'_filter').val(),$('#col'+i+'_regex').prop('checked'),$('#col'+i+'_smart').prop('checked')).draw();}
$('#search-api').DataTable();$('input.global_filter').on('keyup click',function(){filterGlobal();});$('input.column_filter').on('keyup click',function(){filterColumn($(this).parents('tr').attr('data-column'));});$('#base-style').DataTable();$('#no-style').DataTable();$('#compact').DataTable();$('#table-style-hover').DataTable();setTimeout(function(){$('#simpletable').DataTable();},350);$('#order-table').DataTable({"order":[[3,"desc"]]});$('#multi-colum-dt').DataTable({columnDefs:[{targets:[0],orderData:[0,1]},{targets:[1],orderData:[1,0]},{targets:[4],orderData:[4,0]}]});$('#complex-dt').DataTable();$('#DOM-dt').DataTable({"dom":'<"top"i>rt<"bottom"flp><"clear">'});$('#alt-pg-dt').DataTable({"pagingType":"full_numbers"});$('#scr-vrt-dt').DataTable({"scrollY":"200px","scrollCollapse":true,"paging":false});$('#scr-vtr-dynamic').DataTable({scrollY:'50vh',scrollCollapse:true,paging:false});$('#lang-dt').DataTable({"language":{"decimal":",","thousands":"."}});var table=$('#dom-jqry').DataTable();$('#dom-jqry tbody').on('click','tr',function(){var data=table.row(this).data();alert('You clicked on '+data[0]+'\'s row');});$('#colum-rendr').DataTable({"columnDefs":[{"render":function(data,type,row){return data+' ('+row[3]+')';},"targets":0},{"visible":false,"targets":[3]}]});$('#multi-table').DataTable({"dom":'<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>'});$('#complex-header').DataTable({"columnDefs":[{"visible":false,"targets":-1}]});$('#lang-file').DataTable({"language":{"url":"//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json"}});$.extend(true,$.fn.dataTable.defaults,{"searching":false,"ordering":false});$('#setting-default').DataTable();var table=$('#row-grouping').DataTable({"columnDefs":[{"visible":false,"targets":2}],"order":[[2,'asc']],"displayLength":25,"drawCallback":function(settings){var api=this.api();var rows=api.rows({page:'current'}).nodes();var last=null;api.column(2,{page:'current'}).data().each(function(group,i){if(last!==group){$(rows).eq(i).before('<tr class="group"><td colspan="5">'+group+'</td></tr>');last=group;}});}});$('#row-grouping tbody').on('click','tr.group',function(){var currentOrder=table.order()[0];if(currentOrder[0]===2&&currentOrder[1]==='asc'){table.order([2,'desc']).draw();}else{table.order([2,'asc']).draw();}});$('#footer-callback').DataTable({"footerCallback":function(row,data,start,end,display){var api=this.api(),data;var intVal=function(i){return typeof i==='string'?i.replace(/[\$,]/g,'')*1:typeof i==='number'?i:0;};total=api.column(4).data().reduce(function(a,b){return intVal(a)+intVal(b);},0);pageTotal=api.column(4,{page:'current'}).data().reduce(function(a,b){return intVal(a)+intVal(b);},0);$(api.column(4).footer()).html('$'+pageTotal+' ( $'+total+' total)');}});$('#custm-tool-ele').DataTable({"dom":'<"toolbar">frtip'});$("div.toolbar").html('<b>Custom tool bar! Text/images etc.</b>');$('#row-callback').DataTable({"createdRow":function(row,data,index){if(data[5].replace(/[\$,]/g,'')*1>150000){$('td',row).eq(5).addClass('highlight');}}});},700);});