{"version":3,"file":"static/js/509.7be7dfdd.js","mappings":"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","sources":["webpack://finnish-art/./node_modules/devextreme/esm/core/http_request.js","webpack://finnish-art/./node_modules/devextreme/esm/core/utils/ajax.js","webpack://finnish-art/./node_modules/devextreme/esm/data/abstract_store.js","webpack://finnish-art/./node_modules/devextreme/esm/data/array_query.js","webpack://finnish-art/./node_modules/devextreme/esm/data/array_store.js","webpack://finnish-art/./node_modules/devextreme/esm/data/array_utils.js","webpack://finnish-art/./node_modules/devextreme/esm/data/custom_store.js","webpack://finnish-art/./node_modules/devextreme/esm/core/utils/queue.js","webpack://finnish-art/./node_modules/devextreme/esm/data/data_source/operation_manager.js","webpack://finnish-art/./node_modules/devextreme/esm/data/data_source/data_source.js","webpack://finnish-art/./node_modules/devextreme/esm/data/data_source/utils.js","webpack://finnish-art/./node_modules/devextreme/esm/data/errors.js","webpack://finnish-art/./node_modules/devextreme/esm/data/query_adapters.js","webpack://finnish-art/./node_modules/devextreme/esm/data/query_implementation.js","webpack://finnish-art/./node_modules/devextreme/esm/data/remote_query.js","webpack://finnish-art/./node_modules/devextreme/esm/data/query.js","webpack://finnish-art/./node_modules/devextreme/esm/data/store_helper.js","webpack://finnish-art/./node_modules/devextreme/esm/data/utils.js","webpack://finnish-art/./node_modules/devextreme/esm/data_helper.js"],"sourcesContent":["/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport Promise from \"../polyfills/promise\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr, d)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = toComparable(xValue);\r\n yValue = toComparable(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || defaultCompare;\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var toString = function(value) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit) {\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n delete this.__rawData\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/array\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n if (!isDefined(data) || isEmpty(data)) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n if (store instanceof CustomStore) {\r\n store.clearRawDataCache()\r\n }\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], 0, false)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, 0, false)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n var lastArgs;\r\n return function() {\r\n lastArgs = arguments;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n if (lastArgs) {\r\n func.call(this, lastArgs)\r\n }\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers()\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n if (this._dataSource) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n"],"names":["nativeXMLHttpRequest","getXhr","XMLHttpRequest","SUCCESS","ERROR","createScript","options","script","name","removeScript","scriptNode","parentNode","removeChild","appendToHead","element","appendChild","evalScript","code","text","getMethod","method","toUpperCase","sendRequest","timeoutId","xhr","d","result","promise","async","dataType","timeout","crossDomain","url","originAnchor","urlAnchor","href","location","protocol","host","e","isCrossDomain","needScriptEvaluation","cache","callbackName","random","Math","toString","replace","jsonpCallback","Date","now","callbackParameter","jsonp","data","getJsonpOptions","headers","defaultContentType","upload","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","html","xml","json","extend","getAcceptHeader","getRequestHeaders","requestOptions","params","paramsAlreadyString","_","value","push","encodeURIComponent","join","paramsConvert","indexOf","parameters","getRequestOptions","resolve","src","reject","events","load","error","loadHandler","type","event","evalCrossDomainScript","then","open","username","password","setTimeout","customStatus","abort","setHttpTimeout","onreadystatechange","status","readyState","clearTimeout","hasContent","deferred","responseType","responseText","response","getDataFromResponse","JSON","parse","postProcess","onprogress","onloadstart","onabort","xhrFields","field","Object","prototype","hasOwnProperty","call","setRequestHeader","beforeSend","send","inheritor","abstract","queryByOptions","storeImpl","Store","ctor","that","this","_eventsStrategy","optionName","on","slice","toLowerCase","_key","key","_errorHandler","errorHandler","_useDefaultSearch","_customLoadOptions","keyOf","obj","_keyGetter","_requireKey","fireEvent","_withLock","_loadImpl","done","createQuery","enumerate","task","args","arguments","resolveWith","fail","rejectWith","totalCount","_totalCountImpl","count","byKey","extraOptions","_addFailHandlers","_byKeyImpl","insert","values","_insertImpl","callbackValues","callbackKey","update","_updateImpl","changes","beforePushArgs","waitFor","_pushImpl","remove","_removeImpl","eventName","eventHandler","off","create","alias","registerClass","inherit","members","apply","Iterator","toArray","reset","next","current","countable","ArrayIterator","array","index","length","WrappedIterator","iter","MapIterator","mapper","callBase","hasNext","defaultCompare","xValue","yValue","SortIterator","getter","desc","compare","_wrap","rules","thenBy","sortedIter","concat","_ensureSorted","sort","x","y","_compare","_unwrap","record","wrappedItem","xIndex","yIndex","i","rulesCount","rule","compareResult","compileCriteria","compileEquals","negate","crit","ops","isConjunctiveOperator","isConjunctiveNextOperator","Array","isArray","op","criteria","operatorFn","a","b","getterValue","searchValue","lastIndexOf","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","hash","keys","items","SelectIterator","SliceIterator","skip","take","max","pos","min","arrayQueryImpl","queryOptions","handleError","handler","aggregateCore","aggregator","step","finalize","accumulator","seed","NaN","standardAggregate","select","chainQuery","selectProp","sortBy","filter","Number","MAX_VALUE","groupBy","aggregate","sum","avg","ArrayStore","initialArray","_array","keyInfo","clear","findItems","groupCount","collapsedItems","indexByKey","getItems","setDataByKeyMapValue","_dataByKeyMap","stringify","_dataByKeyMapLength","cloneInstanceWithChangedPaths","instance","clonedInstances","WeakMap","getPrototypeOf","set","instanceWithoutPrototype","change","has","_name","prop","get","createObjectWithChanges","target","applyBatch","_ref","useInsertIndex","immutable","disableCache","logError","resultItems","forEach","item","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyExpr","keyOrKeys","split","shift","hasKey","getCacheValue","newTarget","useLegacyStoreResult","keyValue","String","splice","getHasKeyCacheValue","TOTAL_COUNT","LOAD","BY_KEY","INSERT","UPDATE","REMOVE","isPromise","trivialPromise","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","pendingDeferred","errorMessageFromXhr","promiseArguments","textStatus","getResponseHeader","arg","Error","message","invokeUserLoad","store","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","always","rawData","runRawLoadWithQuery","countOnly","userData","itemsQuery","totalCountQuery","rawDataQuery","waitList","asyncResult","requireTotalCount","CustomStore","useDefaultSearch","loadMode","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","clearRawDataCache","isFinite","invokeUserTotalCountFunc","extra","_byKeyViaLoad","len","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","createQueue","discardPendingTasks","_tasks","_busy","exec","add","removeTaskCallback","busy","OperationManager","constructor","_counter","_deferreds","operationId","cancel","cancelAll","DataSource","_options$reshapeOnPus","syncStrategy","_store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","map","_postProcessFunc","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","paginate","_reshapeOnPush","reshapeOnPush","substr","_operationManager","_init","_items","_userData","_totalCount","_isLoaded","group","_isLastPage","dispose","_this$_delayedLoadTas","_delayedLoadTask","_disposed","names","customNames","loadOptions","newIndex","isLastPage","generateStoreLoadOptionAccessor","normalizedArgs","_len","newFilter","_len2","_key2","_len3","_key3","expr","argc","_this$_store","isLoaded","isLoading","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","_scheduleLoadCallbacks","_scheduleFailCallbacks","_this","_len4","_key4","_fireChanged","date","_scheduleChangedCallbacks","loadSingle","propName","propValue","_createStoreLoadOptions","refresh","searchString","errors","_applyMapFunction","loadTask","_loadFromStore","loadOperation","_createLoadOperation","delay","changingArgs","groupLevel","dataSourceChanges","postProcessChanges","storeLoadOptions","reload","_addSearchOptions","_addSearchFilter","selector","searchFilter","handleSuccess","loadResult","_processStoreLoadResult","resolvePendingDeferred","_applyPostProcessFunction","_excluded","CANCELED_TOKEN","isPending","state","normalizeStoreLoadOptionAccessorArguments","originalArguments","mapRecursive","level","restItem","mapGroup","mapDataRespectingGrouping","groupInfo","normalizeLoadResult","_data","createCustomStoreFromLoadFunc","storeConfig","createCustomStoreFromUrl","normalizationOptions","fromUrlLoadMode","normalizeDataSourceOptions","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","queryImpl","remote","remoteQueryImpl","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","head","unmergedTasks","rejectWithNotify","mergeSortTask","adapter","optimize","unshift","clientChain","query","impl","multiLevelGroup","g","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","keepInitialKeyOrder","unloading","textStatusMessages","lockDeferred","lockCount","ready","XHR_ERROR_UNLOAD","normalizeBinaryCriterion","normalizeSortingInfo","info","dir","charAt","parsererror","window","statusText","aggregators","pair","processRequestResultLock","obtain","release","condition","test","keysEqual","key1","key2","v","k","isUnaryOperation","isGroupCriterion","first","second","rejectedPromise","throttleChanges","func","throttled","lastArgs","throttle","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","DataHelperMixin","postCtor","_disposeDataSource","bind","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","option","_isSharedDataSource","_dataSource","_dataSourceType","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","dataSource","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","getDataSource"],"sourceRoot":""}