1
0
mirror of https://github.com/DataTables/DataTables.git synced 2025-02-20 18:54:15 +01:00

Fix: Clear cache of row ids when the table is cleared. This is particularly important when server-side processing since the rows should no longer exist on the client-side when paging between records.

This commit is contained in:
Allan Jardine 2015-08-28 12:20:41 +01:00
parent 726bfe5ebb
commit 4f27154fe4
3 changed files with 3 additions and 2 deletions

View File

@ -1 +1 @@
ebc2e72385dd467833107bcfb5bec7ea590add26
de45d21e61025a21e945a7b88d3e480acfdc1ccb

View File

@ -1469,6 +1469,7 @@
settings.aoData.length = 0;
settings.aiDisplayMaster.length = 0;
settings.aiDisplay.length = 0;
settings.aIds = {};
}

View File

@ -17,7 +17,7 @@ Ja(a,e);return L(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoC
d,{settings:a,row:b,col:c})}function Ka(a){return g.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\./g,".")})}function P(a){if(g.isPlainObject(a)){var b={};g.each(a,function(a,c){c&&(b[a]=P(c))});return function(a,c,f,h){var i=b[c]||b._;return i!==k?i(a,c,f,h):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,h){return a(b,c,f,h)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,
f){var h,i;if(""!==f){i=Ka(f);for(var j=0,g=i.length;j<g;j++){f=i[j].match(da);h=i[j].match(U);if(f){i[j]=i[j].replace(da,"");""!==i[j]&&(a=a[i[j]]);h=[];i.splice(0,j+1);i=i.join(".");j=0;for(g=a.length;j<g;j++)h.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?h:h.join(a);break}else if(h){i[j]=i[j].replace(U,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===k)return k;a=a[i[j]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function Q(a){if(g.isPlainObject(a))return Q(a._);
if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ka(e),f;f=e[e.length-1];for(var h,i,j=0,g=e.length-1;j<g;j++){h=e[j].match(da);i=e[j].match(U);if(h){e[j]=e[j].replace(da,"");a[e[j]]=[];f=e.slice();f.splice(0,j+1);h=f.join(".");i=0;for(g=d.length;i<g;i++)f={},b(f,d[i],h),a[e[j]].push(f);return}i&&(e[j]=e[j].replace(U,""),a=a[e[j]](d));
if(null===a[e[j]]||a[e[j]]===k)a[e[j]]={};a=a[e[j]]}if(f.match(U))a[f.replace(U,"")](d);else a[f.replace(da,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function La(a){return D(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],f,h=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);
if(null===a[e[j]]||a[e[j]]===k)a[e[j]]={};a=a[e[j]]}if(f.match(U))a[f.replace(U,"")](d);else a[f.replace(da,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function La(a){return D(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],f,h=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);
c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ja(a,e,d,d===k?k:e._aData).data;else{var i=e.anCells;if(i)if(d!==k)h(i[d],d);else{c=0;for(f=i.length;c<f;c++)h(i[c],c)}}e._aSortData=null;e._aFilterData=null;h=a.aoColumns;if(d!==k)h[d].sType=null;else{c=0;for(f=h.length;c<f;c++)h[c].sType=null;Ma(a,e)}}function Ja(a,b,c,d){var e=[],f=b.firstChild,h,i,j=0,n,l=a.aoColumns,r=a._rowReadObject,d=d!==k?d:r?{}:[],q=function(a,b){if("string"===typeof a){var c=a.indexOf("@");
-1!==c&&(c=a.substring(c+1),Q(a)(d,b.getAttribute(c)))}},jb=function(a){if(c===k||c===j)i=l[j],n=g.trim(a.innerHTML),i&&i._bAttrSrc?(Q(i.mData._)(d,n),q(i.mData.sort,a),q(i.mData.type,a),q(i.mData.filter,a)):r?(i._setter||(i._setter=Q(i.mData)),i._setter(d,n)):d[j]=n;j++};if(f)for(;f;){h=f.nodeName.toUpperCase();if("TD"==h||"TH"==h)jb(f),e.push(f);f=f.nextSibling}else{e=b.anCells;h=0;for(var o=e.length;h<o;h++)jb(e[h])}if(b=f?b:b.nTr)(b=b.getAttribute("id"))&&Q(a.rowId)(d,b);return{data:d,cells:e}}
function Ia(a,b,c,d){var e=a.aoData[b],f=e._aData,h=[],i,j,g,l,r;if(null===e.nTr){i=c||T.createElement("tr");e.nTr=i;e.anCells=h;i._DT_RowIndex=b;Ma(a,e);l=0;for(r=a.aoColumns.length;l<r;l++){g=a.aoColumns[l];j=c?d[l]:T.createElement(g.sCellType);h.push(j);if(!c||g.mRender||g.mData!==l)j.innerHTML=B(a,b,l,"display");g.sClass&&(j.className+=" "+g.sClass);g.bVisible&&!c?i.appendChild(j):!g.bVisible&&c&&j.parentNode.removeChild(j);g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,j,B(a,b,l),f,b,l)}w(a,