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