UNPKG

slickgrid

Version:

A lightning fast JavaScript grid/spreadsheet

9 lines 1.74 kB
/** * SlickGrid v3.0.4 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT * date: 2023-02-15 * file: ./slick.remotemodel.js */ !function(g){g.extend(!0,window,{Slick:{Data:{RemoteModel:function(){var l=50,i={length:0},u="",s=null,c=1,f=null,d=null,h=new Slick.Event,v=new Slick.Event;function r(){for(var t in i)delete i[t];i.length=0}function e(o,r){if(d){d.abort();for(var t=d.fromPage;t<=d.toPage;t++)i[t*l]=void 0}o<0&&(o=0),0<i.length&&(r=Math.min(r,i.length-1));for(var e,n=Math.floor(o/l),a=Math.floor(r/l);void 0!==i[n*l]&&n<a;)n++;for(;void 0!==i[a*l]&&n<a;)a--;a<n||n==a&&void 0!==i[n*l]?v.notify({from:o,to:r}):(e="http://octopart.com/api/v3/parts/search?apikey=68b25f31&include[]=short_description&show[]=uid&show[]=manufacturer&show[]=mpn&show[]=brand&show[]=octopart_url&show[]=short_description&q="+u+"&start="+n*l+"&limit="+((a-n)*l+l),null!=s&&(e+="&sortby="+s+(0<c?"+asc":"+desc")),null!=f&&clearTimeout(f),f=setTimeout(function(){for(var t=n;t<=a;t++)i[t*l]=null;h.notify({from:o,to:r}),(d=g.jsonp({url:e,callbackParameter:"callback",cache:!0,success:m,error:function(){alert("error loading pages "+n+" to "+a)}})).fromPage=n,d.toPage=a},50))}function m(t){var o=t.request.start,r=o+t.results.length;i.length=Math.min(parseInt(t.hits),1e3);for(var e=0;e<t.results.length;e++){var n=t.results[e].item;i[o+e]=n,i[o+e].index=o+e}d=null,v.notify({from:o,to:r})}return{data:i,clear:r,isDataLoaded:function(t,o){for(var r=t;r<=o;r++)if(null==i[r]||null==i[r])return!1;return!0},ensureData:e,reloadData:function(t,o){for(var r=t;r<=o;r++)delete i[r];e(t,o)},setSort:function(t,o){s=t,c=o,r()},setSearch:function(t){u=t,r()},onDataLoading:h,onDataLoaded:v}}}}})}(jQuery);