@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 77.3 kB
JavaScript
module.exports=function(r){var i={};function n(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return r[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}return n.m=r,n.c=i,n.p="",n(0)}({0:function(e,t,r){e.exports=r(1126)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1051:function(e,t){e.exports=require("./kendo.core")},1126:function(e,t,r){var i;r(3),r=[r(1051),r(1127),r(1128)],void 0===(t="function"==typeof(i=function(){var e={id:"data",name:"Data source",category:"framework",description:"Powerful component for using local and remote data.Fully supports CRUD, Sorting, Paging, Filtering, Grouping, and Aggregates.",depends:["core"],features:[{id:"data-odata",name:"OData",description:"Support for accessing Open Data Protocol (OData) services.",depends:["data.odata"]},{id:"data-signalr",name:"SignalR",description:"Support for binding to SignalR hubs.",depends:["data.signalr"]},{id:"data-XML",name:"XML",description:"Support for binding to XML.",depends:["data.xml"]}]},v=window.kendo.jQuery,F=void 0,p=v.extend,b=v.isPlainObject,k=v.isEmptyObject,l=Array.isArray,n=v.grep,t=v.ajax,w,x=v.each,P=v.noop,m=window.kendo,h=m.isFunction,s=m.Observable,r=m.Class,_="string",g="function",i="asc",a="create",o="read",u="update",d="destroy",c="change",R="sync",G="get",C="error",q="requestStart",O="progress",D="requestEnd",I="itemsLoaded",T="itemLoad",z=[a,o,u,d],A=function(e){return e},E=m.getter,N=m.stringify,y=Math,M=[].push,L,j=[].pop,B=[].splice,H=[].shift,U=[].slice,J=[].unshift,V={}.toString,Q=m.support.stableSort,W=/^\/Date\((.*?)\)\/$/,X=[],$=s.extend({init:function(e,t){var r=this;r.type=t||f;s.fn.init.call(r);r.length=e.length;r.wrapAll(e,r);r._loadPromises=[];r._loadedNodes=[]},at:function(e){return this[e]},toJSON:function(e){var t,r=this.length,i,n=new Array(r);for(t=0;t<r;t++){i=this[t];if(i instanceof f)i=i.toJSON(e);n[t]=i}return n},parent:P,wrapAll:function(e,t){var r=this,i,n,a=function(){return r};t=t||[];for(i=0,n=e.length;i<n;i++)t[i]=r.wrap(e[i],a);return t},wrap:function(r,e){var i=this,t;if(r!==null&&V.call(r)==="[object Object]"){t=r instanceof i.type||r instanceof ne;if(!t){r=r instanceof f?r.toJSON():r;r=new i.type(r)}r.parent=e;r.bind(c,function(e){var t=r.hasOwnProperty("hasSubgroups");i.trigger(c,{field:e.field,node:e.node,index:e.index,items:e.items||[this],action:e.node||t?e.action||"itemloaded":"itemchange"})});r.bind(T,function(t){i._loadPromises.push(t.promise);i._loading=true;t.promise.done(function(){i._loadedNodes.push(t.node);var e=i._loadPromises.indexOf(t.promise);i._loadPromises.splice(e,1);if(!i._loadPromises.length){i._loading=false;i.trigger(I,{collection:i,nodes:i._loadedNodes});i._loadedNodes=[]}})})}return r},loading:function(){return this._loading},push:function(){var e=this.length,t=this.wrapAll(arguments),r;r=M.apply(this,t);if(!this.omitChangeEvent)this.trigger(c,{action:"add",index:e,items:t});return r},slice:U,sort:[].sort,join:[].join,pop:function(){var e=this.length,t=j.apply(this);if(e)this.trigger(c,{action:"remove",index:e-1,items:[t]});return t},splice:function(e,t,r){var i=this.wrapAll(U.call(arguments,2)),n,a,s;n=B.apply(this,[e,t].concat(i));if(n.length){if(!this.omitChangeEvent)this.trigger(c,{action:"remove",index:e,items:n});for(a=0,s=n.length;a<s;a++)if(n[a]&&n[a].children)n[a].unbind(c)}if(r)if(!this.omitChangeEvent)this.trigger(c,{action:"add",index:e,items:i});return n},shift:function(){var e=this.length,t=H.apply(this);if(e)this.trigger(c,{action:"remove",index:0,items:[t]});return t},unshift:function(){var e=this.wrapAll(arguments),t;t=J.apply(this,e);this.trigger(c,{action:"add",index:0,items:e});return t},indexOf:function(e){var t=this,r,i;for(r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1},forEach:function(e,t){var r=0;var i=this.length;var n=t||window;for(;r<i;r++)e.call(n,this[r],r,this)},map:function(e,t){var r=0;var i=[];var n=this.length;var a=t||window;for(;r<n;r++)i[r]=e.call(a,this[r],r,this);return i},reduce:function(e){var t=0,r,i=this.length;if(arguments.length==2)r=arguments[1];else if(t<i)r=this[t++];for(;t<i;t++)r=e(r,this[t],t,this);return r},reduceRight:function(e){var t=this.length-1,r;if(arguments.length==2)r=arguments[1];else if(t>0)r=this[t--];for(;t>=0;t--)r=e(r,this[t],t,this);return r},filter:function(e,t){var r=0;var i=[];var n;var a=this.length;var s=t||window;for(;r<a;r++){n=this[r];if(e.call(s,n,r,this))i[i.length]=n}return i},find:function(e,t){var r=0;var i;var n=this.length;var a=t||window;for(;r<n;r++){i=this[r];if(e.call(a,i,r,this))return i}},every:function(e,t){var r=0;var i;var n=this.length;var a=t||window;for(;r<n;r++){i=this[r];if(!e.call(a,i,r,this))return false}return true},some:function(e,t){var r=0;var i;var n=this.length;var a=t||window;for(;r<n;r++){i=this[r];if(e.call(a,i,r,this))return true}return false},remove:function(e){var t=this.indexOf(e);if(t!==-1)this.splice(t,1)},empty:function(){this.splice(0,this.length)}});if(typeof Symbol!=="undefined"&&Symbol.iterator&&!$.prototype[Symbol.iterator])$.prototype[Symbol.iterator]=[][Symbol.iterator];var K=$.extend({init:function(e,t,r){var i=function(){return this};s.fn.init.call(this);this.type=t||f;if(r)this._events=r;for(var n=0;n<e.length;n++)this[n]=e[n];this.length=n;this._parent=i.bind(this)},at:function(e){var t=this[e];if(!(t instanceof this.type))t=this[e]=this.wrap(t,this._parent);else t.parent=this._parent;return t}});function Y(i,n,a,s){return function(e){var t={},r;for(r in e)t[r]=e[r];if(s)t.field=a+"."+e.field;else t.field=a;if(n==c&&i._notifyChange)i._notifyChange(t);i.trigger(n,t)}}function Z(e,t){var r=[];var i,n;e=e||{};i=Object.getOwnPropertyNames(e);n=X.filter(function(e){return i.indexOf(e)<0});while(e){Object.getOwnPropertyNames(e).forEach(function(e){if(r.indexOf(e)===-1&&(!t||n.indexOf(e)<0))r.push(e)});e=Object.getPrototypeOf(e)}return r}X=Z({},false);var f=s.extend({init:function(t){var r=this,i,e=Z(t,true),n=function(){return r};s.fn.init.call(this);this._handlers={};e.forEach(function(e){i=t[e];if(typeof i==="object"&&i&&!i.getTime&&e.charAt(0)!="_")i=r.wrap(i,e,n);r[e]=i});r.uid=m.guid()},shouldSerialize:function(e,t){return this.hasOwnProperty(e)&&e!=="_handlers"&&e!=="_events"&&(t&&t[e]||typeof this[e]!==g)&&e!=="uid"},forEach:function(e){for(var t in this)if(this.shouldSerialize(t))e(this[t],t)},toJSON:function(e){var t={},r,i;for(i in this)if(this.shouldSerialize(i,e)){r=this[i];if(r instanceof f||r instanceof $)r=r.toJSON(e);t[i]=r}return t},get:function(e){var t=this,r;t.trigger(G,{field:e});if(e==="this")r=t;else r=m.getter(e,true)(t);return r},_set:function(e,t){var r=this;var i=e.indexOf(".")>=0;if(i){var n=e.split("."),a="";while(n.length>1){a+=n.shift();var s=m.getter(a,true)(r);if(s instanceof f){s.set(n.join("."),t);return i}a+="."}}m.setter(e)(r,t);return i},set:function(e,t){var r=this,i=false,n=e.indexOf(".")>=0,a=m.getter(e,true)(r);if(a!==t){if(a instanceof s&&this._handlers[e]){if(this._handlers[e].get)a.unbind(G,this._handlers[e].get);a.unbind(c,this._handlers[e].change)}i=r.trigger("set",{field:e,value:t});if(!i){if(!n)t=r.wrap(t,e,function(){return r});if(!r._set(e,t)||e.indexOf("(")>=0||e.indexOf("[")>=0)r.trigger(c,{field:e})}}return i},parent:P,wrap:function(e,t,r){var i=this;var n;var a;var s=V.call(e);if(e!=null&&(s==="[object Object]"||s==="[object Array]")){var o=e instanceof $;var u=e instanceof Ye;if(s==="[object Object]"&&!u&&!o){if(!(e instanceof f))e=new f(e);n=Y(i,G,t,true);e.bind(G,n);a=Y(i,c,t,true);e.bind(c,a);i._handlers[t]={get:n,change:a}}else if(s==="[object Array]"||o||u){if(!o&&!u)e=new $(e);a=Y(i,c,t,false);e.bind(c,a);i._handlers[t]={change:a}}e.parent=r}return e}});function ee(e,t){if(e===t)return true;var r=m.type(e),i=m.type(t),n;if(r!==i)return false;if(r==="date")return e.getTime()===t.getTime();if(r!=="object"&&r!=="array")return false;for(n in e)if(!ee(e[n],t[n]))return false;return true}var te={number:function(e){if(typeof e===_&&e.toLowerCase()==="null")return null;return m.parseFloat(e)},date:function(e){if(typeof e===_&&e.toLowerCase()==="null")return null;return m.parseDate(e)},boolean:function(e){if(typeof e===_)if(e.toLowerCase()==="null")return null;else return e.toLowerCase()==="true";return e!=null?!!e:e},string:function(e){if(typeof e===_&&e.toLowerCase()==="null")return null;return e!=null?e+"":e},default:function(e){return e}},re={string:"",number:0,date:new Date,boolean:false,default:""};function ie(e,t){var r,i;for(i in e){r=e[i];if(b(r)&&r.field&&r.field===t)return r;else if(r===t)return r}return null}var ne=f.extend({init:function(e){var t=this;if(!e||v.isEmptyObject(e)){e=v.extend({},t.defaults,e);if(t._initializers)for(var r=0;r<t._initializers.length;r++){var i=t._initializers[r];e[i]=t.defaults[i]()}}f.fn.init.call(t,e);t.dirty=false;t.dirtyFields={};if(t.idField){t.id=t.get(t.idField);if(t.id===F)t.id=t._defaultId}},shouldSerialize:function(e){return f.fn.shouldSerialize.call(this,e)&&e!=="uid"&&!(this.idField!=="id"&&e==="id")&&e!=="dirty"&&e!=="dirtyFields"&&e!=="_accessors"},_parse:function(e,t){var r=this,i=e,n=r.fields||{},a;e=n[e];if(!e)e=ie(n,i);if(e){a=e.parse;if(!a&&e.type)a=te[e.type.toLowerCase()]}return a?a(t):t},_notifyChange:function(e){var t=e.action;if(t=="add"||t=="remove"){this.dirty=true;this.dirtyFields[e.field]=true}},editable:function(e){e=(this.fields||{})[e];return e?e.editable!==false:true},set:function(e,t){var r=this;var i=r.dirty;if(r.editable(e)){t=r._parse(e,t);if(!ee(t,r.get(e))){r.dirty=true;r.dirtyFields[e]=true;if(f.fn.set.call(r,e,t)&&!i){r.dirty=i;if(!r.dirty)r.dirtyFields[e]=false}}else r.trigger("equalSet",{field:e,value:t})}},accept:function(e){var t=this,r=function(){return t},i;for(i in e){var n=e[i];if(i.charAt(0)!="_")n=t.wrap(e[i],i,r);t._set(i,n)}if(t.idField)t.id=t.get(t.idField);t.dirty=false;t.dirtyFields={}},isNew:function(){return this.id===this._defaultId}}),ae=(ne.define=function(e,t){if(t===F){t=e;e=ne}var r,i=p({defaults:{}},t),n,a,l,s,o,d,g={},u,f=i.id,h=[];if(f)i.idField=f;if(i.id)delete i.id;if(f)i.defaults[f]=i._defaultId="";if(V.call(i.fields)==="[object Array]"){for(o=0,d=i.fields.length;o<d;o++){a=i.fields[o];if(typeof a===_)g[a]={};else if(a.field)g[a.field]=a}i.fields=g}for(n in i.fields){a=i.fields[n];l=a.type||"default";s=null;u=n;n=typeof a.field===_?a.field:n;if(!a.nullable){s=i.defaults[u!==n?u:n]=a.defaultValue!==F?a.defaultValue:re[l.toLowerCase()];if(typeof s==="function")h.push(n)}if(t.id===n)i._defaultId=s;i.defaults[u!==n?u:n]=s;a.parse=a.parse||te[l]}if(h.length>0)i._initializers=h;r=e.extend(i);r.define=function(e){return ne.define(r,e)};if(i.fields){r.fields=i.fields;r.idField=i.idField}return r},{selector:function(e){return h(e)?e:E(e)},compare:function(e){var r=this.selector(e);return function(e,t){e=r(e);t=r(t);if(e==null&&t==null)return 0;if(e==null)return-1;if(t==null)return 1;if(e.localeCompare)return e.localeCompare(t);return e>t?1:e<t?-1:0}},create:function(e){var r=e.compare||this.compare(e.field);if(e.dir=="desc")return function(e,t){return r(t,e,true)};return r},combine:function(a){return function(e,t){var r=a[0](e,t),i,n;for(i=1,n=a.length;i<n;i++)r=r||a[i](e,t);return r}}}),se=p({},ae,{asc:function(e){var n=this.selector(e);return function(e,t){var r=n(e);var i=n(t);if(r&&r.getTime&&i&&i.getTime){r=r.getTime();i=i.getTime()}if(r===i)return e.__position-t.__position;if(r==null)return-1;if(i==null)return 1;if(r.localeCompare)return r.localeCompare(i);return r>i?1:-1}},desc:function(e){var n=this.selector(e);return function(e,t){var r=n(e);var i=n(t);if(r&&r.getTime&&i&&i.getTime){r=r.getTime();i=i.getTime()}if(r===i)return e.__position-t.__position;if(r==null)return 1;if(i==null)return-1;if(i.localeCompare)return i.localeCompare(r);return r<i?1:-1}},create:function(e){return this[e.dir](e.field)}}),oe=(w=function(e,t){var r,i=e.length,n=new Array(i);for(r=0;r<i;r++)n[r]=t(e[r],r,e);return n},function(){function s(e){if(typeof e=="string")e=e.replace(/[\r\n]+/g,"");return JSON.stringify(e)}function e(n){return function(e,t,r,i){t+="";if(r){e="("+e+" + '').toString()"+(i?".toLocaleLowerCase('"+i+"')":".toLowerCase()");t=i?t.toLocaleLowerCase(i):t.toLowerCase()}return n(e,s(t),r)}}function n(e,t,r,i,n){if(r!=null){if(typeof r===_){var a=W.exec(r);if(a)r=new Date(+a[1]);else if(i){r=s(n?r.toLocaleLowerCase(n):r.toLowerCase());t="(("+t+" || '')+'')"+(n?".toLocaleLowerCase('"+n+"')":".toLowerCase()")}else r=s(r)}if(r.getTime){t="("+t+"&&"+t+".getTime?"+t+".getTime():"+t+")";r=r.getTime()}}return t+" "+e+" "+r}function r(e){for(var t="/^",r=false,i=0;i<e.length;++i){var n=e.charAt(i);if(r)t+="\\"+n;else if(n=="~"){r=true;continue}else if(n=="*")t+=".*";else if(n=="?")t+=".";else if(".+^$()[]{}|\\/\n\r\u2028\u2029 ".indexOf(n)>=0)t+="\\"+n;else t+=n;r=false}return t+"$/"}return{quote:function(e){if(e&&e.getTime)return"new Date("+e.getTime()+")";return s(e)},eq:function(e,t,r,i){return n("==",e,t,r,i)},neq:function(e,t,r,i){return n("!=",e,t,r,i)},gt:function(e,t,r){return n(">",e,t,r)},gte:function(e,t,r){return n(">=",e,t,r)},lt:function(e,t,r){return n("<",e,t,r)},lte:function(e,t,r){return n("<=",e,t,r)},startswith:e(function(e,t){return e+".lastIndexOf("+t+", 0) == 0"}),doesnotstartwith:e(function(e,t){return e+".lastIndexOf("+t+", 0) == -1"}),endswith:e(function(e,t){var r=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+r+") >= 0"}),doesnotendwith:e(function(e,t){var r=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+r+") < 0"}),contains:e(function(e,t){return e+".indexOf("+t+") >= 0"}),doesnotcontain:e(function(e,t){return e+".indexOf("+t+") == -1"}),matches:e(function(e,t){t=t.substring(1,t.length-1);return r(t)+".test("+e+")"}),doesnotmatch:e(function(e,t){t=t.substring(1,t.length-1);return"!"+r(t)+".test("+e+")"}),isempty:function(e){return e+" === ''"},isnotempty:function(e){return e+" !== ''"},isnull:function(e){return"("+e+" == null)"},isnotnull:function(e){return"("+e+" != null)"},isnullorempty:function(e){return"("+e+" === null) || ("+e+" === '')"},isnotnullorempty:function(e){return"("+e+" !== null) && ("+e+" !== '')"}}}());function S(e){this.data=e||[]}function ue(e,t){if(e){var r=typeof e===_?{field:e,dir:t}:e,i=l(r)?r:r!==F?[r]:[];return n(i,function(e){return!!e.dir})}}function fe(e,t){var r={};if(e){var i=typeof e===_?{field:e,dir:t}:e,n=l(i)?i:i!==F?[i]:[];for(var a=0;a<n.length;a++)r[n[a].field]={dir:n[a].dir,index:a+1}}return r}S.filterExpr=function(e){var t=[],l={and:" && ",or:" || "},r,i,n,a,s=[],o=[],u,f,d=e.filters;for(r=0,i=d.length;r<i;r++){n=d[r];u=n.field;f=n.operator;if(n.filters){a=S.filterExpr(n);n=a.expression.replace(/__o\[(\d+)\]/g,function(e,t){t=+t;return"__o["+(o.length+t)+"]"}).replace(/__f\[(\d+)\]/g,function(e,t){t=+t;return"__f["+(s.length+t)+"]"});o.push.apply(o,a.operators);s.push.apply(s,a.fields)}else{if(typeof u===g){a="__f["+s.length+"](d)";s.push(u)}else a=m.expr(u);if(typeof f===g){n="__o["+o.length+"]("+a+", "+oe.quote(n.value)+")";o.push(f)}else n=oe[(f||"eq").toLowerCase()](a,n.value,n.ignoreCase!==F?n.ignoreCase:true,e.accentFoldingFiltering)}t.push(n)}return{expression:"("+t.join(l[e.logic])+")",fields:s,operators:o}};var le={"==":"eq",equals:"eq",isequalto:"eq",equalto:"eq",equal:"eq","!=":"neq",ne:"neq",notequals:"neq",isnotequalto:"neq",notequalto:"neq",notequal:"neq","<":"lt",islessthan:"lt",lessthan:"lt",less:"lt","<=":"lte",le:"lte",islessthanorequalto:"lte",lessthanequal:"lte",">":"gt",isgreaterthan:"gt",greaterthan:"gt",greater:"gt",">=":"gte",isgreaterthanorequalto:"gte",greaterthanequal:"gte",ge:"gte",notsubstringof:"doesnotcontain",isnull:"isnull",isempty:"isempty",isnotempty:"isnotempty"};function de(e){var t,r,i,n,a=e.filters;if(a)for(t=0,r=a.length;t<r;t++){i=a[t];n=i.operator;if(n&&typeof n===_)i.operator=le[n.toLowerCase()]||n;de(i)}}function ge(e){if(e&&!k(e)){if(l(e)||!e.filters)e={logic:"and",filters:l(e)?e:[e]};de(e);return e}}function he(e,t){if(e.logic||t.logic)return false;return e.field===t.field&&e.value===t.value&&e.operator===t.operator}function ce(e){e=e||{};if(k(e))return{logic:"and",filters:[]};return ge(e)}function pe(e,t){if(t.logic||e.field>t.field)return 1;else if(e.field<t.field)return-1;else return 0}function _e(e,t){e=ce(e);t=ce(t);if(e.logic!==t.logic)return false;var r,i;var n=(e.filters||[]).slice();var a=(t.filters||[]).slice();if(n.length!==a.length)return false;n=n.sort(pe);a=a.sort(pe);for(var s=0;s<n.length;s++){r=n[s];i=a[s];if(r.logic&&i.logic){if(!_e(r,i))return false}else if(!he(r,i))return false}return true}function ve(e){return l(e)?e:[e]}function me(e,t,r,i){var n=typeof e===_?{field:e,dir:t,compare:r,skipItemSorting:i}:e,a=l(n)?n:n!==F?[n]:[];return w(a,function(e){return{field:e.field,dir:e.dir||"asc",aggregates:e.aggregates,compare:e.compare,skipItemSorting:e.skipItemSorting}})}function ye(e,t,r){var i=me(e,t,r);for(var n=0;n<i.length;n++)delete i[n].compare;return i}function Se(e){var t=l(e)?e:[e];for(var r=0;r<t.length;r++)if(t[r]&&h(t[r].compare))return true;return false}function be(e,t){if(e&&e.getTime&&t&&t.getTime)return e.getTime()===t.getTime();return e===t}function ke(e,t,r,i,n,a){t=t||[];var s,o,u,l=t.length;for(s=0;s<l;s++){o=t[s];u=o.aggregate;var f=o.field;e[f]=e[f]||{};a[f]=a[f]||{};a[f][u]=a[f][u]||{};e[f][u]=we[u.toLowerCase()](e[f][u],r,m.accessor(f),i,n,a[f][u])}}S.normalizeFilter=ge,S.compareFilters=_e,S.prototype={toArray:function(){return this.data},range:function(e,t){return new S(this.data.slice(e,e+t))},skip:function(e){return new S(this.data.slice(e))},take:function(e){return new S(this.data.slice(0,e))},select:function(e){return new S(w(this.data,e))},order:function(e,t,r){var i={dir:t};if(e)if(e.compare)i.compare=e.compare;else i.field=e;if(r)return new S(this.data.sort(ae.create(i)));return new S(this.data.slice(0).sort(ae.create(i)))},orderBy:function(e,t){return this.order(e,"asc",t)},orderByDescending:function(e,t){return this.order(e,"desc",t)},sort:function(e,t,r,i){var n,a,s=ue(e,t),o=[];r=r||ae;if(s.length){for(n=0,a=s.length;n<a;n++)o.push(r.create(s[n]));return this.orderBy({compare:r.combine(o)},i)}return this},filter:function(e){var t,r,i,n,a,s=this.data,o,u,l=[],f;e=ge(e);if(!e||e.filters.length===0)return this;n=S.filterExpr(e);o=n.fields;u=n.operators;a=f=new Function("d, __f, __o","return "+n.expression);if(o.length||u.length)f=function(e){return a(e,o,u)};for(t=0,i=s.length;t<i;t++){r=s[t];if(f(r))l.push(r)}return new S(l)},group:function(i,n,a){i=me(i||[]);n=n||this.data;var e=this,t=new S(e.data),s;if(i.length>0){s=i[0];if(a&&a.groupPaging)t=new S(n).groupAllData(s,n).select(function(e){var t=new S(n).filter([{field:e.field,operator:"eq",value:e.value,ignoreCase:false}]);var r=i.length>1?new S(e.items).group(i.slice(1),t.toArray(),a).toArray():e.items;return{field:e.field,value:e.value,hasSubgroups:i.length>1,items:r,aggregates:t.aggregate(s.aggregates),uid:m.guid(),itemCount:r.length,subgroupCount:r.length}});else t=t.groupBy(s).select(function(e){var t=new S(n).filter([{field:e.field,operator:"eq",value:e.value,ignoreCase:false}]);return{field:e.field,value:e.value,items:i.length>1?new S(e.items).group(i.slice(1),t.toArray()).toArray():e.items,hasSubgroups:i.length>1,aggregates:t.aggregate(s.aggregates)}})}return t},groupBy:function(e){var l=this;if(k(e)||!this.data.length)return new S([]);var t=e.field,r=e.skipItemSorting?this.data:this._sortForGrouping(t,e.dir||"asc"),i=m.accessor(t),n,a=i.get(r[0],t),s={field:t,value:a,items:[]},o,u,d,f=[s];for(u=0,d=r.length;u<d;u++){n=r[u];o=i.get(n,t);if(!be(a,o)){a=o;s={field:t,value:a,items:[]};f.push(s)}s.items.push(n)}f=l._sortGroups(f,e);return new S(f)},groupAllData:function(e,t){if(k(e)||this.data&&!this.data.length)return new S([]);var r=e.field,i=e.skipItemSorting?t:new S(t).sort(r,e.dir||"asc",se).toArray(),l=m.accessor(r),n,a=l.get(i[0],r),s={field:r,value:a,items:[]},o,u,d,f=[s];for(u=0,d=i.length;u<d;u++){n=i[u];o=l.get(n,r);if(!be(a,o)){a=o;s={field:r,value:a,items:[]};f.push(s)}s.items.push(n)}f=this._sortGroups(f,e);return new S(f)},_sortForGrouping:function(e,t){var r,i,n=this.data;if(!Q){for(r=0,i=n.length;r<i;r++)n[r].__position=r;n=new S(n).sort(e,t,se).toArray();for(r=0,i=n.length;r<i;r++)delete n[r].__position;return n}return this.sort(e,t).toArray()},_sortGroups:function(e,t){var r=e;if(t&&h(t.compare))r=new S(r).order({compare:t.compare},t.dir||i).toArray();return r},aggregate:function(e){var t,r,i={},n={};if(e&&e.length)for(t=0,r=this.data.length;t<r;t++)ke(i,e,this.data[t],t,r,n);return i}};var we={sum:function(e,t,r){var i=r.get(t);if(!xe(e))e=i;else if(xe(i))e+=i;return e},count:function(e){return(e||0)+1},average:function(e,t,r,i,n,a){var s=r.get(t);if(a.count===F)a.count=0;if(!xe(e))e=s;else if(xe(s))e+=s;if(xe(s))a.count++;if(i==n-1&&xe(e))e=e/a.count;return e},max:function(e,t,r){var i=r.get(t);if(!xe(e)&&!Pe(e))e=i;if(e<i&&(xe(i)||Pe(i)))e=i;return e},min:function(e,t,r){var i=r.get(t);if(!xe(e)&&!Pe(e))e=i;if(e>i&&(xe(i)||Pe(i)))e=i;return e}};function xe(e){return typeof e==="number"&&!isNaN(e)}function Pe(e){return e&&e.getTime}function Fe(e){var t,r=e.length,i=new Array(r);for(t=0;t<r;t++)i[t]=e[t].toJSON();return i}S.normalizeGroup=me,S.normalizeSort=ue,S.process=function(e,t,r){t=t||{};var i=t.group;var n=Se(me(i||[]));var a=new S(e),l=ye(i||[]),d=ue(t.sort||[]),s=n?d:l.concat(d),g,o,h=t.filterCallback,c=t.filter,u=t.skip,f=t.take;if(s&&r)a=a.sort(s,F,F,r);if(c){a=a.filter(c);if(h)a=h(a);o=a.toArray().length}if(s){if(!r)a=a.sort(s);if(i)e=a.toArray()}if(n){a=a.group(i,e,t);if(u!==F&&f!==F&&!t.groupPaging){a=new S(Ne(a.toArray())).range(u,f);g=w(l,function(e){return p({},e,{skipItemSorting:true})});a=a.group(g,e,t)}}else{if(u!==F&&f!==F){o=a.data.length;if(u+f>o&&t.virtual)u-=u+f-o;a=a.range(u,f)}if(i&&(!k(i)||i.length!==0))a=a.group(i,e,t)}return{total:o,data:a.toArray()}};var Re=r.extend({init:function(e){this.data=e.data},read:function(e){e.success(this.data)},update:function(e){e.success(e.data)},create:function(e){e.success(e.data)},destroy:function(e){e.success(e.data)}}),Ge=r.extend({init:function(r){var e=this,i;r=e.options=p({},e.options,r);x(z,function(e,t){if(typeof r[t]===_)r[t]={url:r[t]}});e.cache=r.cache?Ce.create(r.cache):{find:P,add:P};i=r.parameterMap;if(r.submit)e.submit=r.submit;if(h(r.push))e.push=r.push;if(!e.push)e.push=A;e.parameterMap=h(i)?i:function(e){var r={};x(e,function(e,t){if(e in i){e=i[e];if(b(e)){t=e.value(t);e=e.key}}r[e]=t});return r}},options:{parameterMap:A},create:function(e){return t(this.setup(e,a))},read:function(t){var e=this,r,i,n,a=e.cache;t=e.setup(t,o);r=t.success||P;i=t.error||P;n=a.find(t.data);if(n!==F)r(n);else{t.success=function(e){a.add(t.data,e);r(e)};v.ajax(t)}},update:function(e){return t(this.setup(e,u))},destroy:function(e){return t(this.setup(e,d))},setup:function(e,t){e=e||{};var r=this,i,n=r.options[t],a=h(n.data)?n.data(e.data):n.data;e=p(true,{},n,e);i=p(true,{},a,e.data);e.data=r.parameterMap(i,t);if(h(e.url))e.url=e.url(i);return e}}),Ce=r.extend({init:function(){this._store={}},add:function(e,t){if(e!==F)this._store[N(e)]=t},find:function(e){return this._store[N(e)]},clear:function(){this._store={}},remove:function(e){delete this._store[N(e)]}});function qe(e,t,f,l,r){var i,n,a,s,o={},u;for(s=0,u=e.length;s<u;s++){i=e[s];for(n in t){a=r[n];if(a&&a!==n){if(!o[a])o[a]=m.setter(a);o[a](i,t[n](i));delete i[n]}}}}function Oe(e,t,r,f,i){var n,a,s,o,u;for(o=0,u=e.length;o<u;o++){n=e[o];for(a in t){n[a]=r._parse(a,t[a](n));s=i[a];if(s&&s!==a)delete n[s]}}}function De(e,t,r,i,n){var a,s,o,u;for(s=0,u=e.length;s<u;s++){a=e[s];o=i[a.field];if(o&&o!=a.field)a.field=o;a.value=r._parse(a.field,a.value);if(a.items)if(a.hasSubgroups)De(a.items,t,r,i,n);else Oe(a.items,t,r,i,n)}}function Ie(t,r,i,n,a,s){return function(e){e=t(e);return Te(r,i,n,a,s)(e)}}function Te(t,r,i,n,a){return function(e){if(e&&!k(i)){if(V.call(e)!=="[object Array]"&&!(e instanceof $))e=[e];r(e,i,new t,n,a)}return e||[]}}Ce.create=function(e){var t={inmemory:function(){return new Ce}};if(b(e)&&h(e.find))return e;if(e===true)return new Ce;return t[e]()};var ze=r.extend({init:function(e){var t=this,r,i,n,l;e=e||{};for(r in e){i=e[r];t[r]=typeof i===_?E(i):i}l=e.modelBase||ne;if(b(t.model))t.model=n=l.define(t.model);var d=t.data.bind(t);t._dataAccessFunction=d;if(t.model){var g=t.groups.bind(t),h=t.serialize.bind(t),a={},s={},c={},o={},p=false,u,f;n=t.model;if(n.fields){x(n.fields,function(e,t){var r;u=e;if(b(t)&&t.field)u=t.field;else if(typeof t===_)u=t;if(b(t)&&t.from)r=t.from;p=p||r&&r!==e||u!==e;f=r||u;s[e]=f.indexOf(".")!==-1?E(f,true):E(f);c[e]=E(e);a[r||u]=e;o[e]=r||u});if(!e.serialize&&p)t.serialize=Ie(h,n,qe,c,a,o)}t._dataAccessFunction=d;t._wrapDataAccessBase=Te(n,Oe,s,a,o);t.data=Ie(d,n,Oe,s,a,o);t.groups=Ie(g,n,De,s,a,o)}},errors:function(e){return e?e.errors:null},parse:A,data:A,total:function(e){return e.length},groups:A,aggregates:function(){return{}},serialize:function(e){return e}});function Ae(e,t){var r;var i;if(t.items&&t.items.length)for(var n=0;n<t.items.length;n++){r=e.items[e.items.length-1];i=t.items[n];if(r&&i)if(r.hasSubgroups&&r.value==i.value)Ae(r,i);else if(r.field&&r.value==i.value)r.items.push.apply(r.items,i.items);else e.items.push.apply(e.items,[i]);else if(i)e.items.push.apply(e.items,[i])}}function Ee(e,t,r,i){var n,a=0,s;while(t.length&&i){n=t[a];s=n.items;var o=s.length;if(e&&e.field===n.field&&e.value===n.value){if(e.hasSubgroups&&e.items.length)Ee(e.items[e.items.length-1],n.items,r,i);else{s=s.slice(r,r+i);e.items=e.items.concat(s)}t.splice(a--,1)}else if(n.hasSubgroups&&s.length){Ee(n,s,r,i);if(!n.items.length)t.splice(a--,1)}else{s=s.slice(r,r+i);n.items=s;if(!n.items.length)t.splice(a--,1)}if(s.length===0)r-=o;else{r=0;i-=s.length}if(++a>=t.length)break}if(a<t.length)t.splice(a,t.length-a)}function Ne(e,t){var r=[];var i=(e||[]).length;var n;var a;var s=h(t)?t:function(e,t){return e[t]};for(var o=0;o<i;o++){n=s(e,o);if(n.hasSubgroups)r=r.concat(Ne(n.items));else{a=n.items;for(var u=0;u<a.length;u++)r.push(s(a,u))}}return r}function Me(e){var t,r=[],i,n,a;for(t=0,i=e.length;t<i;t++){var s=e.at(t);if(s.items)if(s.hasSubgroups)r=r.concat(Me(s.items));else{n=s.items;for(a=0;a<n.length;a++)r.push(n.at(a))}}return r}function Le(e,t){var r,i,n;if(t)for(r=0,i=e.length;r<i;r++){n=e.at(r);if(n.items)if(n.hasSubgroups)Le(n.items,t);else n.items=new K(n.items,t,n.items._events)}}function je(e,t){for(var r=0;r<e.length;r++)if(e[r].hasSubgroups){if(je(e[r].items,t))return true}else if(t(e[r].items,e[r]))return true}function Be(e,t,r,i){for(var n=0;n<e.length;n++){if(e[n].data===t)break;if(He(e[n].data,r,i))break}}function He(e,t,r){for(var i=0,n=e.length;i<n;i++)if(e[i]&&e[i].hasSubgroups)return He(e[i].items,t,r);else if(e[i]===t||e[i]===r){e[i]=r;return true}}function Ue(e,t,r,i,n){for(var a=0,s=e.length;a<s;a++){var o=e[a];if(!o||o instanceof i)continue;if(o.hasSubgroups!==F&&!n)Ue(o.items,t,r,i,n);else for(var u=0;u<t.length;u++)if(t[u]===o){e[a]=t.at(u);Be(r,t,o,e[a]);break}}}function Je(e,t){if(!e)return;var r=e.length;var i;var n;for(n=0;n<r;n++){i=e[n];if(i.uid&&i.uid==t.uid){e.splice(n,1);return i}}}function Ve(e,t){if(t)return We(e,function(e){return e.uid&&e.uid==t.uid||e[t.idField]===t.id&&t.id!==t._defaultId});return-1}function Qe(e,t){if(t)return We(e,function(e){return e.uid==t.uid});return-1}function We(e,t){var r,i;if(!e)return;for(r=0,i=e.length;r<i;r++)if(t(e[r]))return r;return-1}function Xe(e,t){if(e&&!k(e)){var r=e[t];var i;if(b(r))i=r.from||r.field||t;else i=e[t]||t;if(h(i))return t;return i}return t}function $e(e,t){var r,i,n={};for(var a in e)if(a!=="filters")n[a]=e[a];if(e.filters){n.filters=[];for(r=0,i=e.filters.length;r<i;r++)n.filters[r]=$e(e.filters[r],t)}else n.field=Xe(t.fields,n.field);return n}function Ke(e,t){var r,i,n=[],a,s;for(r=0,i=e.length;r<i;r++){a={};s=e[r];for(var o in s)a[o]=s[o];a.field=Xe(t.fields,a.field);if(a.aggregates&&l(a.aggregates))a.aggregates=Ke(a.aggregates,t);n.push(a)}return n}var Ye=s.extend({init:function(e){var t=this,r,i;if(e)i=e.data;e=t.options=p({},t.options,e);t._map={};t._prefetch={};t._data=[];t._pristineData=[];t._ranges=[];t._view=[];t._pristineTotal=0;t._destroyed=[];t._pageSize=e.pageSize;t._page=e.page||(e.pageSize?1:F);t._sort=ue(e.sort);t._sortFields=fe(e.sort);t._filter=ge(e.filter);t._group=me(e.group);t._aggregate=e.aggregate;t._total=e.total;t._groupPaging=e.groupPaging;if(t._groupPaging)t._groupsState={};t._shouldDetachObservableParents=true;s.fn.init.call(t);t.transport=Ze.create(e,i,t);if(h(t.transport.push))t.transport.push({pushCreate:t._pushCreate.bind(t),pushUpdate:t._pushUpdate.bind(t),pushDestroy:t._pushDestroy.bind(t)});if(e.offlineStorage!=null)if(typeof e.offlineStorage=="string"){var n=e.offlineStorage;t._storage={getItem:function(){return JSON.parse(localStorage.getItem(n))},setItem:function(e){localStorage.setItem(n,N(t.reader.serialize(e)))}}}else t._storage=e.offlineStorage;t.reader=new m.data.readers[e.schema.type||"json"](e.schema);r=t.reader.model||{};t._detachObservableParents();t._data=t._observe(t._data);t._online=true;t.bind(["push",C,c,q,R,D,O],e)},options:{data:null,schema:{modelBase:ne},offlineStorage:null,serverSorting:false,serverPaging:false,serverFiltering:false,serverGrouping:false,serverAggregates:false,batch:false,inPlaceSort:false},clone:function(){return this},online:function(e){if(e!==F){if(this._online!=e){this._online=e;if(e)return this.sync()}return v.Deferred().resolve().promise()}else return this._online},offlineData:function(e){if(this.options.offlineStorage==null)return null;if(e!==F)return this._storage.setItem(e);return this._storage.getItem()||[]},_isServerGrouped:function(){var e=this.group()||[];return this.options.serverGrouping&&e.length},_isServerGroupPaged:function(){return this._isServerGrouped()&&this._groupPaging},_isGroupPaged:function(){var e=this._group||[];return this._groupPaging&&e.length},_pushCreate:function(e){this._push(e,"pushCreate")},_pushUpdate:function(e){this._push(e,"pushUpdate")},_pushDestroy:function(e){this._push(e,"pushDestroy")},_push:function(e,t){var r=this._readData(e);if(!r)r=e;this[t](r)},_flatData:function(e,t){if(e){if(this._isServerGrouped())return Me(e);if(!t)for(var r=0;r<e.length;r++)e.at(r)}return e},parent:P,get:function(e){var t,r,i=this._flatData(this._data,this.options.useRanges);for(t=0,r=i.length;t<r;t++)if(i[t].id==e)return i[t]},getByUid:function(e){return this._getByUid(e,this._data)},_getByUid:function(e,t){var r,i,n=this._flatData(t,this.options.useRanges);if(!n)return;for(r=0,i=n.length;r<i;r++)if(n[r].uid==e)return n[r]},indexOf:function(e){return Qe(this._data,e)},at:function(e){return this._data.at(e)},data:function(e){var t=this;if(e!==F){t._detachObservableParents();t._data=this._observe(e);t._pristineData=e.slice(0);t._storeData();t._ranges=[];t.trigger("reset");t._addRange(t._data);t._total=t._data.length;t._pristineTotal=t._total;t._process(t._data)}else{if(t._data)for(var r=0;r<t._data.length;r++)t._data.at(r);return t._data}},view:function(e){if(e===F)return this._view;else this._view=this._observeView(e)},_observeView:function(e){var t=this;Ue(e,t._data,t._ranges,t.reader.model||f,t._isServerGrouped());var r=new K(e,t.reader.model);r.parent=function(){return t.parent()};return r},flatView:function(){var e=this.group()||[];if(e.length)return Me(this._view);else return this._view},add:function(e){return this.insert(this._data.length,e)},_createNewModel:function(e){if(this.reader.model)return new this.reader.model(e);if(e instanceof f)return e;return new f(e)},insert:function(e,t){if(!t){t=e;e=0}if(!(t instanceof ne))t=this._createNewModel(t);if(this._isServerGrouped())this._data.splice(e,0,this._wrapInEmptyGroup(t));else this._data.splice(e,0,t);this._insertModelInRange(e,t);return t},pushInsert:function(e,t){var r=this;var i=r._getCurrentRangeSpan();if(!t){t=e;e=0}if(!l(t))t=[t];var n=[];var a=this.options.autoSync;this.options.autoSync=false;try{for(var s=0;s<t.length;s++){var o=t[s];var u=this.insert(e,o);n.push(u);var f=u.toJSON();if(this._isServerGrouped())f=this._wrapInEmptyGroup(f);this._pristineData.push(f);if(i&&i.length)v(i).last()[0].pristineData.push(f);e++}}finally{this.options.autoSync=a}if(n.length)this.trigger("push",{type:"create",items:n})},pushCreate:function(e){this.pushInsert(this._data.length,e)},pushUpdate:function(e){if(!l(e))e=[e];var t=[];for(var r=0;r<e.length;r++){var i=e[r];var n=this._createNewModel(i);var a=this.get(n.id);if(a){t.push(a);a.accept(i);a.trigger(c);this._updatePristineForModel(a,i)}else this.pushCreate(i)}if(t.length)this.trigger("push",{type:"update",items:t})},pushDestroy:function(e){var t=this._removeItems(e);if(t.length)this.trigger("push",{type:"destroy",items:t})},_removeItems:function(e,t){if(!l(e))e=[e];var r=typeof t!=="undefined"?t:true;var i=[];var n=this.options.autoSync;this.options.autoSync=false;try{for(var a=0;a<e.length;a++){var s=e[a];var o=this._createNewModel(s);var u=false;this._eachItem(this._data,function(e){for(var t=0;t<e.length;t++){var r=e.at(t);if(r.id===o.id){i.push(r);e.splice(t,1);u=true;break}}});if(u&&r){this._removePristineForModel(o);this._destroyed.pop()}}}finally{this.options.autoSync=n}return i},pushMove:function(e,t){var r=this._moveItems(e,t);if(r.length)this.trigger("push",{type:"update",items:r})},_moveItems:function(i,e){if(!l(e))e=[e];var n=[];var t=this.options.autoSync;this.options.autoSync=false;try{for(var r=0;r<e.length;r++){var a=e[r];var s=this._createNewModel(a);this._eachItem(this._data,function(e){for(var t=0;t<e.length;t++){var r=e.at(t);if(r.id===s.id){n.push(r);e.splice(i>=t?--i:i,0,e.splice(t,1)[0]);i++;break}}})}}finally{this.options.autoSync=t}return n},remove:function(t){var r,e=this,i=e._isServerGrouped();if(i&&t.uid&&(!t.isNew||!t.isNew()))e._pushInDestroyed(t);this._eachItem(e._data,function(e){r=Je(e,t);if(r&&i)return true});this._removeModelFromRanges(t);return t},destroyed:function(){return this._destroyed},created:function(){var e,t,r=[],i=this._flatData(this._data,this.options.useRanges);for(e=0,t=i.length;e<t;e++)if(i[e].isNew&&i[e].isNew())r.push(i[e]);return r},updated:function(){var e,t,r=[],i=this._flatData(this._data,this.options.useRanges);for(e=0,t=i.length;e<t;e++)if(i[e].isNew&&!i[e].isNew()&&i[e].dirty)r.push(i[e]);return r},sync:function(){var r=this,e=[],t=[],i=r._destroyed;var n=v.Deferred().resolve().promise();if(r.online()){if(!r.reader.model)return n;e=r.created();t=r.updated();var a=[];if(r.options.batch&&r.transport.submit)a=r._sendSubmit(e,t,i);else{a.push.apply(a,r._send("create",e));a.push.apply(a,r._send("update",t));a.push.apply(a,r._send("destroy",i))}n=v.when.apply(null,a).then(function(){var e,t;for(e=0,t=arguments.length;e<t;e++)if(arguments[e])r._accept(arguments[e]);r._storeData(true);r._syncEnd();r._change({action:"sync"});r.trigger(R);if(r._isServerGroupPaged())r.read()})}else{r._storeData(true);r._syncEnd();r._change({action:"sync"})}return n},_syncEnd:P,cancelChanges:function(e){var t=this;if(e instanceof m.data.Model)t._cancelModel(e);else{t._destroyed=[];t._detachObservableParents();t._data=t._observe(t._pristineData);if(t.options.serverPaging)t._total=t._pristineTotal;t._ranges=[];t._addRange(t._data,0);t._changesCanceled();t._change();t._markOfflineUpdatesAsDirty();if(t._isServerGrouped())t.read()}},_changesCanceled:P,_markOfflineUpdatesAsDirty:function(){var e=this;if(e.options.offlineStorage!=null)e._eachItem(e._data,function(e){for(var t=0;t<e.length;t++){var r=e.at(t);if(r.__state__=="update"||r.__state__=="create")r.dirty=true}})},hasChanges:function(){var e,t,r=this._flatData(this._data,this.options.useRanges);if(this._destroyed.length)return true;for(e=0,t=r.length;e<t;e++)if(r[e].isNew&&r[e].isNew()||r[e].dirty)return true;return false},_accept:function(e){var t=this,r=e.models,i=e.response,n=0,a=t._isServerGrouped(),s=t._pristineData,o=e.type,u;t.trigger(D,{response:i,type:o});if(i&&!k(i)){i=t.reader.parse(i);if(t._handleCustomErrors(i))return;i=t.reader.data(i);if(!l(i))i=[i]}else i=v.map(r,function(e){return e.toJSON()});if(o==="destroy")t._destroyed=[];for(n=0,u=r.length;n<u;n++)if(o!=="destroy"){r[n].accept(i[n]);if(o==="create")s.push(a?t._wrapInEmptyGroup(r[n].toJSON()):i[n]);else if(o==="update")t._updatePristineForModel(r[n],i[n])}else t._removePristineForModel(r[n])},_updatePristineForModel:function(e,r){this._executeOnPristineForModel(e,function(e,t){m.deepExtend(t[e],r)})},_executeOnPristineForModel:function(r,i){this._eachPristineItem(function(e){var t=Ve(e,r);if(t>-1){i(t,e);return true}})},_removePristineForModel:function(e){this._executeOnPristineForModel(e,function(e,t){t.splice(e,1)})},_readData:function(e){var t=!this._isServerGrouped()?this.reader.data:this.reader.groups;return t.call(this.reader,e)},_eachPristineItem:function(r){var i=this;var e=i.options;var t=i._getCurrentRangeSpan();i._eachItem(i._pristineData,r);if(e.serverPaging&&e.useRanges)x(t,function(e,t){i._eachItem(t.pristineData,r)})},_eachItem:function(e,t){if(e&&e.length)if(this._isServerGrouped())je(e,t);else t(e)},_pristineForModel:function(t){var r,i,e=function(e){i=Ve(e,t);if(i>-1){r=e[i];return true}};this._eachPristineItem(e);return r},_cancelModel:function(r){var i=this;var n=this._pristineForModel(r);this._eachItem(this._data,function(e){var t=Qe(e,r);if(t>=0)if(n&&(!r.isNew()||n.__state__)){e[t].accept(n);if(n.__state__=="update")e[t].dirty=true}else{i._modelCanceled(r);e.splice(t,1);i._removeModelFromRanges(r)}})},_modelCanceled:P,_submit:function(n,e){var a=this;a.trigger(q,{type:"submit"});a.trigger(O);a.transport.submit(p({success:function(e,t){var r=v.grep(n,function(e){return e.type==t})[0];if(r)r.resolve({response:e,models:r.models,type:t})},error:function(e,t,r){for(var i=0;i<n.length;i++)n[i].reject(e);a.error(e,t,r)}},e))},_sendSubmit:function(t,r,i){var e=this,n=[];if(e.options.batch){if(t.length)n.push(v.Deferred(function(e){e.type="create";e.models=t}));if(r.length)n.push(v.Deferred(function(e){e.type="update";e.models=r}));if(i.length)n.push(v.Deferred(function(e){e.type="destroy";e.models=i}));e._submit(n,{data:{created:e.reader.serialize(Fe(t)),updated:e.reader.serialize(Fe(r)),destroyed:e.reader.serialize(Fe(i))}})}return n},_promise:function(e,t,r){var n=this;return v.Deferred(function(i){n.trigger(q,{type:r});n.trigger(O);n.transport[r].call(n.transport,p({success:function(e){i.resolve({response:e,models:t,type:r})},error:function(e,t,r){i.reject(e);n.error(e,t,r)}},e))}).promise()},_send:function(e,t){var r=this,i,n,a=[],s=r.reader.serialize(Fe(t));if(r.options.batch){if(t.length)a.push(r._promise({data:{models:s}},t,e))}else for(i=0,n=t.length;i<n;i++)a.push(r._promise({data:s[i]},[t[i]],e));return a},read:function(e){var t=this,r=t._params(e);var i=v.Deferred();t._queueRequest(r,function(){var e=t.trigger(q,{type:"read"});if(!e){t.trigger(O);t._ranges=[];t.trigger("reset");if(t.online())t.transport.read({data:r,success:function(e){t._ranges=[];t.success(e,r);i.resolve()},error:function(){var e=U.call(arguments);t.error.apply(t,e);i.reject.apply(i,e)}});else if(t.options.offlineStorage!=null){t.success(t.offlineData(),r);i.resolve()}}else{t._dequeueRequest();i.resolve(e)}});return i.promise()},_readAggregates:function(e){return this.reader.aggregates(e)},success:function(e){var t=this,l=t.options,r,i;t.trigger(D,{response:e,type:"read"});if(t.online()){e=t.reader.parse(e);if(t._handleCustomErrors(e)){t._dequeueRequest();return}t._total=t.reader.total(e);if(t._isServerGroupPaged())t._serverGroupsTotal=t._total;if(t._pageSize>t._total){t._pageSize=t._total;if(t.options.pageSize&&t.options.pageSize>t._pageSize)t._pageSize=t.options.pageSize}if(t._aggregate&&l.serverAggregates)t._aggregateResult=t._readAggregates(e);e=t._readData(e);t._destroyed=[]}else{e=t._readData(e);r=[];var n={};var a=t.reader.model;var d=a?a.idField:"id";var s;for(s=0;s<this._destroyed.length;s++){var g=this._destroyed[s][d];n[g]=g}for(s=0;s<e.length;s++){var o=e[s];var h=o.__state__;if(h=="destroy"){if(!n[o[d]])this._pushInDestroyed(this._createNewModel(o))}else r.push(o)}e=r;t._total=e.length}t._pristineTotal=t._total;i=t._skip&&t._data.length&&t._skip<t._data.length;if(t.options.endless){if(i)t._pristineData.splice(t._skip,t._pristineData.length);r=e.slice(0);for(var u=0;u<r.length;u++)t._pristineData.push(r[u])}else t._pristineData=e.slice(0);t._detachObservableParents();if(t.options.endless){t._data.unbind(c,t._changeHandler);if(t._isServerGrouped()&&t._data[t._data.length-1].value===e[0].value){Ae(t._data[t._data.length-1],e[0]);e.shift()}e=t._observe(e);if(i)t._data.splice(t._skip,t._data.length);for(var f=0;f<e.length;f++)t._data.push(e[f]);t._data.bind(c,t._changeHandler)}else t._data=t._observe(e);t._markOfflineUpdatesAsDirty();t._storeData();t._addRange(t._data);t._process(t._data);t._dequeueRequest()},_detachObservableParents:function(){if(this._data&&this._shouldDetachObservableParents)for(var e=0;e<this._data.length;e++)if(this._data[e].parent)this._data[e].parent=P},_storeData:function(e){var a=this._isServerGrouped();var s=this.reader.model;function o(e){var t=[];for(var r=0;r<e.length;r++){var i=e.at(r);var n=i.toJSON();if(a&&i.items)n.items=o(i.items);else{n.uid=i.uid;if(s)if(i.isNew())n.__state__="create";else if(i.dirty)n.__state__="update"}t.push(n)}return t}if(this.options.offlineStorage!=null){var t=o(this._data);var r=[];for(var i=0;i<this._destroyed.length;i++){var n=this._destroyed[i].toJSON();n.__state__="destroy";r.push(n)}this.offlineData(t.concat(r));if(e)this._pristineData=this.reader.reader?this.reader.reader._wrapDataAccessBase(t):this.reader._wrapDataAccessBase(t)}},_addRange:function(e,t){var r=this,i=typeof t!=="undefined"?t:r._skip||0,n,a={data:e,pristineData:e.toJSON(),timestamp:r._timeStamp()};if(this._isGroupPaged()){n=i+e.length;a.outerStart=i;a.outerEnd=n}else n=i+r._flatData(e,true).length;a.start=i;a.end=n;r._ranges.push(a);r._sortRanges();if(r._isGroupPaged()){if(!r._groupsFlat)r._groupsFlat=[];r._appendToGroupsFlat(a.data);r._updateOuterRangesLength()}},_appendToGroupsFlat:function(e){var t=e.length;for(var r=0;r<t;r++)this._groupsFlat.push(e[r])},_getGroupByUid:function(e){var t=this._groupsFlat.length;var r;for(var i=0;i<t;i++){r=this._groupsFlat[i];if(r.uid===e)return r}},_sortRanges:function(){this._ranges.sort(function(e,t){return e.start-t.start})},error:function(e,t,r){this._dequeueRequest();this.trigger(D,{});this.trigger(C,{xhr:e,status:t,errorThrown:r})},_params:function(e){var t=this,r=p({take:t.take(),skip:t.skip(),page:t.page(),pageSize:t.pageSize(),sort:t._sort,filter:t._filter,group:t._group,aggregate:t._aggregate,groupPaging:!!t._groupPaging},e);if(!t.options.serverPaging){delete r.take;delete r.skip;delete r.page;delete r.pageSize}if(!t.options.serverGrouping)delete r.group;else if(t.reader.model&&r.group)r.group=Ke(r.group,t.reader.model);if(!t.options.serverFiltering)delete r.filter;else if(t.reader.model&&r.filter)r.filter=$e(r.filter,t.reader.model);if(!t.options.serverSorting)delete r.sort;else if(t.reader.model&&r.sort)r.sort=Ke(r.sort,t.reader.model);if(!t.options.serverAggregates)delete r.aggregate;else if(t.reader.model&&r.aggregate)r.aggregate=Ke(r.aggregate,t.reader.model);if(!t.options.groupPaging)delete r.groupPaging;return r},_queueRequest:function(e,t){var r=this;if(!r._requestInProgress){r._requestInProgress=true;r._pending=F;t()}else r._pending={callback:t.bind(r),options:e}},_dequeueRequest:function(){var e=this;e._requestInProgress=false;if(e._pending)e._queueRequest(e._pending.options,e._pending.callback)},_handleCustomErrors:function(e){if(this.reader.errors){var t=this.reader.errors(e);if(t){this.trigger(C,{xhr:null,status:"customerror",errorThrown:"custom error",errors:t});return true}}return false},_shouldWrap:function(e){var t=this.reader.model;if(t&&e.length)return!(e[0]instanceof t);return false},_observe:function(e){var t=this,r=t.reader.model;t._shouldDetachObservableParents=true;if(e instanceof $){t._shouldDetachObservableParents=false;if(t._shouldWrap(e)){e.type=t.reader.model;e.wrapAll(e,e)}}else{var i=t.pageSize()&&!t.options.serverPaging?K:$;e=new i(e,t.reader.model);e.parent=function(){return t.parent()}}if(t._isServerGrouped())Le(e,r);if(t._changeHandler&&t._data&&t._data instanceof $&&!(t.options.useRanges&&t.options.serverPaging))t._data.unbind(c,t._changeHandler);else t._changeHandler=t._change.bind(t);return e.bind(c,t._changeHandler)},_updateTotalForAction:function(e,t){var r=this;var i=parseInt(r._total,10);if(!xe(r._total))i=parseInt(r._pristineTotal,10);if(e==="add")i+=t.length;else if(e==="remove")i-=t.length;else if(e!=="itemchange"&&e!=="sync"&&!r.options.serverPaging)i=r._pristineTotal;else if(e==="sync")i=r._pristineTotal=parseInt(r._total,10);r._total=i},_pushInDestroyed:function(t){var e=this._destroyed.find(function(e){return e.uid===t.uid});if(!e)this._destroyed.push(t)},_change:function(t){var r=this,e,i,n=t?t.action:"";if(n==="remove")for(e=0,i=t.items.length;e<i;e++)if(!t.items[e].isNew||!t.items[e].isNew())r._pushInDestroyed(t.items[e]);if(r.options.autoSync&&(n==="add"||n==="remove"||n==="itemchange")){var a=function(e){if(e.action==="sync"){r.unbind("change",a);r._updateTotalForAction(n,t.items)}};r.first("change",a);r.sync()}else{r._updateTotalForAction(n,t?t.items:[]);r._process(r._data,t)}},_calculateAggregates:function(e,t){t=t||{};var r=new S(e),i=t.aggregate,n=t.filter;if(n)r=r.filter(n);return r.aggregate(i)},_process:function(e,t){var r=this,i={},n;if(r.options.serverPaging!==true){i.skip=r._skip;i.take=r._take||r._pageSize;if(i.skip===F&&r._page!==F&&r._pageSize!==F)i.skip=(r._page-1)*r._pageSize;if(r.options.useRanges)i.skip=r.currentRangeStart()}if(r.options.serverSorting!==true)i.sort=r._sort;if(r.options.serverFiltering!==true)i.filter=r._filter;if(r.options.serverGrouping!==true)i.group=r._group;if(r.options.serverAggregates!==true)i.aggregate=r._aggregate;if(r.options.serverGrouping)r._clearEmptyGroups(e);i.groupPaging=r._groupPaging;if(r._isGroupPaged()&&t&&(t.action==="page"||t.action==="expandGroup"||t.action==="collapseGroup"))n=r._queryProcess(e,{aggregate:r._aggregate});else n=r._queryProcess(e,i);if(r._filter&&t&&t.action==="add"){var a=t.items[0],s=n.data;var o=s.find(function(e){return e.uid===a.uid});if(!o){n.data.splice(a.index,0,a);n.total++}}if(r.options.serverAggregates!==true)r._aggregateResult=r._calculateAggregates(n.dataToAggregate||e,i);r._setView(n,i,t);r._setFilterTotal(n.total,false);t=t||{};t.items=t.items||r._view;r.trigger(c,t)},_setView:function(e,t,r){var i=this;if(i._isGroupPaged()&&!i._isServerGrouped())if(r&&(r.action==="page"||r.action==="expandGroup"||r.action==="collapseGroup")){i.view(e.data);i._updateOuterRangesLength()}else{i._ranges=[];var n=new S(e.data);i._addRange(i._observe(e.data));if(t.skip+t.take>e.data.length)t.skip=e.data.length-t.take;i.view(n.range(t.skip,t.take).toArray())}else i.view(e.data)},_clearEmptyGroups:function(e){for(var t=e.length-1;t>=0;t--){var r=e[t];if(r.hasSubgroups)this._clearEmptyGroups(r.items);if(r.items&&!r.items.length&&!r.itemCount)B.apply(r.parent(),[t,1])}},_queryProcess:function(e,t){if(this.options.inPlaceSort)return S.process(e,t,this.options.inPlaceSort);else return S.process(e,t)},_mergeState:function(e){var t=this;if(e!==F){t._pageSize=e.pageSize;t._page=e.page;t._sort=e.sort;t._filter=e.filter;t._group=e.group;t._aggregate=e.aggregate;t._skip=t._currentRangeStart=e.skip;t._take=e.take;if(t._skip===F){t._skip=t._currentRangeStart=t.skip();e.skip=t.skip()}if(t._take===F&&t._pageSize!==F){t._take=t._pageSize;e.take=t._take}if(t.options.virtual)e.virtual=t.options.virtual;if(e.sort){t._sort=e.sort=ue(e.sort);t._sortFields=fe(e.sort)}if(e.filter)t._filter=e.filter=t.options.accentFoldingFiltering&&!v.isEmptyObject(e.filter)?v.extend({},ge(e.filter),{accentFoldingFiltering:t.options.accentFoldingFiltering}):ge(e.filter);if(e.group)t._group=e.group=me(e.group);if(e.aggregate)t._aggregate=e.aggregate=ve(e.aggregate)}return e},query:function(e){var t;var r=this.options.serverSorting||this.options.serverPaging||this.options.serverFiltering||this.options.serverGrouping||this.options.serverAggregates;if(r||(this._data===F||this._data.length===0)&&!this._destroyed.length){if(this.options.endless){var i=e.pageSize-this.pageSize();if(i>0){i=this.pageSize();e.page=e.pageSize/i;e.pageSize=i}else{e.page=1;this.options.endless=false}}return this.read(this._mergeState(e))}var n=this.trigger(q,{type:"read"});if(!n){this.trigger(O);if(e)e.groupPaging=this._groupPaging;t=this._queryProcess(this._data,this._mergeState(e));this._setFilterTotal(t.total,true);this._aggregateResult=this._calculateAggregates(t.dataToAggregate||this._data,e);this._setView(t,e);this.trigger(D,{type:"read"});this.trigger(c,{items:t.data,action:e?e.action:""})}return v.Deferred().resolve(n).promise()},_hasExpandedSubGroups:function(e){var t=false;var r=e.items?e.items.length:0;if(!e.hasSubgroups)return false;for(var i=0;i<r;i++)if(this._groupsState[e.items[i].uid]){t=true;break}return t},_findGroupedRange:function(e,t,r,i,l){var n=this;var d=e.length;var a;var s;var g;var o;var h;for(var u=0;u<d;u++){a=e[u];if(r.taken>=r.take)break;if(!n._getGroupByUid(a.uid))n._groupsFlat.push(a);if(n._groupsState[a.uid]){if(n._isServerGroupPaged()){if(n._fetchGroupItems(a,r,i,l)){n._fetchingGroupItems=true;return}o=(a.subgroupCount||a.itemCount)+1;h=r.skip-r.skipped;if(!n._hasExpandedSubGroups(a)&&h>o){r.skipped+=o;continue}}if(r.includeParents&&r.skipped<r.skip){r.skipped++;a.excludeHeader=true}else if(r.includeParents){r.taken++;a.excludeHeader=false}if(a.hasSubgroups&&a.items&&a.items.length){a.currentItems=[];if(!i)i=[];i.push(a);n._findGroupedRange(a.items,a.currentItems,r,i,l);i.pop();if(a.currentItems.length||r.taken>0)t.push(a);else a.excludeHeader=false}else{s=[];g=a.items.length;for(var f=0;f<g;f++){if(r.skipped<r.skip){r.skipped++;continue}if(r.taken>=r.take)break;s.push(a.items[f]);r.taken++}if(s.length||r.taken>0){a.currentItems=s;t