10 lines
51 KiB
JavaScript
10 lines
51 KiB
JavaScript
/*
|
|
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2015 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(e,define){define(["./kendo.core.min","./kendo.data.odata.min","./kendo.data.xml.min"],e)}(function(){return function(e,t){function n(e,t,n,i){return function(r){var o,a={};for(o in r)a[o]=r[o];a.field=i?n+"."+r.field:n,t==be&&e._notifyChange&&e._notifyChange(a),e.trigger(t,a)}}function i(t,n){if(t===n)return!0;var r,o=e.type(t),a=e.type(n);if(o!==a)return!1;if("date"===o)return t.getTime()===n.getTime();if("object"!==o&&"array"!==o)return!1;for(r in t)if(!i(t[r],n[r]))return!1;return!0}function r(e,t){var n,i;for(i in e){if(n=e[i],ne(n)&&n.field&&n.field===t)return n;if(n===t)return n}return null}function o(e){this.data=e||[]}function a(e,n){if(e){var i=typeof e===fe?{field:e,dir:n}:e,r=re(i)?i:i!==t?[i]:[];return oe(r,function(e){return!!e.dir})}}function s(e){var t,n,i,r,o=e.filters;if(o)for(t=0,n=o.length;n>t;t++)i=o[t],r=i.operator,r&&typeof r===fe&&(i.operator=U[r.toLowerCase()]||r),s(i)}function l(e){return e&&!ie(e)?((re(e)||!e.filters)&&(e={logic:"and",filters:re(e)?e:[e]}),s(e),e):t}function c(e){return re(e)?e:[e]}function u(e,n){var i=typeof e===fe?{field:e,dir:n}:e,r=re(i)?i:i!==t?[i]:[];return H(r,function(e){return{field:e.field,dir:e.dir||"asc",aggregates:e.aggregates}})}function d(e,t){return e&&e.getTime&&t&&t.getTime?e.getTime()===t.getTime():e===t}function h(e,t,n,i,r,o){var a,s,l,c,u;for(t=t||[],c=t.length,a=0;c>a;a++)s=t[a],l=s.aggregate,u=s.field,e[u]=e[u]||{},o[u]=o[u]||{},o[u][l]=o[u][l]||{},e[u][l]=W[l.toLowerCase()](e[u][l],n,ce.accessor(u),i,r,o[u][l])}function f(e){return"number"==typeof e&&!isNaN(e)}function p(e){return e&&e.getTime}function g(e){var t,n=e.length,i=Array(n);for(t=0;n>t;t++)i[t]=e[t].toJSON();return i}function m(e,t,n,i,r){var o,a,s,l,c,u={};for(l=0,c=e.length;c>l;l++){o=e[l];for(a in t)s=r[a],s&&s!==a&&(u[s]||(u[s]=ce.setter(s)),u[s](o,t[a](o)),delete o[a])}}function v(e,t,n,i,r){var o,a,s,l,c;for(l=0,c=e.length;c>l;l++){o=e[l];for(a in t)o[a]=n._parse(a,t[a](o)),s=r[a],s&&s!==a&&delete o[s]}}function _(e,t,n,i,r){var o,a,s,l;for(a=0,l=e.length;l>a;a++)o=e[a],s=i[o.field],s&&s!=o.field&&(o.field=s),o.value=n._parse(o.field,o.value),o.hasSubgroups?_(o.items,t,n,i,r):v(o.items,t,n,i,r)}function b(e,t,n,i,r,o){return function(a){return a=e(a),a&&!ie(i)&&("[object Array]"===He.call(a)||a instanceof We||(a=[a]),n(a,i,new t,r,o)),a||[]}}function w(e,t,n,i){for(var r,o,a,s=0;t.length&&i&&(r=t[s],o=r.items,a=o.length,e&&e.field===r.field&&e.value===r.value?(e.hasSubgroups&&e.items.length?w(e.items[e.items.length-1],r.items,n,i):(o=o.slice(n,n+i),e.items=e.items.concat(o)),t.splice(s--,1)):r.hasSubgroups&&o.length?(w(r,o,n,i),r.items.length||t.splice(s--,1)):(o=o.slice(n,n+i),r.items=o,r.items.length||t.splice(s--,1)),0===o.length?n-=a:(n=0,i-=o.length),!(++s>=t.length)););t.length>s&&t.splice(s,t.length-s)}function y(e){var t,n,i,r,o,a=[];for(t=0,n=e.length;n>t;t++)if(o=e.at(t),o.hasSubgroups)a=a.concat(y(o.items));else for(i=o.items,r=0;i.length>r;r++)a.push(i.at(r));return a}function k(e,t){var n,i,r;if(t)for(n=0,i=e.length;i>n;n++)r=e.at(n),r.hasSubgroups?k(r.items,t):r.items=new je(r.items,t)}function x(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n].hasSubgroups){if(x(e[n].items,t))return!0}else if(t(e[n].items,e[n]))return!0}function C(e,t,n,i){for(var r=0;e.length>r&&e[r].data!==t&&!S(e[r].data,n,i);r++);}function S(e,t,n){for(var i=0,r=e.length;r>i;i++){if(e[i]&&e[i].hasSubgroups)return S(e[i].items,t,n);if(e[i]===t||e[i]===n)return e[i]=n,!0}}function T(e,n,i,r,o){var a,s,l,c;for(a=0,s=e.length;s>a;a++)if(l=e[a],l&&!(l instanceof r))if(l.hasSubgroups===t||o){for(c=0;n.length>c;c++)if(n[c]===l){e[a]=n.at(c),C(i,n,l,e[a]);break}}else T(l.items,n,i,r,o)}function D(e,t){var n,i,r;for(n=0,i=e.length;i>n;n++)if(r=e.at(n),r.uid==t.uid)return e.splice(n,1),r}function A(e,t){return t?M(e,function(e){return e.uid&&e.uid==t.uid||e[t.idField]===t.id&&t.id!==t._defaultId}):-1}function E(e,t){return t?M(e,function(e){return e.uid==t.uid}):-1}function M(e,t){var n,i;for(n=0,i=e.length;i>n;n++)if(t(e[n]))return n;return-1}function F(e,t){var n,i;return e&&!ie(e)?(n=e[t],i=ne(n)?n.from||n.field||t:e[t]||t,ue(i)?t:i):t}function I(e,t){var n,i,r,o={};for(r in e)"filters"!==r&&(o[r]=e[r]);if(e.filters)for(o.filters=[],n=0,i=e.filters.length;i>n;n++)o.filters[n]=I(e.filters[n],t);else o.field=F(t.fields,o.field);return o}function R(e,t){var n,i,r,o,a,s=[];for(n=0,i=e.length;i>n;n++){r={},o=e[n];for(a in o)r[a]=o[a];r.field=F(t.fields,r.field),r.aggregates&&re(r.aggregates)&&(r.aggregates=R(r.aggregates,t)),s.push(r)}return s}function P(t,n){var i,r,o,a,s,l,c,u,d,h;for(t=e(t)[0],i=t.options,r=n[0],o=n[1],a=[],s=0,l=i.length;l>s;s++)d={},u=i[s],c=u.parentNode,c===t&&(c=null),u.disabled||c&&c.disabled||(c&&(d.optgroup=c.label),d[r.field]=u.text,h=u.attributes.value,h=h&&h.specified?u.value:u.text,d[o.field]=h,a.push(d));return a}function z(t,n){var i,r,o,a,s,l,c,u=e(t)[0].tBodies[0],d=u?u.rows:[],h=n.length,f=[];for(i=0,r=d.length;r>i;i++){for(s={},c=!0,a=d[i].cells,o=0;h>o;o++)l=a[o],"th"!==l.nodeName.toLowerCase()&&(c=!1,s[n[o].field]=l.innerHTML);c||f.push(s)}return f}function B(e){return function(){var t=this._data,n=Y.fn[e].apply(this,Be.call(arguments));return this._data!=t&&this._attachBubbleHandlers(),n}}function L(t,n){function i(e,t){return e.filter(t).add(e.find(t))}var r,o,a,s,l,c,u,d,h=e(t).children(),f=[],p=n[0].field,g=n[1]&&n[1].field,m=n[2]&&n[2].field,v=n[3]&&n[3].field;for(r=0,o=h.length;o>r;r++)a={_loaded:!0},s=h.eq(r),c=s[0].firstChild,d=s.children(),t=d.filter("ul"),d=d.filter(":not(ul)"),l=s.attr("data-id"),l&&(a.id=l),c&&(a[p]=3==c.nodeType?c.nodeValue:d.text()),g&&(a[g]=i(d,"a").attr("href")),v&&(a[v]=i(d,"img").attr("src")),m&&(u=i(d,".k-sprite").prop("className"),a[m]=u&&e.trim(u.replace("k-sprite",""))),t.length&&(a.items=L(t.eq(0),n)),"true"==s.attr("data-hasChildren")&&(a.hasChildren=!0),f.push(a);return f}var H,N,O,V,U,W,j,q,G,$,Y,K,Q,X,J,Z,ee=e.extend,te=e.proxy,ne=e.isPlainObject,ie=e.isEmptyObject,re=e.isArray,oe=e.grep,ae=e.ajax,se=e.each,le=e.noop,ce=window.kendo,ue=ce.isFunction,de=ce.Observable,he=ce.Class,fe="string",pe="function",ge="create",me="read",ve="update",_e="destroy",be="change",we="sync",ye="get",ke="error",xe="requestStart",Ce="progress",Se="requestEnd",Te=[ge,me,ve,_e],De=function(e){return e},Ae=ce.getter,Ee=ce.stringify,Me=Math,Fe=[].push,Ie=[].join,Re=[].pop,Pe=[].splice,ze=[].shift,Be=[].slice,Le=[].unshift,He={}.toString,Ne=ce.support.stableSort,Oe=/^\/Date\((.*?)\)\/$/,Ve=/(\r+|\n+)/g,Ue=/(?=['\\])/g,We=de.extend({init:function(e,t){var n=this;n.type=t||qe,de.fn.init.call(n),n.length=e.length,n.wrapAll(e,n)},at:function(e){return this[e]},toJSON:function(){var e,t,n=this.length,i=Array(n);for(e=0;n>e;e++)t=this[e],t instanceof qe&&(t=t.toJSON()),i[e]=t;return i},parent:le,wrapAll:function(e,t){var n,i,r=this,o=function(){return r};for(t=t||[],n=0,i=e.length;i>n;n++)t[n]=r.wrap(e[n],o);return t},wrap:function(e,t){var n,i=this;return null!==e&&"[object Object]"===He.call(e)&&(n=e instanceof i.type||e instanceof Ye,n||(e=e instanceof qe?e.toJSON():e,e=new i.type(e)),e.parent=t,e.bind(be,function(e){i.trigger(be,{field:e.field,node:e.node,index:e.index,items:e.items||[this],action:e.node?e.action||"itemloaded":"itemchange"})})),e},push:function(){var e,t=this.length,n=this.wrapAll(arguments);return e=Fe.apply(this,n),this.trigger(be,{action:"add",index:t,items:n}),e},slice:Be,sort:[].sort,join:Ie,pop:function(){var e=this.length,t=Re.apply(this);return e&&this.trigger(be,{action:"remove",index:e-1,items:[t]}),t},splice:function(e,t,n){var i,r,o,a=this.wrapAll(Be.call(arguments,2));if(i=Pe.apply(this,[e,t].concat(a)),i.length)for(this.trigger(be,{action:"remove",index:e,items:i}),r=0,o=i.length;o>r;r++)i[r]&&i[r].children&&i[r].unbind(be);return n&&this.trigger(be,{action:"add",index:e,items:a}),i},shift:function(){var e=this.length,t=ze.apply(this);return e&&this.trigger(be,{action:"remove",index:0,items:[t]}),t},unshift:function(){var e,t=this.wrapAll(arguments);return e=Le.apply(this,t),this.trigger(be,{action:"add",index:0,items:t}),e},indexOf:function(e){var t,n,i=this;for(t=0,n=i.length;n>t;t++)if(i[t]===e)return t;return-1},forEach:function(e){for(var t=0,n=this.length;n>t;t++)e(this[t],t,this)},map:function(e){for(var t=0,n=[],i=this.length;i>t;t++)n[t]=e(this[t],t,this);return n},reduce:function(e){var t,n=0,i=this.length;for(2==arguments.length?t=arguments[1]:i>n&&(t=this[n++]);i>n;n++)t=e(t,this[n],n,this);return t},reduceRight:function(e){var t,n=this.length-1;for(2==arguments.length?t=arguments[1]:n>0&&(t=this[n--]);n>=0;n--)t=e(t,this[n],n,this);return t},filter:function(e){for(var t,n=0,i=[],r=this.length;r>n;n++)t=this[n],e(t,n,this)&&(i[i.length]=t);return i},find:function(e){for(var t,n=0,i=this.length;i>n;n++)if(t=this[n],e(t,n,this))return t},every:function(e){for(var t,n=0,i=this.length;i>n;n++)if(t=this[n],!e(t,n,this))return!1;return!0},some:function(e){for(var t,n=0,i=this.length;i>n;n++)if(t=this[n],e(t,n,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)}}),je=We.extend({init:function(e,t){de.fn.init.call(this),this.type=t||qe;for(var n=0;e.length>n;n++)this[n]=e[n];this.length=n,this._parent=te(function(){return this},this)},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}}),qe=de.extend({init:function(e){var t,n,i=this,r=function(){return i};de.fn.init.call(this),this._handlers={};for(n in e)t=e[n],"object"==typeof t&&t&&!t.getTime&&"_"!=n.charAt(0)&&(t=i.wrap(t,n,r)),i[n]=t;i.uid=ce.guid()},shouldSerialize:function(e){return this.hasOwnProperty(e)&&"_handlers"!==e&&"_events"!==e&&typeof this[e]!==pe&&"uid"!==e},forEach:function(e){for(var t in this)this.shouldSerialize(t)&&e(this[t],t)},toJSON:function(){var e,t,n={};for(t in this)this.shouldSerialize(t)&&(e=this[t],(e instanceof qe||e instanceof We)&&(e=e.toJSON()),n[t]=e);return n},get:function(e){var t,n=this;return n.trigger(ye,{field:e}),t="this"===e?n:ce.getter(e,!0)(n)},_set:function(e,t){var n,i,r,o=this,a=e.indexOf(".")>=0;if(a)for(n=e.split("."),i="";n.length>1;){if(i+=n.shift(),r=ce.getter(i,!0)(o),r instanceof qe)return r.set(n.join("."),t),a;i+="."}return ce.setter(e)(o,t),a},set:function(e,t){var n=this,i=e.indexOf(".")>=0,r=ce.getter(e,!0)(n);r!==t&&(r instanceof de&&this._handlers[e]&&(this._handlers[e].get&&r.unbind(ye,this._handlers[e].get),r.unbind(be,this._handlers[e].change)),n.trigger("set",{field:e,value:t})||(i||(t=n.wrap(t,e,function(){return n})),(!n._set(e,t)||e.indexOf("(")>=0||e.indexOf("[")>=0)&&n.trigger(be,{field:e})))},parent:le,wrap:function(e,t,i){var r,o,a,s,l=this,c=He.call(e);return null==e||"[object Object]"!==c&&"[object Array]"!==c||(a=e instanceof We,s=e instanceof Y,"[object Object]"!==c||s||a?("[object Array]"===c||a||s)&&(a||s||(e=new We(e)),o=n(l,be,t,!1),e.bind(be,o),l._handlers[t]={change:o}):(e instanceof qe||(e=new qe(e)),r=n(l,ye,t,!0),e.bind(ye,r),o=n(l,be,t,!0),e.bind(be,o),l._handlers[t]={get:r,change:o}),e.parent=i),e}}),Ge={number:function(e){return ce.parseFloat(e)},date:function(e){return ce.parseDate(e)},"boolean":function(e){return typeof e===fe?"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return null!=e?e+"":e},"default":function(e){return e}},$e={string:"",number:0,date:new Date,"boolean":!1,"default":""},Ye=qe.extend({init:function(n){var i,r,o=this;if((!n||e.isEmptyObject(n))&&(n=e.extend({},o.defaults,n),o._initializers))for(i=0;o._initializers.length>i;i++)r=o._initializers[i],n[r]=o.defaults[r]();qe.fn.init.call(o,n),o.dirty=!1,o.idField&&(o.id=o.get(o.idField),o.id===t&&(o.id=o._defaultId))},shouldSerialize:function(e){return qe.fn.shouldSerialize.call(this,e)&&"uid"!==e&&!("id"!==this.idField&&"id"===e)&&"dirty"!==e&&"_accessors"!==e},_parse:function(e,t){var n,i=this,o=e,a=i.fields||{};return e=a[e],e||(e=r(a,o)),e&&(n=e.parse,!n&&e.type&&(n=Ge[e.type.toLowerCase()])),n?n(t):t},_notifyChange:function(e){var t=e.action;("add"==t||"remove"==t)&&(this.dirty=!0)},editable:function(e){return e=(this.fields||{})[e],e?e.editable!==!1:!0},set:function(e,t,n){var r=this;r.editable(e)&&(t=r._parse(e,t),i(t,r.get(e))||(r.dirty=!0,qe.fn.set.call(r,e,t,n)))},accept:function(e){var t,n,i=this,r=function(){return i};for(t in e)n=e[t],"_"!=t.charAt(0)&&(n=i.wrap(e[t],t,r)),i._set(t,n);i.idField&&(i.id=i.get(i.idField)),i.dirty=!1},isNew:function(){return this.id===this._defaultId}});Ye.define=function(e,n){n===t&&(n=e,e=Ye);var i,r,o,a,s,l,c,u,d=ee({defaults:{}},n),h={},f=d.id,p=[];if(f&&(d.idField=f),d.id&&delete d.id,f&&(d.defaults[f]=d._defaultId=""),"[object Array]"===He.call(d.fields)){for(l=0,c=d.fields.length;c>l;l++)o=d.fields[l],typeof o===fe?h[o]={}:o.field&&(h[o.field]=o);d.fields=h}for(r in d.fields)o=d.fields[r],a=o.type||"default",s=null,u=r,r=typeof o.field===fe?o.field:r,o.nullable||(s=d.defaults[u!==r?u:r]=o.defaultValue!==t?o.defaultValue:$e[a.toLowerCase()],"function"==typeof s&&p.push(r)),n.id===r&&(d._defaultId=s),d.defaults[u!==r?u:r]=s,o.parse=o.parse||Ge[a];return p.length>0&&(d._initializers=p),i=e.extend(d),i.define=function(e){return Ye.define(i,e)},d.fields&&(i.fields=d.fields,i.idField=d.idField),i},N={selector:function(e){return ue(e)?e:Ae(e)},compare:function(e){var t=this.selector(e);return function(e,n){return e=t(e),n=t(n),null==e&&null==n?0:null==e?-1:null==n?1:e.localeCompare?e.localeCompare(n):e>n?1:n>e?-1:0}},create:function(e){var t=e.compare||this.compare(e.field);return"desc"==e.dir?function(e,n){return t(n,e,!0)}:t},combine:function(e){return function(t,n){var i,r,o=e[0](t,n);for(i=1,r=e.length;r>i;i++)o=o||e[i](t,n);return o}}},O=ee({},N,{asc:function(e){var t=this.selector(e);return function(e,n){var i=t(e),r=t(n);return i&&i.getTime&&r&&r.getTime&&(i=i.getTime(),r=r.getTime()),i===r?e.__position-n.__position:null==i?-1:null==r?1:i.localeCompare?i.localeCompare(r):i>r?1:-1}},desc:function(e){var t=this.selector(e);return function(e,n){var i=t(e),r=t(n);return i&&i.getTime&&r&&r.getTime&&(i=i.getTime(),r=r.getTime()),i===r?e.__position-n.__position:null==i?1:null==r?-1:r.localeCompare?r.localeCompare(i):r>i?1:-1}},create:function(e){return this[e.dir](e.field)}}),H=function(e,t){var n,i=e.length,r=Array(i);for(n=0;i>n;n++)r[n]=t(e[n],n,e);return r},V=function(){function e(e){return e.replace(Ue,"\\").replace(Ve,"")}function t(t,n,i,r){var o;return null!=i&&(typeof i===fe&&(i=e(i),o=Oe.exec(i),o?i=new Date(+o[1]):r?(i="'"+i.toLowerCase()+"'",n="("+n+" || '').toLowerCase()"):i="'"+i+"'"),i.getTime&&(n="("+n+"?"+n+".getTime():"+n+")",i=i.getTime())),n+" "+t+" "+i}return{quote:function(t){return t&&t.getTime?"new Date("+t.getTime()+")":"string"==typeof t?"'"+e(t)+"'":""+t},eq:function(e,n,i){return t("==",e,n,i)},neq:function(e,n,i){return t("!=",e,n,i)},gt:function(e,n,i){return t(">",e,n,i)},gte:function(e,n,i){return t(">=",e,n,i)},lt:function(e,n,i){return t("<",e,n,i)},lte:function(e,n,i){return t("<=",e,n,i)},startswith:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".lastIndexOf('"+n+"', 0) == 0"},doesnotstartwith:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".lastIndexOf('"+n+"', 0) == -1"},endswith:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".indexOf('"+n+"', "+t+".length - "+(n||"").length+") >= 0"},doesnotendwith:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".indexOf('"+n+"', "+t+".length - "+(n||"").length+") < 0"},contains:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".indexOf('"+n+"') >= 0"},doesnotcontain:function(t,n,i){return i&&(t="("+t+" || '').toLowerCase()",n&&(n=n.toLowerCase())),n&&(n=e(n)),t+".indexOf('"+n+"') == -1"}}}(),o.filterExpr=function(e){var n,i,r,a,s,l,c=[],u={and:" && ",or:" || "},d=[],h=[],f=e.filters;for(n=0,i=f.length;i>n;n++)r=f[n],s=r.field,l=r.operator,r.filters?(a=o.filterExpr(r),r=a.expression.replace(/__o\[(\d+)\]/g,function(e,t){return t=+t,"__o["+(h.length+t)+"]"}).replace(/__f\[(\d+)\]/g,function(e,t){return t=+t,"__f["+(d.length+t)+"]"}),h.push.apply(h,a.operators),d.push.apply(d,a.fields)):(typeof s===pe?(a="__f["+d.length+"](d)",d.push(s)):a=ce.expr(s),typeof l===pe?(r="__o["+h.length+"]("+a+", "+V.quote(r.value)+")",h.push(l)):r=V[(l||"eq").toLowerCase()](a,r.value,r.ignoreCase!==t?r.ignoreCase:!0)),c.push(r);return{expression:"("+c.join(u[e.logic])+")",fields:d,operators:h}},U={"==":"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"},o.normalizeFilter=l,o.prototype={toArray:function(){return this.data},range:function(e,t){return new o(this.data.slice(e,e+t))},skip:function(e){return new o(this.data.slice(e))},take:function(e){return new o(this.data.slice(0,e))},select:function(e){return new o(H(this.data,e))},order:function(e,t){var n={dir:t};return e&&(e.compare?n.compare=e.compare:n.field=e),new o(this.data.slice(0).sort(N.create(n)))},orderBy:function(e){return this.order(e,"asc")},orderByDescending:function(e){return this.order(e,"desc")},sort:function(e,t,n){var i,r,o=a(e,t),s=[];if(n=n||N,o.length){for(i=0,r=o.length;r>i;i++)s.push(n.create(o[i]));return this.orderBy({compare:n.combine(s)})}return this},filter:function(e){var t,n,i,r,a,s,c,u,d=this.data,h=[];if(e=l(e),!e||0===e.filters.length)return this;for(r=o.filterExpr(e),s=r.fields,c=r.operators,a=u=Function("d, __f, __o","return "+r.expression),(s.length||c.length)&&(u=function(e){return a(e,s,c)}),t=0,i=d.length;i>t;t++)n=d[t],u(n)&&h.push(n);return new o(h)},group:function(e,t){e=u(e||[]),t=t||this.data;var n,i=this,r=new o(i.data);return e.length>0&&(n=e[0],r=r.groupBy(n).select(function(i){var r=new o(t).filter([{field:i.field,operator:"eq",value:i.value,ignoreCase:!1}]);return{field:i.field,value:i.value,items:e.length>1?new o(i.items).group(e.slice(1),r.toArray()).toArray():i.items,hasSubgroups:e.length>1,aggregates:r.aggregate(n.aggregates)}})),r},groupBy:function(e){if(ie(e)||!this.data.length)return new o([]);var t,n,i,r,a=e.field,s=this._sortForGrouping(a,e.dir||"asc"),l=ce.accessor(a),c=l.get(s[0],a),u={field:a,value:c,items:[]},h=[u];for(i=0,r=s.length;r>i;i++)t=s[i],n=l.get(t,a),d(c,n)||(c=n,u={field:a,value:c,items:[]},h.push(u)),u.items.push(t);return new o(h)},_sortForGrouping:function(e,t){var n,i,r=this.data;if(!Ne){for(n=0,i=r.length;i>n;n++)r[n].__position=n;for(r=new o(r).sort(e,t,O).toArray(),n=0,i=r.length;i>n;n++)delete r[n].__position;return r}return this.sort(e,t).toArray()},aggregate:function(e){var t,n,i={},r={};if(e&&e.length)for(t=0,n=this.data.length;n>t;t++)h(i,e,this.data[t],t,n,r);return i}},W={sum:function(e,t,n){var i=n.get(t);return f(e)?f(i)&&(e+=i):e=i,e},count:function(e){return(e||0)+1},average:function(e,n,i,r,o,a){var s=i.get(n);return a.count===t&&(a.count=0),f(e)?f(s)&&(e+=s):e=s,f(s)&&a.count++,r==o-1&&f(e)&&(e/=a.count),e},max:function(e,t,n){var i=n.get(t);return f(e)||p(e)||(e=i),i>e&&(f(i)||p(i))&&(e=i),e},min:function(e,t,n){var i=n.get(t);return f(e)||p(e)||(e=i),e>i&&(f(i)||p(i))&&(e=i),e}},o.process=function(e,n){n=n||{};var i,r=new o(e),s=n.group,l=u(s||[]).concat(a(n.sort||[])),c=n.filterCallback,d=n.filter,h=n.skip,f=n.take;return d&&(r=r.filter(d),c&&(r=c(r)),i=r.toArray().length),l&&(r=r.sort(l),s&&(e=r.toArray())),h!==t&&f!==t&&(r=r.range(h,f)),s&&(r=r.group(s,e)),{total:i,data:r.toArray()}},j=he.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)}}),q=he.extend({init:function(e){var t,n=this;e=n.options=ee({},n.options,e),se(Te,function(t,n){typeof e[n]===fe&&(e[n]={url:e[n]})}),n.cache=e.cache?G.create(e.cache):{find:le,add:le},t=e.parameterMap,ue(e.push)&&(n.push=e.push),n.push||(n.push=De),n.parameterMap=ue(t)?t:function(e){var n={};return se(e,function(e,i){e in t&&(e=t[e],ne(e)&&(i=e.value(i),e=e.key)),n[e]=i}),n}},options:{parameterMap:De},create:function(e){return ae(this.setup(e,ge))},read:function(n){var i,r,o,a=this,s=a.cache;n=a.setup(n,me),i=n.success||le,r=n.error||le,o=s.find(n.data),o!==t?i(o):(n.success=function(e){s.add(n.data,e),i(e)},e.ajax(n))},update:function(e){return ae(this.setup(e,ve))},destroy:function(e){return ae(this.setup(e,_e))},setup:function(e,t){e=e||{};var n,i=this,r=i.options[t],o=ue(r.data)?r.data(e.data):r.data;return e=ee(!0,{},r,e),n=ee(!0,{},o,e.data),e.data=i.parameterMap(n,t),ue(e.url)&&(e.url=e.url(n)),e}}),G=he.extend({init:function(){this._store={}},add:function(e,n){e!==t&&(this._store[Ee(e)]=n)},find:function(e){return this._store[Ee(e)]},clear:function(){this._store={}},remove:function(e){delete this._store[Ee(e)]}}),G.create=function(e){var t={inmemory:function(){return new G}};return ne(e)&&ue(e.find)?e:e===!0?new G:t[e]()},$=he.extend({init:function(e){var t,n,i,r,o,a,s,l,c,u,d,h,f,p=this;e=e||{};for(t in e)n=e[t],p[t]=typeof n===fe?Ae(n):n;r=e.modelBase||Ye,ne(p.model)&&(p.model=i=r.define(p.model)),o=te(p.data,p),p._dataAccessFunction=o,p.model&&(a=te(p.groups,p),s=te(p.serialize,p),l={},c={},u={},d={},h=!1,i=p.model,i.fields&&(se(i.fields,function(e,t){var n;f=e,ne(t)&&t.field?f=t.field:typeof t===fe&&(f=t),ne(t)&&t.from&&(n=t.from),h=h||n&&n!==e||f!==e,c[e]=Ae(n||f),u[e]=Ae(e),l[n||f]=e,d[e]=n||f}),!e.serialize&&h&&(p.serialize=b(s,i,m,u,l,d))),p._dataAccessFunction=o,p.data=b(o,i,v,c,l,d),p.groups=b(a,i,_,c,l,d))},errors:function(e){return e?e.errors:null},parse:De,data:De,total:function(e){return e.length},groups:De,aggregates:function(){return{}},serialize:function(e){return e}}),Y=de.extend({init:function(e){var n,i,r,o=this;e&&(i=e.data),e=o.options=ee({},o.options,e),o._map={},o._prefetch={},o._data=[],o._pristineData=[],o._ranges=[],o._view=[],o._pristineTotal=0,o._destroyed=[],o._pageSize=e.pageSize,o._page=e.page||(e.pageSize?1:t),o._sort=a(e.sort),o._filter=l(e.filter),o._group=u(e.group),o._aggregate=e.aggregate,o._total=e.total,o._shouldDetachObservableParents=!0,de.fn.init.call(o),o.transport=K.create(e,i,o),ue(o.transport.push)&&o.transport.push({pushCreate:te(o._pushCreate,o),pushUpdate:te(o._pushUpdate,o),pushDestroy:te(o._pushDestroy,o)}),null!=e.offlineStorage&&("string"==typeof e.offlineStorage?(r=e.offlineStorage,o._storage={getItem:function(){return JSON.parse(localStorage.getItem(r))},setItem:function(e){localStorage.setItem(r,Ee(o.reader.serialize(e)))}}):o._storage=e.offlineStorage),o.reader=new ce.data.readers[e.schema.type||"json"](e.schema),n=o.reader.model||{},o._detachObservableParents(),o._data=o._observe(o._data),o._online=!0,o.bind(["push",ke,be,xe,we,Se,Ce],e)},options:{data:null,schema:{modelBase:Ye},offlineStorage:null,serverSorting:!1,serverPaging:!1,serverFiltering:!1,serverGrouping:!1,serverAggregates:!1,batch:!1},clone:function(){return this},online:function(n){return n!==t?this._online!=n&&(this._online=n,n)?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()||[]},_isServerGrouped:function(){var e=this.group()||[];return this.options.serverGrouping&&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||(n=e),this[t](n)},_flatData:function(e,t){if(e){if(this._isServerGrouped())return y(e);if(!t)for(var n=0;e.length>n;n++)e.at(n)}return e},parent:le,get:function(e){var t,n,i=this._flatData(this._data);for(t=0,n=i.length;n>t;t++)if(i[t].id==e)return i[t]},getByUid:function(e){var t,n,i=this._flatData(this._data);if(i)for(t=0,n=i.length;n>t;t++)if(i[t].uid==e)return i[t]},indexOf:function(e){return E(this._data,e)},at:function(e){return this._data.at(e)},data:function(e){var n,i=this;if(e===t){if(i._data)for(n=0;i._data.length>n;n++)i._data.at(n);return i._data}i._detachObservableParents(),i._data=this._observe(e),i._pristineData=e.slice(0),i._storeData(),i._ranges=[],i.trigger("reset"),i._addRange(i._data),i._total=i._data.length,i._pristineTotal=i._total,i._process(i._data)},view:function(e){return e===t?this._view:(this._view=this._observeView(e),t)},_observeView:function(e){var t,n=this;return T(e,n._data,n._ranges,n.reader.model||qe,n._isServerGrouped()),t=new je(e,n.reader.model),t.parent=function(){return n.parent()},t},flatView:function(){var e=this.group()||[];return e.length?y(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 qe?e:new qe(e)},insert:function(e,t){return t||(t=e,e=0),t instanceof Ye||(t=this._createNewModel(t)),this._isServerGrouped()?this._data.splice(e,0,this._wrapInEmptyGroup(t)):this._data.splice(e,0,t),t},pushCreate:function(e){var t,n,i,r,o,a;re(e)||(e=[e]),t=[],n=this.options.autoSync,this.options.autoSync=!1;try{for(i=0;e.length>i;i++)r=e[i],o=this.add(r),t.push(o),a=o.toJSON(),this._isServerGrouped()&&(a=this._wrapInEmptyGroup(a)),this._pristineData.push(a)}finally{this.options.autoSync=n}t.length&&this.trigger("push",{type:"create",items:t})},pushUpdate:function(e){var t,n,i,r,o;for(re(e)||(e=[e]),t=[],n=0;e.length>n;n++)i=e[n],r=this._createNewModel(i),o=this.get(r.id),o?(t.push(o),o.accept(i),o.trigger(be),this._updatePristineForModel(o,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){var t,n,i,r,o,a;re(e)||(e=[e]),t=[],n=this.options.autoSync,this.options.autoSync=!1;try{for(i=0;e.length>i;i++)r=e[i],o=this._createNewModel(r),a=!1,this._eachItem(this._data,function(e){var n,i;for(n=0;e.length>n;n++)if(i=e.at(n),i.id===o.id){t.push(i),e.splice(n,1),a=!0;break}}),a&&(this._removePristineForModel(o),this._destroyed.pop())}finally{this.options.autoSync=n}return t},remove:function(e){var n,i=this,r=i._isServerGrouped();return this._eachItem(i._data,function(o){return n=D(o,e),n&&r?(n.isNew&&n.isNew()||i._destroyed.push(n),!0):t}),this._removeModelFromRanges(e),this._updateRangesLength(),e},destroyed:function(){return this._destroyed},created:function(){var e,t,n=[],i=this._flatData(this._data);for(e=0,t=i.length;t>e;e++)i[e].isNew&&i[e].isNew()&&n.push(i[e]);return n},updated:function(){var e,t,n=[],i=this._flatData(this._data);for(e=0,t=i.length;t>e;e++)i[e].isNew&&!i[e].isNew()&&i[e].dirty&&n.push(i[e]);return n},sync:function(){var t,n=this,i=[],r=[],o=n._destroyed,a=e.Deferred().resolve().promise();if(n.online()){if(!n.reader.model)return a;i=n.created(),r=n.updated(),t=[],n.options.batch&&n.transport.submit?t=n._sendSubmit(i,r,o):(t.push.apply(t,n._send("create",i)),t.push.apply(t,n._send("update",r)),t.push.apply(t,n._send("destroy",o))),a=e.when.apply(null,t).then(function(){var e,t;for(e=0,t=arguments.length;t>e;e++)n._accept(arguments[e]);n._storeData(!0),n._change({action:"sync"}),n.trigger(we)})}else n._storeData(!0),n._change({action:"sync"});return a},cancelChanges:function(e){var t=this;e instanceof ce.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),t._change())},hasChanges:function(){var e,t,n=this._flatData(this._data);if(this._destroyed.length)return!0;for(e=0,t=n.length;t>e;e++)if(n[e].isNew&&n[e].isNew()||n[e].dirty)return!0;return!1},_accept:function(t){var n,i=this,r=t.models,o=t.response,a=0,s=i._isServerGrouped(),l=i._pristineData,c=t.type;if(i.trigger(Se,{response:o,type:c}),o&&!ie(o)){if(o=i.reader.parse(o),i._handleCustomErrors(o))return;o=i.reader.data(o),re(o)||(o=[o])}else o=e.map(r,function(e){return e.toJSON()});for("destroy"===c&&(i._destroyed=[]),a=0,n=r.length;n>a;a++)"destroy"!==c?(r[a].accept(o[a]),"create"===c?l.push(s?i._wrapInEmptyGroup(r[a]):o[a]):"update"===c&&i._updatePristineForModel(r[a],o[a])):i._removePristineForModel(r[a])},_updatePristineForModel:function(e,t){this._executeOnPristineForModel(e,function(e,n){ce.deepExtend(n[e],t)})},_executeOnPristineForModel:function(e,n){this._eachPristineItem(function(i){var r=A(i,e);return r>-1?(n(r,i),!0):t})},_removePristineForModel:function(e){this._executeOnPristineForModel(e,function(e,t){t.splice(e,1)})},_readData:function(e){var t=this._isServerGrouped()?this.reader.groups:this.reader.data;return t.call(this.reader,e)},_eachPristineItem:function(e){this._eachItem(this._pristineData,e)},_eachItem:function(e,t){e&&e.length&&(this._isServerGrouped()?x(e,t):t(e))},_pristineForModel:function(e){var n,i,r=function(r){return i=A(r,e),i>-1?(n=r[i],!0):t};return this._eachPristineItem(r),n},_cancelModel:function(e){var t=this._pristineForModel(e);this._eachItem(this._data,function(n){var i=E(n,e);i>=0&&(!t||e.isNew()&&!t.__state__?n.splice(i,1):n[i].accept(t))})},_submit:function(t,n){var i=this;i.trigger(xe,{type:"submit"}),i.transport.submit(ee({success:function(n,i){var r=e.grep(t,function(e){return e.type==i})[0];r&&r.resolve({response:n,models:r.models,type:i})},error:function(e,n,r){for(var o=0;t.length>o;o++)t[o].reject(e);i.error(e,n,r)}},n))},_sendSubmit:function(t,n,i){var r=this,o=[];return r.options.batch&&(t.length&&o.push(e.Deferred(function(e){e.type="create",e.models=t})),n.length&&o.push(e.Deferred(function(e){e.type="update",e.models=n})),i.length&&o.push(e.Deferred(function(e){e.type="destroy",e.models=i})),r._submit(o,{data:{created:r.reader.serialize(g(t)),updated:r.reader.serialize(g(n)),destroyed:r.reader.serialize(g(i))}})),o},_promise:function(t,n,i){var r=this;return e.Deferred(function(e){r.trigger(xe,{type:i}),r.transport[i].call(r.transport,ee({success:function(t){e.resolve({response:t,models:n,type:i})},error:function(t,n,i){e.reject(t),r.error(t,n,i)}},t))}).promise()},_send:function(e,t){var n,i,r=this,o=[],a=r.reader.serialize(g(t));if(r.options.batch)t.length&&o.push(r._promise({data:{models:a}},t,e));else for(n=0,i=t.length;i>n;n++)o.push(r._promise({data:a[n]},[t[n]],e));return o},read:function(t){var n=this,i=n._params(t),r=e.Deferred();return n._queueRequest(i,function(){var e=n.trigger(xe,{type:"read"});e?(n._dequeueRequest(),r.resolve(e)):(n.trigger(Ce),n._ranges=[],n.trigger("reset"),n.online()?n.transport.read({data:i,success:function(e){n.success(e,i),r.resolve()},error:function(){var e=Be.call(arguments);n.error.apply(n,e),r.reject.apply(r,e)}}):null!=n.options.offlineStorage&&(n.success(n.offlineData(),i),r.resolve()))}),r.promise()},_readAggregates:function(e){return this.reader.aggregates(e)},success:function(e){var n,i,r,o,a,s,l,c,u=this,d=u.options;if(u.trigger(Se,{response:e,type:"read"}),u.online()){if(e=u.reader.parse(e),u._handleCustomErrors(e))return u._dequeueRequest(),t;u._total=u.reader.total(e),u._aggregate&&d.serverAggregates&&(u._aggregateResult=u._readAggregates(e)),e=u._readData(e)}else{for(e=u._readData(e),n=[],i={},r=u.reader.model,o=r?r.idField:"id",a=0;this._destroyed.length>a;a++)s=this._destroyed[a][o],i[s]=s;for(a=0;e.length>a;a++)l=e[a],c=l.__state__,"destroy"==c?i[l[o]]||this._destroyed.push(this._createNewModel(l)):n.push(l);e=n,u._total=e.length}u._pristineTotal=u._total,u._pristineData=e.slice(0),u._detachObservableParents(),u._data=u._observe(e),null!=u.options.offlineStorage&&u._eachItem(u._data,function(e){var t,n;for(t=0;e.length>t;t++)n=e.at(t),
|
|
"update"==n.__state__&&(n.dirty=!0)}),u._storeData(),u._addRange(u._data),u._process(u._data),u._dequeueRequest()},_detachObservableParents:function(){if(this._data&&this._shouldDetachObservableParents)for(var e=0;this._data.length>e;e++)this._data[e].parent&&(this._data[e].parent=le)},_storeData:function(e){function t(e){var n,i,r,o=[];for(n=0;e.length>n;n++)i=e.at(n),r=i.toJSON(),a&&i.items?r.items=t(i.items):(r.uid=i.uid,s&&(i.isNew()?r.__state__="create":i.dirty&&(r.__state__="update"))),o.push(r);return o}var n,i,r,o,a=this._isServerGrouped(),s=this.reader.model;if(null!=this.options.offlineStorage){for(n=t(this._data),i=[],r=0;this._destroyed.length>r;r++)o=this._destroyed[r].toJSON(),o.__state__="destroy",i.push(o);this.offlineData(n.concat(i)),e&&(this._pristineData=n)}},_addRange:function(e){var t=this,n=t._skip||0,i=n+t._flatData(e,!0).length;t._ranges.push({start:n,end:i,data:e,timestamp:(new Date).getTime()}),t._ranges.sort(function(e,t){return e.start-t.start})},error:function(e,t,n){this._dequeueRequest(),this.trigger(Se,{}),this.trigger(ke,{xhr:e,status:t,errorThrown:n})},_params:function(e){var t=this,n=ee({take:t.take(),skip:t.skip(),page:t.page(),pageSize:t.pageSize(),sort:t._sort,filter:t._filter,group:t._group,aggregate:t._aggregate},e);return t.options.serverPaging||(delete n.take,delete n.skip,delete n.page,delete n.pageSize),t.options.serverGrouping?t.reader.model&&n.group&&(n.group=R(n.group,t.reader.model)):delete n.group,t.options.serverFiltering?t.reader.model&&n.filter&&(n.filter=I(n.filter,t.reader.model)):delete n.filter,t.options.serverSorting?t.reader.model&&n.sort&&(n.sort=R(n.sort,t.reader.model)):delete n.sort,t.options.serverAggregates?t.reader.model&&n.aggregate&&(n.aggregate=R(n.aggregate,t.reader.model)):delete n.aggregate,n},_queueRequest:function(e,n){var i=this;i._requestInProgress?i._pending={callback:te(n,i),options:e}:(i._requestInProgress=!0,i._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(ke,{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,n=this,i=n.reader.model;return n._shouldDetachObservableParents=!0,e instanceof We?(n._shouldDetachObservableParents=!1,n._shouldWrap(e)&&(e.type=n.reader.model,e.wrapAll(e,e))):(t=n.pageSize()&&!n.options.serverPaging?je:We,e=new t(e,n.reader.model),e.parent=function(){return n.parent()}),n._isServerGrouped()&&k(e,i),n._changeHandler&&n._data&&n._data instanceof We?n._data.unbind(be,n._changeHandler):n._changeHandler=te(n._change,n),e.bind(be,n._changeHandler)},_updateTotalForAction:function(e,t){var n=this,i=parseInt(n._total,10);f(n._total)||(i=parseInt(n._pristineTotal,10)),"add"===e?i+=t.length:"remove"===e?i-=t.length:"itemchange"===e||"sync"===e||n.options.serverPaging?"sync"===e&&(i=n._pristineTotal=parseInt(n._total,10)):i=n._pristineTotal,n._total=i},_change:function(e){var t,n,i,r=this,o=e?e.action:"";if("remove"===o)for(t=0,n=e.items.length;n>t;t++)e.items[t].isNew&&e.items[t].isNew()||r._destroyed.push(e.items[t]);!r.options.autoSync||"add"!==o&&"remove"!==o&&"itemchange"!==o?(r._updateTotalForAction(o,e?e.items:[]),r._process(r._data,e)):(i=function(t){"sync"===t.action&&(r.unbind("change",i),r._updateTotalForAction(o,e.items))},r.first("change",i),r.sync())},_calculateAggregates:function(e,t){t=t||{};var n=new o(e),i=t.aggregate,r=t.filter;return r&&(n=n.filter(r)),n.aggregate(i)},_process:function(e,n){var i,r=this,o={};r.options.serverPaging!==!0&&(o.skip=r._skip,o.take=r._take||r._pageSize,o.skip===t&&r._page!==t&&r._pageSize!==t&&(o.skip=(r._page-1)*r._pageSize)),r.options.serverSorting!==!0&&(o.sort=r._sort),r.options.serverFiltering!==!0&&(o.filter=r._filter),r.options.serverGrouping!==!0&&(o.group=r._group),r.options.serverAggregates!==!0&&(o.aggregate=r._aggregate,r._aggregateResult=r._calculateAggregates(e,o)),i=r._queryProcess(e,o),r.view(i.data),i.total===t||r.options.serverFiltering||(r._total=i.total),n=n||{},n.items=n.items||r._view,r.trigger(be,n)},_queryProcess:function(e,t){return o.process(e,t)},_mergeState:function(e){var n=this;return e!==t&&(n._pageSize=e.pageSize,n._page=e.page,n._sort=e.sort,n._filter=e.filter,n._group=e.group,n._aggregate=e.aggregate,n._skip=e.skip,n._take=e.take,n._skip===t&&(n._skip=n.skip(),e.skip=n.skip()),n._take===t&&n._pageSize!==t&&(n._take=n._pageSize,e.take=n._take),e.sort&&(n._sort=e.sort=a(e.sort)),e.filter&&(n._filter=e.filter=l(e.filter)),e.group&&(n._group=e.group=u(e.group)),e.aggregate&&(n._aggregate=e.aggregate=c(e.aggregate))),e},query:function(n){var i,r,o=this.options.serverSorting||this.options.serverPaging||this.options.serverFiltering||this.options.serverGrouping||this.options.serverAggregates;return o||(this._data===t||0===this._data.length)&&!this._destroyed.length?this.read(this._mergeState(n)):(r=this.trigger(xe,{type:"read"}),r||(this.trigger(Ce),i=this._queryProcess(this._data,this._mergeState(n)),this.options.serverFiltering||(this._total=i.total!==t?i.total:this._data.length),this._aggregateResult=this._calculateAggregates(this._data,n),this.view(i.data),this.trigger(Se,{type:"read"}),this.trigger(be,{items:i.data})),e.Deferred().resolve(r).promise())},fetch:function(e){var t=this,n=function(n){n!==!0&&ue(e)&&e.call(t)};return this._query().then(n)},_query:function(e){var t=this;return t.query(ee({},{page:t.page(),pageSize:t.pageSize(),sort:t.sort(),filter:t.filter(),group:t.group(),aggregate:t.aggregate()},e))},next:function(e){var n=this,i=n.page(),r=n.total();return e=e||{},!i||r&&i+1>n.totalPages()?t:(n._skip=i*n.take(),i+=1,e.page=i,n._query(e),i)},prev:function(e){var n=this,i=n.page();return e=e||{},i&&1!==i?(n._skip=n._skip-n.take(),i-=1,e.page=i,n._query(e),i):t},page:function(e){var n,i=this;return e!==t?(e=Me.max(Me.min(Me.max(e,1),i.totalPages()),1),i._query({page:e}),t):(n=i.skip(),n!==t?Me.round((n||0)/(i.take()||1))+1:t)},pageSize:function(e){var n=this;return e!==t?(n._query({pageSize:e,page:1}),t):n.take()},sort:function(e){var n=this;return e!==t?(n._query({sort:e}),t):n._sort},filter:function(e){var n=this;return e===t?n._filter:(n.trigger("reset"),n._query({filter:e,page:1}),t)},group:function(e){var n=this;return e!==t?(n._query({group:e}),t):n._group},total:function(){return parseInt(this._total||0,10)},aggregate:function(e){var n=this;return e!==t?(n._query({aggregate:e}),t):n._aggregate},aggregates:function(){var e=this._aggregateResult;return ie(e)&&(e=this._emptyAggregates(this.aggregate())),e},_emptyAggregates:function(e){var t,n,i={};if(!ie(e))for(t={},re(e)||(e=[e]),n=0;e.length>n;n++)t[e[n].aggregate]=0,i[e[n].field]=t;return i},_wrapInEmptyGroup:function(e){var t,n,i,r,o=this.group();for(i=o.length-1,r=0;i>=r;i--)n=o[i],t={value:e.get(n.field),field:n.field,items:t?[t]:[e],hasSubgroups:!!t,aggregates:this._emptyAggregates(n.aggregates)};return t},totalPages:function(){var e=this,t=e.pageSize()||e.total();return Me.ceil((e.total()||0)/t)},inRange:function(e,t){var n=this,i=Me.min(e+t,n.total());return!n.options.serverPaging&&n._data.length>0?!0:n._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,n){var i,r,o,a,s,l,c,u;if(this._currentRequestTimeStamp=this._timeStamp(),this._skipRequestsInProgress=!0,e=Me.min(e||0,this.total()),i=this,r=Me.max(Me.floor(e/n),0)*n,o=Me.min(r+n,i.total()),a=i._findRange(e,Me.min(e+n,i.total())),a.length){i._pending=t,i._skip=e>i.skip()?Me.min(o,(i.totalPages()-1)*i.take()):r,i._take=n,s=i.options.serverPaging,l=i.options.serverSorting,c=i.options.serverFiltering,u=i.options.serverAggregates;try{i.options.serverPaging=!0,i._isServerGrouped()||i.group()&&i.group().length||(i.options.serverSorting=!0),i.options.serverFiltering=!0,i.options.serverPaging=!0,i.options.serverAggregates=!0,s&&(i._detachObservableParents(),i._data=a=i._observe(a)),i._process(a)}finally{i.options.serverPaging=s,i.options.serverSorting=l,i.options.serverFiltering=c,i.options.serverAggregates=u}}else n!==t&&(i._rangeExists(r,o)?e>r&&i.prefetch(o,n,function(){i.range(e,n)}):i.prefetch(r,n,function(){e>r&&o<i.total()&&!i._rangeExists(o,Me.min(o+n,i.total()))?i.prefetch(o,n,function(){i.range(e,n)}):i.range(e,n)}))},_findRange:function(e,n){var i,r,o,s,l,c,d,h,f,p,g,m,v=this,_=v._ranges,b=[],w=v.options,y=w.serverSorting||w.serverPaging||w.serverFiltering||w.serverGrouping||w.serverAggregates;for(r=0,g=_.length;g>r;r++)if(i=_[r],e>=i.start&&i.end>=e){for(p=0,o=r;g>o;o++)if(i=_[o],f=v._flatData(i.data,!0),f.length&&e+p>=i.start&&(c=i.data,d=i.end,y||(m=u(v.group()||[]).concat(a(v.sort()||[])),h=v._queryProcess(i.data,{sort:m,filter:v.filter()}),f=c=h.data,h.total!==t&&(d=h.total)),s=0,e+p>i.start&&(s=e+p-i.start),l=f.length,d>n&&(l-=d-n),p+=l-s,b=v._mergeGroups(b,c,s,l),i.end>=n&&p==n-e))return b;break}return[]},_mergeGroups:function(e,t,n,i){if(this._isServerGrouped()){var r,o=t.toJSON();return e.length&&(r=e[e.length-1]),w(r,o,n,i),e.concat(o)}return e.concat(t.slice(n,i))},skip:function(){var e=this;return e._skip===t?e._page!==t?(e._page-1)*(e.take()||1):t:e._skip},take:function(){return this._take||this._pageSize},_prefetchSuccessHandler:function(e,t,n,i){var r=this,o=r._timeStamp();return function(a){var s,l,c,u=!1,d={start:e,end:t,data:[],timestamp:r._timeStamp()};if(r._dequeueRequest(),r.trigger(Se,{response:a,type:"read"}),a=r.reader.parse(a),c=r._readData(a),c.length){for(s=0,l=r._ranges.length;l>s;s++)if(r._ranges[s].start===e){u=!0,d=r._ranges[s];break}u||r._ranges.push(d)}d.data=r._observe(c),d.end=d.start+r._flatData(d.data,!0).length,r._ranges.sort(function(e,t){return e.start-t.start}),r._total=r.reader.total(a),(i||o>=r._currentRequestTimeStamp||!r._skipRequestsInProgress)&&(n&&c.length?n():r.trigger(be,{}))}},prefetch:function(e,t,n){var i=this,r=Me.min(e+t,i.total()),o={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,r)?n&&n():(clearTimeout(i._timeout),i._timeout=setTimeout(function(){i._queueRequest(o,function(){i.trigger(xe,{type:"read"})?i._dequeueRequest():i.transport.read({data:i._params(o),success:i._prefetchSuccessHandler(e,r,n),error:function(){var e=Be.call(arguments);i.error.apply(i,e)}})})},100))},_multiplePrefetch:function(e,t,n){var i=this,r=Me.min(e+t,i.total()),o={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,r)?n&&n():i.trigger(xe,{type:"read"})||i.transport.read({data:i._params(o),success:i._prefetchSuccessHandler(e,r,n,!0)})},_rangeExists:function(e,t){var n,i,r=this,o=r._ranges;for(n=0,i=o.length;i>n;n++)if(e>=o[n].start&&o[n].end>=t)return!0;return!1},_removeModelFromRanges:function(e){var t,n,i,r,o;for(r=0,o=this._ranges.length;o>r&&(i=this._ranges[r],this._eachItem(i.data,function(i){t=D(i,e),t&&(n=!0)}),!n);r++);},_updateRangesLength:function(){var e,t,n,i,r=0;for(n=0,i=this._ranges.length;i>n;n++)e=this._ranges[n],e.start=e.start-r,t=this._flatData(e.data,!0).length,r=e.end-t,e.end=e.start+t}}),K={},K.create=function(t,n,i){var r,o=t.transport?e.extend({},t.transport):null;return o?(o.read=typeof o.read===fe?{url:o.read}:o.read,"jsdo"===t.type&&(o.dataSource=i),t.type&&(ce.data.transports=ce.data.transports||{},ce.data.schemas=ce.data.schemas||{},ce.data.transports[t.type]&&!ne(ce.data.transports[t.type])?r=new ce.data.transports[t.type](ee(o,{data:n})):o=ee(!0,{},ce.data.transports[t.type],o),t.schema=ee(!0,{},ce.data.schemas[t.type],t.schema)),r||(r=ue(o.read)?o:new q(o))):r=new j({data:t.data||[]}),r},Y.create=function(e){(re(e)||e instanceof We)&&(e={data:e});var n,i,r,o=e||{},a=o.data,s=o.fields,l=o.table,c=o.select,u={};if(a||!s||o.transport||(l?a=z(l,s):c&&(a=P(c,s),o.group===t&&a[0]&&a[0].optgroup!==t&&(o.group="optgroup"))),ce.data.Model&&s&&(!o.schema||!o.schema.model)){for(n=0,i=s.length;i>n;n++)r=s[n],r.type&&(u[r.field]=r);ie(u)||(o.schema=ee(!0,o.schema,{model:{fields:u}}))}return o.data=a,c=null,o.select=null,l=null,o.table=null,o instanceof Y?o:new Y(o)},Q=Ye.define({idField:"id",init:function(e){var t=this,n=t.hasChildren||e&&e.hasChildren,i="items",r={};ce.data.Model.fn.init.call(t,e),typeof t.children===fe&&(i=t.children),r={schema:{data:i,model:{hasChildren:n,id:t.idField,fields:t.fields}}},typeof t.children!==fe&&ee(r,t.children),r.data=e,n||(n=r.schema.data),typeof n===fe&&(n=ce.getter(n)),ue(n)&&(t.hasChildren=!!n.call(t,t)),t._childrenOptions=r,t.hasChildren&&t._initChildren(),t._loaded=!(!e||!e._loaded)},_initChildren:function(){var e,t,n,i=this;i.children instanceof X||(e=i.children=new X(i._childrenOptions),t=e.transport,n=t.parameterMap,t.parameterMap=function(e,t){return e[i.idField||"id"]=i.id,n&&(e=n(e,t)),e},e.parent=function(){return i},e.bind(be,function(e){e.node=e.node||i,i.trigger(be,e)}),e.bind(ke,function(e){var t=i.parent();t&&(e.node=e.node||i,t.trigger(ke,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(){var e=this._childrenOptions.schema.data;this[e||"items"]=this.children.data()},_childrenLoaded:function(){this._loaded=!0,this._updateChildrenField()},load:function(){var n,i,r={},o="_query";return this.hasChildren?(this._initChildren(),n=this.children,r[this.idField||"id"]=this.id,this._loaded||(n._data=t,o="read"),n.one(be,te(this._childrenLoaded,this)),i=n[o](r)):this.loaded(!0),i||e.Deferred().resolve().promise()},parentNode:function(){var e=this.parent();return e.parent()},loaded:function(e){return e===t?this._loaded:(this._loaded=e,t)},shouldSerialize:function(e){return Ye.fn.shouldSerialize.call(this,e)&&"children"!==e&&"_loaded"!==e&&"hasChildren"!==e&&"_childrenOptions"!==e}}),X=Y.extend({init:function(e){var t=Q.define({children:e});Y.fn.init.call(this,ee(!0,{},{schema:{modelBase:t,model:t}},e)),this._attachBubbleHandlers()},_attachBubbleHandlers:function(){var e=this;e._data.bind(ke,function(t){e.trigger(ke,t)})},remove:function(e){var t,n=e.parentNode(),i=this;return n&&n._initChildren&&(i=n.children),t=Y.fn.remove.call(i,e),n&&!i.data().length&&(n.hasChildren=!1),t},success:B("success"),data:B("data"),insert:function(e,t){var n=this.parent();return n&&n._initChildren&&(n.hasChildren=!0,n._initChildren()),Y.fn.insert.call(this,e,t)},_find:function(e,t){var n,i,r,o,a=this._data;if(a){if(r=Y.fn[e].call(this,t))return r;for(a=this._flatData(this._data),n=0,i=a.length;i>n;n++)if(o=a[n].children,o instanceof X&&(r=o[e](t)))return r}},get:function(e){return this._find("get",e)},getByUid:function(e){return this._find("getByUid",e)}}),X.create=function(e){e=e&&e.push?{data:e}:e;var t=e||{},n=t.data,i=t.fields,r=t.list;return n&&n._dataSource?n._dataSource:(n||!i||t.transport||r&&(n=L(r,i)),t.data=n,t instanceof X?t:new X(t))},J=ce.Observable.extend({init:function(e,t,n){ce.Observable.fn.init.call(this),this._prefetching=!1,this.dataSource=e,this.prefetch=!n;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 n=this.pageSize,i=!0;return e>=this.total()?(this.trigger("endreached",{index:e}),null):this.useRanges?this.useRanges?((this.dataOffset>e||e>=this.skip+n)&&(i=this.range(Math.floor(e/n)*n)),e===this.prefetchThreshold&&this._prefetch(),e===this.midPageThreshold?this.range(this.nextMidRange,!0):e===this.nextPageThreshold?this.range(this.nextFullRange):e===this.pullBackThreshold&&this.range(this.offset===this.skip?this.previousMidRange:this.previousFullRange),i?this.dataSource.at(e-this.dataOffset):(this.trigger("endreached",{index:e}),null)):t: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,n=e.skip-e.viewSize+t,i=Me.max(Me.floor(n/t),0)*t;this.offset=n,this.dataSource.prefetch(i,t,function(){e._goToRange(n,!0)})},range:function(e,t){if(this.offset===e)return!0;var n=this,i=this.pageSize,r=Me.max(Me.floor(e/i),0)*i,o=this.dataSource;return t&&(r+=i),o.inRange(e,i)?(this.offset=e,this._recalculate(),this._goToRange(e),!0):this.prefetch?(o.prefetch(r,i,function(){n.offset=e,n._recalculate(),n._goToRange(e,!0)}),!1):!0},syncDataSource:function(){var e=this.offset;this.offset=null,this.range(e)},destroy:function(){this.unbind()},_prefetch:function(){var e=this,t=this.pageSize,n=this.skip+t,i=this.dataSource;i.inRange(n,t)||this._prefetching||!this.prefetch||(this._prefetching=!0,this.trigger("prefetching",{skip:n,take:t}),i.prefetch(n,t,function(){e._prefetching=!1,e.trigger("prefetched",{skip:n,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,n=this.viewSize,i=Math.ceil(t/e)*e;this.skip=i,this.midPageThreshold=i+e-1,this.nextPageThreshold=i+n-1,this.prefetchThreshold=i+Math.floor(e/3*2),this.pullBackThreshold=this.offset-1,this.nextMidRange=i+e-n,this.nextFullRange=i,this.previousMidRange=t-n,this.previousFullRange=i-e}}),Z=ce.Observable.extend({init:function(e,t){var n=this;ce.Observable.fn.init.call(n),this.dataSource=e,this.batchSize=t,this._total=0,this.buffer=new J(e,3*t),this.buffer.bind({endreached:function(e){n.trigger("endreached",{index:e.index})},prefetching:function(e){n.trigger("prefetching",{skip:e.skip,take:e.take})},prefetched:function(e){n.trigger("prefetched",{skip:e.skip,take:e.take})},reset:function(){n._total=0,n.trigger("reset")},resize:function(){n._total=Math.ceil(this.length/n.batchSize),n.trigger("resize",{total:n.total(),offset:this.offset})}})},syncDataSource:function(){this.buffer.syncDataSource()},at:function(e){var t,n,i=this.buffer,r=e*this.batchSize,o=this.batchSize,a=[];for(i.offset>r&&i.at(i.offset-1),n=0;o>n&&(t=i.at(r+n),null!==t);n++)a.push(t);return a},total:function(){return this._total},destroy:function(){this.buffer.destroy(),this.unbind()}}),ee(!0,ce.data,{readers:{json:$},Query:o,DataSource:Y,HierarchicalDataSource:X,Node:Q,ObservableObject:qe,ObservableArray:We,LazyObservableArray:je,LocalTransport:j,RemoteTransport:q,Cache:G,DataReader:$,Model:Ye,Buffer:J,BatchBuffer:Z})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()}); |