From 16c081d8890148e8462132e8f85625bf6a13aefc Mon Sep 17 00:00:00 2001 From: Allan Jardine Date: Fri, 2 Dec 2016 17:17:58 +0000 Subject: [PATCH] Dev: Fix recursion error with Responsive from last commit. Need to be more selective about when we fire `column-visiblity`! --- .datatables-commit-sync | 2 +- media/js/jquery.dataTables.js | 10 ++++++---- media/js/jquery.dataTables.min.js | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.datatables-commit-sync b/.datatables-commit-sync index e7d23192..9b4ba7b9 100644 --- a/.datatables-commit-sync +++ b/.datatables-commit-sync @@ -1 +1 @@ -28b479ddf0d118dfc81bec4bb3201edf23e08a00 +7925dbe9b9a30dd339898670926e3fe89cd2db15 diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js index f54b2949..6cc8cfe2 100644 --- a/media/js/jquery.dataTables.js +++ b/media/js/jquery.dataTables.js @@ -8534,13 +8534,15 @@ } ); // Group the column visibility changes - if ( vis !== undefined && ( calc === undefined || calc ) ) { - this.columns.adjust(); - - // Fire the column visibility event after any recalc is done + if ( vis !== undefined ) { + // Second loop once the first is done for events this.iterator( 'column', function ( settings, column ) { _fnCallbackFire( settings, null, 'column-visibility', [settings, column, vis, calc] ); } ); + + if ( calc === undefined || calc ) { + this.columns.adjust(); + } } return ret; diff --git a/media/js/jquery.dataTables.min.js b/media/js/jquery.dataTables.min.js index a9250b6e..4750d8d8 100644 --- a/media/js/jquery.dataTables.min.js +++ b/media/js/jquery.dataTables.min.js @@ -122,7 +122,7 @@ a)cb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[] return[m[m.length+b]]}return[Z(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});s("columns().header()","column().header()",function(){return this.iterator("column", function(a,b){return a.aoColumns[b].nTh},1)});s("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});s("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});s("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});s("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b, c,d,e,f){return ha(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});s("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ha(a.aoData,e,"anCells",b)},1)});s("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,i,n,l;if(a!==k&&g.bVisible!==a){if(a){var m=h.inArray(!0,G(f,"bVisible"),c+1);i=0;for(n=j.length;i< -n;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[m]||null)}else h(G(b.aoData,"anCells",c)).detach();g.bVisible=a;ea(b,b.aoHeader);ea(b,b.aoFooter);ya(b)}});if(a!==k&&(b===k||b))this.columns.adjust(),this.iterator("column",function(c,e){u(c,null,"column-visibility",[c,e,a,b])});return c});s("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});p("columns.adjust()",function(){return this.iterator("table",function(a){Y(a)}, +n;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[m]||null)}else h(G(b.aoData,"anCells",c)).detach();g.bVisible=a;ea(b,b.aoHeader);ea(b,b.aoFooter);ya(b)}});a!==k&&(this.iterator("column",function(c,e){u(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});s("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});p("columns.adjust()",function(){return this.iterator("table",function(a){Y(a)}, 1)});p("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return Z(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});p("column()",function(a,b){return bb(this.columns(a,b))});p("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=ab(c),f=b.aoData,g=Da(b,e),j=Sb(ha(f,g,"anCells")),i=h([].concat.apply([], j)),l,n=b.aoColumns.length,m,p,r,u,v,s;return $a("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){m=[];p=0;for(r=g.length;p