Files
plastic-hub-dev-node-saturn 538369cff7 latest
2021-05-12 18:35:18 +02:00

6 lines
1.9 KiB
JavaScript

//>>built
define("dstore/legacy/DstoreAdapter",["dojo/_base/declare","dojo/_base/array","dojo/store/util/QueryResults"],function(p,h,q){function f(b){return b}var n={store:null,constructor:function(b){this.store=b;if(b._getQuerierFactory("filter")||b._getQuerierFactory("sort"))this.queryEngine=function(a,c){c=c||{};var d=b._getQuerierFactory("filter"),e=d?d(a):f;a=b._getQuerierFactory("sort");var l=f;a&&(l=a(h.map(c.sort,function(a){return{property:a.attribute,descending:a.descending}})));var m=f;isNaN(c.start)&&
isNaN(c.count)||(m=function(a){var b=c.start||0,b=a.slice(b,b+(c.count||Infinity));b.total=a.length;return b});return function(a){return m(l(e(a)))}};var d=this;b.on("add,update,delete",function(a){var c=a.type,g=a.target;d.notify("add"===c||"update"===c?g:void 0,"delete"===c||"update"===c?"id"in a?a.id:b.getIdentity(g):void 0)})},labelAttr:"title",getLabel:function(b){return this.store.getLabel(b)},query:function(b,d){d=d||{};var a=this.store.filter(b),c,g;if(b=d.sort)if("[object Array]"===Object.prototype.toString.call(b))for(var e;e=
b.pop();)a=a.sort(e.attribute,e.descending);else a=a.sort(b);a.track&&!a.tracking&&(a=a.track(),g=!0);"start"in d&&(c=d.start||0,c=a[a.fetchRangeSync?"fetchRangeSync":"fetchRange"]({start:c,end:d.count?c+d.count:Infinity}));c=c||a[a.fetchSync?"fetchSync":"fetch"]();d=c.totalLength;c=new q(c);c.total=d;c.observe=function(b,c){function d(a){return void 0===a&&g?-1:a}var e=a.on("add",function(a){b(a.target,-1,d(a.index))}),f=a.on("update",function(a){!c&&a.previousIndex===a.index&&isFinite(a.index)||
b(a.target,d(a.previousIndex),d(a.index))}),h=a.on("delete",function(a){b(a.target,d(a.previousIndex),-1)}),k={remove:function(){e.remove();f.remove();h.remove()}};k.cancel=k.remove;return k};return c},notify:function(){}};h.forEach(["get","put","add","remove","getIdentity"],function(b){n[b]=function(){var d=this.store;return(d[b+"Sync"]||d[b]).apply(d,arguments)}});return p(null,n)});
//# sourceMappingURL=DstoreAdapter.js.map