UNPKG

@progress/kendo-ui

Version:

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

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