@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
6 lines • 6.35 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.DataOdata={}),e.kendo._globals.Core))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let n={id:`data.odata`,name:`OData`,category:`framework`,depends:[`core`],hidden:!0};(function(e,t){var n=window.kendo,r=e.extend,i=`\r
`,a=`\r
\r
`,o=n.isFunction,s={eq:`eq`,neq:`ne`,gt:`gt`,gte:`ge`,lt:`lt`,lte:`le`,contains:`substringof`,doesnotcontain:`substringof`,endswith:`endswith`,startswith:`startswith`,isnull:`eq`,isnotnull:`ne`,isnullorempty:`eq`,isnotnullorempty:`ne`,isempty:`eq`,isnotempty:`ne`},c=r({},s,{contains:`contains`}),l={pageSize:e.noop,page:e.noop,filter:function(e,t,n){t&&(t=d(t,n),t&&(e.$filter=t))},sort:function(t,n){var r=e.map(n,function(e){var t=e.field.replace(/\./g,`/`);return e.dir===`desc`&&(t+=` desc`),t}).join(`,`);r&&(t.$orderby=r)},skip:function(e,t){t&&(e.$skip=t)},take:function(e,t){t&&(e.$top=t)}},u={read:{dataType:`jsonp`}};function d(e,r){var i=[],a=e.logic||`and`,o,l,u,f,p,m,h,g,_=e.filters;for(o=0,l=_.length;o<l;o++)e=_[o],u=e.field,h=e.value,m=e.operator,e.filters?e=d(e,r):(g=e.ignoreCase,u=u.replace(/\./g,`/`),e=s[m],r&&(e=c[m]),m===`isnullorempty`?e=n.format(`({0} {1} null or {0} {1} '')`,u,e):m===`isnotnullorempty`?e=n.format(`({0} {1} null and {0} {1} '')`,u,e):m===`isnull`||m===`isnotnull`?e=n.format(`{0} {1} null`,u,e):m===`isempty`||m===`isnotempty`?e=n.format(`{0} {1} ''`,u,e):e&&h!==t&&(f=n.type(h),f===`string`?(p=`'{1}'`,h=h.replace(/'/g,`''`),g===!0&&(u=`tolower(`+u+`)`)):f===`date`?r?(p=`{1:yyyy-MM-ddTHH:mm:ss+00:00}`,h=n.timezone.apply(h,`Etc/UTC`)):p=`datetime'{1:yyyy-MM-ddTHH:mm:ss}'`:p=`{1}`,e.length>3?e===`substringof`?(p=`{0}(`+p+`,{2})`,m===`doesnotcontain`&&(r?(p=`{0}({2},'{1}') eq -1`,e=`indexof`):p+=` eq false`)):p=`{0}({2},`+p+`)`:p=`{2} {0} `+p,e=n.format(p,e,h,u))),i.push(e);return e=i.join(` `+a+` `),i.length>1&&(e=`(`+e+`)`),e}function f(e){for(var t in e)t.indexOf(`@odata`)===0&&delete e[t]}function p(){return Math.floor((1+Math.random())*65536).toString(16).substr(1)}function m(e){return e+p()+`-`+p()+`-`+p()}function h(e,t){var n=i+`--`+e;return t&&(n+=`--`),n}function g(e,t,r,i){var a=e.options[i].url,s=n.format(`{0} `,r);return o(a)?s+a(t):s+a}function _(e,t){var n=``;return n+=h(e,!1),n+=i+`Content-Type: application/http`,n+=i+`Content-Transfer-Encoding: binary`,n+=i+`Content-ID: `+t,n}function v(e){var t=``;return t+=i+`Content-Type: application/json;odata=minimalmetadata`,t+=i+`Prefer: return=representation`,t+=a+n.stringify(e),t}function y(e,t,n,r,o,s){for(var c=``,l=0;l<e.length;l++)c+=_(t,n),c+=a+g(o,e[l],o.options[r].type,r)+` HTTP/1.1`,s||(c+=v(e[l])),c+=i,n++;return c}function b(e,t,n,r,a,o,s){var c=``;return c+=x(t,n),c+=y(e,n,r,o,a,s),c+=h(n,!0),c+=i,c}function x(e,t){var n=``;return n+=`--`+e+i,n+=`Content-Type: multipart/mixed; boundary=`+t+i,n}function S(e,t){var n=r({},e.options.batch),i=m(`sf_batch_`),a=``,s=0,c=e.options.batch.url,l=m(`sf_changeset_`);return n.type=e.options.batch.type,n.url=o(c)?c():c,n.headers=r(n.headers||{},{"Content-Type":`multipart/mixed; boundary=`+i}),t.updated.length&&(a+=b(t.updated,i,l,s,e,`update`,!1),s+=t.updated.length,l=m(`sf_changeset_`)),t.destroyed.length&&(a+=b(t.destroyed,i,l,s,e,`destroy`,!0),s+=t.destroyed.length,l=m(`sf_changeset_`)),t.created.length&&(a+=b(t.created,i,l,s,e,`create`,!1)),a+=h(i,!0),n.data=a,n}function C(e){var t=e.match(/--changesetresponse_[a-z0-9-]+$/gm),r=0,i=[],a,o,s,c,l;i.push({models:[],passed:!0});for(var u=0;u<t.length;u++){if(c=t[u],c.lastIndexOf(`--`,c.length-1)){u<t.length-1&&i.push({models:[],passed:!0});continue}r=r?e.indexOf(c,r+c.length):e.indexOf(c),a=e.substring(r,e.indexOf(`--`,r+1)),o=a.match(/^HTTP\/1\.\d (\d{3}) (.*)$/gm).pop(),s=n.parseFloat(o.match(/\d{3}/g).pop()),s>=200&&s<=299?(l=a.match(/\{.*\}/gm),l&&i[i.length-1].models.push(JSON.parse(l[0]))):i[i.length-1].passed=!1}return i}r(!0,n.data,{schemas:{odata:{type:`json`,data:function(e){return e.d.results||[e.d]},total:`d.__count`}},transports:{odata:{read:{cache:!0,dataType:`jsonp`,jsonp:`$callback`},update:{cache:!0,dataType:`json`,contentType:`application/json`,type:`PUT`},create:{cache:!0,dataType:`json`,contentType:`application/json`,type:`POST`},destroy:{cache:!0,dataType:`json`,type:`DELETE`},parameterMap:function(e,t,r){var i,a,o,s;if(e||={},t||=`read`,s=(this.options||u)[t],s=s?s.dataType:`json`,t===`read`)for(o in i={$inlinecount:`allpages`},s!=`json`&&(i.$format=`json`),e)l[o]?l[o](i,e[o],r):i[o]=e[o];else{if(s!==`json`)throw Error(`Only json dataType can be used for `+t+` operation.`);if(t!==`destroy`){for(o in e)a=e[o],typeof a==`number`&&(e[o]=a+``);i=n.stringify(e)}}return i}}}}),r(!0,n.data,{schemas:{"odata-v4":{type:`json`,data:function(t){if(Array.isArray(t)){for(var n=0;n<t.length;n++)f(t[n]);return t}else return t=e.extend({},t),f(t),t.value?t.value:[t]},total:function(e){return e[`@odata.count`]}}},transports:{"odata-v4":{batch:{type:`POST`},read:{cache:!0,dataType:`json`},update:{cache:!0,dataType:`json`,contentType:`application/json;IEEE754Compatible=true`,type:`PUT`},create:{cache:!0,dataType:`json`,contentType:`application/json;IEEE754Compatible=true`,type:`POST`},destroy:{cache:!0,dataType:`json`,type:`DELETE`},parameterMap:function(e,t){var r=n.data.transports.odata.parameterMap(e,t,!0);return t==`read`&&(r.$count=!0,delete r.$inlinecount),r&&r.$filter&&(r.$filter=r.$filter.replace(/('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')/gi,function(e){return e.substring(1,e.length-1)})),r},submit:function(t){var n=S(this,t.data),i=t.data;!i.updated.length&&!i.destroyed.length&&!i.created.length||e.ajax(r(!0,{},{success:function(e){var n=C(e),r=0,a;i.updated.length&&(a=n[r],a.passed&&t.success(a.models.length?a.models:[],`update`),r++),i.destroyed.length&&(a=n[r],a.passed&&t.success([],`destroy`),r++),i.created.length&&(a=n[r],a.passed&&t.success(a.models,`create`))},error:function(e,n,r){t.error(e,n,r)}},n))}}}})})(window.kendo.jQuery);var r=kendo;e.__meta__=n,e.default=r});
//# sourceMappingURL=kendo.data.odata.min.js.map