UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines 78.9 kB
!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.min","kendo.data.xml.min"],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",R="requestEnd",C="itemsLoaded",G="itemLoad",q=[m,y,S,b],D=function(e){return e},T=h.getter,I=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(C,{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 We;"[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:T(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?xe.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(e){const t=this;e=t.options=i({},t.options,e),t.messageTypes={ai:"assistant",system:"system",user:"user",tool:"tool"}},read:function(t){const r=this;t=r.setup(t),r.options.requestStart&&r.options.requestStart(t),e.ajax(t)},success:function(e,t){const r=this,i=r.options.service,n=i?.outputGetter||r._getResponseData,a=t.isRetry,s=t.prompt,o={id:h.guid(),output:n(e),prompt:s,isRetry:a};r.options.success&&r.options.success(o)},error:function(e){const t=this;t.options.error&&t.options.error(e)},setup:function(e={}){const t=this,r=t.options.service,i=t.getData(e),n={url:"string"==typeof r?r:r.url,type:"POST",contentType:"application/json",data:JSON.stringify(i),success:function(r){t.success.call(t,r,e)},error:t.error};return r?.headers&&(n.headers=r.headers),n},getData:function(t){const r=t.service,i=t.isRetry,n=t.history,a=t.prompt;let s=[{role:{value:this.messageTypes.user},text:a}];return n?.length&&(s=n.concat(s)),r?.data&&f(r?.data)?r.data(a,i,n):r?.data&&Object.keys(r.data).length?e.extend({},r.data,{messages:s}):s},_getResponseData:function(e){return e?.Message?.Text||"An error occurred while processing the request."}}),xe=p.extend({init:function(){this._store={}},add:function(e,r){e!==t&&(this._store[I(e)]=r)},find:function(e){return this._store[I(e)]},clear:function(){this._store={}},remove:function(e){delete this._store[I(e)]}});function Fe(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 Oe(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 Re(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?Re(a.items,t,r,i,n):Oe(a.items,t,r,0,n))}function Ce(e,t,r,i,n,a){return function(s){return s=e(s),Ge(t,r,i,n,a)(s)}}function Ge(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||[]}}xe.create=function(e){var t={inmemory:function(){return new xe}};return n(e)&&f(e.find)?e:!0===e?new xe:t[e]()};var qe=p.extend({init:function(e){var t,r,i,a,s=this;for(t in e=e||{})r=e[t],s[t]=typeof r===_?T(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(".")?T(l,!0):T(l),p[e]=T(e),f[r||u]=e,v[e]=r||u})),!e.serialize&&m&&(s.serialize=Ce(h,i,Fe,p,f,v))),s._dataAccessFunction=o,s._wrapDataAccessBase=Ge(i,Oe,c,f,v),s.data=Ce(o,i,Oe,c,f,v),s.groups=Ce(g,i,Re,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 De(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?De(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 Te(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?Te(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?(Te(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 ze(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(ze(s.items));else for(i=s.items,n=0;n<i.length;n++)a.push(i.at(n))}return a}function Ee(e,t){var r,i,n;if(t)for(r=0,i=e.length;r<i;r++)(n=e.at(r)).items&&(n.hasSubgroups?Ee(n.items,t):n.items=new Q(n.items,t,n.items._events))}function Ae(e,t){for(var r=0;r<e.length;r++)if(e[r].hasSubgroups){if(Ae(e[r].items,t))return!0}else if(t(e[r].items,e[r]))return!0}function Me(e,t,r,i){for(var n=0;n<e.length&&e[n].data!==t&&!Ne(e[n].data,r,i);n++);}function Ne(e,t,r){for(var i=0,n=e.length;i<n;i++){if(e[i]&&e[i].hasSubgroups)return Ne(e[i].items,t,r);if(e[i]===t||e[i]===r)return e[i]=r,!0}}function je(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),Me(i,r,u,e[s]);break}}else je(u.items,r,i,n,a)}}function Le(e,t){return t?He(e,(function(e){return e.uid&&e.uid==t.uid||e[t.idField]===t.id&&t.id!==t._defaultId})):-1}function Be(e,t){return t?He(e,(function(e){return e.uid==t.uid})):-1}function He(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 Ue(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 Je(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]=Je(e.filters[r],t);else n.field=Ue(t.fields,n.field);return n}function Ve(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=Ue(t.fields,n.field),n.aggregates&&o(n.aggregates)&&(n.aggregates=Ve(n.aggregates,t)),s.push(n)}return s}var We=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=Qe.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,I(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,R,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 ze(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 Be(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;je(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?ze(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(R,{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=Le(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()?Ae(e,t):t(e))},_pristineForModel:function(e){var t,r;return this._eachPristineItem((function(i){if((r=Le(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=Be(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(R,{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&&(De(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(R,{}),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=Ve(r.group,t.reader.model)):delete r.group,t.options.serverFiltering?t.reader.model&&r.filter&&(r.filter=Je(r.filter,t.reader.model)):delete r.filter,t.options.serverSorting?t.reader.model&&r.sort&&(r.sort=Ve(r.sort,t.reader.model)):delete r.sort,t.options.serverAggregates?t.reader.model&&r.aggregate&&(r.aggregate=Ve(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()&&Ee(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=I(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=ze(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(R,{type:"read"}),this.trigger(k,{items:i.data,action:r?r.action:""})),e.Deferred().resolve(a).promise()},_hasExpandedSubGroups:function(e){var t=!1,r=e.items?e.items.length:0;if(!e.hasSubgroups)return!1;for(var i=0;i<r;i++)if(this._groupsState[e.items[i].uid]){t=!0;break}return t},_findGroupedRange:function(e,t,r,i,n){for(var a,s,o,u,l,d=this,g=e.length,h=0;h<g&&(a=e[h],!(r.taken>=r.take));h++)if(d._getGroupByUid(a.uid)||d._groupsFlat.push(a),d._groupsState[a.uid]){if(d._isServerGroupPaged()){if(d._fetchGroupItems(a,r,i,n))return void(d._fetchingGroupItems=!0);if(u=(a.subgroupCount||a.itemCount)+1,l=r.skip-r.skipped,!d._hasExpandedSubGroups(a)&&l>u){r.skipped+=u;continue}}if(r.includeParents&&r.skipped<r.skip?(r.skipped++,a.excludeHeader=!0):r.includeParents&&(r.taken++,a.excludeHeader=!1),a.hasSubgroups&&a.items&&a.items.length)a.currentItems=[],i||(i=[]),i.push(a),d._findGroupedRange(a.items,a.currentItems,r,i,n),i.pop(),a.currentItems.length||r.taken>0?t.push(a):a.excludeHeader=!1;else{s=[],o=a.items.length;for(var f=0;f<o;f++)if(r.skipped<r.skip)r.skipped++;else{if(r.taken>=r.take)break;s.push(a.items[f]),r.taken++}s.length||r.taken>0?(a.currentItems=s,t.push(a)):a.excludeHeader=!1}}else{if(r.skipped<r.skip){r.skipped++;continue}t.push(a),r.taken++}},_expandedSubGroupItemsCount:function(e,t,r){var i,n,a=this,s=0,o="number"==typeof t,u=o?t:e.subgroupCount;if(!e.hasSubgroups)return s;for(var l=0;l<u&&(i=e.items[l]);l++)if(i.hasSubgroups&&a._groupsState[e.uid]?(s+=n=a._expandedSubGroupItemsCount(i,u,!0),o&&(u-=n)):!i.hasSubgroups&&a._groupsState[i.uid]&&(s+=n=i.items?i.items.length:0,o&&(u-=n)),r&&(s+=1,o&&(u-=1)),o&&s>u)return s;return s},_fetchGroupItems:function(e,t,r,i){let n,a,s,o,u=this,l=e.hasSubgroups?e.subgroupCount:e.itemCount,d=t.take,g=t.skipped,h=u.take();if(t.includeParents&&(g<t.skip?g+=1:d-=1),!e.items||e.items&&!e.items.length)return u.getGroupItems(e,t,r,i,0),!0;{if(o=this._expandedSubGroupItemsCount(e,t.skip-g),n=Math.max(t.skip-(g+o),0),n>=l)return!1;let f=Math.min(n+d,l-1);if(a=e.items[n],s=e.items[f],a.notFetched)return u.getGroupItems(e,t,r,i,n,z.round((n+h)/h)),!0;if(s.notFetched)return u.getGroupItems(e,t,r,i,z.max(z.floor((n+h)/h),0)*h,z.round((n+h)/h)),!0;if(!a.notFetched&&!s.notFetched&&function(e,t,r){for(let i=t;i<r;i++)if(e[i].notFetched)return!0;return!1}(e.items,n,f))return u.getGroupItems(e,t,r,i,n,f),!0}},getGroupItems:function(e,t,r,i,n,a){var s,o,u,l,d=this;e.items||(e.items=[]),s=d.take(),o=this._composeItemsFilter(e,r),u={page:a||1,pageSize:s,skip:n,take:s,filter:o,aggregate:d._aggregate,sort:d._sort},(l=d.findSubgroups(e))&&l.length&&(u.group=l),u.groupPaging=!0,d._queueWithTimeout(u,(function(){d.trigger(F,{type:"read"})?d._dequeueRequest():d.transport.read({data:u,success:d._groupItemsSuccessHandler(e,t.skip,d.take(),i,n),error:function(){var e=L.call(arguments);d.error.apply(d,e)}})}),100)},_queueWithTimeout:function(e,t,r){let i=this;clearTimeout(i._timeout),i._timeout=setTimeout((function(){i._queueRequest(e,t)}),r)},_groupItemsSuccessHandler:function(e,t,r,i,n){var a=this,s=a._timeStamp();i=f(i)?i:g;var o=a.options.schema&&a.options.schema.total?a.options.schema.total:"Total";return function(u){var l,d,g=te.define(a.options.schema.model);a._dequeueRequest(),a.trigger(R,{response:u,type:"read"}),d=f(o)?o(u):u[o],u=a.reader.parse(u),e.hasSubgroups?(l=a.reader.groups(u),e.subgroupCount=d):l=(l=a.reader.data(u)).map((function(e){return new g(e)})),e.items.omitChangeEvent=!0;for(var h=0;h<d;h++)h>=n&&h<n+r?e.items.splice(h,1,l[h-n]):e.items[h]||e.items.splice(h,0,{notFetched:!0});e.items.omitChangeEvent=!1,a._updateRangePristineData(e),a._fetchingGroupItems=!1,e.countAdded||(a._serverGroupsTotal+=d,e.countAdded=!0),a.range(t,r,i,"expandGroup"),(s>=a._currentRequestTimeStamp||!a._skipRequestsInProgress)&&a.trigger(k,{})}},findSubgroups:function(e){var t=this._group.map((function(e){return e.field})).indexOf(e.field);return this._group.slice(t+1,this._group.length)},_composeItemsFilter:function(e,t){var r={logic:"and",filters:[]};if(this.filter()&&r.filters.push(this.filter()),(r=i(!0,{},r)).filters.push({field:e.field,operator:"eq",value:e.value}),t)for(var n=0;n<t.length;n++)r.filters.push({field:t[n].field,operator:"eq",value:t[n].value});return r},_updateRangePristineData:function(e){for(var t,r,i,n,a,s=this,o=s._ranges,u=o.length,l=0;l<u;l++){n=(i=o[l]).data.length,a=[],t=null;for(var d=0;d<n&&(r=i.data[d],a.push(d),!(r.uid===e.uid||r.hasSubgroups&&r.items.length&&s._containsSubGroup(r,e,a)));d++)a.pop();if(a.length){for(t=o[l].pristineData;a.length>1;)t=t[a.splice(0,1)[0]].items;t[a[0]]=s._cloneGroup(e);break}}},_containsSubGroup:function(e,t,r){var i,n=e.items.length;if(e.hasSubgroups&&n)for(var a=0;a<n;a++){if(i=e.items[a],r.push(a),i.uid===t.uid||i.hasSubgroups&&i.items.length&&this._containsSubGroup(i,t,r))return!0;r.pop()}},_cloneGroup:function(e){var t=this;return(e="function"==typeof e.toJSON?e.toJSON():e).items&&e.items.length&&(e.items=e.items.map((function(e){return t._cloneGroup(e)}))),e},_setFilterTotal:function(e,r){var i=this;i.options.serverFiltering||(e!==t?i._total=e:r&&(i._total=i._data.length))},fetch:function(e){var t=this;return this._query().done((function(r){!0!==r&&f(e)&&e.call(t)}))},_query:function(e){var t=this;return t.query(i({},{page:t.page(),pageSize:t.pageSize(),sort:t.sort(),filter:t.filter(),group:t.group(),aggregate:t.aggregate()},e))},next:function(e){var t=this,r=t.page(),i=t.total();if(e=e||{},r&&!(i&&r+1>t.totalPages()))return t._skip=t._currentRangeStart=r*t.take(),r+=1,e.page=r,t._query(e),r},prev:function(e){var t=this,r=t.page();if(e=e||{},r&&1!==r)return t._skip=t._currentRangeStart=t._skip-t.take(),r-=1,e.page=r,t._query(e),r},page:function(e){var r,i=this;if(e!==t){e=z.max(z.min(z.max(e,1),i.totalPages()),1);var n=i.take();return i._isGroupPaged()?(e-=1,void i.range(e*n,n,null,"page")):void i._query(i._pageableQueryOptions({page:e}))}return(r=i.skip())!==t?z.round((r||0)/(i.take()||1))+1:t},pageSize:function(e){var r=this;if(e===t)return r.take();r._query(r._pageableQueryOptions({pageSize:e,page:1}))},sort:function(e){var r=this;return e!==t?(r.trigger("sort"),void r._query({sort:e})):r._sort},filter:function(e){var r=this;if(e===t)return r._filter;r.trigger("reset"),r._query({filter:e,page:1})},group:function(e){var r=this,i={group:e};if(r._groupPaging&&(e===t||e&&e.length||(r._ranges=[]),i.page=1),e===t)return r._group;r._query(i)},getGroupsFlat:function(e){var t,r,i=[];for(t=0,r=e.length;t<r;t++){var n=e[t];n.hasSubgroups&&(i=i.concat(this.getGroupsFlat(n.items))),i.push(n)}return i},total:function(){return parseInt(this._total||0,10)},groupsTotal:function(e){var t=this;return t._group.length?t._isServerGrouped()?(t._serverGroupsTotal||(t._serverGroupsTotal=t.total()),t._serverGroupsTotal):t._calculateGroupsTotal(t._ranges.length?t._ranges[0].data:[],e):t.total()},_calculateGroupsTotal:function(e,t,r,i){var n,a,s=this;if(r=r||"items",s._group.length&&e){n=0,a=e.length;for(var o=0;o<a;o++)n+=s.groupCount(e[o],t,r,i);return s._groupsTotal=n,n}return s._groupsTotal=s._data.length,s._groupsTotal},groupCount:function(e,t,r,i){var n=this,a=0;return e.hasSubgroups&&n._groupsState[e.uid]?((t&&!e.excludeHeader||i)&&(a+=1),e[r].forEach((function(e){a+=n.groupCount(e,t,r,i)}))):n._groupsState[e.uid]?((t&&!e.excludeHeader||i)&&a++,a+=e[r]?e[r].length:0):a++,a},countGroupRange:function(e){for(var t=0,r=e.length,i=0;i<r;i++)t+=this.groupCount(e[i],!0);return t},aggregate:function(e){if(e===t)return this._aggregate;this._query({aggregate:e})},aggregates:function(){var e=this._aggregateResult;return s(e)&&(e=this._emptyAggregates(this.aggregate())),e},_emptyAggregates:function(e){var t={};if(!s(e)){var r={};o(e)||(e=[e]);for(var i=0;i<e.length;i++)r[e[i].aggregate]=0,t[e[i].field]=r}return t},_pageableQueryOptions:function(e){return e},_wrapInEmptyGroup:function(e){var t,r,i,n=this.group();for(i=n.length-1,0;i>=0;i--)r=n[i],t={value:e.get?e.get(r.field):e[r.field],field:r.field,items:t?[t]:[e],hasSubgroups:!!t,aggregates:this._emptyAggregates(r.aggregates)};return t},totalPages:function(){var e=this,t=e.pageSize()||e.total(),r=e._isGroupPaged()?e.groupsTotal(!0):e.total();return z.ceil((r||0)/t)},inRange:function(e,t){var r=this,i=z.min(e+t,r.total());return!r.options.serverPaging&&r._data.length>0||r._findRange(e,i).length>0},lastRange:function(){var e=this._ranges;return e[e.length-1]||{start:0,end:0,data:[]}},firstItemUid:function(){var e=this._ranges;return e.length&&e[0].data.length&&e[0].data[0].uid},enableRequestsInProgress:function(){this._skipRequestsInProgress=!1},_timeStamp:function(){return(new Date).getTime()},range:function(e,r,i,n){this._currentRequestTimeStamp=this._timeStamp(),this._skipRequestsInProgress=!0;var a=this._isGroupPaged()?this.groupsTotal(!0):this.total();"expandGroup"!==n&&"collapseGroup"!==n||this._updateOuterRangesLength(),e=z.min(e||0,a),i=f(i)?i:g;var s,o=this,u=z.max(z.floor(e/r),0)*r,l=z.min(u+r,a);if(((s=o._findRange(e,z.min(e+r,a),i)).length||0===a)&&!o._fetchingGroupItems)return o._processRangeData(s,e,r,o._originalPageSkip||u,o._originalSize||l,{action:n}),o._originalPageSkip=null,o._originalSize=null,void i();o._isGroupPaged()&&(o._originalPageSkip=u,o._originalSize=l,u=z.max(z.floor(o._adjustPageSkip(e,r)/r),0)*r,l=z.min(u+r,a)),r===t||o._fetchingGroupItems||(o._isGroupPaged()&&!o._groupRangeExists(u,r)||!o._rangeExists(u,l)?o.prefetch(u,r,(function(){e>u&&l<o.total()&&!o._rangeExists(l,z.min(l+r,o.total()))?o.prefetch(l,r,(function(){o.range(e,r,i)})):o.range(e,r,i)})):u<e&&o.prefetch(l,r,(function(){o.range(e,r,i)})))},_findRange:function(e,r,i){var n,a,s,o,u,l,d,g,h,f,c,p,_=this,v=_._ranges,m=[],y=_.options,S=y.serverSorting||y.serverPaging||y.serverFiltering||y.serverGrouping||y.serverAggregates,b={take:r-e,skip:e,skipped:0,taken:0,includeParents:!0},k=_._isGroupPaged(),w=k?"outerStart":"start",P=k?"outerEnd":"end";for(a=0,c=v.length;a<c;a++){if(n=v[a],k){if(n.outerStart>=r)return[];if(e>n.outerEnd){b.skipped+=n.outerEnd-(p||0),p=n.outerEnd;continue}if(void 0!==p&&p!=n.outerStart&&(b.skipped+=n.outerStart-p),b.skipped>b.skip)return[];for(void 0===p&&e>0&&n.start>0&&(b.skipped=n.outerStart),s=a;;){if(this._findGroupedRange(n.data,m,b,null,i),_._calculateGroupsTotal(m,!0,"currentItems")>=b.take)return m;if(_._fetchingGroupItems)return[];if(!v[++s]||v[s].outerStart!==n.outerEnd)break;n=v[s]}}else if(e>=n[w]&&e<=n[P]){for(f=0,s=a;s<c;s++)if(n=v[s],(h=_._flatData(n.data,!0)).length&&e+f>=n.start){if(l=n.data,d=n.end,!S){if(y.inPlaceSort)g=_._queryProcess(n.data,{filter:_.filter()});else{var x=pe(_.group()||[]).concat(se(_.sort()||[]));g=_._queryProcess(n.data,{sort:x,filter:_.filter()})}h=l=g.data,g.total!==t&&(d=g.total)}if(o=0,e+f>n.start&&(o=e+f-n.start),u=h.length,d>r&&(u-=d-r),f+=u-o,m=_._mergeGroups(m,l,o,u),r<=n.end&&f==r-e)return m}break}p=n.outerEnd}return[]},_getRangesMismatch:function(e){for(var t=this._ranges,r=0,i=0;;){var n=t[i];if(!n||n.outerStart>e)break;n.outerEnd!=n.end&&(r=n.outerEnd-n.end),i++}return r},_mergeGroups:function(e,t,r,i){if(this._isServerGrouped()){var n,a=t.toJSON();return e.length&&(n=e[e.length-1]),Te(n,a,r,i),e.concat(a)}return e.concat(t.slice(r,i))},_processRangeData:function(e,r,i,n,a,s){var o=this;o._pending=t,o._skip=r>o.skip()&&!o._omitPrefetch?z.min(a,(o.totalPages()-1)*o.take()):n,o._currentRangeStart=r,o._take=i;var u=o.options.serverPaging,l=o.options.serverSorting,d=o.options.serverFiltering,g=o.options.serverAggregates;try{o.options.serverPaging=!0,o._isServerGrouped()||o.group()&&o.group().length||(o.options.serverSorting=!0),o.options.serverFiltering=!0,o.options.serverPaging=!0,o.options.serverAggregates=!0,u&&(o._detachObservableParents(),o._data=e=o._observe(e)),o._process(e,s)}finally{o.options.serverPaging=u,o.options.serverSorting=l,o.options.serverFiltering=d,o.options.serverAggregates=g}},skip:function(){var e=this;return e._skip===t?e._page!==t?(e._page-1)*(e.take()||1):t:e._skip},currentRangeStart:function(){return this._currentRangeStart||0},take:function(){return this._take||this._pageSize},_prefetchSuccessHandler:function(e,t,r,i){var n=this,a=n._timeStamp();return function(s){var o,u,l,d=!1,g={start:e,end:t,data:[],timestamp:n._timeStamp()};if(n._dequeueRequest(),n.trigger(R,{response:s,type:"read"}),s=n.reader.parse(s),(l=n._readData(s)).length){for(o=0,u=n._ranges.length;o<u;o++)if(n._ranges[o].start===e){d=!0,g=n._ranges[o],n._isGroupPaged()||(g.pristineData=l,g.data=n._observe(l),g.end=g.start+n._flatData(g.data,!0).length,n._sortRanges());break}d||n._addRange(n._observe(l),e)}n._total=n.reader.total(s),(i||a>=n._currentRequestTimeStamp||!n._skipRequestsInProgress)&&(r&&l.length?r():n.trigger(k,{}))}},prefetch:function(e,t,r){var i=this,n=z.min(e+t,i.total()),a={take:t,skip:e,page:e/t+1,pageSize:t,sort:i._sort,filter:i._filter,group:i._group,aggregate:i._aggregate};i._isGroupPaged()&&!i._isServerGrouped()&&i._groupRangeExists(e,n)?r&&r():i._isServerGroupPaged()&&!i._groupRangeExists(e,n)||!i._rangeExists(e,n)?i._queueWithTimeout(a,(function(){i.trigger(F,{type:"read"})?i._dequeueRequest():(i._omitPrefetch&&i.trigger(O),i.transport.read({data:i._params(a),success:i._prefetchSuccessHandler(e,n,r),error:function(){var e=L.call(arguments);i.error.apply(i,e)}}))}),100):r&&r()},_multiplePrefetch:function(e,t,r){var i=this,n=z.min(e+t,i.total()),a={take:t,skip:e,page:e/t+1,pageSize:t,sort:i._sort,filter:i._filter,group:i._group,aggregate:i._aggregate};i._rangeExists(e,n)?r&&r():i.trigger(F,{type:"read"})||i.transport.read({data:i._params(a),success:i._prefetchSuccessHandler(e,n,r,!0)})},_adjustPageSkip:function(e,t){var r,i,n=this,a=n._getPrevRange(e),s=n.total();if(a){if(!(i=n._getRangesMismatch(e)))return e;e-=i}if((r=z.max(z.floor(e/t),0)*t)>s)for(;!((r-=t)<s););return r},_getNextRange:function(e){var t,r,i=this._ranges;for(t=0,r=i.length;t<r;t++)if(i[t].start<=e&&i[t].end>=e)return i[t]},_getPrevRange:function(e){var t,r,i=this._ranges;for(t=i.length-1;t>=0;t--)if(i[t].outerStart<=e){r=i[t];break}return r},_rangeExists:function(e,t){var r,i,n=this._ranges;for(r=0,i=n.length;r<i;r++)if(n[r].start<=e&&n[r].end>=t)return!0;return!1},_groupRangeExists:function(e,t){var r,i,n=this,a=n._ranges,s=0,o=n.groupsTotal(!0);for(t>o&&!n._isServerGrouped()&&(t=o),r=0,i=a.length;r<i;r++){var u=a[r];u.outerStart<=e&&u.outerEnd>=e?s+=u.outerEnd-e:u.outerStart<=t&&u.outerEnd>=t&&(s+=t-u.outerStart)}return s>=t-e},_getCurrentRangeSpan:function(){var e,t,r=this,i=r._ranges,n=r.currentRangeStart(),a=n+(r.take()||0),s=[],o=i.length;for(t=0;t<o;t++)((e=i[t]).start<=n&&e.end>=n||e.start>=n&&e.start<=a)&&s.push(e);return s},_removeModelFromRanges:function(e){for(var t,r=0,i=this._ranges.length;r<i;r++)t=this._ranges[r],this._removeModelFromRange(t,e);this._updateRangesLength()},_removeModelFromRange:function(e,t){this._eachItem(e.data,(function(e){if(e)for(var r=0;r<e.length;r++){var i=e[r];if(i.uid&&i.uid==t.uid){[].splice.call(e,r,1);break}}}))},_insertModelInRange:function(e,t){var r,i,n=this,a=n._ranges||[],s=a.length;for(i=0;i<s;i++)if((r=a[i]).start<=e&&r.end>=e){n._getByUid(t.uid,r.data)||(n._isServerGrouped()?r.data.splice(e,0,n._wrapInEmptyGroup(t)):r.data.splice(e,0,t));break}n._updateRangesLength()},_updateRangesLength:function(){var e,t,r=this,i=r._ranges||[],n=i.length,a=!1,s=0,o=0;for(t=0;t<n;t++)e=i[t],o=(r._isGroupPaged()?e.data.length:r._flatData(e.data,!0).length)-z.abs(e.end-e.start),a||0===o?a&&(e.start+=s,e.end+=s):(a=!0,s=o,e.end+=s)},_updateOuterRangesLength:function(){var e,t,r,i,n=this,a=n._ranges||[],s=a.length,o=0;for(t=0;t<s;t++)e=a[t],i=n._isGroupPaged()?n._calculateGroupsTotal(e.data,!0,"items",!0):n._flatData(e.data,!0).length,r?(r.end!=e.start&&(o=e.start-r.end),e.outerStart=r.outerEnd+o,o=0):e.outerStart=e.start,e.outerEnd=e.outerStart+i,r=e},isLocalTransport:function(){return this.transport instanceof ke},isRemoteTransport:function(){return this.transport instanceof we}}),Qe={};Qe.create=function(t,r,a){var s,o=t.transport?e.extend({},t.transport):null;return o?(o.read=typeof o.read===_?{url:o.read}:o.read,"jsdo"===t.type&&(o.dataSource=a),t.type&&(h.data.transports=h.data.transports||{},h.data.schemas=h.data.schemas||{},h.data.transports[t.type]?n(h.data.transports[t.type])?o=i(!0,{},h.data.transports[t.type],o):s=new h.data.transports[t.type](i(o,{data:r})):h.logToConsole("Unknown DataSource transport type '"+t.type+"'.\nVerify that registration scripts for this type are included after Kendo UI on the page.","warn"),t.schema=i(!0,{},h.data.schemas[t.type],t.schema)),s||(s=f(o.read)?o:new we(o))):s=new ke({data:t.data||[]}),s},We.create=function(r){(o(r)||r instanceof W)&&(r={data:r});var n,a,u,l=r||{},d=l.data,g=l.fields,f=l.table,c=l.select,p={};if(d||!g||l.transport||(f?d=function(t,r){var i,n,a,s,o,u,l,d=e(t)[0].tBodies[0],g=d?d.rows:[],h=r.length,f=[];for(i=0,n=g.length;i<n;i++){for(o={},l=!0,s=g[i].cells,a=0;a<h;a++)"th"!==(u=s[a]).nodeName.toLowerCase()&&(l=!1,o[r[a].field]=u.innerHTML);l||f.push(o)}return f}(f,g):c&&(d=function(t,r){t=e(t)[0];var i,n,a,s,o,u,l=t.options,d=r[0],g=r[1],h=[];for(i=0,n=l.length;i<n;i++)o={},(a=(s=l[i]).parentNode)===t&&(a=null),s.disabled||a&&a.disabled||(a&&(o.optgroup=a.label),o[d.field]=s.text,u=(u=s.attributes.value)&&u.specified?s.value:s.text,o[g.field]=u,h.push(o));return h}(c,g),l.group===t&&d[0]&&d[0].optgroup!==t&&(l.group="optgroup"))),h.data.Model&&g&&(!l.schema||!l.schema.model)){for(n=0,a=g.length;n<a;n++)(u=g[n]).type&&(p[u.field]=u);s(p)||(l.schema=i(!0,l.schema,{model:{fields:p}}))}return l.data=d,c=null,l.select=null,f=null,l.table=null,l instanceof We?l:new We(l)};var $e=te.define({idField:"id",init:function(e){var t=this,r=t.hasChildren||e&&e.hasChildren,n="items",a={};if(h.data.Model.fn.init.call(t,e),typeof t.children===_&&(n=t.children),a={schema:{data:n,model:{hasChildren:r,id:t.idField,fields:t.fields}}},typeof t.children!==_&&i(a,t.children),a.data=e,r||(r=a.schema.data),typeof r===_&&(r=h.getter(r)),f(r)){var s=r.call(t,t);s&&0===s.length?t.hasChildren=!1:t.hasChildren=!!s}t._childrenOptions=a,t.hasChildren&&t._initChildren(),t._loaded=!(!e||!e._loaded)},_initChildren:function(){var e,t,r,i=this;i.children instanceof Ke||(t=(e=i.children=new Ke(i._childrenOptions)).transport,r=t.parameterMap,t.parameterMap=function(e,t){return e[i.idField||"id"]=i.id,r&&(e=r.call(i,e,t)),e},e.parent=function(){return i},e.bind(k,(function(e){e.node=e.node||i,i.trigger(k,e)})),e.bind(x,(function(e){var t=i.parent();t&&(e.node=e.node||i,t.trigger(x,e))})),e.bind(C,(function(e){var t=i.parent();t&&t.trigger(C,e)})),i._updateChildrenField())},append:function(e){this._initChildren(),this.loaded(!0),this.children.add(e)},hasChildren:!1,level:function(){for(var e=this.parentNode(),t=0;e&&e.parentNode;)t++,e=e.parentNode?e.parentNode():null;return t},_updateChildrenField:function(){this[this._childrenOptions.schema.data||"items"]=this.children.data()},_childrenLoaded:function(){this._loaded=!0,this._updateChildrenField()},load:function(){var r,i,n={},a="_query";return this.hasChildren?(this._initChildren(),r=this.children,n[this.idField||"id"]=this.id,this._loaded||(r._data=t,a="read"),r.one(k,this._childrenLoaded.bind(this)),this._matchFilter&&(n.filter={field:"_matchFilter",operator:"eq",value:!0}),i=r[a](n),this._loaded||this.trigger(G,{promise:i,node:this})):this.loaded(!0),i||e.Deferred().resolve().promise()},parentNode:function(){return this.parent().parent()},loaded:function(e){if(e===t)return this._loaded;this._loaded=e},shouldSerialize:function(e){return te.fn.shouldSerialize.call(this,e)&&"children"!==e&&"_loaded"!==e&&"hasChildren"!==e&&"_childrenOptions"!==e}});function Xe(e){return function(){var t=this._data,r=We.fn[e].apply(this,L.call(arguments));return this._data!=t&&this._attachBubbleHandlers(),r}}var Ke=We.extend({init:function(e){var t=$e.define({children:e});e.filter&&!e.serverFiltering&&(this._hierarchicalFilter=e.filter,e.filter=null),We.fn.init.call(this,i(!0,{},{schema:{modelBase:t,model:t}},e)),this._attachBubbleHandlers()},_attachBubbleHandlers:function(){var e=this;e._data.bind(x,(function(t){e.trigger(x,t)})),e._data.bind(C,(function(t){e.trigger(C,t)}))},loading:function(){return!!this._data&&(this._data.loading()||this._childrenLoading())},_childrenLoading:function(){var e=!1;return this._data.forEach((function(t){t.hasChildren&&t.children.loading()&&(e=!0)})),e},read:function(e){var t=We.fn.read.call(this,e);return this._hierarchicalFilter&&(this._data&&this._data.length>0?this.filter(this._hierarchicalFilter):(this.options.filter=this._hierarchicalFilter,this._filter=de(this.options.filter),this._hierarchicalFilter=null)),t},remove:function(e){var t,r=e.parentNode(),i=this;return r&&r._initChildren&&(i=r.children),t=We.fn.remove.call(i,e),r&&!i.data().length&&(r.hasChildren=!1),t},success:Xe("success"),data:Xe("data"),insert:function(e,t){var r=this.parent();return r&&r._initChildren&&(r.hasChildren=!0,r._initChildren()),We.fn.insert.call(this,e,t)},filter:function(e){if(e===t)return this._filter;!this.options.serverFiltering&&this._markHierarchicalQuery(e)&&(e={logic:"or",filters:[e,{field:"_matchFilter",operator:"equals",value:!0}]}),this.trigger("reset"),this._query({filter:e,page:1})},_markHierarchicalQuery:function(t){var r,i=this.options.accentFoldingFiltering;return(t=i?e.extend({},de(t),{accentFoldingFiltering:i}):de(t))&&0!==t.filters.length?(r=ae.filterExpr(t,{noEval:!0}),this._updateHierarchicalFilter(r),!0):(this._updateHierarchicalFilter((function(){return!0})),!1)},_updateHierarchicalFilter:function(e){for(var t,r=this._data,i=!1,n=0;n<r.length;n++)(t=r[n]).hasChildren?(t._matchFilter=t.children._updateHierarchicalFilter(e),t._matchFilter||(t._matchFilter=e(t))):t._matchFilter=e(t),t._matchFilter&&(i=!0);return i},_find:function(e,t){var r,i,n,a,s=this._data;if(s){if(n=We.fn[e].call(this,t))return n;for(r=0,i=(s=this._flatData(this._data)).length;r<i;r++)if((a=s[r].children)instanceof Ke&&(n=a[e](t)))return n}},get:function(e){return this._find("get",e)},getByUid:function(e){return this._find("getByUid",e)}});function Ye(t,r){var i,n,a,s,o,u,l,d,g=e(t).children(),f=[],c=r[0].field,p=r[1]&&r[1].field,_=r[2]&&r[2].field,v=r[3]&&r[3].field;function m(e,t){return e.filter(t).add(e.find(t))}for(i=0,n=g.length;i<n;i++)a={_loaded:!0},u=(s=g.eq(i))[0].firstChild,t=(d=s.children()).filter("ul"),d=d.filter(":not(ul)"),(o=s.attr("data-id"))&&(a.id=o),u&&(a[c]=3==u.nodeType?u.nodeValue:d.text()),p&&(a[p]=m(d,"a").attr("href")),v&&(a[v]=m(d,"img").attr("src")),_&&(l=m(d,".k-sprite").prop("className"),a[_]=l&&h.trim(l.replace("k-sprite",""))),t.length&&(a.items=Ye(t.eq(0),r)),"true"==s.attr("data-hasChildren")&&(a.hasChildren=!0),f.push(a);return f}Ke.create=function(e){var t=(e=e&&e.push?{data:e}:e)||{},r=t.data,i=t.fields,n=t.list;return r&&r._dataSource?r._dataSource:(r||!i||t.transport||n&&(r=Ye(n,i)),t.data=r,t instanceof Ke?t:new Ke(t))};var Ze=h.Observable.extend({init:function(e,t,r){h.Observable.fn.init.call(this),this._prefetching=!1,this.dataSource=e,this.prefetch=!r;var i=this;e.bind("change",(function(){i._change()})),e.bind("reset",(function(){i._reset()})),this._syncWithDataSource(),this.setViewSize(t)},setViewSize:function(e){this.viewSize=e,this._recalculate()},at:function(e){var t=this.pageSize,r=!0;return e>=this.total()?(this.trigger("endreached",{index:e}),null):this.useRanges?this.useRanges?((e<this.dataOffset||e>=this.skip+t)&&(r=this.range(Math.floor(e/t)*t)),e===this.prefetchThreshold&&this._prefetch(),e===this.midPageThreshold?this.range(this.nextMidRange,!0):e===this.nextPageThreshold?this.range(this.nextFullRange):e===this.pullBackThreshold&&(this.offset===this.skip?this.range(this.previousMidRange):this.range(this.previousFullRange)),r?this.dataSource.at(e-this.dataOffset):(this.trigger("endreached",{index:e}),null)):void 0:this.dataSource.view()[e]},indexOf:function(e){return this.dataSource.data().indexOf(e)+this.dataOffset},total:function(){return parseInt(this.dataSource.total(),10)},next:function(){var e=this,t=e.pageSize,r=e.skip-e.viewSize+t,i=z.max(z.floor(r/t),0)*t;this.offset=r,this.dataSource.prefetch(i,t,(function(){e._goToRange(r,!0)}))},range:function(e,t){if(this.offset===e)return!0;var r=this,i=this.pageSize,n=z.max(z.floor(e/i),0)*i,a=this.dataSource;return t&&(n+=i),a.inRange(e,i)?(this.offset=e,this._recalculate(),this._goToRange(e),!0):!this.prefetch||(a.prefetch(n,i,(function(){r.offset=e,r._recalculate(),r._goToRange(e,!0)})),!1)},syncDataSource:function(){var e=this.offset;this.offset=null,this.range(e)},destroy:function(){this.unbind()},_prefetch:function(){var e=this,t=this.pageSize,r=this.skip+t,i=this.dataSource;i.inRange(r,t)||this._prefetching||!this.prefetch||(this._prefetching=!0,this.trigger("prefetching",{skip:r,take:t}),i.prefetch(r,t,(function(){e._prefetching=!1,e.trigger("prefetched",{skip:r,take:t})})))},_goToRange:function(e,t){this.offset===e&&(this.dataOffset=e,this._expanding=t,this.dataSource.range(e,this.pageSize),this.dataSource.enableRequestsInProgress())},_reset:function(){this._syncPending=!0},_change:function(){var e=this.dataSource;this.length=this.useRanges?e.lastRange().end:e.view().length,this._syncPending&&(this._syncWithDataSource(),this._recalculate(),this._syncPending=!1,this.trigger("reset",{offset:this.offset})),this.trigger("resize"),this._expanding&&this.trigger("expand"),delete this._expanding},_syncWithDataSource:function(){var e=this.dataSource;this._firstItemUid=e.firstItemUid(),this.dataOffset=this.offset=e.skip()||0,this.pageSize=e.pageSize(),this.useRanges=e.options.serverPaging},_recalculate:function(){var e=this.pageSize,t=this.offset,r=this.viewSize,i=Math.ceil(t/e)*e;this.skip=i,this.midPageThreshold=i+e-1,this.nextPageThreshold=i+r-1,this.prefetchThreshold=i+Math.floor(e/3*2),this.pullBackThreshold=this.offset-1,this.nextMidRange=i+e-r,this.nextFullRange=i,this.previousMidRange=t-r,this.previousFullRange=i-e}}),et=h.Observable.extend({init:function(e,t){var r=this;h.Observable.fn.init.call(r),this.dataSource=e,this.batchSize=t,this._total=0,this.buffer=new Ze(e,3*t),this.buffer.bind({endreached:function(e){r.trigger("endreached",{index:e.index})},prefetching:function(e){r.trigger("prefetching",{skip:e.skip,take:e.take})},prefetched:function(e){r.trigger("prefetched",{skip:e.skip,take:e.take})},reset:function(){r._total=0,r.trigger("reset")},resize:function(){r._total=Math.ceil(this.length/r.batchSize),r.trigger("resize",{total:r.total(),offset:this.offset})}})},syncDataSource:function(){this.buffer.syncDataSource()},at:function(e){var t,r=this.buffer,i=e*this.batchSize,n=this.batchSize,a=[];r.offset>i&&r.at(r.offset-1);for(var s=0;s<n&&null!==(t=r.at(i+s));s++)a.push(t);return a},total:function(){return this._total},destroy:function(){this.buffer.destroy(),this.unbind()}});i(!0,h.data,{readers:{json:qe},Query:ae,DataSource:We,HierarchicalDataSource:Ke,Node:$e,Comparer:re,ObservableObject:K,ObservableArray:W,LazyObservableArray:Q,LocalTransport:ke,RemoteTransport:we,AiTransport:Pe,Cache:xe,DataReader:qe,Model:te,Buffer:Ze,BatchBuffer:et})}(window.kendo.jQuery);var o=kendo;e.__meta__={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"]}]},e.default=o,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.data.min.js.map