UNPKG

@progress/kendo-ui

Version:

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

545 lines (444 loc) 18.9 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(4); module.exports = __webpack_require__(4); /***/ }), /* 1 */, /* 2 */, /* 3 */ /***/ (function(module, exports) { module.exports = function() { throw new Error("define cannot be used indirect"); }; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(5), __webpack_require__(6), __webpack_require__(7), __webpack_require__(8) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(function(){ (function ($, undefined) { var kendo = window.kendo, escapeQuoteRegExp = /'/ig, extend = $.extend, isArray = $.isArray, isPlainObject = $.isPlainObject, POINT = "."; function parameterMap(options, operation, serializationOptions) { var result = {}; if (options.sort) { result[this.options.prefix + "sort"] = $.map(options.sort, function(sort) { return sort.field + "-" + sort.dir; }).join("~"); delete options.sort; } else { result[this.options.prefix + "sort"] = ""; } if (options.page) { result[this.options.prefix + "page"] = options.page; delete options.page; } if (options.pageSize) { result[this.options.prefix + "pageSize"] = options.pageSize; delete options.pageSize; } if (options.group) { result[this.options.prefix + "group"] = $.map(options.group, function(group) { return group.field + "-" + group.dir; }).join("~"); delete options.group; } else { result[this.options.prefix + "group"] = ""; } if (options.aggregate) { result[this.options.prefix + "aggregate"] = $.map(options.aggregate, function(aggregate) { return aggregate.field + "-" + aggregate.aggregate; }).join("~"); delete options.aggregate; } if (options.filter) { result[this.options.prefix + "filter"] = serializeFilter(options.filter, serializationOptions.encode); delete options.filter; } else { result[this.options.prefix + "filter"] = ""; delete options.filter; } delete options.take; delete options.skip; var serializer = new Serializer(serializationOptions); serializer.serialize(result, options, ""); return result; } var Serializer = function(options) { options = options || {}; this.culture = options.culture || kendo.culture(); this.stringifyDates = options.stringifyDates; this.decimalSeparator = this.culture.numberFormat[POINT]; }; Serializer.prototype = Serializer.fn = { serialize: function(result, data, prefix) { var valuePrefix; for (var key in data) { valuePrefix = prefix ? prefix + "." + key : key; this.serializeField(result, data[key], data, key, valuePrefix); } }, serializeField: function (result, value, data, key, prefix) { if (isArray(value)) { this.serializeArray(result, value, prefix); } else if (isPlainObject(value)) { this.serialize(result, value, prefix); } else { if (result[prefix] === undefined) { result[prefix] = data[key] = this.serializeValue(value); } } }, serializeArray: function (result, data, prefix) { var value, key, valuePrefix; for (var sourceIndex = 0, destinationIndex = 0; sourceIndex < data.length; sourceIndex++) { value = data[sourceIndex]; key = "[" + destinationIndex + "]"; valuePrefix = prefix + key; this.serializeField(result, value, data, key, valuePrefix); destinationIndex++; } }, serializeValue: function (value) { if (value instanceof Date) { if (this.stringifyDates) { value = kendo.stringify(value).replace(/"/g, ""); } else { value = kendo.toString(value, "G", this.culture.name); } } else if (typeof value === "number") { value = value.toString().replace(POINT, this.decimalSeparator); } return value; } }; function serializeFilter(filter, encode) { if (filter.filters) { return $.map(filter.filters, function(f) { var hasChildren = f.filters && f.filters.length > 1, result = serializeFilter(f, encode); if (result && hasChildren) { result = "(" + result + ")"; } return result; }).join("~" + filter.logic + "~"); } if (filter.field) { return filter.field + "~" + filter.operator + "~" + encodeFilterValue(filter.value, encode); } else { return undefined; } } function encodeFilterValue(value, encode) { if (typeof value === "string") { if (value.indexOf('Date(') > -1) { value = new Date(parseInt(value.replace(/^\/Date\((.*?)\)\/$/, '$1'), 10)); } else { value = value.replace(escapeQuoteRegExp, "''"); if (encode) { value = encodeURIComponent(value); } return "'" + value + "'"; } } if (value && value.getTime) { return "datetime'" + kendo.format("{0:yyyy-MM-ddTHH-mm-ss}", value) + "'"; } return value; } function valueOrDefault(value, defaultValue) { return typeof value !== "undefined" ? value : defaultValue; } function translateGroup(group) { var hasSubgroups = group.HasSubgroups || group.hasSubgroups || false; var items = group.Items || group.items; return { value: valueOrDefault(group.Key, valueOrDefault(group.key, group.value)), field: group.Member || group.member || group.field, hasSubgroups: hasSubgroups, aggregates: translateAggregate(group.Aggregates || group.aggregates), items: hasSubgroups ? $.map(items, translateGroup) : items }; } function translateAggregateResults(aggregate) { var obj = {}; obj[aggregate.AggregateMethodName.toLowerCase()] = aggregate.Value; return obj; } function translateAggregate(aggregates) { var functionResult = {}, key, functionName, aggregate; for (key in aggregates) { functionResult = {}; aggregate = aggregates[key]; for (functionName in aggregate) { functionResult[functionName.toLowerCase()] = aggregate[functionName]; } aggregates[key] = functionResult; } return aggregates; } function convertAggregates(aggregates) { var idx, length, aggregate; var result = {}; for (idx = 0, length = aggregates.length; idx < length; idx++) { aggregate = aggregates[idx]; result[aggregate.Member] = extend(true, result[aggregate.Member], translateAggregateResults(aggregate)); } return result; } extend(true, kendo.data, { schemas: { "aspnetmvc-ajax": { groups: function(data) { return $.map(this._dataAccessFunction(data), translateGroup); }, aggregates: function(data) { data = data.d || data; var aggregates = data.AggregateResults || []; if (!$.isArray(aggregates)) { for (var key in aggregates) { aggregates[key] = convertAggregates(aggregates[key]); } return aggregates; } return convertAggregates(aggregates); } } } }); extend(true, kendo.data, { transports: { "aspnetmvc-ajax": kendo.data.RemoteTransport.extend({ init: function(options) { var that = this, stringifyDates = (options || {}).stringifyDates; kendo.data.RemoteTransport.fn.init.call(this, extend(true, {}, this.options, options, { parameterMap: function(options, operation) { return parameterMap.call(that, options, operation, { encode: false, stringifyDates: stringifyDates }); } }) ); }, read: function(options) { var data = this.options.data, url = this.options.read.url; if (isPlainObject(data)) { if (url) { this.options.data = null; } if (!data.Data.length && url) { kendo.data.RemoteTransport.fn.read.call(this, options); } else { options.success(data); } } else { kendo.data.RemoteTransport.fn.read.call(this, options); } }, options: { read: { type: "POST" }, update: { type: "POST" }, create: { type: "POST" }, destroy: { type: "POST" }, parameterMap: parameterMap, prefix: "" } }) } }); extend(true, kendo.data, { schemas: { "webapi": kendo.data.schemas["aspnetmvc-ajax"] } }); extend(true, kendo.data, { transports: { "webapi": kendo.data.RemoteTransport.extend({ init: function(options) { var that = this; var stringifyDates = (options || {}).stringifyDates; if (options.update) { var updateUrl = typeof options.update === "string" ? options.update : options.update.url; options.update = extend(options.update, {url: function (data) { return kendo.format(updateUrl, data[options.idField]); }}); } if (options.destroy) { var destroyUrl = typeof options.destroy === "string" ? options.destroy : options.destroy.url; options.destroy = extend(options.destroy, {url: function (data) { return kendo.format(destroyUrl, data[options.idField]); }}); } if(options.create && typeof options.create === "string") { options.create = { url: options.create }; } kendo.data.RemoteTransport.fn.init.call(this, extend(true, {}, this.options, options, { parameterMap: function(options, operation) { return parameterMap.call(that, options, operation, { encode: false, stringifyDates: stringifyDates, culture: kendo.cultures["en-US"] }); } }) ); }, read: function(options) { var data = this.options.data, url = this.options.read.url; if (isPlainObject(data)) { if (url) { this.options.data = null; } if (!data.Data.length && url) { kendo.data.RemoteTransport.fn.read.call(this, options); } else { options.success(data); } } else { kendo.data.RemoteTransport.fn.read.call(this, options); } }, options: { read: { type: "GET" }, update: { type: "PUT" }, create: { type: "POST" }, destroy: { type: "DELETE" }, parameterMap: parameterMap, prefix: "" } }) } }); extend(true, kendo.data, { transports: { "aspnetmvc-server": kendo.data.RemoteTransport.extend({ init: function(options) { var that = this; kendo.data.RemoteTransport.fn.init.call(this, extend(options, { parameterMap: function(options, operation) { return parameterMap.call(that, options, operation, { encode: true }); } } )); }, read: function(options) { var url, prefix = this.options.prefix, params = [prefix + "sort", prefix + "page", prefix + "pageSize", prefix + "group", prefix + "aggregate", prefix + "filter"], regExp = new RegExp("(" + params.join('|') + ")=[^&]*&?", "g"), query; query = location.search.replace(regExp, "").replace("?", ""); if (query.length && !(/&$/.test(query))) { query += "&"; } options = this.setup(options, "read"); url = options.url; if (url.indexOf("?") >= 0) { query = query.replace(/(.*?=.*?)&/g, function(match){ if(url.indexOf(match.substr(0, match.indexOf("="))) >= 0){ return ""; } return match; }); url += "&" + query; } else { url += "?" + query; } url += $.map(options.data, function(value, key) { return key + "=" + value; }).join("&"); location.href = url; } }) } }); })(window.kendo.jQuery); }, __webpack_require__(3)); /***/ }), /* 5 */ /***/ (function(module, exports) { module.exports = require("../kendo.data"); /***/ }), /* 6 */ /***/ (function(module, exports) { module.exports = require("../kendo.combobox"); /***/ }), /* 7 */ /***/ (function(module, exports) { module.exports = require("../kendo.multiselect"); /***/ }), /* 8 */ /***/ (function(module, exports) { module.exports = require("../kendo.validator"); /***/ }) /******/ ]);