@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 2.46 kB
JavaScript
!function(e){"function"==typeof define&&define.amd?define(["kendo.core.min"],e):e()}((function(){var e,t,n,r,i,a,o,f,l;e=window.kendo.jQuery,t=window.kendo,n=Array.isArray,r=e.isPlainObject,i=e.map,a=e.each,o=e.extend,f=t.getter,l=t.Class.extend({init:function(e){var f=this,l=e.total,d=e.model,u=e.parse,s=e.errors,c=e.serialize,p=e.data;if(d){if(r(d)){var m=e.modelBase||t.data.Model;d.fields&&a(d.fields,(function(e,n){r(n)&&n.field?t.isFunction(n.field)||(n=o(n,{field:f.getter(n.field)})):n={field:f.getter(n)},d.fields[e]=n}));var h=d.id;if(h){var x={};x[f.xpathToMember(h,!0)]={field:f.getter(h)},d.fields=o(x,d.fields),d.id=f.xpathToMember(h)}d=m.define(d)}f.model=d}if(l&&("string"==typeof l?(l=f.getter(l),f.total=function(e){return parseInt(l(e),10)}):"function"==typeof l&&(f.total=l)),s&&("string"==typeof s?(s=f.getter(s),f.errors=function(e){return s(e)||null}):"function"==typeof s&&(f.errors=s)),p&&("string"==typeof p?(p=f.xpathToMember(p),f.data=function(e){var t,r=f.evaluate(e,p);return r=n(r)?r:[r],f.model&&d.fields?(t=new f.model,i(r,(function(e){if(e){var n,r={};for(n in d.fields)r[n]=t._parse(n,d.fields[n].field(e));return r}}))):r}):"function"==typeof p&&(f.data=p)),"function"==typeof u){var v=f.parse;f.parse=function(e){var t=u.call(f,e);return v.call(f,t)}}"function"==typeof c&&(f.serialize=c)},total:function(e){return this.data(e).length},errors:function(e){return e?e.errors:null},serialize:function(e){return e},parseDOM:function(e){var t,r,i,a,o,f,l,d={},u=e.attributes,s=u.length;for(l=0;l<s;l++)d["@"+(f=u[l]).nodeName]=f.nodeValue;for(r=e.firstChild;r;r=r.nextSibling)3===(i=r.nodeType)||4===i?d["#text"]=r.nodeValue:1===i&&(t=this.parseDOM(r),o=d[a=r.nodeName],n(o)?o.push(t):o=void 0!==o?[o,t]:t,d[a]=o);return d},evaluate:function(e,t){for(var r,i,a,o,f,l=t.split(".");r=l.shift();)if(e=e[r],n(e)){for(i=[],t=l.join("."),f=0,a=e.length;f<a;f++)o=this.evaluate(e[f],t),o=n(o)?o:[o],i.push.apply(i,o);return i}return e},parse:function(t){var n,r,i={};return n=t.documentElement||e.parseXML(t).documentElement,r=this.parseDOM(n),i[n.nodeName]=r,i},xpathToMember:function(e,t){return e?(e=e.replace(/^\//,"").replace(/\//g,".")).indexOf("@")>=0?e.replace(/\.?(@.*)/,t?"$1":'["$1"]'):e.indexOf("text()")>=0?e.replace(/(\.?text\(\))/,t?"#text":'["#text"]'):e:""},getter:function(e){return f(this.xpathToMember(e),!0)}}),e.extend(!0,t.data,{XmlDataReader:l,readers:{xml:l}})}));
//# sourceMappingURL=kendo.data.xml.min.js.map