{"version":3,"sources":["webpack:///./node_modules/devextreme/core/utils/string.js","webpack:///./node_modules/devextreme/core/utils/dom.js","webpack:///./node_modules/devextreme/core/utils/support.js","webpack:///./node_modules/devextreme/data/utils.js","webpack:///./node_modules/devextreme/core/element_data.js","webpack:///./node_modules/devextreme/core/utils/object.js","webpack:///./node_modules/devextreme/data/query.js","webpack:///./node_modules/devextreme/data/errors.js","webpack:///./node_modules/devextreme/core/utils/date_serialization.js","webpack:///./node_modules/devextreme/core/utils/icon.js","webpack:///./node_modules/devextreme/core/utils/deferred.js","webpack:///./node_modules/devextreme/dist/css/dx.common.css?0c73","webpack:///./node_modules/devextreme/dist/css/dx.common.css","webpack:///./node_modules/devextreme/core/renderer_base.js","webpack:///./node_modules/devextreme/core/component_registrator_callbacks.js","webpack:///./node_modules/devextreme/core/options/index.js","webpack:///./node_modules/devextreme/core/options/option_manager.js","webpack:///./node_modules/devextreme/core/utils/comparator.js","webpack:///./node_modules/devextreme/core/postponed_operations.js","webpack:///./node_modules/devextreme/core/template_manager.js","webpack:///./node_modules/devextreme/core/templates/template.js","webpack:///./node_modules/devextreme/core/templates/template_engines.js","webpack:///./node_modules/devextreme/core/utils/queue.js","webpack:///./node_modules/devextreme/data/data_source/operation_manager.js","webpack:///./node_modules/devextreme/core/http_request.js","webpack:///./node_modules/devextreme/data/query_implementation.js","webpack:///./node_modules/devextreme/data/remote_query.js","webpack:///./node_modules/devextreme/core/utils/window.js","webpack:///./node_modules/devextreme/core/utils/ready_callbacks.js","webpack:///./node_modules/devextreme/core/templates/bindable_template.js","webpack:///./node_modules/devextreme/data/odata/request_dispatcher.js","webpack:///./node_modules/devextreme/core/component_registrator.js","webpack:///./node_modules/devextreme/data/data_source/data_source.js","webpack:///./node_modules/devextreme/core/utils/dependency_injector.js","webpack:///./node_modules/devextreme/core/polyfills/promise.js","webpack:///./node_modules/devextreme/core/dom_component.js","webpack:///./node_modules/devextreme/core/utils/scroll_rtl_behavior.js","webpack:///./node_modules/devextreme/core/templates/empty_template.js","webpack:///./node_modules/devextreme/data_helper.js","webpack:///./node_modules/devextreme/data/data_source/utils.js","webpack:///./node_modules/devextreme/data/data_source.js","webpack:///./node_modules/devextreme/core/utils/extend.js","webpack:///./node_modules/devextreme/data/custom_store.js","webpack:///./node_modules/devextreme/core/utils/call_once.js","webpack:///./node_modules/devextreme/core/utils/view_port.js","webpack:///./node_modules/devextreme/data/array_store.js","webpack:///./node_modules/devextreme/data/array_utils.js","webpack:///./node_modules/devextreme/core/utils/ajax.js","webpack:///./node_modules/devextreme/core/dom_adapter.js","webpack:///./node_modules/devextreme/core/utils/variable_wrapper.js","webpack:///./node_modules/devextreme/core/utils/style.js","webpack:///./node_modules/devextreme/core/templates/function_template.js","webpack:///./node_modules/devextreme/data/store_helper.js","webpack:///./node_modules/devextreme/core/devices.js","webpack:///./node_modules/devextreme/core/utils/array.js","webpack:///./node_modules/devextreme/core/utils/type.js","webpack:///./node_modules/devextreme/core/utils/console.js","webpack:///./node_modules/devextreme/core/events_strategy.js","webpack:///./node_modules/devextreme/core/action.js","webpack:///./node_modules/devextreme/core/templates/template_base.js","webpack:///./node_modules/devextreme/core/templates/child_default_template.js","webpack:///./node_modules/devextreme/data/abstract_store.js","webpack:///./node_modules/devextreme/core/class.js","webpack:///./node_modules/devextreme/core/utils/public_component.js","webpack:///./node_modules/devextreme/core/remove_event.js","webpack:///./node_modules/devextreme/core/component.js","webpack:///./node_modules/devextreme/core/renderer.js","webpack:///./node_modules/devextreme/core/element.js","webpack:///./node_modules/devextreme/core/utils/error.js","webpack:///./node_modules/devextreme/core/utils/size.js","webpack:///./node_modules/devextreme/core/utils/resize_callbacks.js","webpack:///./node_modules/devextreme/core/utils/version.js","webpack:///./node_modules/devextreme/core/utils/date.js","webpack:///./node_modules/devextreme/data/array_query.js","webpack:///./node_modules/devextreme/core/utils/position.js","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-300.woff2","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-300.woff","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-300.ttf","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-400.woff2","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-400.woff","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-400.ttf","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-500.woff2","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-500.woff","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-500.ttf","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-700.woff2","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-700.woff","webpack:///./node_modules/devextreme/dist/css/fonts/Roboto-700.ttf","webpack:///./node_modules/devextreme/dist/css/icons/dxiconsmaterial.woff2","webpack:///./node_modules/devextreme/dist/css/icons/dxiconsmaterial.woff","webpack:///./node_modules/devextreme/dist/css/icons/dxiconsmaterial.ttf","webpack:///./node_modules/devextreme/core/utils/browser.js","webpack:///./node_modules/devextreme/core/utils/data.js","webpack:///./node_modules/devextreme/core/polyfills/weak_map.js","webpack:///./node_modules/devextreme/core/version.js","webpack:///./node_modules/devextreme/core/memorized_callbacks.js","webpack:///./node_modules/devextreme/core/options/utils.js","webpack:///./node_modules/devextreme/core/utils/array_compare.js","webpack:///./node_modules/devextreme/data/odata/utils.js","webpack:///./node_modules/devextreme/core/utils/svg.js","webpack:///./node_modules/devextreme/core/utils/math.js","webpack:///./node_modules/devextreme/core/utils/common.js","webpack:///./node_modules/devextreme/core/utils/callbacks.js","webpack:///./node_modules/devextreme/core/errors.js","webpack:///./node_modules/devextreme/core/utils/html_parser.js","webpack:///./node_modules/devextreme/core/utils/storage.js","webpack:///./node_modules/devextreme/core/utils/template_manager.js","webpack:///./node_modules/devextreme/core/templates/template_engine_registry.js","webpack:///./node_modules/devextreme/core/utils/iterator.js","webpack:///./node_modules/devextreme/data/query_adapters.js","webpack:///./node_modules/devextreme/core/utils/selection_filter.js","webpack:///./node_modules/devextreme/data/odata/store.js","webpack:///./node_modules/devextreme/data/odata/query_adapter.js","webpack:///./node_modules/devextreme/core/guid.js","webpack:///./node_modules/devextreme/core/config.js","webpack:///./node_modules/devextreme/core/utils/inflector.js"],"names":["exports","format","template","_len","arguments","length","values","Array","_key","_type","isFunction","apply","forEach","value","index","isString","replace","placeholderReg","RegExp","isEmpty","replaceAll","quadToObject","encodeHtml","_typeof","obj","Symbol","iterator","constructor","prototype","encodeRegExp","str","String","raw","quad","split","x","h","left","y","v","top","right","bottom","splitQuad","parseInt","isFinite","text","searchToken","replacementToken","SPACE_REGEXP","createTextElementHiddenCopy","contains","clipboardText","normalizeTemplateElement","extractTemplateMarkup","closestCommonParent","clearSelection","resetActiveElement","_dom_adapter","_interopRequireDefault","_renderer","__esModule","window","getWindow","activeElement","default","getActiveElement","body","getBody","blur","e","selection","getSelection","type","empty","removeAllRanges","startTarget","endTarget","$startTarget","$endTarget","$startParents","parents","$endParents","i","Math","min","get","element","templateTag","filter","$node","this","is","attr","indexOf","eq","html","append","$element","isDefined","nodeType","isRenderer","contents","trim","children","event","clipboard","originalEvent","clipboardData","getData","setData","container","isTextNode","parentNode","isDocument","documentElement","isWindow","document","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","options","elementStyles","getComputedStyle","includePaddings","css","fontStyle","fontVariant","fontWeight","fontSize","fontFamily","letterSpacing","border","paddingTop","paddingRight","paddingBottom","paddingLeft","visibility","whiteSpace","position","Object","defineProperty","enumerable","_style","stylePropPrefix","styleProp","nativeScrolling","animation","transitionEndEventName","transition","touch","inputType","supportProp","pointerEvents","touchEvents","_array","_common","_call_once","_window","_devices","_getNavigator","getNavigator","maxTouchPoints","msMaxTouchPoints","pointerEnabled","transitionEndEventNames","webkitTransition","MozTransition","OTransition","msTransition","prop","input","createElement","setAttribute","hasWindowProperty","detectTouchEvents","hasProperty","isPointerEnabled","ensureDefined","canUsePointerEvent","detectPointerEvent","_devices$real","platform","version","isMac","real","mac","inArray","_ready_callbacks","_iterator","_deferred","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","toString","call","slice","name","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","arr2","unloading","textStatusMessages","lockDeferred","lockCount","ready","add","errorMessageFromXhr","timeout","error","parsererror","listen","xhr","textStatus","status","result","explainTextStatus","statusText","processRequestResultLock","obtain","Deferred","release","resolve","promise","reset","_default","XHR_ERROR_UNLOAD","normalizeBinaryCriterion","crit","toLowerCase","normalizeSortingInfo","info","map","selector","getter","field","desc","dir","charAt","compare","aggregators","count","seed","step","sum","item","max","avg","pair","finalize","NaN","keysEqual","keyExpr","key1","key2","names","k","equalByValue","throttleChanges","func","cache","throttled","timeoutId","lastArgs","_this","setTimeout","throttle","changes","_cache","push","trivialPromise","d","rejectedPromise","reject","isDisjunctiveOperator","condition","isConjunctiveOperator","isUnaryOperation","isGroupCriterion","first","second","base64_encode","code","bytes","charCodeAt","stringToByteArray","getBase64Char","octet1","octet2","octet3","isNaN","join","module","getDataStrategy","strategy","data","beforeCleanData","callback","beforeCleanDataFunc","afterCleanData","afterCleanDataFunc","cleanData","nodes","removeData","key","cleanDataRecursive","cleanSelf","isElementNode","childElements","getElementsByTagName","setDataStrategy","strategyChanging","_weak_map","_events_engine","_memorized_callbacks","dataMap","fire","elementData","set","delete","elements","off","deepExtendArraySafe","orderEach","clone","_variable_wrapper","Clone","keys","hasOwnProperty","sort","isNumberX","isNumeric","isNumberY","assignValueToProperty","target","property","assignByReference","isWrapped","assign","extendComplexObject","prevValue","newValue","isPlainObject","isObject","_query_implementation","impl","queryImpl","_error","_errors","handlers","errors","ERROR_MESSAGES","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","errorHandler","_errorHandler","_config","_date","_default_date_names","_browser","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","isIE11","msie","dateParser","skipISO8601Parsing","parts","match","Date","getTimePart","year","month","day","timeZoneHour","timeZoneMinute","hour","minute","millisecond","part","pow","UTC","parseISO8601String","isDefaultSerializationFormat","getDateSerializationFormat","parsedValue","isDate","parse","newDate","setFullYear","setMonth","setDate","parseDate","forceIsoDateParsing","useUtc","getIso8601Format","deserializeDate","serializeDate","serializationFormat","valueOf","getFormatter","getImageContainer","getImageSourceType","source","addClass","concat","fromPromise","setStrategy","_DeferredObj","whenFunc","when","_extend","_callbacks","deferredConfig","method","handler","state","that","_state","_promise","config","methodName","bind","callbacks","fired","context","args","always","done","fail","catch","then","callbackResult","isDeferred","isPromise","extend","resolveWith","rejectWith","contexts","resolvedCount","deferred","updateState","api","content","locals","___CSS_LOADER_EXPORT___","_element_data","_size","_html_parser","renderer","initRender","getDocument","querySelectorAll","isNode","toArray","fn","dxRenderer","repeatMethod","setAttributeValue","attrName","removeAttribute","show","toggle","hide","toggleClass","getAttribute","removeAttr","propName","setProperty","className","removeClass","hasClass","classNames","classList","setClass","partialName","isOuter","isInner","getDocumentElement","include","paddings","borders","margins","getSize","sizeAdjustment","getElementBoxParams","isBorderBox","boxSizing","Number","padding","setStyle","isTablePart","innerHTML","parseHTML","appendElements","nextSibling","createTextNode","tagName","tBodies","insertElement","setCss","style","normalizeStyleProp","prepend","firstChild","prependTo","appendTo","insertBefore","insertAfter","before","after","wrap","wrapper","wrapInner","replaceWith","remove","removeElement","detach","setText","cloneNode","textContent","val","childNodes","find","elementId","queryId","querySelector","isVisible","_","offsetWidth","offsetHeight","getClientRects","elementMatches","j","not","siblings","parentChildNodes","node","each","parent","last","closest","next","prev","previousSibling","targets","emptyArray","splice","getWindowByElement","defaultView","offset","rect","getBoundingClientRect","win","ownerDocument","docElem","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","marginTop","parseFloat","marginLeft","parentOffset","nodeName","offsetProp","scrollWindow","scrollTo","directionStrategy","rendererWrapper","configurable","Options","_option_manager","_object","_utils","_defineProperties","props","descriptor","writable","defaultOptions","optionsByReference","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","OptionManager","onRelevantNamesPrepared","silent","_setRelevantNames","_cachedOptions","_rules","Constructor","protoProps","staticProps","_proto","optionName","_getByRules","rules","convertRulesToOptions","_notifyDeprecated","option","normalizedName","_normalizeName","_setField","_clearField","fullName","fieldName","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","alias","addRules","applyRules","dispose","noop","onChanging","callBack","onChanged","onDeprecated","onStartChange","onEndChange","isInitial","initialValue","initial","getNestedOptionValue","_initial","isGetter","_this2","reduce","defaultValue","getAliasesByName","_this3","aliasName","isDeprecated","_initialOptions","rulesOptions","_setByReference","_data","_comparator","cachedGetters","cachedSetters","_options","_optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","_setPreparedValue","merge","previousValue","equals","path","compileSetter","functionsAsIs","unwrapObservables","_prepareRelevantNames","valueName","compileGetter","normalizeOptions","_name","oldValue","toComparable","hasNegation","PostponedOperations","_postponedOperations","postponedPromise","promises","completePromise","callPostponedOperations","operation","TemplateManager","_function_template","_empty_template","_template_manager","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","_ref","model","widgetName","widget","widgetElement","widgetOptions","_createComponent","anonymousTemplateName","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createElement","defaultCreateElement","_createTemplateIfNeeded","createDefaultOptions","integrationOptions","watchMethod","skipImmediate","templates","useDeferUpdateForTemplates","addDefaultTemplates","tempTemplate","extractTemplates","$el","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","_ref2","_createTemplate","$anonymousTemplate","isEmptyText","templateSource","cachedTemplate","templateKey","validateTemplateSource","getTemplate","_ref3","isAsyncTemplate","skipTemplates","templateSourceResult","getNormalizedTemplateArgs","EmptyTemplate","acquireTemplate","render","Template","_template_base","_dom","_template_engine_registry","_setPrototypeOf","p","setPrototypeOf","__proto__","registerTemplateEngine","compile","setTemplateEngine","_TemplateBase","subClass","superClass","_element","create","_renderCore","transclude","_compiledTemplate","getCurrentTemplateEngine","TemplateBase","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","createQueue","enqueue","discardPendingTasks","_tasks","_busy","exec","shift","task","Error","removeTaskCallback","busy","OperationManager","_counter","_deferreds","operationId","cancel","CANCELED_TOKEN","cancelAll","_dependency_injector","nativeXMLHttpRequest","getXhr","XMLHttpRequest","_array_query","_remote_query","array","remote","_query_adapters","remoteQueryImpl","url","queryOptions","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","head","unmergedTasks","rejectWithNotify","mergeSortTask","adapter","optimize","unshift","extra","clientChain","query","getCurrentScreenFactor","defaultScreenFactorFunc","hasWindow","windowObject","width","screenFactorCallback","clientWidth","navigator","userAgent","subscribeReady","removeListener","readyCallbacks","windowExists","getReadyState","doScroll","BindableTemplate","_remove_event","watchChanges","rawData","fields","fieldsMap","fieldsDispose","globalDispose","globalWatch","dataWithRawFields","isPrimitive","resolvedData","missedFields","watchHandlers","fieldGetter","fieldsWatch","_render","_fields","_fieldsMap","_watchMethod","$container","on","RequestDispatcher","_url","_beforeSend","beforeSend","_jsonp","jsonp","_version","_withCredentials","withCredentials","_deserializeDates","deserializeDates","_filterToLower","filterToLower","sendRequest","params","payload","_component_registrator_callbacks","_public_component","componentClass","isMemberInvoke","memberName","memberArgs","instance","getInstance","memberValue","namespace","DataSource","_class","_array_utils","_custom_store","_events_strategy","_queue","_operation_manager","_utils2","inherit","ctor","_options$reshapeOnPus","normalizeDataSourceOptions","_eventsStrategy","EventsStrategy","syncStrategy","_store","store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","_onPush","_onPushHandler","_aggregationTimeoutId","waitFor","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","paginate","_reshapeOnPush","reshapeOnPush","substr","_operationManager","_init","_items","_userData","_totalCount","_isLoaded","group","_isLastPage","_this$_delayedLoadTas","clearTimeout","_delayedLoadTask","abort","_disposed","customNames","_customLoadOptions","loadOptions","items","newIndex","isBoolean","isLastPage","generateStoreLoadOptionAccessor","normalizedArgs","normalizeStoreLoadOptionAccessorArguments","newFilter","_len2","_key2","select","_len3","_key3","requireTotalCount","op","expr","argc","_this$_store","totalCount","isLoaded","isLoading","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","fireEvent","_scheduleLoadCallbacks","_scheduleFailCallbacks","_this4","_len4","_key4","_fireChanged","date","_scheduleChangedCallbacks","_this5","loadSingle","propValue","_this6","_createStoreLoadOptions","handleDone","_applyMapFunction","skip","refresh","searchString","shouldForceByKey","_byKeyViaLoad","byKey","take","load","_this7","loadTask","isPending","_loadFromStore","loadOperation","_createLoadOperation","delay","executeAsync","_this8","groupLevel","dataSourceChanges","applyBatch","keyInfo","groupCount","useInsertIndex","_this9","storeLoadOptions","reload","clearRawDataCache","_addSearchOptions","_useDefaultSearch","_addSearchFilter","userData","searchFilter","pendingDeferred","_this10","handleSuccess","loadResult","normalizeLoadResult","_processStoreLoadResult","_this11","resolvePendingDeferred","_applyPostProcessFunction","mapDataRespectingGrouping","eventName","eventHandler","object","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","inject","resetInjection","Promise","resolver","all","_resize_callbacks","_component","_short","abstract","DOMComponent","_getDefaultOptions","callBase","height","rtlEnabled","elementAttr","disabled","_useTemplates","_customClass","attachInstanceToElement","_$element","_dispose","_getSynchronizableOptionsForCreateComponent","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","_setOptionsByDevice","instanceCustomRules","_classCustomRules","_isInitialOptionValue","_convertRulesToOptions","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_renderComponent","_initMarkup","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_renderDimensions","_attachVisibilityChangeHandlers","attributes","class","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_getOptionValue","_isCssUpdateRequired","NAME","resize","_isHidden","_isVisible","_checkVisibilityChanged","action","_clean","_modelByElement","modelByElement","_invalidate","_isUpdateAllowed","_requireRefresh","_refresh","_templateManager","_detachWindowResizeCallback","rtl","component","synchronizableOptions","grep","_this$option2","_this$option3","nestedComponentOptions","nestedComponentConfig","_extendConfig","optionChangedHandler","extendConfig","_defaultActionConfig","_defaultActionArgs","_optionChanged","_removeAttributes","attrs","_removeClasses","cssClass","lastIndexOf","_updateDOMComponent","renderRequired","endUpdate","_isInitializingRequired","getPublicElement","resetOption","initialOption","_getAnonymousTemplateName","_this$option4$integra","createTemplate","_initTemplates","_this$_templateManage","anonymousTemplate","_ref4","_getTemplateByOption","_getTemplate","_saveTemplate","_setOptionWithoutOptionChange","getInstanceByElement","rule","insertAdjacentHTML","scroller","lastElementChild","initiallyPositive","scrollLeft","hasNegative","decreasing","positive","removeChild","_data_source","postCtor","_disposeDataSource","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSource","_dataSourceType","fromUrlLoadMode","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","dataSource","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","getDataSource","_ajax","_abstract_store","_array_store","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","originalArguments","mapRecursive","level","mapper","mapGroup","groupInfo","createCustomStoreFromUrl","normalizationOptions","dataType","loadMode","storeConfig","createCustomStoreFromLoadFunc","extendFromObject","overrideExistingValues","deep","targetValue","sourceValue","sourceValueIsArray","_store_helper","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","promiseArguments","getResponseHeader","arg","message","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","queryByOptions","enumerate","asyncResult","useDefaultSearch","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","createQuery","_totalCountImpl","invokeUserTotalCountFunc","_addFailHandlers","_pushImpl","_loadImpl","_byKeyImpl","extraOptions","_requireKey","keyOf","runRawLoadWithKey","invokeUserByKeyFunc","_insertImpl","serverResponse","useLegacyStoreResult","_updateImpl","_removeImpl","_wrappedHandler","originalViewPort","$originalViewPort","changeCallback","$current","isNewViewportFound","prevViewPort","_query","initialArray","indexByKey","insert","update","clear","createObjectWithChanges","applyChanges","_options$keyExpr","_options$immutable","immutable","keyGetter","disableCache","logError","_guid","getItems","findItems","collapsedItems","setDataByKeyMapValue","_dataByKeyMap","JSON","stringify","_dataByKeyMapLength","getPrototypeOf","targetWithoutPrototype","resultItems","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","log","keyOrKeys","hasKey","getCacheValue","newTarget","keyValue","isEmptyObject","getHasKeyCacheValue","_http_request","createScript","script","removeScript","scriptNode","appendToHead","getHead","appendChild","evalScript","getRequestOptions","headers","paramsAlreadyString","location","href","now","upload","encodeURIComponent","paramsConvert","getMethod","parameters","toUpperCase","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","xml","json","getAcceptHeader","crossDomain","async","originAnchor","urlAnchor","protocol","host","isCrossDomain","needScriptEvaluation","callbackName","random","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","src","events","loadHandler","evalCrossDomainScript","open","username","password","customStatus","setHttpTimeout","onreadystatechange","readyState","hasContent","responseType","responseText","response","getDataFromResponse","onprogress","onloadstart","onabort","xhrFields","setRequestHeader","send","nativeDOMAdapterStrategy","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","_document","createElementNS","ns","parentElement","newElement","nextSiblingElement","isAdd","resultClassName","classNameSupported","elementClass","classIndex","createDocumentFragment","getLocation","hasDocumentProperty","addEventListener","removeEventListener","_console","isWritableWrapped","unwrap","logger","setHeight","setWidth","_inflector","jsPrefixes","cssPrefixes","Webkit","Moz","O","ms","getStyles","originalName","prefixedProp","camelize","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","setDimensionProperty","propertyName","multiLevelGroup","groupBy","g","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","keepInitialKeyOrder","_storage","_view_port","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","deviceType","phone","tablet","android","ios","generic","grade","uaParsers","isPhone","isTablet","isDesktop","screen","devices","Devices","_realDevice","_getDevice","_currentDevice","_currentOrientation","changed","_recalculateOrientation","current","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","orientation","isForced","isRippleEmulator","tinyHippos","_getCssClasses","device","realDevice","isSimulator","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","self","forceSimulator","deviceName","_fromConfig","ua","_fromUA","sessionStorage","getItem","ex","shortcuts","parser","_changeOrientation","$window","windowWidth","_currentWidth","viewPort","prevViewport","normalizeIndexes","removeDuplicates","uniqueValues","intersection","wrapToArray","entity","a","b","what","indexParameterName","currentItem","needIndexCallback","indexedItems","parameterIndex","useLegacyVisibleIndex","array1","array2","cb","isEvent","isExponential","types","typeOfObject","proto","jquery","preventDefault","debug","getConsoleMethod","console","warn","assert","assertParam","parameter","owner","_events","_owner","hasEvent","has","eventArgs","fireWith","originalAdd","Action","_action","_context","_beforeExecute","beforeExecute","_afterExecute","afterExecute","_validatingTargetName","validatingTargetName","excludeValidators","_excludeValidators","execute","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","validate","_executor$execute","registerExecutor","unregisterExecutor","createValidatorByTargetElement","$target","readOnly","undefined","renderedCallbacks","_visibility_change","onRendered","$result","_ensureResultInContainer","resultInContainer","triggerShownEvent","ChildDefaultTemplate","inheritor","storeImpl","Store","_keyGetter","_withLock","callbackValues","callbackKey","beforePushArgs","registerClass","members","hasOwn","wrapOverridden","baseProto","prevCallBase","redefine","overridden","member","argument","classObj","hasClassObjOwnProperty","isES6Class","_includedCtors","_includedPostCtors","subclassOf","parentClass","baseClass","copyStatic","destination","classImpl","includedCtors","includedPostCtors","clonePrototype","componentInstance","disposeFn","getName","one","componentNames","nextAnonymousComponent","newName","generatedName","_event_registrator","triggerHandler","noBubble","setup","_index","_postponed_operations","getEventName","actionName","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","onInitialized","onOptionChanged","onDisposing","defaultOptionsRules","_defaultOptionsRules","_setOptionsByReference","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","beginUpdate","_initialized","_optionChanging","_logDeprecatedOptionWarning","_notifyOptionChanged","onInitializing","_initOptions","_createOptionChangedAction","since","_logDeprecatedComponentWarning","_optionChangedAction","_createActionByOption","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_initializing","_commitUpdate","_initializeComponent","optionNames","_cancelOptionChange","_createAction","actionSource","actionValue","actionFunc","wrapActionsBeforeExecute","beforeActionExecute","wrappedAction","hasActionSubscription","isOptionDeprecated","_this$_options","setPublicElementWrapper","newStrategy","baseErrors","makeError","id","combineMessage","formatMessage","formatDetails","_string","details","getErrorUrl","__id","__details","ERROR_URL","parseHeight","getVisibleHeight","getVerticalOffsets","addOffsetToMinHeight","addOffsetToMaxHeight","SPECIAL_HEIGHT_VALUES","getSizeByStyles","styles","beforeName","afterName","margin","boxParams","clientRect","boundingClientRect","size","getBoxSizingOffset","innerHeight","getContainerHeight","getHeightWithOffset","abs","maxHeight","minHeight","withMargins","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","innerWidth","handleResize","changedDimension","setPrevSize","maxLevel","normalizeArg","xItem","yItem","_math","_construct","Parent","Class","_isNativeReflectConstruct","Reflect","construct","Function","sham","Proxy","Boolean","dateUnitIntervals","toMilliseconds","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","floor","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","tickInterval","maxInterval","tickIntervalToFormatMap","week","quarter","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstDayOfWeek","getTime","firstQuarterMonth","oldDate","setHours","getFirstWeekDate","getMonth","fixTimezoneGap","trimTime","addDateInterval","interval","intervalObject","getDateIntervalByString","years","getFullYear","quarters","months","weeks","getDate","days","hours","setTime","minutes","seconds","milliseconds","addInterval","isNegative","adjust","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","delta","getDay","normalizeDate","normalizedDate","diff","getHours","sign","trial","getTimezonesDifference","getTimezoneOffset","dateUtils","dateToMilliseconds","getNextDateUnit","unit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","getMinutes","getSeconds","getMilliseconds","setToDayEnd","roundDateByStartDayHour","startDayHour","startTime","dateTimeFromDecimal","number","getSequenceByInterval","cur","intervals","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","viewType","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","normalizeDateByWeek","currentDate","differenceInDays","getDatesInterval","resultDate","dateInRange","roundToHour","setMinutes","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","startDate","endDate","intervalUnit","millisecondCount","getDatesOfInterval","createDate","view","Iterator","countable","ArrayIterator","WrappedIterator","MapIterator","hasNext","defaultCompare","xValue","yValue","SortIterator","_wrap","thenBy","sortedIter","_ensureSorted","_compare","_unwrap","record","wrappedItem","xIndex","yIndex","rulesCount","compareResult","compileCriteria","compileEquals","negate","useStrictComparison","ops","isConjunctiveNextOperator","compileGroup","criteria","compileUnary","getterValue","compileBinary","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","hash","SelectIterator","SliceIterator","pos","arrayQueryImpl","handleError","aggregateCore","aggregator","accumulator","standardAggregate","chainQuery","selectProp","sortBy","MAX_VALUE","aggregate","getDefaultAlignment","getBoundingRect","isRtlEnabled","outerWidth","outerHeight","webkitRegExp","ieRegExp","ie11RegExp","msEdge","mozillaRegExp","browserFromUA","browserName","browserVersion","webkit","unwrapVariable","bracketsToDots","assignPropValue","prepareOptions","functionAsIs","hasDefaultValue","pathPart","combineGetters","getters","compiledGetters","l","_i","pathItem","ensurePropValueDefined","lastLevelIndex","currentValue","levelIndex","propertyValue","readPropValue","isPropertyFunc","caseSensitive","weakMap","WeakMap","MemorizedCallbacks","memory","createDefaultOptionRules","deviceMatch","currentDevice","ruleOptions","deviceFilter","findBestMatches","optionsObject","findChanges","isKeysEqual","getKeyWrapper","getKey","getSameNewByOld","oldItem","newItems","newIndexByKey","oldKeys","newKeys","oldItems","isItemEquals","oldIndexByKey","addedCount","removeCount","itemCount","newItem","oldNextIndex","nextOldItem","oldIndex","escapeServiceOperationParams","formatFunctionInvocationUrl","generateExpand","generateSelect","convertPrimitiveValue","keyConverters","serializeKey","serializeValue","serializePropName","EdmLiteral","GUID_REGEX","VERBOSE_DATE_REGEX","ISO8601_DATE_REGEX","JSON_VERBOSE_MIME_TYPE","makeArray","hasDot","pad","formatISO8601","skipZeroTime","skipTimezone","bag","padLeft2","parseISO8601","isoString","chunks","time","setSeconds","fractional","setMilliseconds","param","protocolVersion","request","fieldTypes","isPaged","ajaxOptions","_options$beforeSend","formatPayload","_request","_request2","isGet","useJsonp","ajaxData","qs","$format","ajaxOptionsForRequest","tuple","interpretJsonFormat","nextUrl","basePath","relativePath","baseParts","relativeParts","pop","toAbsoluteUrl","nextData","transformOptions","_response","_response2","_response3","_response4","httpStatus","errorData","errorObj","_errorObj$message","currentError","innererror","internalexception","formatDotNetError","errorDetails","customCode","errorFromResponse","interpretVerboseJsonFormat","interpretLightJsonFormat","transformTypes","_data$results","results","__next","__count","_obj$value","_value","$1","$2","serializeValueV2","serializeString","serializeValueV4","Int32","Int64","Guid","Single","Decimal","converter","oDataVersion","formatCore","selectValue","expandValue","parseTree","exprs","root","stepper","parseCore","exprParts","expand","generatorV2","generatorV4","baseUrl","getSvgMarkup","backgroundColor","markup","fixNamespaces","temp","getMarkup","getSvgElement","DOMParser","parseFromString","separatedAdjustedValue","precision","getPrecision","separatedValue","absValue","isExponentValue","integerPart","getExponent","toPrecision","_isEdgeBug","getRoot","solveCubicEquation","c","D2","sqrt","roots","u","q","D3","t","acos","PI","cos","trunc","ceil","roundFloatPart","getExponentLength","_valueString$split$","valueString","getRemainderByDivision","dividend","divider","digitsCount","quotient","inRange","fitIntoRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","toExponential","mantissa","positionOfDelimiter","toFixed","asyncNoop","applyServerDecimalSeparator","escapeRegExp","getKeyHash","pairToObject","denormalizeKey","normalizeKey","splitPair","deferUpdater","deferRenderer","deferUpdate","deferRender","normalizedContext","timerId","executingName","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","mismatch","valueItem","_raw$x","_raw$y","char","charCode","fromCharCode","preventRound","keyHash","string","separator","serverDecimalSeparator","checkFunction","invert","expectedCheck","arraysEqualByValue","depth","objectsEqualByValue","object1","object2","strict","_propertyName","comparisonResult","Callback","_list","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","list","stopOnFalse","unique","queue","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tr","tbody","colgroup","caption","tfoot","th","tags","firstRootTag","tagWrapper","lastChild","acquireIntegrationTemplate","addOneRenderedCall","_child_default_template","_template","optionsString","optionsParser","rawTemplates","templatesMap","_findBestMatches$","suitableTemplate","templateResult","integrationTemplate","defaultTemplates","templateEngine","templateEngines","currentTemplateEngine","reverseEach","SelectionFilterCreator","selectedItemKeys","isSelectAll","selectedItemKeyHashesMap","getLocalFilter","equalKeys","equalByReference","functionFilter","getExpr","filterExpr","filterExprPart","getFilterForPlainKey","itemKeyValue","currentKeyExpr","currentKeyValue","getFilterForCompositeKey","getCombinedFilter","dataSourceFilter","combinedFilter","getSelectedItemKeyHashesMap","normalizeKeys","_request_dispatcher","expandKeyType","keyType","_requestDispatcher","keyTypeIsString","_legacyAnonymousKey","keyName","mergeFieldTypesWithKeyType","_fieldTypes","_updateMethod","$expand","$select","_byKeyUrl","_loadOptions$urlOverr","urlOverride","customQueryParams","_convertKey","convertedKey","odata","forceLowerCase","createBinaryOperationFormatter","createStringFuncFormatter","formatters","formattersV2","formattersV4","compileCore","STRING_FUNCTIONS","reverse","startswith","endswith","notcontains","fieldType","some","funcName","formatter","groupOperator","nextGroupOperator","criterion","oDataFilterToLower","createODataQueryAdapter","_select","_skip","_take","_countQuery","_sorting","_criteria","_expand","_oDataVersion","hasSlice","hasFunction","requestData","$orderby","$skip","$top","$filter","$inlinecount","$count","selectIndex","nextTask","multiSort","skipCount","takeCount","_normalize","_generate","round","toJSON","defaultCurrency","decimalSeparator","thousandsSeparator","useJQuery","editorStylingMode","floatingActionButtonConfig","icon","closeIcon","label","at","my","maxSpeedDialActionCount","shading","direction","deprecatedFields","configMethod","newConfig","deprecatedField","DevExpress","captionize","titleize","humanize","underscore","dasherize","_upperCaseFirst","_chop","upperFirst","DIGIT_CHARS","captionList","isPrevCharNewWord","isNewWord"],"mappings":"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","file":"vendors~a4bc5212.c9f428863ebc168edad5.bundle.js","sourcesContent":["/**\r\n * DevExtreme (core/utils/string.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.format = format;\r\nexports.isEmpty = exports.replaceAll = exports.quadToObject = exports.encodeHtml = void 0;\r\nvar _type = require(\"./type\");\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nexports.encodeHtml = encodeHtml;\r\nvar splitQuad = function(raw) {\r\n switch (_typeof(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nvar quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexports.quadToObject = quadToObject;\r\n\r\nfunction format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if ((0, _type.isFunction)(template)) {\r\n return template.apply(void 0, values)\r\n }\r\n values.forEach(function(value, index) {\r\n if ((0, _type.isString)(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nvar replaceAll = function() {\r\n var quote = function(str) {\r\n return (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")\r\n };\r\n return function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + quote(searchToken) + \")\", \"gi\"), replacementToken)\r\n }\r\n}();\r\nexports.replaceAll = replaceAll;\r\nvar isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\nexports.isEmpty = isEmpty;\r\n","/**\r\n * DevExtreme (core/utils/dom.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createTextElementHiddenCopy = exports.contains = exports.clipboardText = exports.normalizeTemplateElement = exports.extractTemplateMarkup = exports.closestCommonParent = exports.clearSelection = exports.resetActiveElement = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"./type\");\r\nvar _window = require(\"./window\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar resetActiveElement = function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n var body = _dom_adapter.default.getBody();\r\n if (activeElement && activeElement !== body && activeElement.blur) {\r\n try {\r\n activeElement.blur()\r\n } catch (e) {\r\n body.blur()\r\n }\r\n }\r\n};\r\nexports.resetActiveElement = resetActiveElement;\r\nvar clearSelection = function() {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else {\r\n if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n }\r\n};\r\nexports.clearSelection = clearSelection;\r\nvar closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = (0, _renderer.default)(startTarget);\r\n var $endTarget = (0, _renderer.default)(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexports.closestCommonParent = closestCommonParent;\r\nvar extractTemplateMarkup = function(element) {\r\n element = (0, _renderer.default)(element);\r\n var templateTag = element.length && element.filter(function() {\r\n var $node = (0, _renderer.default)(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n });\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = (0, _renderer.default)(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexports.extractTemplateMarkup = extractTemplateMarkup;\r\nvar normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = (0, _type.isDefined)(element) && (element.nodeType || (0, _type.isRenderer)(element)) ? (0, _renderer.default)(element) : (0, _renderer.default)(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else {\r\n if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n }\r\n return $element\r\n};\r\nexports.normalizeTemplateElement = normalizeTemplateElement;\r\nvar clipboardText = function(event, text) {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (1 === arguments.length) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexports.clipboardText = clipboardText;\r\nvar contains = function contains(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n if (_dom_adapter.default.isTextNode(element)) {\r\n element = element.parentNode\r\n }\r\n if (_dom_adapter.default.isDocument(container)) {\r\n return container.documentElement.contains(element)\r\n }\r\n if ((0, _type.isWindow)(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\nexports.contains = contains;\r\nvar createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle((0, _renderer.default)(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return (0, _renderer.default)(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n \"float\": \"left\"\r\n })\r\n};\r\nexports.createTextElementHiddenCopy = createTextElementHiddenCopy;\r\n","/**\r\n * DevExtreme (core/utils/support.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"stylePropPrefix\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.stylePropPrefix\r\n }\r\n});\r\nObject.defineProperty(exports, \"styleProp\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.styleProp\r\n }\r\n});\r\nexports.nativeScrolling = exports.animation = exports.transitionEndEventName = exports.transition = exports.touch = exports.inputType = exports.supportProp = exports.pointerEvents = exports.touchEvents = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _common = require(\"./common\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _window = require(\"./window\");\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _style = require(\"./style\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _getNavigator = (0, _window.getNavigator)(),\r\n maxTouchPoints = _getNavigator.maxTouchPoints,\r\n msMaxTouchPoints = _getNavigator.msMaxTouchPoints,\r\n pointerEnabled = _getNavigator.pointerEnabled;\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n msTransition: \"MsTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!(0, _style.styleProp)(prop)\r\n};\r\nexports.supportProp = supportProp;\r\nvar isNativeScrollingSupported = function() {\r\n var _devices$real = _devices.default.real(),\r\n platform = _devices$real.platform,\r\n version = _devices$real.version,\r\n isMac = _devices$real.mac;\r\n var isObsoleteAndroid = version && version[0] < 4 && \"android\" === platform;\r\n var isNativeScrollDevice = !isObsoleteAndroid && (0, _array.inArray)(platform, [\"ios\", \"android\"]) > -1 || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = _dom_adapter.default.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nexports.inputType = inputType;\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty, pointerEnabled) {\r\n var isPointerEnabled = (0, _common.ensureDefined)(pointerEnabled, true);\r\n var canUsePointerEvent = (0, _common.ensureDefined)(pointerEnabled, false);\r\n return hasWindowProperty(\"PointerEvent\") && isPointerEnabled || canUsePointerEvent\r\n};\r\nvar touchEvents = detectTouchEvents(_window.hasProperty, maxTouchPoints);\r\nexports.touchEvents = touchEvents;\r\nvar pointerEvents = detectPointerEvent(_window.hasProperty, pointerEnabled);\r\nexports.pointerEvents = pointerEvents;\r\nvar touchPointersPresent = !!maxTouchPoints || !!msMaxTouchPoints;\r\nvar touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexports.touch = touch;\r\nvar transition = (0, _call_once.default)(function() {\r\n return supportProp(\"transition\")\r\n});\r\nexports.transition = transition;\r\nvar transitionEndEventName = (0, _call_once.default)(function() {\r\n return transitionEndEventNames[(0, _style.styleProp)(\"transition\")]\r\n});\r\nexports.transitionEndEventName = transitionEndEventName;\r\nvar animation = (0, _call_once.default)(function() {\r\n return supportProp(\"animation\")\r\n});\r\nexports.animation = animation;\r\nvar nativeScrolling = isNativeScrollingSupported();\r\nexports.nativeScrolling = nativeScrolling;\r\n","/**\r\n * DevExtreme (data/utils.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nvar 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\nvar normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return (0, _iterator.map)(info, function(i) {\r\n var result = {\r\n selector: (0, _type.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\nvar 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 explainTextStatus = function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n };\r\n var unloading;\r\n ready(function() {\r\n var window = (0, _window.getWindow)();\r\n _dom_adapter.default.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 explainTextStatus(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nvar 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\nvar processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n var obtain = function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new _deferred.Deferred\r\n }\r\n lockCount++\r\n };\r\n var release = function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n var promise = function() {\r\n var deferred = 0 === lockCount ? (new _deferred.Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n };\r\n var reset = function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n return {\r\n obtain: obtain,\r\n release: release,\r\n promise: promise,\r\n reset: reset\r\n }\r\n}();\r\n\r\nfunction isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\n\r\nfunction isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nvar keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = (0, _iterator.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 (!(0, _common.equalByValue)(key1[name], key2[name], 0, false)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (0, _common.equalByValue)(key1, key2, 0, false)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nvar 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 += (0, _iterator.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 {\r\n if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else {\r\n if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else {\r\n 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 }\r\n }\r\n }\r\n return bytes\r\n}\r\nvar 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\nvar 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 ((0, _type.isFunction)(first)) {\r\n if (Array.isArray(second) || (0, _type.isFunction)(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nvar trivialPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nvar rejectedPromise = function() {\r\n var d = new _deferred.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 var _this = this;\r\n lastArgs = arguments;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(function() {\r\n timeoutId = void 0;\r\n if (lastArgs) {\r\n func.call(_this, lastArgs)\r\n }\r\n }, (0, _type.isFunction)(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\n\r\nfunction 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 var _cache;\r\n (_cache = cache).push.apply(_cache, _toConsumableArray(changes))\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\nvar utils = {\r\n XHR_ERROR_UNLOAD: XHR_ERROR_UNLOAD,\r\n normalizeBinaryCriterion: normalizeBinaryCriterion,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n errorMessageFromXhr: errorMessageFromXhr,\r\n aggregators: aggregators,\r\n keysEqual: keysEqual,\r\n throttleChanges: throttleChanges,\r\n trivialPromise: trivialPromise,\r\n rejectedPromise: rejectedPromise,\r\n isDisjunctiveOperator: isDisjunctiveOperator,\r\n isConjunctiveOperator: isConjunctiveOperator,\r\n processRequestResultLock: processRequestResultLock,\r\n isUnaryOperation: isUnaryOperation,\r\n isGroupCriterion: isGroupCriterion,\r\n base64_encode: base64_encode\r\n};\r\nvar _default = utils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/element_data.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDataStrategy = getDataStrategy;\r\nexports.data = data;\r\nexports.beforeCleanData = beforeCleanData;\r\nexports.afterCleanData = afterCleanData;\r\nexports.cleanData = cleanData;\r\nexports.removeData = removeData;\r\nexports.cleanDataRecursive = cleanDataRecursive;\r\nexports.setDataStrategy = exports.strategyChanging = void 0;\r\nvar _weak_map = _interopRequireDefault(require(\"./polyfills/weak_map\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar dataMap = new _weak_map.default;\r\nvar strategy;\r\nvar strategyChanging = new _memorized_callbacks.default;\r\nexports.strategyChanging = strategyChanging;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nvar setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nexports.setDataStrategy = setDataStrategy;\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n _events_engine.default.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\n\r\nfunction getDataStrategy() {\r\n return strategy\r\n}\r\n\r\nfunction data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\n\r\nfunction beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\n\r\nfunction afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\n\r\nfunction cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\n\r\nfunction removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\n\r\nfunction cleanDataRecursive(element, cleanSelf) {\r\n if (!_dom_adapter.default.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (core/utils/object.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.deepExtendArraySafe = exports.orderEach = exports.clone = void 0;\r\nvar _type = require(\"./type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nexports.clone = clone;\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort(function(x, y) {\r\n var isNumberX = (0, _type.isNumeric)(x);\r\n var isNumberY = (0, _type.isNumeric)(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n });\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nexports.orderEach = orderEach;\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && _variable_wrapper.default.isWrapped(target[property])) {\r\n _variable_wrapper.default.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if ((0, _type.isPlainObject)(newValue)) {\r\n var goDeeper = extendComplexObject ? (0, _type.isObject)(prevValue) : (0, _type.isPlainObject)(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexports.deepExtendArraySafe = deepExtendArraySafe;\r\n","/**\r\n * DevExtreme (data/query.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_implementation = require(\"./query_implementation\");\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return _query_implementation.queryImpl[impl].apply(this, arguments)\r\n};\r\nvar _default = query;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data/errors.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"../core/utils/error\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar handlers = {};\r\nvar errors = (0, _error.default)(_errors.default.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\n\r\nfunction handleError(error) {\r\n var id = \"E4000\";\r\n if (error && \"__id\" in error) {\r\n id = error.__id\r\n }\r\n errors.log(id, error)\r\n}\r\nvar errorHandler = null;\r\nvar _errorHandler = function(error) {\r\n if (handlers.errorHandler) {\r\n handlers.errorHandler(error)\r\n }\r\n};\r\nhandlers = {\r\n errors: errors,\r\n errorHandler: errorHandler,\r\n _errorHandler: _errorHandler\r\n};\r\nvar _default = handlers;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/date_serialization.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _date = require(\"../../localization/ldml/date.formatter\");\r\nvar _default_date_names = _interopRequireDefault(require(\"../../localization/default_date_names\"));\r\nvar _type = require(\"./type\");\r\nvar _browser = _interopRequireDefault(require(\"./browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar isIE11 = _browser.default.msie && parseInt(_browser.default.version) <= 11;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if ((0, _type.isString)(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !(0, _type.isDate)(text) && Date.parse(text);\r\n if ((!parsedValue || isIE11) && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return (0, _type.isNumeric)(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = parts[1];\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var parseMilliseconds = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n };\r\n var millisecond = parseMilliseconds(parts[11]);\r\n if (parts[12]) {\r\n return new Date(Date.UTC(year, month, day, hour, minute, second, millisecond))\r\n }\r\n return new Date(year, month, day, hour, minute, second, millisecond)\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else {\r\n if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !(0, _config.default)().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!(0, _type.isDate)(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return (0, _date.getFormatter)(serializationFormat, _default_date_names.default)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else {\r\n if ((0, _type.isString)(value)) {\r\n var format;\r\n if ((0, _config.default)().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else {\r\n if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n }\r\n } else {\r\n if (value) {\r\n return null\r\n }\r\n }\r\n }\r\n};\r\nvar _default = {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/icon.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getImageContainer = exports.getImageSourceType = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nvar getImageSourceType = function(source) {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\//.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexports.getImageSourceType = getImageSourceType;\r\nvar getImageContainer = function(source) {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return (0, _renderer.default)(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\nexports.getImageContainer = getImageContainer;\r\n","/**\r\n * DevExtreme (core/utils/deferred.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.fromPromise = fromPromise;\r\nexports.setStrategy = setStrategy;\r\nexports.Deferred = Deferred;\r\nexports.when = when;\r\nvar _type = require(\"../utils/type\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = new _callbacks.default;\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method](function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if ((0, _type.isDeferred)(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else {\r\n if ((0, _type.isPromise)(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, (0, _type.isDefined)(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }\r\n })\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? (0, _extend.extend)(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n});\r\n\r\nfunction fromPromise(promise, context) {\r\n if ((0, _type.isDeferred)(promise)) {\r\n return promise\r\n } else {\r\n if ((0, _type.isPromise)(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then(function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }, function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n });\r\n return d\r\n }\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if ((0, _type.isDeferred)(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\n\r\nfunction setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\n\r\nfunction Deferred() {\r\n return new _DeferredObj\r\n}\r\n\r\nfunction when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","var api = require(\"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../css-loader/dist/cjs.js!./dx.common.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/**\\n* DevExtreme (dx.common.css)\\n* Version: 20.2.7\\n* Build date: Thu Apr 22 2021\\n*\\n* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\\n* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\\n*/\\n/*!\\nThis file is kept for backward compatibility.\\nIt is no longer required.\\n*/\", \"\",{\"version\":3,\"sources\":[\"webpack://node_modules/devextreme/dist/css/dx.common.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;CAOC;AACD;;;CAGC\",\"sourcesContent\":[\"/**\\n* DevExtreme (dx.common.css)\\n* Version: 20.2.7\\n* Build date: Thu Apr 22 2021\\n*\\n* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\\n* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\\n*/\\n/*!\\nThis file is kept for backward compatibility.\\nIt is no longer required.\\n*/\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\r\n * DevExtreme (core/renderer_base.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _element_data = require(\"./element_data\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _style = require(\"./utils/style\");\r\nvar _size = require(\"./utils/size\");\r\nvar _html_parser = require(\"./utils/html_parser\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : _dom_adapter.default.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || _dom_adapter.default.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = _dom_adapter.default.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, _dom_adapter.default.querySelectorAll(context, selector));\r\n return this\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else {\r\n if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n }\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value) {\r\n _dom_adapter.default.setAttribute(element, attrName, value)\r\n } else {\r\n _dom_adapter.default.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if ((0, _type.isObject)(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else {\r\n if ((0, _type.isPlainObject)(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && _dom_adapter.default.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else {\r\n if ((0, _type.isPlainObject)(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n _dom_adapter.default.setProperty(this[0], propName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = (0, _type.isString)(this[0].className) ? this[0].className : _dom_adapter.default.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n _dom_adapter.default.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\n[\"width\", \"height\", \"outerWidth\", \"outerHeight\", \"innerWidth\", \"innerHeight\"].forEach(function(methodName) {\r\n var partialName = methodName.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === methodName.indexOf(\"outer\");\r\n var isInner = 0 === methodName.indexOf(\"inner\");\r\n initRender.prototype[methodName] = function(value) {\r\n if (this.length > 1 && arguments.length > 0) {\r\n return repeatMethod.call(this, methodName, arguments)\r\n }\r\n var element = this[0];\r\n if (!element) {\r\n return\r\n }\r\n if ((0, _type.isWindow)(element)) {\r\n return isOuter ? element[\"inner\" + partialName] : _dom_adapter.default.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (_dom_adapter.default.isDocument(element)) {\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var body = _dom_adapter.default.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (0 === arguments.length || \"boolean\" === typeof value) {\r\n var include = {\r\n paddings: isInner || isOuter,\r\n borders: isOuter,\r\n margins: value\r\n };\r\n return (0, _size.getSize)(element, propName, include)\r\n }\r\n if (void 0 === value || null === value) {\r\n return this\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var sizeAdjustment = (0, _size.getElementBoxParams)(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else {\r\n if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else {\r\n if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n }\r\n }\r\n value += (0, _type.isNumeric)(value) ? \"px\" : \"\";\r\n _dom_adapter.default.setStyle(element, propName, value);\r\n return this\r\n }\r\n});\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !(0, _html_parser.isTablePart)(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append((0, _html_parser.parseHTML)(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = (0, _html_parser.parseHTML)(element)\r\n } else {\r\n if (element.nodeType) {\r\n element = [element]\r\n } else {\r\n if ((0, _type.isNumeric)(element)) {\r\n element = [_dom_adapter.default.createTextNode(element)]\r\n }\r\n }\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n _dom_adapter.default.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = (0, _style.normalizeStyleProp)(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if ((0, _type.isString)(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return (0, _type.isNumeric)(result) ? result.toString() : result\r\n }\r\n } else {\r\n if ((0, _type.isPlainObject)(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n _dom_adapter.default.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n _dom_adapter.default.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0], true);\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0]);\r\n _dom_adapter.default.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = (0, _type.isFunction)(value) ? value() : value;\r\n (0, _element_data.cleanDataRecursive)(this[0], false);\r\n _dom_adapter.default.setText(this[0], (0, _type.isDefined)(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", (0, _type.isDefined)(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (_dom_adapter.default.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else {\r\n if (_dom_adapter.default.isDocument(element)) {\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, selector))\r\n }\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = _dom_adapter.default.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else {\r\n if (\":hidden\" === selector) {\r\n return this.filter(function(_, element) {\r\n return !isVisible(_, element)\r\n })\r\n }\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (_dom_adapter.default.isElementNode(item) && \"string\" === (0, _type.type)(selector)) {\r\n _dom_adapter.default.elementMatches(item, selector) && result.push(item)\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n selector === item && result.push(item)\r\n } else {\r\n if ((0, _type.isFunction)(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (nodes.indexOf(this[i]) === -1) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (_dom_adapter.default.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (_dom_adapter.default.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !_dom_adapter.default.isDocument(parent[0])) {\r\n if (_dom_adapter.default.isElementNode(parent[0])) {\r\n if (!selector || selector && parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (result.indexOf(target) === -1) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\nvar getWindowByElement = function(element) {\r\n return (0, _type.isWindow)(element) ? element : element.defaultView\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (!this[0].getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = this[0].getBoundingClientRect();\r\n var win = getWindowByElement(this[0].ownerDocument);\r\n var docElem = this[0].ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(_dom_adapter.default.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach(function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n});\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return _element_data.data.call(renderer, this[0], key)\r\n }\r\n _element_data.data.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && (0, _element_data.removeData)(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nvar _default = {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/component_registrator_callbacks.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = new _memorized_callbacks.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/options/index.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Options = void 0;\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _option_manager = require(\"./option_manager\");\r\nvar _object = require(\"../utils/object\");\r\nvar _utils = require(\"./utils\");\r\nvar _extend = require(\"../utils/extend\");\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar Options = function() {\r\n function Options(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n var _this = this;\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new _option_manager.OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared(function(options, name, value, silent) {\r\n return _this._setRelevantNames(options, name, value, silent)\r\n });\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n var _proto = Options.prototype;\r\n _proto._initDeprecatedNames = function() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n };\r\n _proto._getByRules = function(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n };\r\n _proto._notifyDeprecated = function(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n };\r\n _proto._setRelevantNames = function(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n };\r\n _proto._setField = function(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = (0, _utils.getFieldName)(fullName) + fieldName;\r\n fullName = (0, _utils.getParentName)(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n };\r\n _proto._clearField = function(options, name) {\r\n delete options[name];\r\n var previousFieldName = (0, _utils.getParentName)(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[(0, _utils.getFieldName)(name)]\r\n }\r\n };\r\n _proto._normalizeName = function(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n };\r\n _proto.addRules = function(rules) {\r\n this._rules = rules.concat(this._rules)\r\n };\r\n _proto.applyRules = function(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n };\r\n _proto.dispose = function() {\r\n this._deprecatedCallback = _common.noop;\r\n this._startChangeCallback = _common.noop;\r\n this._endChangeCallback = _common.noop;\r\n this._optionManager.dispose()\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n };\r\n _proto.onDeprecated = function(callBack) {\r\n this._deprecatedCallback = callBack\r\n };\r\n _proto.onStartChange = function(callBack) {\r\n this._startChangeCallback = callBack\r\n };\r\n _proto.onEndChange = function(callBack) {\r\n this._endChangeCallback = callBack\r\n };\r\n _proto.isInitial = function(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = (0, _type.isFunction)(value) && (0, _type.isFunction)(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : (0, _common.equalByValue)(value, initialValue)\r\n };\r\n _proto.initial = function(name) {\r\n return (0, _utils.getNestedOptionValue)(this._initial, name)\r\n };\r\n _proto.option = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n };\r\n _proto.silent = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n };\r\n _proto.reset = function(name) {\r\n var _this2 = this;\r\n if (name) {\r\n var fullPath = name.replace(/\\[([^\\]])\\]/g, \".$1\").split(\".\");\r\n var value = fullPath.reduce(function(value, field) {\r\n return value ? value[field] : _this2.initial(field)\r\n }, null);\r\n var defaultValue = (0, _type.isObject)(value) ? (0, _object.clone)(value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n };\r\n _proto.getAliasesByName = function(name) {\r\n var _this3 = this;\r\n return Object.keys(this._deprecated).filter(function(aliasName) {\r\n return name === _this3._deprecated[aliasName].alias\r\n })\r\n };\r\n _proto.isDeprecated = function(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n };\r\n _proto.cache = function(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = (0, _extend.extend)(this._cachedOptions[name], options)\r\n }\r\n };\r\n _createClass(Options, [{\r\n key: \"_initial\",\r\n get: function() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n },\r\n set: function(value) {\r\n this._initialOptions = value\r\n }\r\n }]);\r\n return Options\r\n}();\r\nexports.Options = Options;\r\n","/**\r\n * DevExtreme (core/options/option_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.OptionManager = void 0;\r\nvar _data = require(\"../utils/data\");\r\nvar _common = require(\"../utils/common\");\r\nvar _comparator = require(\"../utils/comparator\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _type = require(\"../utils/type\");\r\nvar _utils = require(\"./utils\");\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nvar OptionManager = function() {\r\n function OptionManager(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n var _proto = OptionManager.prototype;\r\n _proto._setByReference = function(options, rulesOptions) {\r\n (0, _extend.extend)(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n };\r\n _proto._setPreparedValue = function(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!(0, _comparator.equals)(previousValue, value)) {\r\n var path = name.split(/[.[]/);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || (0, _data.compileSetter)(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: (0, _type.isDefined)(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n };\r\n _proto._prepareRelevantNames = function(options, name, value, silent) {\r\n if ((0, _type.isPlainObject)(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n };\r\n _proto.get = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n };\r\n _proto.set = function(options, value, merge, silent) {\r\n options = (0, _utils.normalizeOptions)(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n };\r\n _proto.onRelevantNamesPrepared = function(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._changingCallback = callBack\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._changedCallback = callBack\r\n };\r\n _proto.dispose = function() {\r\n this._changingCallback = _common.noop;\r\n this._changedCallback = _common.noop\r\n };\r\n return OptionManager\r\n}();\r\nexports.OptionManager = OptionManager;\r\n","/**\r\n * DevExtreme (core/utils/comparator.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.equals = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _data = require(\"./data\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nvar equals = function(oldValue, newValue) {\r\n oldValue = (0, _data.toComparable)(oldValue, true);\r\n newValue = (0, _data.toComparable)(newValue, true);\r\n if (oldValue && newValue && (0, _type.isRenderer)(oldValue) && (0, _type.isRenderer)(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== _typeof(oldValue) || _dom_adapter.default.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\nexports.equals = equals;\r\n","/**\r\n * DevExtreme (core/postponed_operations.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.PostponedOperations = void 0;\r\nvar _deferred = require(\"./utils/deferred\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar PostponedOperations = function() {\r\n function PostponedOperations() {\r\n this._postponedOperations = {}\r\n }\r\n var _proto = PostponedOperations.prototype;\r\n _proto.add = function(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new _deferred.Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n };\r\n _proto.callPostponedOperations = function() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if ((0, _type.isDefined)(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n _deferred.when.apply(void 0, _toConsumableArray(operation.promises)).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n };\r\n return PostponedOperations\r\n}();\r\nexports.PostponedOperations = PostponedOperations;\r\n","/**\r\n * DevExtreme (core/template_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TemplateManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _function_template = require(\"./templates/function_template\");\r\nvar _empty_template = require(\"./templates/empty_template\");\r\nvar _template_manager = require(\"./utils/template_manager\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new _function_template.FunctionTemplate(function(_ref) {\r\n var model = _ref.model,\r\n parent = _ref.parent;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return (0, _renderer.default)()\r\n }\r\n var widgetElement = (0, _renderer.default)(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nvar TemplateManager = function() {\r\n function TemplateManager(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || _template_manager.defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n TemplateManager.createDefaultOptions = function() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return _common.noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n };\r\n var _proto = TemplateManager.prototype;\r\n _proto.addDefaultTemplates = function(templates) {\r\n this._defaultTemplates = (0, _extend.extend)({}, this._defaultTemplates, templates)\r\n };\r\n _proto.dispose = function() {\r\n this._tempTemplates.forEach(function(tempTemplate) {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n };\r\n _proto.extractTemplates = function($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n };\r\n _proto._extractTemplates = function($el) {\r\n var _this = this;\r\n var templates = (0, _template_manager.findTemplates)($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = (0, _template_manager.suitableTemplatesByName)(templates);\r\n templates.forEach(function(_ref2) {\r\n var element = _ref2.element,\r\n name = _ref2.options.name;\r\n if (element === suitableTemplates[name]) {\r\n (0, _renderer.default)(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n (0, _renderer.default)(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(function(name) {\r\n return {\r\n name: name,\r\n template: _this._createTemplate(suitableTemplates[name])\r\n }\r\n })\r\n };\r\n _proto._extractAnonymousTemplate = function($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter(function(_, element) {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = (0, _renderer.default)(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n };\r\n _proto._createTemplateIfNeeded = function(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(function(tempTemplate) {\r\n return tempTemplate.source === (0, _template_manager.templateKey)(templateSource)\r\n })[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: (0, _template_manager.templateKey)(templateSource)\r\n });\r\n return template\r\n };\r\n _proto._createTemplate = function(templateSource) {\r\n return this._createElement((0, _template_manager.validateTemplateSource)(templateSource))\r\n };\r\n _proto.getTemplate = function(templateSource, templates, _ref3, context) {\r\n var _this2 = this;\r\n var isAsyncTemplate = _ref3.isAsyncTemplate,\r\n skipTemplates = _ref3.skipTemplates;\r\n if (!(0, _type.isFunction)(templateSource)) {\r\n return (0, _template_manager.acquireTemplate)(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new _function_template.FunctionTemplate(function(options) {\r\n var templateSourceResult = templateSource.apply(context, (0, _template_manager.getNormalizedTemplateArgs)(options));\r\n if (!(0, _type.isDefined)(templateSourceResult)) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = (0, _template_manager.acquireTemplate)(templateSourceResult, function(templateSource) {\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource) && !(0, _renderer.default)(templateSource).is(\"script\")) {\r\n return new _function_template.FunctionTemplate(function() {\r\n return templateSource\r\n })\r\n }\r\n dispose = true;\r\n return _this2._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, _this2._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n };\r\n _createClass(TemplateManager, [{\r\n key: \"anonymousTemplateName\",\r\n get: function() {\r\n return this._anonymousTemplateName\r\n }\r\n }]);\r\n return TemplateManager\r\n}();\r\nexports.TemplateManager = TemplateManager;\r\n","/**\r\n * DevExtreme (core/templates/template.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.Template = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\nrequire(\"./template_engines\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}(0, _template_engine_registry.registerTemplateEngine)(\"default\", {\r\n compile: function(element) {\r\n return (0, _dom.normalizeTemplateElement)(element)\r\n },\r\n render: function(template, model, index) {\r\n return template.clone()\r\n }\r\n});\r\n(0, _template_engine_registry.setTemplateEngine)(\"default\");\r\nvar Template = function(_TemplateBase) {\r\n _inheritsLoose(Template, _TemplateBase);\r\n\r\n function Template(element) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._element = element;\r\n return _this\r\n }\r\n var _proto = Template.prototype;\r\n _proto._renderCore = function(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)\r\n }\r\n return (0, _renderer.default)(\"
\").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()\r\n };\r\n _proto.source = function() {\r\n return (0, _renderer.default)(this._element).clone()\r\n };\r\n return Template\r\n}(_template_base.TemplateBase);\r\nexports.Template = Template;\r\n","/**\r\n * DevExtreme (core/templates/template_engines.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jquery-tmpl\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return jQuery.tmpl(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jsrender\", {\r\n compile: function(element) {\r\n return (jQuery ? jQuery : jsrender).templates((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"mustache\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return Mustache.render(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"hogan\", {\r\n compile: function(element) {\r\n return Hogan.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"underscore\", {\r\n compile: function(element) {\r\n return _.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"handlebars\", {\r\n compile: function(element) {\r\n return Handlebars.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"doT\", {\r\n compile: function(element) {\r\n return doT.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (core/utils/queue.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.create = createQueue;\r\nexports.enqueue = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 (0, _deferred.when)(result).always(exec);\r\n return\r\n }\r\n throw _errors.default.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n\r\n function add(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\r\n function busy() {\r\n return _busy\r\n }\r\n return {\r\n add: add,\r\n busy: busy\r\n }\r\n}\r\nvar enqueue = createQueue().add;\r\nexports.enqueue = enqueue;\r\n","/**\r\n * DevExtreme (data/data_source/operation_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nvar OperationManager = function() {\r\n function OperationManager() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n var _proto = OperationManager.prototype;\r\n _proto.add = function(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n };\r\n _proto.remove = function(operationId) {\r\n return delete this._deferreds[operationId]\r\n };\r\n _proto.cancel = function(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(_utils.CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n };\r\n _proto.cancelAll = function() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n };\r\n return OperationManager\r\n}();\r\nexports.default = OperationManager;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/http_request.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./utils/window\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeXMLHttpRequest);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/query_implementation.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.queryImpl = void 0;\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _remote_query = _interopRequireDefault(require(\"./remote_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar queryImpl = {\r\n array: _array_query.default,\r\n remote: _remote_query.default\r\n};\r\nexports.queryImpl = queryImpl;\r\n","/**\r\n * DevExtreme (data/remote_query.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _query_adapters = _interopRequireDefault(require(\"./query_adapters\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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.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 _errors.default._errorHandler(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.default.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\r\n function unmergeSortTasks() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n (0, _iterator.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 try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!(0, _type.isFunction)(_adapterFactory)) {\r\n _adapterFactory = _query_adapters.default[_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 }\r\n unmergeSortTasks();\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 = (0, _array_query.default)(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n (0, _iterator.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 (0, _iterator.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 (0, _iterator.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\nvar _default = remoteQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/window.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getNavigator = exports.getCurrentScreenFactor = exports.defaultScreenFactorFunc = exports.hasProperty = exports.getWindow = exports.hasWindow = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar hasWindow = function() {\r\n return \"undefined\" !== typeof window\r\n};\r\nexports.hasWindow = hasWindow;\r\nvar windowObject = hasWindow() && window;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = function() {\r\n return windowObject\r\n};\r\nexports.getWindow = getWindow;\r\nvar hasProperty = function(prop) {\r\n return hasWindow() && prop in windowObject\r\n};\r\nexports.hasProperty = hasProperty;\r\nvar defaultScreenFactorFunc = function(width) {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else {\r\n if (width < 992) {\r\n return \"sm\"\r\n } else {\r\n if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n }\r\n }\r\n};\r\nexports.defaultScreenFactorFunc = defaultScreenFactorFunc;\r\nvar getCurrentScreenFactor = function(screenFactorCallback) {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = _dom_adapter.default.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nexports.getCurrentScreenFactor = getCurrentScreenFactor;\r\nvar getNavigator = function() {\r\n return hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n }\r\n};\r\nexports.getNavigator = getNavigator;\r\n","/**\r\n * DevExtreme (core/utils/ready_callbacks.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\nvar _window = require(\"./window\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar callbacks = [];\r\nvar isReady = function() {\r\n return \"complete\" === _dom_adapter.default.getReadyState() || \"loading\" !== _dom_adapter.default.getReadyState() && !_dom_adapter.default.getDocumentElement().doScroll\r\n};\r\nvar subscribeReady = (0, _call_once.default)(function() {\r\n var removeListener = _dom_adapter.default.listen(_dom_adapter.default.getDocument(), \"DOMContentLoaded\", function() {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: function(callback) {\r\n var windowExists = (0, _window.hasWindow)();\r\n if (windowExists && isReady()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: function() {\r\n callbacks.forEach(function(callback) {\r\n return callback()\r\n });\r\n callbacks = []\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(readyCallbacks);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/bindable_template.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.BindableTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _remove_event = _interopRequireDefault(require(\"../remove_event\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar watchChanges = function() {\r\n var globalWatch = function(data, watchMethod, callback) {\r\n return watchMethod(function() {\r\n return data\r\n }, callback)\r\n };\r\n var fieldsWatch = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map(function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? function() {\r\n return fieldGetter(data)\r\n } : function() {\r\n return data[name]\r\n }, function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n })\r\n });\r\n return function() {\r\n watchHandlers.forEach(function(dispose) {\r\n return dispose()\r\n })\r\n }\r\n };\r\n return function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = globalWatch(rawData, watchMethod, function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if ((0, _type.isPrimitive)(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = fieldsWatch(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n });\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n }\r\n}();\r\nvar BindableTemplate = function(_TemplateBase) {\r\n _inheritsLoose(BindableTemplate, _TemplateBase);\r\n\r\n function BindableTemplate(render, fields, watchMethod, fieldsMap) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n _this._fields = fields;\r\n _this._fieldsMap = fieldsMap || {};\r\n _this._watchMethod = watchMethod;\r\n return _this\r\n }\r\n var _proto = BindableTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n var _this2 = this;\r\n var $container = (0, _renderer.default)(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, function(data) {\r\n $container.empty();\r\n _this2._render($container, data, options.model)\r\n });\r\n _events_engine.default.on($container, _remove_event.default, dispose);\r\n return $container.contents()\r\n };\r\n return BindableTemplate\r\n}(_template_base.TemplateBase);\r\nexports.BindableTemplate = BindableTemplate;\r\n","/**\r\n * DevExtreme (data/odata/request_dispatcher.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = require(\"./utils\");\r\nrequire(\"./query_adapter\");\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar DEFAULT_PROTOCOL_VERSION = 2;\r\nvar RequestDispatcher = function() {\r\n function RequestDispatcher(options) {\r\n options = options || {};\r\n this._url = String(options.url).replace(/\\/+$/, \"\");\r\n this._beforeSend = options.beforeSend;\r\n this._jsonp = options.jsonp;\r\n this._version = options.version || DEFAULT_PROTOCOL_VERSION;\r\n this._withCredentials = options.withCredentials;\r\n this._deserializeDates = options.deserializeDates;\r\n this._filterToLower = options.filterToLower\r\n }\r\n var _proto = RequestDispatcher.prototype;\r\n _proto.sendRequest = function(url, method, params, payload) {\r\n return (0, _utils.sendRequest)(this.version, {\r\n url: url,\r\n method: method,\r\n params: params || {},\r\n payload: payload\r\n }, {\r\n beforeSend: this._beforeSend,\r\n jsonp: this._jsonp,\r\n withCredentials: this._withCredentials,\r\n deserializeDates: this._deserializeDates\r\n })\r\n };\r\n _createClass(RequestDispatcher, [{\r\n key: \"version\",\r\n get: function() {\r\n return this._version\r\n }\r\n }, {\r\n key: \"beforeSend\",\r\n get: function() {\r\n return this._beforeSend\r\n }\r\n }, {\r\n key: \"url\",\r\n get: function() {\r\n return this._url\r\n }\r\n }, {\r\n key: \"jsonp\",\r\n get: function() {\r\n return this._jsonp\r\n }\r\n }, {\r\n key: \"filterToLower\",\r\n get: function() {\r\n return this._filterToLower\r\n }\r\n }]);\r\n return RequestDispatcher\r\n}();\r\nexports.default = RequestDispatcher;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/component_registrator.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _component_registrator_callbacks = _interopRequireDefault(require(\"./component_registrator_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _public_component = require(\"./utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }(0, _public_component.name)(componentClass, name);\r\n _component_registrator_callbacks.default.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n _renderer.default.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw _errors.default.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n })\r\n } else {\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n });\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\n_component_registrator_callbacks.default.add(registerRendererComponent);\r\nvar _default = registerComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data/data_source/data_source.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.DataSource = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = _interopRequireDefault(require(\"../utils\"));\r\nvar _array_utils = require(\"../array_utils\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _events_strategy = require(\"../../core/events_strategy\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _queue = require(\"../../core/utils/queue\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _operation_manager = _interopRequireDefault(require(\"./operation_manager\"));\r\nvar _utils2 = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar DataSource = _class.default.inherit({\r\n ctor: function(options) {\r\n var _options$reshapeOnPus, _this = this;\r\n options = (0, _utils2.normalizeDataSourceOptions)(options);\r\n this._eventsStrategy = new _events_strategy.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 ? function() {\r\n return 5 * _this._changedTime\r\n } : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = _utils.default.throttleChanges(function(changes) {\r\n pushDeferred.resolve();\r\n var storePushPending = _deferred.when.apply(void 0, _toConsumableArray(lastPushWaiters));\r\n storePushPending.done(function() {\r\n return _this._onPush(changes)\r\n });\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = function(args) {\r\n _this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new _deferred.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 = function(changes) {\r\n return _this._onPush(changes)\r\n };\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 (0, _iterator.each)([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], function(_, 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 _operation_manager.default;\r\n this._init()\r\n },\r\n _init: function() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!(0, _type.isDefined)(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose: function() {\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 delete this._store;\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n this._disposed = true\r\n },\r\n _extractLoadOptions: function(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 }(0, _iterator.each)(names, function() {\r\n result[this] = options[this]\r\n });\r\n return result\r\n },\r\n loadOptions: function() {\r\n return this._storeLoadOptions\r\n },\r\n items: function() {\r\n return this._items\r\n },\r\n pageIndex: function(newIndex) {\r\n if (!(0, _type.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: function(value) {\r\n if (!(0, _type.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: function(value) {\r\n if (!(0, _type.isNumeric)(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage: function() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor: function(optionName) {\r\n var _this2 = this;\r\n return function(args) {\r\n var normalizedArgs = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(args);\r\n if (void 0 === normalizedArgs) {\r\n return _this2._storeLoadOptions[optionName]\r\n }\r\n _this2._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort: function() {\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: function() {\r\n var newFilter = (0, _utils2.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: function() {\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: function() {\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: function(value) {\r\n if (!(0, _type.isBoolean)(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue: function(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: function(op) {\r\n if (!(0, _type.isString)(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr: function(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: function() {\r\n return this._store\r\n },\r\n key: function() {\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: function() {\r\n return this._totalCount\r\n },\r\n isLoaded: function() {\r\n return this._isLoaded\r\n },\r\n isLoading: function() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading: function() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading: function() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: function() {\r\n return (0, _queue.create)()\r\n },\r\n _changeLoadingCount: function(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: function(deferred) {\r\n var _this3 = this;\r\n this.beginLoading();\r\n deferred.always(function() {\r\n _this3.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks: function(deferred) {\r\n var _this4 = 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] === _utils2.CANCELED_TOKEN) {\r\n return\r\n }\r\n _this4._eventsStrategy.fireEvent(\"loadError\", args)\r\n })\r\n },\r\n _fireChanged: function(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: function(deferred) {\r\n var _this5 = this;\r\n deferred.done(function() {\r\n return _this5._fireChanged()\r\n })\r\n },\r\n loadSingle: function(propName, propValue) {\r\n var _this6 = this;\r\n var d = new _deferred.Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n var handleDone = function(data) {\r\n if (!(0, _type.isDefined)(data) || (0, _array.isEmpty)(data)) {\r\n d.reject(new _errors.default.errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(_this6._applyMapFunction(data)[0])\r\n }\r\n };\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 var shouldForceByKey = function() {\r\n return store instanceof _custom_store.default && !store._byKeyViaLoad()\r\n };\r\n (function() {\r\n if (propName === key || shouldForceByKey()) {\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(handleDone);\r\n return d.promise()\r\n },\r\n load: function() {\r\n var _this7 = this;\r\n var d = new _deferred.Deferred;\r\n var loadTask = function() {\r\n if (_this7._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(d)) {\r\n return\r\n }\r\n return _this7._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(function() {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n _this7._delayedLoadTask = (0, _common.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: function(changes) {\r\n var _this8 = this;\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n this._eventsStrategy.fireEvent(\"changing\", [{\r\n changes: changes\r\n }]);\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(function(item) {\r\n return \"update\" === item.type\r\n }) : 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(function(item) {\r\n if (\"insert\" === item.type) {\r\n item.data = _this8._mapFunc(item.data)\r\n }\r\n })\r\n }(0, _array_utils.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: function(deferred) {\r\n var _this9 = this;\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(function() {\r\n return _this9._operationManager.remove(operationId)\r\n });\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload: function() {\r\n var store = this.store();\r\n if (store instanceof _custom_store.default) {\r\n store.clearRawDataCache()\r\n }\r\n this._init();\r\n return this.load()\r\n },\r\n cancel: function(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll: function() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions: function(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: function() {\r\n var result = (0, _extend.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: function(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 }(0, _iterator.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: function(loadOptions, pendingDeferred) {\r\n var _this10 = this;\r\n var handleSuccess = function(data, extra) {\r\n if (_this10._disposed) {\r\n return\r\n }\r\n if (!(0, _utils2.isPending)(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = (0, _extend.extend)((0, _utils2.normalizeLoadResult)(data, extra), loadOptions);\r\n _this10._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n (0, _deferred.when)(loadResult.data).done(function(data) {\r\n loadResult.data = data;\r\n _this10._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new _deferred.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: function(loadResult, pendingDeferred) {\r\n var _this11 = this;\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = function() {\r\n _this11._isLoaded = true;\r\n _this11._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n var proceedLoadingTotalCount = function() {\r\n _this11.store().totalCount(storeLoadOptions).done(function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!(0, _type.isPlainObject)(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 proceedLoadingTotalCount()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction: function(data) {\r\n if (this._mapFunc) {\r\n return (0, _utils2.mapDataRespectingGrouping)(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction: function(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nexports.DataSource = DataSource;\r\n","/**\r\n * DevExtreme (core/utils/dependency_injector.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _default(object) {\r\n var BaseClass = _class.default.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n (0, _iterator.each)(injectionObject, function(key) {\r\n if ((0, _type.isFunction)(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n })\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n (0, _extend.extend)(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/polyfills/promise.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar promise = (0, _window.hasWindow)() ? (0, _window.getWindow)().Promise : Promise;\r\nif (!promise) {\r\n promise = function(resolver) {\r\n var d = new _deferred.Deferred;\r\n resolver(d.resolve.bind(this), d.reject.bind(this));\r\n return d.promise()\r\n };\r\n promise.resolve = function(val) {\r\n return (new _deferred.Deferred).resolve(val).promise()\r\n };\r\n promise.reject = function(val) {\r\n return (new _deferred.Deferred).reject(val).promise()\r\n };\r\n promise.all = function(promises) {\r\n return _deferred.when.apply(this, promises).then(function() {\r\n return [].slice.call(arguments)\r\n })\r\n }\r\n}\r\nvar _default = promise;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/dom_component.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../core/utils/resize_callbacks\"));\r\nvar _component = _interopRequireDefault(require(\"./component\"));\r\nvar _template_manager = require(\"./template_manager\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _element_data = require(\"./element_data\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _element = require(\"../core/element\");\r\nvar _common = require(\"./utils/common\");\r\nvar _array = require(\"./utils/array\");\r\nvar _type = require(\"./utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _short = require(\"../events/short\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar abstract = _component.default.abstract;\r\nvar DOMComponent = _component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: (0, _config.default)().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? _template_manager.TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor: function(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n (0, _public_component.attachInstanceToElement)(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement: function(element) {\r\n this._$element = (0, _renderer.default)(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: function() {\r\n return [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"]\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init: function() {\r\n this.callBase();\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice: function(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue: function(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n _resize_callbacks.default.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported: function() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent: function() {\r\n this._initMarkup();\r\n (0, _window.hasWindow)() && this._render()\r\n },\r\n _initMarkup: function() {\r\n var _ref = this.option() || {},\r\n rtlEnabled = _ref.rtlEnabled;\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render: function() {\r\n this._attachVisibilityChangeHandlers()\r\n },\r\n _renderElementAttributes: function() {\r\n var _ref2 = this.option() || {},\r\n elementAttr = _ref2.elementAttr;\r\n var attributes = (0, _extend.extend)({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: function(element, height, width) {\r\n return !!((0, _type.isDefined)(width) || (0, _type.isDefined)(height) || element.style.width || element.style.height)\r\n },\r\n _attachDimensionChangeHandlers: function() {\r\n var _this = this;\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n _short.resize.off($el, {\r\n namespace: namespace\r\n });\r\n _short.resize.on($el, function() {\r\n return _this._dimensionChanged()\r\n }, {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers: function() {\r\n var _this2 = this;\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n _short.visibility.off($el, {\r\n namespace: namespace\r\n });\r\n _short.visibility.on($el, function() {\r\n return _this2._checkVisibilityChanged(\"shown\")\r\n }, function() {\r\n return _this2._checkVisibilityChanged(\"hiding\")\r\n }, {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible: function() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged: function(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else {\r\n if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported: function() {\r\n return this._visibilityChanged !== abstract && (0, _window.hasWindow)()\r\n },\r\n _clean: _common.noop,\r\n _modelByElement: function() {\r\n var _this$option = this.option(),\r\n modelByElement = _this$option.modelByElement;\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate: function() {\r\n if (this._isUpdateAllowed()) {\r\n throw _errors.default.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh: function() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose: function() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n _resize_callbacks.default.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent: function(element, component) {\r\n var _this3 = this;\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = (0, _common.grep)(this._getSynchronizableOptionsForCreateComponent(), function(value) {\r\n return !(value in config)\r\n });\r\n var _this$option2 = this.option(),\r\n integrationOptions = _this$option2.integrationOptions;\r\n var _this$option3 = this.option(),\r\n nestedComponentOptions = _this$option3.nestedComponentOptions;\r\n nestedComponentOptions = nestedComponentOptions || _common.noop;\r\n var nestedComponentConfig = (0, _extend.extend)({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(function(optionName) {\r\n return nestedComponentConfig[optionName] = _this3.option(optionName)\r\n });\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if ((0, _type.isString)(component)) {\r\n var $element = (0, _renderer.default)(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else {\r\n if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = function(_ref3) {\r\n var name = _ref3.name,\r\n value = _ref3.value;\r\n if ((0, _array.inArray)(name, synchronizableOptions) >= 0) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", function() {\r\n return _this3.off(\"optionChanged\", optionChangedHandler)\r\n })\r\n }\r\n return instance\r\n },\r\n _extendConfig: function(config, extendConfig) {\r\n (0, _iterator.each)(extendConfig, function(key, value) {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig: function() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return (0, _extend.extend)(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs: function() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return (0, _extend.extend)(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes: function(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var name = attr.name;\r\n if (!name.indexOf(\"aria-\") || name.indexOf(\"dx-\") !== -1 || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses: function(element) {\r\n element.className = element.className.split(\" \").filter(function(cssClass) {\r\n return 0 !== cssClass.lastIndexOf(\"dx-\", 0)\r\n }).join(\" \")\r\n },\r\n _updateDOMComponent: function(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else {\r\n if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n }\r\n },\r\n endUpdate: function() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element: function() {\r\n return this._$element\r\n },\r\n element: function() {\r\n var $element = this.$element();\r\n return (0, _element.getPublicElement)($element)\r\n },\r\n dispose: function() {\r\n var element = this.$element().get(0);\r\n (0, _element_data.cleanDataRecursive)(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption: function(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !(0, _type.isDefined)(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return\r\n },\r\n _initTemplateManager: function() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var _this$option4 = this.option(),\r\n _this$option4$integra = _this$option4.integrationOptions,\r\n integrationOptions = void 0 === _this$option4$integra ? {} : _this$option4$integra;\r\n var createTemplate = integrationOptions.createTemplate;\r\n this._templateManager = new _template_manager.TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates: function() {\r\n var _this4 = this;\r\n var _this$_templateManage = this._templateManager.extractTemplates(this.$element()),\r\n templates = _this$_templateManage.templates,\r\n anonymousTemplateMeta = _this$_templateManage.anonymousTemplateMeta;\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(function(_ref4) {\r\n var name = _ref4.name,\r\n template = _ref4.template;\r\n _this4._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption: function(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate: function(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate: function(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: function() {\r\n return true\r\n }\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return (0, _public_component.getInstanceByElement)((0, _renderer.default)(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nvar _default = DOMComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/scroll_rtl_behavior.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getScrollRtlBehavior = (0, _call_once.default)(function() {\r\n var document = _dom_adapter.default.getDocument();\r\n document.body.insertAdjacentHTML(\"beforeend\", \"
\");\r\n var scroller = document.body.lastElementChild;\r\n var initiallyPositive = scroller.scrollLeft > 0;\r\n scroller.scrollLeft = -1;\r\n var hasNegative = scroller.scrollLeft < 0;\r\n var result = {\r\n decreasing: hasNegative || initiallyPositive,\r\n positive: !hasNegative\r\n };\r\n document.body.removeChild(scroller);\r\n return result\r\n});\r\nvar _default = getScrollRtlBehavior;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/empty_template.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EmptyTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar EmptyTemplate = function(_TemplateBase) {\r\n _inheritsLoose(EmptyTemplate, _TemplateBase);\r\n\r\n function EmptyTemplate() {\r\n return _TemplateBase.apply(this, arguments) || this\r\n }\r\n var _proto = EmptyTemplate.prototype;\r\n _proto._renderCore = function() {\r\n return (0, _renderer.default)()\r\n };\r\n return EmptyTemplate\r\n}(_template_base.TemplateBase);\r\nexports.EmptyTemplate = EmptyTemplate;\r\n","/**\r\n * DevExtreme (data_helper.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data/data_source/data_source\");\r\nvar _extend = require(\"./core/utils/extend\");\r\nvar _utils = require(\"./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 _data_source.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() : _data_source.DataSource;\r\n dataSourceOptions = (0, _utils.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((0, _extend.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\nvar _default = DataHelperMixin;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/data_source/utils.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.normalizeDataSourceOptions = exports.normalizeLoadResult = exports.mapDataRespectingGrouping = exports.normalizeStoreLoadOptionAccessorArguments = exports.isPending = exports.CANCELED_TOKEN = void 0;\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../abstract_store\"));\r\nvar _array_store = _interopRequireDefault(require(\"../array_store\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _custom_store = _interopRequireDefault(require(\"../custom_store\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _utils = _interopRequireDefault(require(\"../utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n if (enumerableOnly) {\r\n symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })\r\n }\r\n keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n if (i % 2) {\r\n ownKeys(Object(source), true).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n })\r\n } else {\r\n if (Object.getOwnPropertyDescriptors) {\r\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source))\r\n } else {\r\n ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction _objectWithoutProperties(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n for (i = 0; i < sourceSymbolKeys.length; i++) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (null == source) {\r\n return {}\r\n }\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n for (i = 0; i < sourceKeys.length; i++) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) >= 0) {\r\n continue\r\n }\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar CANCELED_TOKEN = \"canceled\";\r\nexports.CANCELED_TOKEN = CANCELED_TOKEN;\r\nvar isPending = function(deferred) {\r\n return \"pending\" === deferred.state()\r\n};\r\nexports.isPending = isPending;\r\nvar normalizeStoreLoadOptionAccessorArguments = function(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\nexports.normalizeStoreLoadOptionAccessorArguments = normalizeStoreLoadOptionAccessorArguments;\r\nvar mapGroup = function(group, level, mapper) {\r\n return (0, _iterator.map)(group, function(item) {\r\n var restItem = (item.items, _objectWithoutProperties(item, [\"items\"]));\r\n return _objectSpread(_objectSpread({}, restItem), {}, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n })\r\n};\r\nvar mapRecursive = function(items, level, mapper) {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : (0, _iterator.map)(items, mapper)\r\n};\r\nvar mapDataRespectingGrouping = function(items, mapper, groupInfo) {\r\n var level = groupInfo ? _utils.default.normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexports.mapDataRespectingGrouping = mapDataRespectingGrouping;\r\nvar normalizeLoadResult = function(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\nexports.normalizeLoadResult = normalizeLoadResult;\r\nvar createCustomStoreFromLoadFunc = function(options) {\r\n var storeConfig = {};\r\n (0, _iterator.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 _custom_store.default(storeConfig)\r\n};\r\nvar createStoreFromConfig = function(storeConfig) {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return _abstract_store.default.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = function(url, normalizationOptions) {\r\n return new _custom_store.default({\r\n load: function() {\r\n return _ajax.default.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n })\r\n },\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n })\r\n};\r\nvar normalizeDataSourceOptions = function(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 _abstract_store.default) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = (0, _extend.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 {\r\n if (Array.isArray(store)) {\r\n store = new _array_store.default(store)\r\n } else {\r\n if ((0, _type.isPlainObject)(store)) {\r\n store = createStoreFromConfig((0, _extend.extend)({}, store))\r\n }\r\n }\r\n }\r\n options.store = store;\r\n return options\r\n};\r\nexports.normalizeDataSourceOptions = normalizeDataSourceOptions;\r\n","/**\r\n * DevExtreme (data/data_source.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _data_source = require(\"./data_source/data_source\");\r\nvar _default = _data_source.DataSource;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/extend.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.extend = exports.extendFromObject = void 0;\r\nvar _type = require(\"./type\");\r\nvar extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extendFromObject = extendFromObject;\r\nvar extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && ((0, _type.isPlainObject)(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && (0, _type.isPlainObject)(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else {\r\n if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extend = extend;\r\n","/**\r\n * DevExtreme (data/custom_store.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _array_utils = require(\"./array_utils\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 && (0, _type.isFunction)(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new _deferred.Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!(0, _type.isFunction)(obj)) {\r\n throw _errors.default.errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw _errors.default.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 _utils.default.errorMessageFromXhr(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 !== _utils.default.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 {\r\n if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else {\r\n if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n }\r\n }\r\n return (0, _deferred.fromPromise)(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!(0, _type.isFunction)(userFunc)) {\r\n throw _errors.default.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 (0, _deferred.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 (0, _deferred.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 = (0, _array_query.default)(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 = _store_helper.default.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 = _store_helper.default.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 _deferred.when.apply(_renderer.default, waitList).done(function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else {\r\n 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 }\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 (_utils.default.keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(_errors.default.errors.Error(\"E4009\"))\r\n })\r\n}\r\nvar CustomStore = _abstract_store.default.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.default.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.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 (0, _array_utils.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.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.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.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 }(0, _deferred.fromPromise)(userResult).done(function(serverResponse) {\r\n if ((0, _config.default)().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.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 }(0, _deferred.fromPromise)(userResult).done(function(serverResponse) {\r\n if ((0, _config.default)().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.Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }(0, _deferred.fromPromise)(userResult).done(function() {\r\n d.resolve(key)\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nvar _default = CustomStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/call_once.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nvar _default = callOnce;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/view_port.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.originalViewPort = originalViewPort;\r\nexports.changeCallback = exports.value = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar changeCallback = (0, _callbacks.default)();\r\nexports.changeCallback = changeCallback;\r\nvar $originalViewPort = (0, _renderer.default)();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = (0, _renderer.default)(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : (0, _renderer.default)(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : (0, _renderer.default)(), prevViewPort)\r\n }\r\n}();\r\nexports.value = value;\r\nready(function() {\r\n value(\".dx-viewport\")\r\n});\r\n\r\nfunction originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (data/array_store.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _query = _interopRequireDefault(require(\"./query\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"./abstract_store\"));\r\nvar _array_utils = require(\"./array_utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ArrayStore = _abstract_store.default.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.default.errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return (0, _query.default)(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = (0, _array_utils.indexByKey)(this, this._array, key);\r\n if (index === -1) {\r\n return _utils.default.rejectedPromise(_errors.default.errors.Error(\"E4009\"))\r\n }\r\n return _utils.default.trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return (0, _array_utils.insert)(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n (0, _array_utils.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 (0, _array_utils.update)(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return (0, _array_utils.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\nvar _default = ArrayStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data/array_utils.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.applyBatch = applyBatch;\r\nexports.createObjectWithChanges = createObjectWithChanges;\r\nexports.update = update;\r\nexports.insert = insert;\r\nexports.remove = remove;\r\nexports.indexByKey = indexByKey;\r\nexports.applyChanges = applyChanges;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _object = require(\"../core/utils/object\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\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 {\r\n if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\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 createObjectWithChanges(target, changes) {\r\n var result = target ? Object.create(Object.getPrototypeOf(target)) : {};\r\n var targetWithoutPrototype = (0, _extend.extendFromObject)({}, target);\r\n (0, _object.deepExtendArraySafe)(result, targetWithoutPrototype, true, true);\r\n return (0, _object.deepExtendArraySafe)(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var keyInfo = _ref.keyInfo,\r\n data = _ref.data,\r\n changes = _ref.changes,\r\n groupCount = _ref.groupCount,\r\n useInsertIndex = _ref.useInsertIndex,\r\n immutable = _ref.immutable,\r\n disableCache = _ref.disableCache,\r\n logError = _ref.logError;\r\n var resultItems = true === immutable ? _toConsumableArray(data) : data;\r\n changes.forEach(function(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 && (0, _type.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 ? _utils.default.rejectedPromise(_errors.default.errors.Error(errorCode)) : logError && _errors.default.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 _options$keyExpr = options.keyExpr,\r\n keyExpr = void 0 === _options$keyExpr ? \"id\" : _options$keyExpr,\r\n _options$immutable = options.immutable,\r\n immutable = void 0 === _options$immutable ? true : _options$immutable;\r\n var keyGetter = (0, _data.compileGetter)(keyExpr);\r\n var keyInfo = {\r\n key: function() {\r\n return keyExpr\r\n },\r\n keyOf: function(obj) {\r\n return keyGetter(obj)\r\n }\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 extendComplexObject = true;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !_utils.default.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 && (0, _type.isDefined)(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && _utils.default.trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }(0, _object.deepExtendArraySafe)(target, data, extendComplexObject);\r\n if (!isBatch) {\r\n if ((0, _config.default)().useLegacyStoreResult) {\r\n return _utils.default.trivialPromise(key, data)\r\n } else {\r\n return _utils.default.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 = (0, _type.isPlainObject)(data) ? (0, _extend.extend)({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === _typeof(keyValue) && (0, _type.isEmptyObject)(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw _errors.default.errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new _guid.default)\r\n } else {\r\n if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\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 _utils.default.trivialPromise((0, _config.default)().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 _utils.default.trivialPromise(key)\r\n } else {\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\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 (_utils.default.keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\n","/**\r\n * DevExtreme (core/utils/ajax.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _deferred = require(\"./deferred\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _http_request = _interopRequireDefault(require(\"../../core/http_request\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _promise = _interopRequireDefault(require(\"../polyfills/promise\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\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 = _dom_adapter.default.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 _dom_adapter.default.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.default(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 _dom_adapter.default.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 (0, _extend.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 (!(0, _window.hasWindow)()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = _dom_adapter.default.createElement(\"a\");\r\n var urlAnchor = _dom_adapter.default.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 {\r\n 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 }\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 = _http_request.default.getXhr();\r\n var d = new _deferred.Deferred;\r\n var result = d.promise();\r\n var async = (0, _type.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 var reject = function() {\r\n d.reject(xhr, ERROR)\r\n };\r\n var resolve = function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n };\r\n evalCrossDomainScript(url).then(resolve, reject);\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) && (0, _type.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\nvar _default = (0, _dependency_injector.default)({\r\n sendRequest: sendRequest\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/dom_adapter.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\nvar _common = require(\"./utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: function(element, selector) {\r\n return element.querySelectorAll(selector)\r\n },\r\n elementMatches: function(element, selector) {\r\n var _this = this;\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(selector) {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = _this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n };\r\n return matches.call(element, selector)\r\n },\r\n createElement: function(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS: function(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode: function(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: function(element) {\r\n return element && \"object\" === _typeof(element) && \"nodeType\" in element && \"nodeName\" in element\r\n },\r\n isElementNode: function(element) {\r\n return element && element.nodeType === ELEMENT_NODE\r\n },\r\n isTextNode: function(element) {\r\n return element && element.nodeType === TEXT_NODE\r\n },\r\n isDocument: function(element) {\r\n return element && element.nodeType === DOCUMENT_NODE\r\n },\r\n removeElement: function(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement: function(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: function(element, name) {\r\n return element.getAttribute(name)\r\n },\r\n setAttribute: function(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute: function(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty: function(element, name, value) {\r\n element[name] = value\r\n },\r\n setText: function(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass: function(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n if (element.classList) {\r\n if (isAdd) {\r\n element.classList.add(className)\r\n } else {\r\n element.classList.remove(className)\r\n }\r\n } else {\r\n var classNameSupported = \"string\" === typeof element.className;\r\n var elementClass = classNameSupported ? element.className : this.getAttribute(element, \"class\") || \"\";\r\n var classNames = elementClass.split(\" \");\r\n var classIndex = classNames.indexOf(className);\r\n var resultClassName;\r\n if (isAdd && classIndex < 0) {\r\n resultClassName = elementClass ? elementClass + \" \" + className : className\r\n }\r\n if (!isAdd && classIndex >= 0) {\r\n classNames.splice(classIndex, 1);\r\n resultClassName = classNames.join(\" \")\r\n }\r\n if (void 0 !== resultClassName) {\r\n if (classNameSupported) {\r\n element.className = resultClassName\r\n } else {\r\n this.setAttribute(element, \"class\", resultClassName)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n setStyle: function(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument: function() {\r\n return this._document\r\n },\r\n getActiveElement: function() {\r\n return this._document.activeElement\r\n },\r\n getBody: function() {\r\n return this._document.body\r\n },\r\n createDocumentFragment: function() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement: function() {\r\n return this._document.documentElement\r\n },\r\n getLocation: function() {\r\n return this._document.location\r\n },\r\n getSelection: function() {\r\n return this._document.selection\r\n },\r\n getReadyState: function() {\r\n return this._document.readyState\r\n },\r\n getHead: function() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty: function(property) {\r\n return property in this._document\r\n },\r\n listen: function(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return _common.noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return function() {\r\n element.removeEventListener(event, callback)\r\n }\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeDOMAdapterStrategy);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/variable_wrapper.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _console = require(\"./console\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = (0, _dependency_injector.default)({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n _console.logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/style.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.setHeight = exports.setWidth = exports.normalizeStyleProp = exports.stylePropPrefix = exports.styleProp = void 0;\r\nvar _inflector = require(\"./inflector\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _type = require(\"./type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = (0, _call_once.default)(function() {\r\n return _dom_adapter.default.createElement(\"dx\").style\r\n});\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = (0, _inflector.camelize)(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = (0, _inflector.camelize)(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nexports.styleProp = styleProp;\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n })\r\n};\r\nexports.stylePropPrefix = stylePropPrefix;\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar normalizeStyleProp = function(prop, value) {\r\n if ((0, _type.isNumeric)(value) && pxExceptions.indexOf(prop) === -1) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nexports.normalizeStyleProp = normalizeStyleProp;\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = (0, _type.isNumeric)(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nexports.setWidth = setWidth;\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexports.setHeight = setHeight;\r\n","/**\r\n * DevExtreme (core/templates/function_template.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.FunctionTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar FunctionTemplate = function(_TemplateBase) {\r\n _inheritsLoose(FunctionTemplate, _TemplateBase);\r\n\r\n function FunctionTemplate(render) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n return _this\r\n }\r\n var _proto = FunctionTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n return (0, _dom.normalizeTemplateElement)(this._render(options))\r\n };\r\n return FunctionTemplate\r\n}(_template_base.TemplateBase);\r\nexports.FunctionTemplate = FunctionTemplate;\r\n","/**\r\n * DevExtreme (data/store_helper.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _array_query = _interopRequireDefault(require(\"./array_query\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 (0, _extend.extend)({}, g, {\r\n items: multiLevelGroup((0, _array_query.default)(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 (0, _iterator.each)(groupInfo, function(_, group) {\r\n var collision = (0, _common.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 = _utils.default.normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = _utils.default.normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }(0, _iterator.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\nvar _default = {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/devices.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./utils/ready_callbacks\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"./utils/resize_callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _storage = require(\"./utils/storage\");\r\nvar _view_port = require(\"./utils/view_port\");\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar window = (0, _window.getWindow)();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic: function(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios: function(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android: function(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar Devices = function() {\r\n function Devices(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n this.changed = (0, _callbacks.default)();\r\n if ((0, _window.hasWindow)()) {\r\n _ready_callbacks.default.add(this._recalculateOrientation.bind(this));\r\n _resize_callbacks.default.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n var _proto = Devices.prototype;\r\n _proto.current = function(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n };\r\n _proto.real = function(forceDevice) {\r\n return (0, _extend.extend)({}, this._realDevice)\r\n };\r\n _proto.orientation = function() {\r\n return this._currentOrientation\r\n };\r\n _proto.isForced = function() {\r\n return this._forced\r\n };\r\n _proto.isRippleEmulator = function() {\r\n return !!this._window.tinyHippos\r\n };\r\n _proto._getCssClasses = function(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if ((0, _config.default)().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n };\r\n _proto.attachCssClasses = function(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n (0, _renderer.default)(element).addClass(this._deviceClasses)\r\n };\r\n _proto.detachCssClasses = function(element) {\r\n (0, _renderer.default)(element).removeClass(this._deviceClasses)\r\n };\r\n _proto.isSimulator = function() {\r\n try {\r\n return this._isSimulator || (0, _window.hasWindow)() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n };\r\n _proto.forceSimulator = function() {\r\n this._isSimulator = true\r\n };\r\n _proto._getDevice = function(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if ((0, _type.isPlainObject)(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw _errors.default.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n };\r\n _proto._getDeviceOrNameFromWindowScope = function() {\r\n var result;\r\n if ((0, _window.hasWindow)() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n };\r\n _proto._getDeviceNameFromSessionStorage = function() {\r\n var sessionStorage = (0, _storage.sessionStorage)();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n };\r\n _proto._fromConfig = function(config) {\r\n var result = (0, _extend.extend)({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return (0, _extend.extend)(result, shortcuts)\r\n };\r\n _proto._fromUA = function(ua) {\r\n var config;\r\n (0, _iterator.each)(uaParsers, function(platform, parser) {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n };\r\n _proto._changeOrientation = function() {\r\n var $window = (0, _renderer.default)(this._window);\r\n var orientation = $window.height() > $window.width() ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n };\r\n _proto._recalculateOrientation = function() {\r\n var windowWidth = (0, _renderer.default)(this._window).width();\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n };\r\n return Devices\r\n}();\r\nvar devices = new Devices;\r\n_view_port.changeCallback.add(function(viewPort, prevViewport) {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nvar _default = devices;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/array.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.groupBy = exports.find = exports.merge = exports.normalizeIndexes = exports.removeDuplicates = exports.uniqueValues = exports.intersection = exports.inArray = exports.wrapToArray = exports.isEmpty = void 0;\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _object = require(\"./object\");\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n if (enumerableOnly) {\r\n symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })\r\n }\r\n keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n if (i % 2) {\r\n ownKeys(Object(source), true).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n })\r\n } else {\r\n if (Object.getOwnPropertyDescriptors) {\r\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source))\r\n } else {\r\n ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar isEmpty = function(entity) {\r\n return Array.isArray(entity) && !entity.length\r\n};\r\nexports.isEmpty = isEmpty;\r\nvar wrapToArray = function(entity) {\r\n return Array.isArray(entity) ? entity : [entity]\r\n};\r\nexports.wrapToArray = wrapToArray;\r\nvar inArray = function(value, object) {\r\n if (!object) {\r\n return -1\r\n }\r\n var array = Array.isArray(object) ? object : object.toArray();\r\n return array.indexOf(value)\r\n};\r\nexports.inArray = inArray;\r\nvar intersection = function(a, b) {\r\n if (!Array.isArray(a) || 0 === a.length || !Array.isArray(b) || 0 === b.length) {\r\n return []\r\n }\r\n var result = [];\r\n (0, _iterator.each)(a, function(_, value) {\r\n var index = inArray(value, b);\r\n if (index !== -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nexports.intersection = intersection;\r\nvar uniqueValues = function(data) {\r\n return data.filter(function(item, position) {\r\n return data.indexOf(item) === position\r\n })\r\n};\r\nexports.uniqueValues = uniqueValues;\r\nvar removeDuplicates = function(from, what) {\r\n if (!Array.isArray(from) || 0 === from.length) {\r\n return []\r\n }\r\n if (!Array.isArray(what) || 0 === what.length) {\r\n return from.slice()\r\n }\r\n var result = [];\r\n (0, _iterator.each)(from, function(_, value) {\r\n var index = inArray(value, what);\r\n if (index === -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nexports.removeDuplicates = removeDuplicates;\r\nvar normalizeIndexes = function(items, indexParameterName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var parameterIndex = 0;\r\n var useLegacyVisibleIndex = (0, _config.default)().useLegacyVisibleIndex;\r\n (0, _iterator.each)(items, function(index, item) {\r\n index = item[indexParameterName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexParameterName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n while (indexedItems[parameterIndex]) {\r\n parameterIndex++\r\n }\r\n indexedItems[parameterIndex] = [this];\r\n parameterIndex++\r\n }\r\n })\r\n }\r\n parameterIndex = 0;\r\n (0, _object.orderEach)(indexedItems, function(index, items) {\r\n (0, _iterator.each)(items, function() {\r\n if (index >= 0) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n });\r\n if (useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n }\r\n return parameterIndex\r\n};\r\nexports.normalizeIndexes = normalizeIndexes;\r\nvar merge = function(array1, array2) {\r\n for (var i = 0; i < array2.length; i++) {\r\n array1[array1.length] = array2[i]\r\n }\r\n return array1\r\n};\r\nexports.merge = merge;\r\nvar find = function(array, condition) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (condition(array[i])) {\r\n return array[i]\r\n }\r\n }\r\n};\r\nexports.find = find;\r\nvar groupBy = function(array, cb) {\r\n return array.reduce(function(result, item) {\r\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, cb(item), [].concat(_toConsumableArray(result[cb(item)] || []), [item])))\r\n }, {})\r\n};\r\nexports.groupBy = groupBy;\r\n","/**\r\n * DevExtreme (core/utils/type.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isEvent = exports.type = exports.isDeferred = exports.isPromise = exports.isRenderer = exports.isWindow = exports.isPrimitive = exports.isPlainObject = exports.isEmptyObject = exports.isObject = exports.isNumeric = exports.isString = exports.isFunction = exports.isDefined = exports.isDate = exports.isExponential = exports.isBoolean = void 0;\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === _typeof(object) ? types[typeOfObject] || \"object\" : _typeof(object)\r\n};\r\nexports.type = type;\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nexports.isBoolean = isBoolean;\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && value.toString().indexOf(\"e\") !== -1\r\n};\r\nexports.isExponential = isExponential;\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nexports.isDate = isDate;\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nexports.isDefined = isDefined;\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nexports.isFunction = isFunction;\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nexports.isString = isString;\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nexports.isNumeric = isNumeric;\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nexports.isObject = isObject;\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nexports.isEmptyObject = isEmptyObject;\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nexports.isPlainObject = isPlainObject;\r\nvar isPrimitive = function(value) {\r\n return [\"object\", \"array\", \"function\"].indexOf(type(value)) === -1\r\n};\r\nexports.isPrimitive = isPrimitive;\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nexports.isWindow = isWindow;\r\nvar isRenderer = function(object) {\r\n return !!(object.jquery || object.dxRenderer)\r\n};\r\nexports.isRenderer = isRenderer;\r\nvar isPromise = function(object) {\r\n return object && isFunction(object.then)\r\n};\r\nexports.isPromise = isPromise;\r\nvar isDeferred = function(object) {\r\n return object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nexports.isDeferred = isDeferred;\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexports.isEvent = isEvent;\r\n","/**\r\n * DevExtreme (core/utils/console.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.debug = exports.logger = void 0;\r\nvar _type = require(\"./type\");\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !(0, _type.isFunction)(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nvar logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexports.logger = logger;\r\nvar debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n\r\n function assertParam(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: assertParam\r\n }\r\n}();\r\nexports.debug = debug;\r\n","/**\r\n * DevExtreme (core/events_strategy.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.EventsStrategy = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar EventsStrategy = function() {\r\n function EventsStrategy(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n EventsStrategy.create = function(owner, strategy) {\r\n if (strategy) {\r\n return (0, _type.isFunction)(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n };\r\n var _proto = EventsStrategy.prototype;\r\n _proto.hasEvent = function(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n };\r\n _proto.fireEvent = function(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n var _this = this;\r\n if ((0, _type.isPlainObject)(eventName)) {\r\n (0, _iterator.each)(eventName, function(e, h) {\r\n _this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = (0, _callbacks.default)({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if ((0, _type.isFunction)(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n };\r\n _proto.dispose = function() {\r\n (0, _iterator.each)(this._events, function(eventName, event) {\r\n event.empty()\r\n })\r\n };\r\n return EventsStrategy\r\n}();\r\nexports.EventsStrategy = EventsStrategy;\r\n","/**\r\n * DevExtreme (core/action.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Action = function() {\r\n function Action(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || (0, _window.getWindow)();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n var _proto = Action.prototype;\r\n _proto.execute = function() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n };\r\n _proto._validateAction = function(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n };\r\n _proto._executeAction = function(e) {\r\n var result;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n };\r\n Action.registerExecutor = function(name, executor) {\r\n if ((0, _type.isPlainObject)(name)) {\r\n (0, _iterator.each)(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n };\r\n Action.unregisterExecutor = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }(0, _iterator.each)(args, function() {\r\n delete Action.executors[this]\r\n })\r\n };\r\n return Action\r\n}();\r\nexports.default = Action;\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = function(condition) {\r\n return function(e) {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition((0, _renderer.default)(element))) {\r\n e.cancel = true\r\n }\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n })\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\")\r\n })\r\n },\r\n undefined: {\r\n execute: function(e) {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: function(e) {\r\n if ((0, _type.isFunction)(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/templates/template_base.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.TemplateBase = exports.renderedCallbacks = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\nvar _dom = require(\"../utils/dom\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar renderedCallbacks = (0, _callbacks.default)({\r\n syncStrategy: true\r\n});\r\nexports.renderedCallbacks = renderedCallbacks;\r\nvar TemplateBase = function() {\r\n function TemplateBase() {}\r\n var _proto = TemplateBase.prototype;\r\n _proto.render = function(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result = this._renderCore(options);\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n };\r\n _proto._ensureResultInContainer = function($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = (0, _renderer.default)(container);\r\n var resultInContainer = (0, _dom.contains)($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = _dom_adapter.default.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }(0, _visibility_change.triggerShownEvent)($result)\r\n };\r\n _proto._renderCore = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n };\r\n return TemplateBase\r\n}();\r\nexports.TemplateBase = TemplateBase;\r\n","/**\r\n * DevExtreme (core/templates/child_default_template.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.ChildDefaultTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\n\r\nfunction _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar ChildDefaultTemplate = function(_TemplateBase) {\r\n _inheritsLoose(ChildDefaultTemplate, _TemplateBase);\r\n\r\n function ChildDefaultTemplate(name) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this.name = name;\r\n return _this\r\n }\r\n return ChildDefaultTemplate\r\n}(_template_base.TemplateBase);\r\nexports.ChildDefaultTemplate = ChildDefaultTemplate;\r\n","/**\r\n * DevExtreme (data/abstract_store.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _events_strategy = require(\"../core/events_strategy\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\nvar _data = require(\"../core/utils/data\");\r\nvar _store_helper = _interopRequireDefault(require(\"./store_helper\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar abstract = _class.default.abstract;\r\nvar queryByOptions = _store_helper.default.queryByOptions;\r\nvar storeImpl = {};\r\nvar Store = _class.default.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n (0, _iterator.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 = (0, _data.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.default.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.Deferred;\r\n task.done(function() {\r\n var that = this;\r\n var args = arguments;\r\n _utils.default.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 _this = this;\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n _deferred.when.apply(void 0, _toConsumableArray(beforePushArgs.waitFor)).done(function() {\r\n _this._pushImpl(changes);\r\n _this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: _common.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(_errors.default._errorHandler)\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(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.default.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\nvar _default = Store;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/class.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var that = this;\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return that\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof that.prototype[memberName] && \"function\" === typeof member;\r\n that.prototype[memberName] = overridden ? wrapOverridden(that.parent.prototype, memberName, member) : member\r\n }\r\n return that\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || (0, _type.isWindow)(this) || \"function\" !== typeof this.constructor) {\r\n throw _errors.default.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nvar _default = classImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/public_component.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.attachInstanceToElement = attachInstanceToElement;\r\nexports.getInstanceByElement = getInstanceByElement;\r\nexports.name = void 0;\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _weak_map = _interopRequireDefault(require(\"../polyfills/weak_map\"));\r\nvar _type = require(\"./type\");\r\nvar _remove_event = _interopRequireDefault(require(\"../remove_event\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new _weak_map.default;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if ((0, _type.isDefined)(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexports.name = getName;\r\n\r\nfunction attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = (0, _element_data.data)($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n _events_engine.default.one($element, _remove_event.default, function() {\r\n disposeFn.call(componentInstance)\r\n })\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\n\r\nfunction getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return (0, _element_data.data)($element.get(0), name)\r\n}\r\n","/**\r\n * DevExtreme (core/remove_event.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _element_data = require(\"./element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"../events/core/event_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar eventName = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\n(0, _element_data.beforeCleanData)(function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = (0, _renderer.default)(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n _events_engine.default.triggerHandler($element, eventName)\r\n }\r\n }\r\n});\r\n(0, _event_registrator.default)(eventName, {\r\n noBubble: true,\r\n setup: function(element) {\r\n (0, _renderer.default)(element).prop(eventPropName, true)\r\n }\r\n});\r\nvar _default = eventName;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/component.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\nvar _extend = require(\"./utils/extend\");\r\nvar _index = require(\"./options/index\");\r\nvar _utils = require(\"./options/utils\");\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\nvar _action = _interopRequireDefault(require(\"./action\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _postponed_operations = require(\"./postponed_operations\");\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getEventName = function(actionName) {\r\n return actionName.charAt(2).toLowerCase() + actionName.substr(3)\r\n};\r\nvar isInnerOption = function(optionName) {\r\n return 0 === optionName.indexOf(\"_\", 0)\r\n};\r\nvar Component = _class.default.inherit({\r\n _setDeprecatedOptions: function() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions: function() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return []\r\n },\r\n _setOptionsByDevice: function(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: function(rules) {\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n },\r\n _isInitialOptionValue: function(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference: function() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference: function() {\r\n return this._optionsByReference\r\n },\r\n ctor: function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var _optionChangedCallbacks = options._optionChangedCallbacks,\r\n _disposingCallbacks = options._disposingCallbacks;\r\n this.NAME = (0, _public_component.name)(this.constructor);\r\n this._eventsStrategy = _events_strategy.EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || (0, _callbacks.default)();\r\n this._disposingCallbacks = _disposingCallbacks || (0, _callbacks.default)();\r\n this.postponedOperations = new _postponed_operations.PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions: function(options) {\r\n var _this = this;\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new _index.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging(function(name, previousValue, value) {\r\n return _this._initialized && _this._optionChanging(name, previousValue, value)\r\n });\r\n this._options.onDeprecated(function(option, info) {\r\n return _this._logDeprecatedOptionWarning(option, info)\r\n });\r\n this._options.onChanged(function(name, value, previousValue) {\r\n return _this._notifyOptionChanged(name, value, previousValue)\r\n });\r\n this._options.onStartChange(function() {\r\n return _this.beginUpdate()\r\n });\r\n this._options.onEndChange(function() {\r\n return _this.endUpdate()\r\n });\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.option(options)\r\n },\r\n _init: function() {\r\n var _this2 = this;\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", function(args) {\r\n _this2._disposingCallbacks.fireWith(_this2, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning: function(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n _errors.default.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning: function(since, alias) {\r\n _errors.default.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction: function() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction: function() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction();\r\n break;\r\n case \"defaultOptionsRules\":\r\n }\r\n },\r\n _dispose: function() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate: function() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate: function() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed: function() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired: function() {\r\n return !this._initializing && !this._initialized\r\n },\r\n _commitUpdate: function() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent: function() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance: function() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: _common.noop,\r\n _notifyOptionChanged: function(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: name.split(/[.[]/)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [(0, _extend.extend)(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction((0, _extend.extend)({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption: function(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig: function() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs: function() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction: function(actionSource, config) {\r\n var _this3 = this;\r\n var action;\r\n return function(e) {\r\n if (!(0, _type.isDefined)(e)) {\r\n e = {}\r\n }\r\n if (!(0, _type.isPlainObject)(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new _action.default(actionSource, (0, _extend.extend)(config, _this3._defaultActionConfig()));\r\n return action.execute.call(action, (0, _extend.extend)(e, _this3._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption: function(optionName, config) {\r\n var _this4 = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw _errors.default.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this4.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this4._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this4, props);\r\n _this4._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this4._createAction(actionFunc, config)\r\n }\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 if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this4.option(\"beforeActionExecute\") || _common.noop;\r\n var wrappedAction = beforeActionExecute(_this4, action, config) || action;\r\n return wrappedAction.apply(_this4, args)\r\n }\r\n return action.apply(_this4, args)\r\n };\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || _common.noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated: function(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange: function(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue: function(name, context) {\r\n var value = this.option(name);\r\n if ((0, _type.isFunction)(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option: function() {\r\n var _this$_options;\r\n return (_this$_options = this._options).option.apply(_this$_options, arguments)\r\n },\r\n resetOption: function(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\nvar _default = Component;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/renderer.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _renderer_base = _interopRequireDefault(require(\"./renderer_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _renderer_base.default.get();\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/element.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getPublicElement = getPublicElement;\r\nexports.setPublicElementWrapper = setPublicElementWrapper;\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\n\r\nfunction getPublicElement(element) {\r\n return strategy(element)\r\n}\r\n\r\nfunction setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (core/utils/error.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = _default;\r\nvar _extend = require(\"./extend\");\r\nvar _console = require(\"./console\");\r\nvar _string = require(\"./string\");\r\nvar _version = _interopRequireDefault(require(\"../version\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + _version.default.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\n\r\nfunction _default(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: (0, _extend.extend)(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else {\r\n if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n }\r\n _console.logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return _string.format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return _string.format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return (0, _extend.extend)(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/size.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.parseHeight = exports.getVisibleHeight = exports.getVerticalOffsets = exports.addOffsetToMinHeight = exports.addOffsetToMaxHeight = exports.getElementBoxParams = exports.getSize = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../utils/type\");\r\nvar window = (0, _window.getWindow)();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach(function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n });\r\n return result\r\n};\r\nvar getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nexports.getElementBoxParams = getElementBoxParams;\r\nvar getBoxSizingOffset = function(name, elementStyles, boxParams) {\r\n var size = elementStyles[name];\r\n if (\"border-box\" === elementStyles.boxSizing && size.length && \"%\" !== size[size.length - 1]) {\r\n return boxParams.border + boxParams.padding\r\n }\r\n return 0\r\n};\r\nvar getSize = function(element, name, include) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var boxParams = getElementBoxParams(name, elementStyles);\r\n var clientRect = element.getClientRects().length;\r\n var boundingClientRect = element.getBoundingClientRect()[name];\r\n var result = clientRect ? boundingClientRect : 0;\r\n if (result <= 0) {\r\n result = parseFloat(elementStyles[name] || element.style[name]) || 0;\r\n result -= getBoxSizingOffset(name, elementStyles, boxParams)\r\n } else {\r\n result -= boxParams.padding + boxParams.border\r\n }\r\n if (include.paddings) {\r\n result += boxParams.padding\r\n }\r\n if (include.borders) {\r\n result += boxParams.border\r\n }\r\n if (include.margins) {\r\n result += boxParams.margin\r\n }\r\n return result\r\n};\r\nexports.getSize = getSize;\r\nvar getContainerHeight = function(container) {\r\n return (0, _type.isWindow)(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else {\r\n if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else {\r\n if (!isNaN(value)) {\r\n value = parseInt(value)\r\n }\r\n }\r\n }\r\n return value\r\n};\r\nexports.parseHeight = parseHeight;\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if ((0, _type.isString)(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexports.addOffsetToMaxHeight = addOffsetToMaxHeight;\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexports.addOffsetToMinHeight = addOffsetToMinHeight;\r\nvar getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexports.getVerticalOffsets = getVerticalOffsets;\r\nvar getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexports.getVisibleHeight = getVisibleHeight;\r\n","/**\r\n * DevExtreme (core/utils/resize_callbacks.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _window = require(\"./window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = (0, _callbacks.default)();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!(0, _window.hasWindow)()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = (0, _window.getWindow)();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = (0, _call_once.default)(function() {\r\n prevSize = formatSize()\r\n });\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n _ready_callbacks.default.add(function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = _dom_adapter.default.listen((0, _window.getWindow)(), \"resize\", handleResize)\r\n }\r\n });\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nvar _default = resizeCallbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/version.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.compare = compare;\r\n\r\nfunction compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (core/utils/date.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"./type\");\r\nvar _math = require(\"./math\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _inflector = require(\"./inflector\");\r\nvar _browser = _interopRequireDefault(require(\"./browser\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _construct(Parent, args, Class) {\r\n if (_isNativeReflectConstruct()) {\r\n _construct = Reflect.construct\r\n } else {\r\n _construct = function(Parent, args, Class) {\r\n var a = [null];\r\n a.push.apply(a, args);\r\n var Constructor = Function.bind.apply(Parent, a);\r\n var instance = new Constructor;\r\n if (Class) {\r\n _setPrototypeOf(instance, Class.prototype)\r\n }\r\n return instance\r\n }\r\n }\r\n return _construct.apply(null, arguments)\r\n}\r\n\r\nfunction _isNativeReflectConstruct() {\r\n if (\"undefined\" === typeof Reflect || !Reflect.construct) {\r\n return false\r\n }\r\n if (Reflect.construct.sham) {\r\n return false\r\n }\r\n if (\"function\" === typeof Proxy) {\r\n return true\r\n }\r\n try {\r\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar isIE11 = _browser.default.msie && parseInt(_browser.default.version) <= 11;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar toMilliseconds = function toMilliseconds(value) {\r\n switch (value) {\r\n case \"millisecond\":\r\n return 1;\r\n case \"second\":\r\n return 1e3 * toMilliseconds(\"millisecond\");\r\n case \"minute\":\r\n return 60 * toMilliseconds(\"second\");\r\n case \"hour\":\r\n return 60 * toMilliseconds(\"minute\");\r\n case \"day\":\r\n return 24 * toMilliseconds(\"hour\");\r\n case \"week\":\r\n return 7 * toMilliseconds(\"day\");\r\n case \"month\":\r\n return 30 * toMilliseconds(\"day\");\r\n case \"quarter\":\r\n return 3 * toMilliseconds(\"month\");\r\n case \"year\":\r\n return 365 * toMilliseconds(\"day\");\r\n default:\r\n return 0\r\n }\r\n};\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n return \"year\";\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.each)(tickInterval, function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n })\r\n }\r\n if ((0, _type.isString)(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if ((0, _type.isString)(tickInterval)) {\r\n return tickInterval\r\n }\r\n if ((0, _type.isObject)(tickInterval)) {\r\n (0, _iterator.each)(tickInterval, function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n });\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n (0, _iterator.each)(differences, function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n });\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = (0, _type.isString)(interval) ? getDateIntervalByString(interval.toLowerCase()) : (0, _type.isNumeric)(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return (0, _type.isDate)(value) ? addDateInterval(value, interval, dir) : (0, _math.adjust)(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push((0, _type.isDate)(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n if (!(0, _type.isDefined)(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n if (!(0, _type.isDefined)(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + 7) % 7;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!(0, _type.isDefined)(date)) {\r\n return date\r\n }\r\n if ((0, _type.isDefined)(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if ((0, _type.isDefined)(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!(0, _type.isDefined)(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || diff === -23 ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n date.setHours(date.getHours() + 1);\r\n date.setMinutes(0);\r\n return date\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDate = function(date) {\r\n return new Date(isIE11 && (0, _type.isDate)(date) ? date.getTime() : date)\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = _construct(Date, Array.prototype.slice.call(arguments));\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDate: createDate,\r\n createDateWithFullYear: createDateWithFullYear\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[(0, _inflector.camelize)(\"same \" + view)](date1, date2)\r\n};\r\nvar _default = dateUtils;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (data/array_query.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _utils = _interopRequireDefault(require(\"./utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Iterator = _class.default.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 = (0, _data.toComparable)(xValue);\r\n yValue = (0, _data.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 }(0, _iterator.each)(that.rules, function() {\r\n this.getter = (0, _data.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 compileGroup = function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n (0, _iterator.each)(crit, function() {\r\n if (Array.isArray(this) || (0, _type.isFunction)(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new _errors.default.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 = _utils.default.isConjunctiveOperator(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 };\r\n var toString = function(value) {\r\n return (0, _type.isDefined)(value) ? value.toString() : \"\"\r\n };\r\n var compileBinary = function(crit) {\r\n crit = _utils.default.normalizeBinaryCriterion(crit);\r\n var getter = (0, _data.compileGetter)(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = (0, _data.toComparable)(value);\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 function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) > value\r\n };\r\n case \"<\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) < value\r\n };\r\n case \">=\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) >= value\r\n };\r\n case \"<=\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(getter(obj)) <= value\r\n };\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === (0, _data.toComparable)(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = (0, _data.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 index !== -1 && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return (0, _data.toComparable)(toString(getter(obj))).indexOf(value) === -1\r\n }\r\n }\r\n throw _errors.default.errors.Error(\"E4003\", op)\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = (0, _data.toComparable)(getter(obj));\r\n var result = useStrictComparison(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\r\n function useStrictComparison(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }\r\n\r\n function compileUnary(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.default.errors.Error(\"E4003\", op)\r\n }\r\n return function(crit) {\r\n if ((0, _type.isFunction)(crit)) {\r\n return crit\r\n }\r\n if (_utils.default.isGroupCriterion(crit)) {\r\n return compileGroup(crit)\r\n }\r\n if (_utils.default.isUnaryOperation(crit)) {\r\n return compileUnary(crit)\r\n }\r\n return compileBinary(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 = (0, _data.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((0, _iterator.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 = (0, _data.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 _errors.default._errorHandler(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new _deferred.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 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 var standardAggregate = function(name) {\r\n return aggregateCore(_utils.default.aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!(0, _type.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((0, _data.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.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.default.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: aggregate,\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new _deferred.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\nvar _default = arrayQueryImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/position.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getDefaultAlignment = exports.getBoundingRect = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getDefaultAlignment = function(isRtlEnabled) {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : (0, _config.default)().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nexports.getDefaultAlignment = getDefaultAlignment;\r\nvar getBoundingRect = function(element) {\r\n if ((0, _type.isWindow)(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n var rect;\r\n try {\r\n rect = element.getBoundingClientRect()\r\n } catch (e) {\r\n rect = {\r\n width: 0,\r\n height: 0,\r\n bottom: 0,\r\n top: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n return rect\r\n};\r\nexports.getBoundingRect = getBoundingRect;\r\n","export default __webpack_public_path__ + \"./font/c27d89ac77468ae18f28e6b47e323a4f.woff2\";","export default __webpack_public_path__ + \"./font/d923dfafc0c5183b59aa015501b6e960.woff\";","export default __webpack_public_path__ + \"./font/ce61b8b68994802f2e55b64c5e69a450.ttf\";","export default __webpack_public_path__ + \"./font/64cfb66c866ea50cad477e2b0d4ace4f.woff2\";","export default __webpack_public_path__ + \"./font/e02e9d6ff5547f7e99627e1117bbf5ec.woff\";","export default __webpack_public_path__ + \"./font/6bede58e856278b0f8f1ddf5aceb2e96.ttf\";","export default __webpack_public_path__ + \"./font/1d3bced88509b08389849b09dc444b31.woff2\";","export default __webpack_public_path__ + \"./font/092c6130df8fd21998880b86af83aece.woff\";","export default __webpack_public_path__ + \"./font/0fcd45fbfc419c42c8b96fafe87db102.ttf\";","export default __webpack_public_path__ + \"./font/92fbd4e93cf0a5dbebaa100066de8653.woff2\";","export default __webpack_public_path__ + \"./font/73288d91c325e82a5b92c7ca3ba57482.woff\";","export default __webpack_public_path__ + \"./font/17451a4c1cd55e33ac57c3a441d42f61.ttf\";","export default __webpack_public_path__ + \"./font/9bea124e5f1f51e2d2a11a24d24ad4f8.woff2\";","export default __webpack_public_path__ + \"./font/410392867b25e6ea8bfbb758ac137ce6.woff\";","export default __webpack_public_path__ + \"./font/978a14bb9e3fa6511538c6923e2e65b7.ttf\";","/**\r\n * DevExtreme (core/utils/browser.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"./extend\");\r\nvar _window = require(\"./window\");\r\nvar navigator = (0, _window.getNavigator)();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar ieRegExp = /(msie) (\\d{1,2}\\.\\d)/;\r\nvar ie11RegExp = /(trident).*rv:(\\d{1,2}\\.\\d)/;\r\nvar msEdge = /(edge)\\/((\\d+)?[\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = function(ua) {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = ieRegExp.exec(ua) || ie11RegExp.exec(ua) || msEdge.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || webkitRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n }\r\n }\r\n if (\"trident\" === browserName || \"edge\" === browserName) {\r\n browserName = \"msie\"\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nvar _default = (0, _extend.extend)({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/data.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.toComparable = exports.compileSetter = exports.compileGetter = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\nvar _object = require(\"./object\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar unwrapVariable = _variable_wrapper.default.unwrap;\r\nvar isWrapped = _variable_wrapper.default.isWrapped;\r\nvar assign = _variable_wrapper.default.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new _errors.default.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nvar compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n expr = bracketsToDots(expr);\r\n var path = expr.split(\".\");\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && (0, _type.isObject)(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && (0, _type.isFunction)(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n};\r\nexports.compileGetter = compileGetter;\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n (0, _iterator.each)(compiledGetters, function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n });\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if ((0, _type.isDefined)(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nvar compileSetter = function(expr) {\r\n expr = bracketsToDots(expr || \"this\").split(\".\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach(function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && (0, _type.isFunction)(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && (0, _type.isPlainObject)(value) && (!(0, _type.isDefined)(propertyValue) || (0, _type.isPlainObject)(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n (0, _object.deepExtendArraySafe)(propertyValue, value, false, true)\r\n } else {\r\n if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n })\r\n }\r\n};\r\nexports.compileSetter = compileSetter;\r\nvar toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof _class.default && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\nexports.toComparable = toComparable;\r\n","/**\r\n * DevExtreme (core/polyfills/weak_map.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _array = require(\"../utils/array\");\r\nvar _window = require(\"../utils/window\");\r\nvar weakMap = (0, _window.hasWindow)() ? (0, _window.getWindow)().WeakMap : WeakMap;\r\nif (!weakMap) {\r\n weakMap = function() {\r\n var keys = [];\r\n var values = [];\r\n this.set = function(key, value) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n keys.push(key);\r\n values.push(value)\r\n } else {\r\n values[index] = value\r\n }\r\n };\r\n this.get = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n return values[index]\r\n };\r\n this.has = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return false\r\n }\r\n return true\r\n };\r\n this.delete = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n keys.splice(index, 1);\r\n values.splice(index, 1)\r\n }\r\n }\r\n}\r\nvar _default = weakMap;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/version.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = \"20.2.7\";\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/memorized_callbacks.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar MemorizedCallbacks = function() {\r\n function MemorizedCallbacks() {\r\n this.memory = [];\r\n this.callbacks = (0, _callbacks.default)()\r\n }\r\n var _proto = MemorizedCallbacks.prototype;\r\n _proto.add = function(fn) {\r\n (0, _iterator.each)(this.memory, function(_, item) {\r\n return fn.apply(fn, item)\r\n });\r\n this.callbacks.add(fn)\r\n };\r\n _proto.remove = function(fn) {\r\n this.callbacks.remove(fn)\r\n };\r\n _proto.fire = function() {\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 this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n };\r\n return MemorizedCallbacks\r\n}();\r\nexports.default = MemorizedCallbacks;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/options/utils.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.createDefaultOptionRules = exports.getNestedOptionValue = exports.getParentName = exports.getFieldName = exports.deviceMatch = exports.normalizeOptions = exports.convertRulesToOptions = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _data = require(\"../utils/data\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar cachedGetters = {};\r\nvar convertRulesToOptions = function(rules) {\r\n var currentDevice = _devices.default.current();\r\n return rules.reduce(function(options, _ref) {\r\n var device = _ref.device,\r\n ruleOptions = _ref.options;\r\n var deviceFilter = device || {};\r\n var match = (0, _type.isFunction)(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n (0, _extend.extend)(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexports.convertRulesToOptions = convertRulesToOptions;\r\nvar normalizeOptions = function(options, value) {\r\n return \"string\" !== typeof options ? options : _defineProperty({}, options, value)\r\n};\r\nexports.normalizeOptions = normalizeOptions;\r\nvar deviceMatch = function(device, filter) {\r\n return (0, _type.isEmptyObject)(filter) || (0, _common.findBestMatches)(device, [filter]).length > 0\r\n};\r\nexports.deviceMatch = deviceMatch;\r\nvar getFieldName = function(fullName) {\r\n return fullName.substr(fullName.lastIndexOf(\".\") + 1)\r\n};\r\nexports.getFieldName = getFieldName;\r\nvar getParentName = function(fullName) {\r\n return fullName.substr(0, fullName.lastIndexOf(\".\"))\r\n};\r\nexports.getParentName = getParentName;\r\nvar getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexports.getNestedOptionValue = getNestedOptionValue;\r\nvar createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\nexports.createDefaultOptionRules = createDefaultOptionRules;\r\n","/**\r\n * DevExtreme (core/utils/array_compare.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.findChanges = exports.isKeysEqual = void 0;\r\nvar _type = require(\"./type\");\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if ((0, _type.isObject)(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nvar isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexports.isKeysEqual = isKeysEqual;\r\nvar findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach(function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n });\r\n newItems.forEach(function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n });\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else {\r\n if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexports.findChanges = findChanges;\r\n","/**\r\n * DevExtreme (data/odata/utils.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.escapeServiceOperationParams = exports.formatFunctionInvocationUrl = exports.generateExpand = exports.generateSelect = exports.convertPrimitiveValue = exports.keyConverters = exports.serializeKey = exports.serializeValue = exports.serializePropName = exports.EdmLiteral = exports.sendRequest = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ajax = _interopRequireDefault(require(\"../../core/utils/ajax\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _utils = _interopRequireDefault(require(\"../utils\"));\r\nvar _string = require(\"../../core/utils/string\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar GUID_REGEX = /^(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})$/;\r\nvar VERBOSE_DATE_REGEX = /^\\/Date\\((-?\\d+)((\\+|-)?(\\d+)?)\\)\\/$/;\r\nvar ISO8601_DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[-+]{1}\\d{2}(:?)(\\d{2})?)?$/;\r\nvar JSON_VERBOSE_MIME_TYPE = \"application/json;odata=verbose\";\r\nvar makeArray = function(value) {\r\n return \"string\" === (0, _type.type)(value) ? value.split() : value\r\n};\r\nvar hasDot = function(x) {\r\n return /\\./.test(x)\r\n};\r\nvar pad = function(text, length, right) {\r\n text = String(text);\r\n while (text.length < length) {\r\n text = right ? \"\".concat(text, \"0\") : \"0\".concat(text)\r\n }\r\n return text\r\n};\r\nvar formatISO8601 = function(date, skipZeroTime, skipTimezone) {\r\n var bag = [];\r\n var isZeroTime = function() {\r\n return date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1\r\n };\r\n var padLeft2 = function(text) {\r\n return pad(text, 2)\r\n };\r\n bag.push(date.getFullYear());\r\n bag.push(\"-\");\r\n bag.push(padLeft2(date.getMonth() + 1));\r\n bag.push(\"-\");\r\n bag.push(padLeft2(date.getDate()));\r\n if (!(skipZeroTime && isZeroTime())) {\r\n bag.push(\"T\");\r\n bag.push(padLeft2(date.getHours()));\r\n bag.push(\":\");\r\n bag.push(padLeft2(date.getMinutes()));\r\n bag.push(\":\");\r\n bag.push(padLeft2(date.getSeconds()));\r\n if (date.getMilliseconds()) {\r\n bag.push(\".\");\r\n bag.push(pad(date.getMilliseconds(), 3))\r\n }\r\n if (!skipTimezone) {\r\n bag.push(\"Z\")\r\n }\r\n }\r\n return bag.join(\"\")\r\n};\r\nvar parseISO8601 = function(isoString) {\r\n var result = new Date(60 * new Date(0).getTimezoneOffset() * 1e3);\r\n var chunks = isoString.replace(\"Z\", \"\").split(\"T\");\r\n var date = /(\\d{4})-(\\d{2})-(\\d{2})/.exec(chunks[0]);\r\n var time = /(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d{0,7})?/.exec(chunks[1]);\r\n result.setFullYear(Number(date[1]));\r\n result.setMonth(Number(date[2]) - 1);\r\n result.setDate(Number(date[3]));\r\n if (Array.isArray(time) && time.length) {\r\n result.setHours(Number(time[1]));\r\n result.setMinutes(Number(time[2]));\r\n result.setSeconds(Number(time[3]));\r\n var fractional = (time[4] || \"\").slice(0, 3);\r\n fractional = pad(fractional, 3, true);\r\n result.setMilliseconds(Number(fractional))\r\n }\r\n return result\r\n};\r\nvar isAbsoluteUrl = function(url) {\r\n return /^(?:[a-z]+:)?\\/\\//i.test(url)\r\n};\r\nvar stripParams = function(url) {\r\n var index = url.indexOf(\"?\");\r\n if (index > -1) {\r\n return url.substr(0, index)\r\n }\r\n return url\r\n};\r\nvar toAbsoluteUrl = function(basePath, relativePath) {\r\n var part;\r\n var baseParts = stripParams(basePath).split(\"/\");\r\n var relativeParts = relativePath.split(\"/\");\r\n baseParts.pop();\r\n while (relativeParts.length) {\r\n part = relativeParts.shift();\r\n if (\"..\" === part) {\r\n baseParts.pop()\r\n } else {\r\n baseParts.push(part)\r\n }\r\n }\r\n return baseParts.join(\"/\")\r\n};\r\nvar param = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n result.push(name + \"=\" + params[name])\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar ajaxOptionsForRequest = function(protocolVersion, request) {\r\n var _options$beforeSend;\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var formatPayload = function(payload) {\r\n return JSON.stringify(payload, function(key, value) {\r\n if (!(this[key] instanceof Date)) {\r\n return value\r\n }\r\n value = formatISO8601(this[key]);\r\n switch (protocolVersion) {\r\n case 2:\r\n return value.substr(0, value.length - 1);\r\n case 3:\r\n case 4:\r\n return value;\r\n default:\r\n throw _errors.default.errors.Error(\"E4002\")\r\n }\r\n })\r\n };\r\n request = (0, _extend.extend)({\r\n async: true,\r\n method: \"get\",\r\n url: \"\",\r\n params: {},\r\n payload: null,\r\n headers: {},\r\n timeout: 3e4\r\n }, request);\r\n null === (_options$beforeSend = options.beforeSend) || void 0 === _options$beforeSend ? void 0 : _options$beforeSend.call(options, request);\r\n var _request = request,\r\n async = _request.async, timeout = _request.timeout, headers = _request.headers;\r\n var _request2 = request,\r\n url = _request2.url,\r\n method = _request2.method;\r\n var jsonp = options.jsonp,\r\n withCredentials = options.withCredentials;\r\n method = (method || \"get\").toLowerCase();\r\n var isGet = \"get\" === method;\r\n var useJsonp = isGet && jsonp;\r\n var params = (0, _extend.extend)({}, request.params);\r\n var ajaxData = isGet ? params : formatPayload(request.payload);\r\n var qs = !isGet && param(params);\r\n var contentType = !isGet && JSON_VERBOSE_MIME_TYPE;\r\n if (qs) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + qs\r\n }\r\n if (useJsonp) {\r\n ajaxData.$format = \"json\"\r\n }\r\n return {\r\n url: url,\r\n data: ajaxData,\r\n dataType: useJsonp ? \"jsonp\" : \"json\",\r\n jsonp: useJsonp && \"$callback\",\r\n method: method,\r\n async: async,\r\n timeout: timeout,\r\n headers: headers,\r\n contentType: contentType,\r\n accepts: {\r\n json: [JSON_VERBOSE_MIME_TYPE, \"text/plain\"].join()\r\n },\r\n xhrFields: {\r\n withCredentials: withCredentials\r\n }\r\n }\r\n};\r\nvar sendRequest = function sendRequest(protocolVersion, request, options) {\r\n var deserializeDates = options.deserializeDates,\r\n fieldTypes = options.fieldTypes,\r\n countOnly = options.countOnly,\r\n isPaged = options.isPaged;\r\n var d = new _deferred.Deferred;\r\n var ajaxOptions = ajaxOptionsForRequest(protocolVersion, request, options);\r\n _ajax.default.sendRequest(ajaxOptions).always(function(obj, textStatus) {\r\n var transformOptions = {\r\n deserializeDates: deserializeDates,\r\n fieldTypes: fieldTypes\r\n };\r\n var tuple = interpretJsonFormat(obj, textStatus, transformOptions, ajaxOptions);\r\n var error = tuple.error,\r\n data = tuple.data,\r\n count = tuple.count;\r\n var nextUrl = tuple.nextUrl;\r\n if (error) {\r\n if (error.message !== _utils.default.XHR_ERROR_UNLOAD) {\r\n d.reject(error)\r\n }\r\n } else {\r\n if (countOnly) {\r\n if (isFinite(count)) {\r\n d.resolve(count)\r\n } else {\r\n d.reject(new _errors.default.errors.Error(\"E4018\"))\r\n }\r\n } else {\r\n if (nextUrl && !isPaged) {\r\n if (!isAbsoluteUrl(nextUrl)) {\r\n nextUrl = toAbsoluteUrl(ajaxOptions.url, nextUrl)\r\n }\r\n sendRequest(protocolVersion, {\r\n url: nextUrl\r\n }, options).fail(d.reject).done(function(nextData) {\r\n return d.resolve(data.concat(nextData))\r\n })\r\n } else {\r\n var extra = isFinite(count) ? {\r\n totalCount: count\r\n } : void 0;\r\n d.resolve(data, extra)\r\n }\r\n }\r\n }\r\n });\r\n return d.promise()\r\n};\r\nexports.sendRequest = sendRequest;\r\nvar formatDotNetError = function(errorObj) {\r\n var message;\r\n var currentError = errorObj;\r\n if (\"message\" in errorObj) {\r\n var _errorObj$message;\r\n message = (null === (_errorObj$message = errorObj.message) || void 0 === _errorObj$message ? void 0 : _errorObj$message.value) || errorObj.message\r\n }\r\n while (currentError = currentError.innererror || currentError.internalexception) {\r\n message = currentError.message;\r\n if (currentError.internalexception && message.indexOf(\"inner exception\") === -1) {\r\n break\r\n }\r\n }\r\n return message\r\n};\r\nvar errorFromResponse = function(obj, textStatus, ajaxOptions) {\r\n var _response, _response2, _response3, _response4;\r\n if (\"nocontent\" === textStatus) {\r\n return null\r\n }\r\n var message = \"Unknown error\";\r\n var response = obj;\r\n var httpStatus = 200;\r\n var errorData = {\r\n requestOptions: ajaxOptions\r\n };\r\n if (\"success\" !== textStatus) {\r\n var status = obj.status,\r\n responseText = obj.responseText;\r\n httpStatus = status;\r\n message = _utils.default.errorMessageFromXhr(obj, textStatus);\r\n try {\r\n response = JSON.parse(responseText)\r\n } catch (x) {}\r\n }\r\n var errorObj = (null === (_response = response) || void 0 === _response ? void 0 : _response.then) || (null === (_response2 = response) || void 0 === _response2 ? void 0 : _response2.error) || (null === (_response3 = response) || void 0 === _response3 ? void 0 : _response3[\"odata.error\"]) || (null === (_response4 = response) || void 0 === _response4 ? void 0 : _response4[\"@odata.error\"]);\r\n if (errorObj) {\r\n message = formatDotNetError(errorObj) || message;\r\n errorData.errorDetails = errorObj;\r\n if (200 === httpStatus) {\r\n httpStatus = 500\r\n }\r\n var customCode = Number(errorObj.code);\r\n if (isFinite(customCode) && customCode >= 400) {\r\n httpStatus = customCode\r\n }\r\n }\r\n if (httpStatus >= 400 || 0 === httpStatus) {\r\n errorData.httpStatus = httpStatus;\r\n return (0, _extend.extend)(Error(message), errorData)\r\n }\r\n return null\r\n};\r\nvar interpretJsonFormat = function(obj, textStatus, transformOptions, ajaxOptions) {\r\n var error = errorFromResponse(obj, textStatus, ajaxOptions);\r\n if (error) {\r\n return {\r\n error: error\r\n }\r\n }\r\n if (!(0, _type.isPlainObject)(obj)) {\r\n return {\r\n data: obj\r\n }\r\n }\r\n var value = \"d\" in obj && (Array.isArray(obj.d) || (0, _type.isObject)(obj.d)) ? interpretVerboseJsonFormat(obj, textStatus) : interpretLightJsonFormat(obj, textStatus);\r\n transformTypes(value, transformOptions);\r\n return value\r\n};\r\nvar interpretVerboseJsonFormat = function(_ref) {\r\n var _data$results;\r\n var data = _ref.d;\r\n if (!(0, _type.isDefined)(data)) {\r\n return {\r\n error: Error(\"Malformed or unsupported JSON response received\")\r\n }\r\n }\r\n return {\r\n data: null !== (_data$results = data.results) && void 0 !== _data$results ? _data$results : data,\r\n nextUrl: data.__next,\r\n count: parseInt(data.__count, 10)\r\n }\r\n};\r\nvar interpretLightJsonFormat = function(obj) {\r\n var _obj$value;\r\n return {\r\n data: null !== (_obj$value = obj.value) && void 0 !== _obj$value ? _obj$value : obj,\r\n nextUrl: obj[\"@odata.nextLink\"],\r\n count: parseInt(obj[\"@odata.count\"], 10)\r\n }\r\n};\r\nvar EdmLiteral = _class.default.inherit({\r\n ctor: function(value) {\r\n this._value = value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n }\r\n});\r\nexports.EdmLiteral = EdmLiteral;\r\nvar transformTypes = function transformTypes(obj) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n (0, _iterator.each)(obj, function(key, value) {\r\n if (null !== value && \"object\" === _typeof(value)) {\r\n if (\"results\" in value) {\r\n obj[key] = value.results\r\n }\r\n transformTypes(obj[key], options)\r\n } else {\r\n if (\"string\" === typeof value) {\r\n var fieldTypes = options.fieldTypes,\r\n deserializeDates = options.deserializeDates;\r\n var canBeGuid = !fieldTypes || \"String\" !== fieldTypes[key];\r\n if (canBeGuid && GUID_REGEX.test(value)) {\r\n obj[key] = new _guid.default(value)\r\n }\r\n if (false !== deserializeDates) {\r\n if (value.match(VERBOSE_DATE_REGEX)) {\r\n var date = new Date(Number(RegExp.$1) + 60 * RegExp.$2 * 1e3);\r\n obj[key] = new Date(date.valueOf() + 60 * date.getTimezoneOffset() * 1e3)\r\n } else {\r\n if (ISO8601_DATE_REGEX.test(value)) {\r\n obj[key] = new Date(parseISO8601(obj[key]).valueOf())\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n};\r\nvar serializeDate = function(date) {\r\n return \"datetime'\".concat(formatISO8601(date, true, true), \"'\")\r\n};\r\nvar serializeString = function(value) {\r\n return \"'\".concat(value.replace(/'/g, \"''\"), \"'\")\r\n};\r\nvar serializePropName = function(propName) {\r\n return propName instanceof EdmLiteral ? propName.valueOf() : propName.replace(/\\./g, \"/\")\r\n};\r\nexports.serializePropName = serializePropName;\r\nvar serializeValueV4 = function serializeValueV4(value) {\r\n if (value instanceof Date) {\r\n return formatISO8601(value, false, false)\r\n }\r\n if (value instanceof _guid.default) {\r\n return value.valueOf()\r\n }\r\n if (Array.isArray(value)) {\r\n return \"[\".concat(value.map(function(item) {\r\n return serializeValueV4(item)\r\n }).join(\",\"), \"]\")\r\n }\r\n return serializeValueV2(value)\r\n};\r\nvar serializeValueV2 = function(value) {\r\n if (value instanceof Date) {\r\n return serializeDate(value)\r\n }\r\n if (value instanceof _guid.default) {\r\n return \"guid'\".concat(value, \"'\")\r\n }\r\n if (value instanceof EdmLiteral) {\r\n return value.valueOf()\r\n }\r\n if (\"string\" === typeof value) {\r\n return serializeString(value)\r\n }\r\n return String(value)\r\n};\r\nvar serializeValue = function(value, protocolVersion) {\r\n switch (protocolVersion) {\r\n case 2:\r\n case 3:\r\n return serializeValueV2(value);\r\n case 4:\r\n return serializeValueV4(value);\r\n default:\r\n throw _errors.default.errors.Error(\"E4002\")\r\n }\r\n};\r\nexports.serializeValue = serializeValue;\r\nvar serializeKey = function(key, protocolVersion) {\r\n if ((0, _type.isPlainObject)(key)) {\r\n var parts = [];\r\n (0, _iterator.each)(key, function(k, v) {\r\n return parts.push(\"\".concat(serializePropName(k), \"=\").concat(serializeValue(v, protocolVersion)))\r\n });\r\n return parts.join()\r\n }\r\n return serializeValue(key, protocolVersion)\r\n};\r\nexports.serializeKey = serializeKey;\r\nvar keyConverters = {\r\n String: function(value) {\r\n return \"\".concat(value)\r\n },\r\n Int32: function(value) {\r\n return Math.floor(value)\r\n },\r\n Int64: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(\"\".concat(value, \"L\"))\r\n },\r\n Guid: function(value) {\r\n return value instanceof _guid.default ? value : new _guid.default(value)\r\n },\r\n Boolean: function(value) {\r\n return !!value\r\n },\r\n Single: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(value + \"f\")\r\n },\r\n Decimal: function(value) {\r\n return value instanceof EdmLiteral ? value : new EdmLiteral(value + \"m\")\r\n }\r\n};\r\nexports.keyConverters = keyConverters;\r\nvar convertPrimitiveValue = function(type, value) {\r\n if (null === value) {\r\n return null\r\n }\r\n var converter = keyConverters[type];\r\n if (!converter) {\r\n throw _errors.default.errors.Error(\"E4014\", type)\r\n }\r\n return converter(value)\r\n};\r\nexports.convertPrimitiveValue = convertPrimitiveValue;\r\nvar generateSelect = function(oDataVersion, select) {\r\n if (!select) {\r\n return\r\n }\r\n return oDataVersion < 4 ? serializePropName(select.join()) : (0, _common.grep)(select, hasDot, true).join()\r\n};\r\nexports.generateSelect = generateSelect;\r\nvar formatCore = function formatCore(hash) {\r\n var result = \"\";\r\n var selectValue = [];\r\n var expandValue = [];\r\n (0, _iterator.each)(hash, function(key, value) {\r\n if (Array.isArray(value)) {\r\n [].push.apply(selectValue, value)\r\n }\r\n if ((0, _type.isPlainObject)(value)) {\r\n expandValue.push(\"\".concat(key).concat(formatCore(value)))\r\n }\r\n });\r\n if (selectValue.length || expandValue.length) {\r\n result += \"(\";\r\n if (selectValue.length) {\r\n result += \"$select=\".concat((0, _iterator.map)(selectValue, serializePropName).join())\r\n }\r\n if (expandValue.length) {\r\n if (selectValue.length) {\r\n result += \";\"\r\n }\r\n result += \"$expand=\".concat((0, _iterator.map)(expandValue, serializePropName).join())\r\n }\r\n result += \")\"\r\n }\r\n return result\r\n};\r\nvar format = function(hash) {\r\n var result = [];\r\n (0, _iterator.each)(hash, function(key, value) {\r\n return result.push(\"\".concat(key).concat(formatCore(value)))\r\n });\r\n return result.join()\r\n};\r\nvar parseCore = function parseCore(exprParts, root, stepper) {\r\n var result = stepper(root, exprParts.shift(), exprParts);\r\n if (false === result) {\r\n return\r\n }\r\n parseCore(exprParts, result, stepper)\r\n};\r\nvar parseTree = function(exprs, root, stepper) {\r\n return (0, _iterator.each)(exprs, function(_, x) {\r\n return parseCore(x.split(\".\"), root, stepper)\r\n })\r\n};\r\nvar generatorV2 = function(expand, select) {\r\n var hash = {};\r\n if (expand) {\r\n (0, _iterator.each)(makeArray(expand), function() {\r\n hash[serializePropName(this)] = 1\r\n })\r\n }\r\n if (select) {\r\n (0, _iterator.each)(makeArray(select), function() {\r\n var path = this.split(\".\");\r\n if (path.length < 2) {\r\n return\r\n }\r\n path.pop();\r\n hash[serializePropName(path.join(\".\"))] = 1\r\n })\r\n }\r\n return (0, _iterator.map)(hash, function(_, v) {\r\n return v\r\n }).join()\r\n};\r\nvar generatorV4 = function(expand, select) {\r\n var hash = {};\r\n if (expand || select) {\r\n if (expand) {\r\n parseTree(makeArray(expand), hash, function(node, key, path) {\r\n node[key] = node[key] || {};\r\n return !path.length ? false : node[key]\r\n })\r\n }\r\n if (select) {\r\n parseTree((0, _common.grep)(makeArray(select), hasDot), hash, function(node, key, path) {\r\n if (!path.length) {\r\n node[key] = node[key] || [];\r\n node[key].push(key);\r\n return false\r\n }\r\n return node[key] = node[key] || {}\r\n })\r\n }\r\n return format(hash)\r\n }\r\n};\r\nvar generateExpand = function(oDataVersion, expand, select) {\r\n return oDataVersion < 4 ? generatorV2(expand, select) : generatorV4(expand, select)\r\n};\r\nexports.generateExpand = generateExpand;\r\nvar formatFunctionInvocationUrl = function(baseUrl, args) {\r\n return (0, _string.format)(\"{0}({1})\", baseUrl, (0, _iterator.map)(args || {}, function(value, key) {\r\n return (0, _string.format)(\"{0}={1}\", key, value)\r\n }).join(\",\"))\r\n};\r\nexports.formatFunctionInvocationUrl = formatFunctionInvocationUrl;\r\nvar escapeServiceOperationParams = function(params, version) {\r\n if (!params) {\r\n return params\r\n }\r\n var result = {};\r\n (0, _iterator.each)(params, function(k, v) {\r\n result[k] = serializeValue(v, version)\r\n });\r\n return result\r\n};\r\nexports.escapeServiceOperationParams = escapeServiceOperationParams;\r\n","/**\r\n * DevExtreme (core/utils/svg.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.getSvgMarkup = getSvgMarkup;\r\nexports.getSvgElement = getSvgElement;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"./window\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = _dom_adapter.default.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n (0, _renderer.default)(clone).css(\"backgroundColor\", backgroundColor)\r\n }\r\n temp.appendChild(clone);\r\n return temp.innerHTML\r\n}\r\n\r\nfunction fixNamespaces(markup) {\r\n var first = true;\r\n if (markup.indexOf(\"xmlns:xlink\") === -1) {\r\n markup = markup.replace(\"= minValue && value <= maxValue\r\n};\r\nexports.inRange = inRange;\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n var value = 3e-4;\r\n var correctValue = \"0.000300\";\r\n var precisionValue = 3;\r\n return correctValue !== value.toPrecision(precisionValue)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = (0, _type.isExponential)(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if ((0, _type.isExponential)(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n var min = 1e-8;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < min) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < min) {\r\n return [-b / (2 * a)]\r\n } else {\r\n if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < min) {\r\n roots = [getRoot(-q, 3)]\r\n } else {\r\n if (Math.abs(q) < min) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < min) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else {\r\n if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\n","/**\r\n * DevExtreme (core/utils/common.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.equalByValue = exports.grep = exports.asyncNoop = exports.noop = exports.applyServerDecimalSeparator = exports.escapeRegExp = exports.getKeyHash = exports.pairToObject = exports.denormalizeKey = exports.normalizeKey = exports.splitPair = exports.findBestMatches = exports.deferUpdater = exports.deferRenderer = exports.deferUpdate = exports.deferRender = exports.executeAsync = exports.ensureDefined = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _guid = _interopRequireDefault(require(\"../guid\"));\r\nvar _deferred = require(\"../utils/deferred\");\r\nvar _data = require(\"./data\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ensureDefined = function(value, defaultValue) {\r\n return (0, _type.isDefined)(value) ? value : defaultValue\r\n};\r\nexports.ensureDefined = ensureDefined;\r\nvar executeAsync = function(action, context) {\r\n var deferred = new _deferred.Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && (0, _type.isFunction)(result.done)) {\r\n result.done(function() {\r\n deferred.resolveWith(normalizedContext)\r\n })\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nexports.executeAsync = executeAsync;\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new _deferred.Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else {\r\n if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || (0, _deferred.when)()\r\n }\r\n};\r\nvar deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexports.deferRender = deferRender;\r\nvar deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexports.deferUpdate = deferUpdate;\r\nvar deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferRenderer = deferRenderer;\r\nvar deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferUpdater = deferUpdater;\r\nvar findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n (0, _iterator.each)(items, function(index, itemSrc) {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n (0, _iterator.each)(targetFilter, function(paramName, targetValue) {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nexports.findBestMatches = findBestMatches;\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n (0, _iterator.each)(value, function(index, valueItem) {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nvar splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch ((0, _type.type)(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexports.splitPair = splitPair;\r\nvar normalizeKey = function(id) {\r\n var key = (0, _type.isString)(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && (0, _iterator.each)(arr, function(_, sign) {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexports.normalizeKey = normalizeKey;\r\nvar denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(function(char) {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexports.denormalizeKey = denormalizeKey;\r\nvar pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexports.pairToObject = pairToObject;\r\nvar getKeyHash = function(key) {\r\n if (key instanceof _guid.default) {\r\n return key.toString()\r\n } else {\r\n if ((0, _type.isObject)(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n }\r\n return key\r\n};\r\nexports.getKeyHash = getKeyHash;\r\nvar escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexports.escapeRegExp = escapeRegExp;\r\nvar applyServerDecimalSeparator = function(value) {\r\n var separator = (0, _config.default)().serverDecimalSeparator;\r\n if ((0, _type.isDefined)(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexports.applyServerDecimalSeparator = applyServerDecimalSeparator;\r\nvar noop = function() {};\r\nexports.noop = noop;\r\nvar asyncNoop = function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n};\r\nexports.asyncNoop = asyncNoop;\r\nvar grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nexports.grep = grep;\r\nvar arraysEqualByValue = function(array1, array2, depth) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], depth + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar objectsEqualByValue = function(object1, object2, depth, strict) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar maxEqualityDepth = 3;\r\nvar equalByValue = function(object1, object2) {\r\n var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n object1 = (0, _data.toComparable)(object1, true);\r\n object2 = (0, _data.toComparable)(object2, true);\r\n var comparisonResult = strict ? object1 === object2 : object1 == object2;\r\n if (comparisonResult || depth >= maxEqualityDepth) {\r\n return true\r\n }\r\n if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) {\r\n return objectsEqualByValue(object1, object2, depth, strict)\r\n } else {\r\n if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return arraysEqualByValue(object1, object2, depth)\r\n }\r\n }\r\n return false\r\n};\r\nexports.equalByValue = equalByValue;\r\n","/**\r\n * DevExtreme (core/utils/callbacks.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nvar _default = Callbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/errors.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _error = _interopRequireDefault(require(\"./utils/error\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = (0, _error.default)({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v.{2}. {3}.'\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/html_parser.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.isTablePart = exports.parseHTML = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n \"default\": {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nvar parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = _dom_adapter.default.createDocumentFragment();\r\n var container = fragment.appendChild(_dom_adapter.default.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return (0, _array.merge)([], container.childNodes)\r\n};\r\nexports.parseHTML = parseHTML;\r\nvar isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\nexports.isTablePart = isTablePart;\r\n","/**\r\n * DevExtreme (core/utils/storage.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.sessionStorage = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar window = (0, _window.getWindow)();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexports.sessionStorage = getSessionStorage;\r\n","/**\r\n * DevExtreme (core/utils/template_manager.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.acquireTemplate = exports.acquireIntegrationTemplate = exports.defaultCreateElement = exports.templateKey = exports.validateTemplateSource = exports.getNormalizedTemplateArgs = exports.addOneRenderedCall = exports.suitableTemplatesByName = exports.findTemplates = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _child_default_template = require(\"../templates/child_default_template\");\r\nvar _empty_template = require(\"../templates/empty_template\");\r\nvar _template = require(\"../templates/template\");\r\nvar _template_base = require(\"../templates/template_base\");\r\nvar _array = require(\"./array\");\r\nvar _common = require(\"./common\");\r\nvar _dom = require(\"./dom\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar findTemplates = function(element, name) {\r\n var optionsAttributeName = \"data-options\";\r\n var templates = (0, _renderer.default)(element).contents().filter(\"[\".concat(optionsAttributeName, '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(function(element) {\r\n var optionsString = (0, _renderer.default)(element).attr(optionsAttributeName) || \"\";\r\n return {\r\n element: element,\r\n options: (0, _config.default)().optionsParser(optionsString)[name]\r\n }\r\n }).filter(function(template) {\r\n return !!template.options\r\n })\r\n};\r\nexports.findTemplates = findTemplates;\r\nvar suitableTemplatesByName = function(rawTemplates) {\r\n var templatesMap = (0, _array.groupBy)(rawTemplates, function(template) {\r\n return template.options.name\r\n });\r\n if (templatesMap[void 0]) {\r\n throw _errors.default.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(function(name) {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = (0, _common.findBestMatches)(_devices.default.current(), templatesMap[name], function(template) {\r\n return template.options\r\n })[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexports.suitableTemplatesByName = suitableTemplatesByName;\r\nvar addOneRenderedCall = function(template) {\r\n var _render = template.render.bind(template);\r\n return (0, _extend.extend)({}, template, {\r\n render: function(options) {\r\n var templateResult = _render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexports.addOneRenderedCall = addOneRenderedCall;\r\nvar getNormalizedTemplateArgs = function(options) {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexports.getNormalizedTemplateArgs = getNormalizedTemplateArgs;\r\nvar validateTemplateSource = function(templateSource) {\r\n return \"string\" === typeof templateSource ? (0, _dom.normalizeTemplateElement)(templateSource) : templateSource\r\n};\r\nexports.validateTemplateSource = validateTemplateSource;\r\nvar templateKey = function(templateSource) {\r\n return (0, _type.isRenderer)(templateSource) && templateSource[0] || templateSource\r\n};\r\nexports.templateKey = templateKey;\r\nvar defaultCreateElement = function(element) {\r\n return new _template.Template(element)\r\n};\r\nexports.defaultCreateElement = defaultCreateElement;\r\nvar acquireIntegrationTemplate = function(templateSource, templates, isAsyncTemplate, skipTemplates) {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || skipTemplates.indexOf(templateSource) === -1) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof _template_base.TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexports.acquireIntegrationTemplate = acquireIntegrationTemplate;\r\nvar acquireTemplate = function(templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) {\r\n if (null == templateSource) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n if (templateSource instanceof _child_default_template.ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof _template_base.TemplateBase) {\r\n return templateSource\r\n }\r\n if ((0, _type.isFunction)(templateSource.render) && !(0, _type.isRenderer)(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource)) {\r\n return createTemplate((0, _renderer.default)(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\nexports.acquireTemplate = acquireTemplate;\r\n","/**\r\n * DevExtreme (core/templates/template_engine_registry.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.registerTemplateEngine = registerTemplateEngine;\r\nexports.setTemplateEngine = setTemplateEngine;\r\nexports.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nvar _type = require(\"../utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\n\r\nfunction registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\n\r\nfunction setTemplateEngine(templateEngine) {\r\n if ((0, _type.isString)(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw _errors.default.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\n\r\nfunction getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (core/utils/iterator.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.reverseEach = exports.each = exports.map = void 0;\r\nvar map = function(values, callback) {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nexports.map = map;\r\nvar each = function(values, callback) {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nexports.each = each;\r\nvar reverseEach = function(array, callback) {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexports.reverseEach = reverseEach;\r\n","/**\r\n * DevExtreme (data/query_adapters.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _default = {};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/selection_filter.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.SelectionFilterCreator = void 0;\r\nvar _common = require(\"./common\");\r\nvar _type = require(\"./type\");\r\nvar SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? _common.equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach(function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if ((0, _type.isString)(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = getFilterForCompositeKey(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n });\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if (isSelectAll && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var getSelectedItemKeyHashesMap = function(selectedItemKeys) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n selectedItemKeyHashesMap[(0, _common.getKeyHash)(selectedItemKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n };\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(function(key) {\r\n return keyOf(key)\r\n }) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = (0, _common.getKeyHash)(key);\r\n if (!(0, _type.isObject)(keyHash)) {\r\n var selectedKeyHashesMap = getSelectedItemKeyHashesMap(normalizeKeys(selectedItemKeys, keyOf, keyExpr));\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n\r\n function getFilterForCompositeKey(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }\r\n};\r\nexports.SelectionFilterCreator = SelectionFilterCreator;\r\n","/**\r\n * DevExtreme (data/odata/store.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _utils = require(\"./utils\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _query = _interopRequireDefault(require(\"../query\"));\r\nvar _abstract_store = _interopRequireDefault(require(\"../abstract_store\"));\r\nvar _request_dispatcher = _interopRequireDefault(require(\"./request_dispatcher\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nrequire(\"./query_adapter\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar ANONYMOUS_KEY_NAME = \"5d46402c-7899-4ea9-bd81-8b73c47c7683\";\r\nvar expandKeyType = function(key, keyType) {\r\n return _defineProperty({}, key, keyType)\r\n};\r\nvar mergeFieldTypesWithKeyType = function(fieldTypes, keyType) {\r\n var result = {};\r\n for (var field in fieldTypes) {\r\n result[field] = fieldTypes[field]\r\n }\r\n for (var keyName in keyType) {\r\n if (keyName in result) {\r\n if (result[keyName] !== keyType[keyName]) {\r\n _errors.default.errors.log(\"W4001\", keyName)\r\n }\r\n } else {\r\n result[keyName] = keyType[keyName]\r\n }\r\n }\r\n return result\r\n};\r\nvar ODataStore = _abstract_store.default.inherit({\r\n ctor: function(options) {\r\n this.callBase(options);\r\n this._requestDispatcher = new _request_dispatcher.default(options);\r\n var key = this.key();\r\n var fieldTypes = options.fieldTypes;\r\n var keyType = options.keyType;\r\n if (keyType) {\r\n var keyTypeIsString = \"string\" === typeof keyType;\r\n if (!key) {\r\n key = keyTypeIsString ? ANONYMOUS_KEY_NAME : Object.keys(keyType);\r\n this._legacyAnonymousKey = key\r\n }\r\n if (keyTypeIsString) {\r\n keyType = expandKeyType(key, keyType)\r\n }\r\n fieldTypes = mergeFieldTypesWithKeyType(fieldTypes, keyType)\r\n }\r\n this._fieldTypes = fieldTypes || {};\r\n if (2 === this.version()) {\r\n this._updateMethod = \"MERGE\"\r\n } else {\r\n this._updateMethod = \"PATCH\"\r\n }\r\n },\r\n _customLoadOptions: function() {\r\n return [\"expand\", \"customQueryParams\"]\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var params = {};\r\n if (extraOptions) {\r\n params.$expand = (0, _utils.generateExpand)(this.version(), extraOptions.expand, extraOptions.select) || void 0;\r\n params.$select = (0, _utils.generateSelect)(this.version(), extraOptions.select) || void 0\r\n }\r\n return this._requestDispatcher.sendRequest(this._byKeyUrl(key), \"GET\", params)\r\n },\r\n createQuery: function(loadOptions) {\r\n var _loadOptions$urlOverr;\r\n var url;\r\n var queryOptions = {\r\n adapter: \"odata\",\r\n beforeSend: this._requestDispatcher.beforeSend,\r\n errorHandler: this._errorHandler,\r\n jsonp: this._requestDispatcher.jsonp,\r\n version: this._requestDispatcher.version,\r\n withCredentials: this._requestDispatcher._withCredentials,\r\n expand: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.expand,\r\n requireTotalCount: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.requireTotalCount,\r\n deserializeDates: this._requestDispatcher._deserializeDates,\r\n fieldTypes: this._fieldTypes\r\n };\r\n url = null !== (_loadOptions$urlOverr = null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.urlOverride) && void 0 !== _loadOptions$urlOverr ? _loadOptions$urlOverr : this._requestDispatcher.url;\r\n if ((0, _type.isDefined)(this._requestDispatcher.filterToLower)) {\r\n queryOptions.filterToLower = this._requestDispatcher.filterToLower\r\n }\r\n if (null !== loadOptions && void 0 !== loadOptions && loadOptions.customQueryParams) {\r\n var params = (0, _utils.escapeServiceOperationParams)(null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.customQueryParams, this.version());\r\n if (4 === this.version()) {\r\n url = (0, _utils.formatFunctionInvocationUrl)(url, params)\r\n } else {\r\n queryOptions.params = params\r\n }\r\n }\r\n return (0, _query.default)(url, queryOptions)\r\n },\r\n _insertImpl: function(values) {\r\n var _this = this;\r\n this._requireKey();\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._requestDispatcher.url, \"POST\", null, values)).done(function(serverResponse) {\r\n return d.resolve(serverResponse && !(0, _config.default)().useLegacyStoreResult ? serverResponse : values, _this.keyOf(serverResponse))\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), this._updateMethod, null, values)).done(function(serverResponse) {\r\n return (0, _config.default)().useLegacyStoreResult ? d.resolve(key, values) : d.resolve(serverResponse || values, key)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var d = new _deferred.Deferred;\r\n (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), \"DELETE\")).done(function() {\r\n return d.resolve(key)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _convertKey: function(value) {\r\n var result = value;\r\n var fieldTypes = this._fieldTypes;\r\n var key = this.key() || this._legacyAnonymousKey;\r\n if (Array.isArray(key)) {\r\n result = {};\r\n for (var i = 0; i < key.length; i++) {\r\n var keyName = key[i];\r\n result[keyName] = (0, _utils.convertPrimitiveValue)(fieldTypes[keyName], value[keyName])\r\n }\r\n } else {\r\n if (fieldTypes[key]) {\r\n result = (0, _utils.convertPrimitiveValue)(fieldTypes[key], value)\r\n }\r\n }\r\n return result\r\n },\r\n _byKeyUrl: function(value) {\r\n var baseUrl = this._requestDispatcher.url;\r\n var convertedKey = this._convertKey(value);\r\n return \"\".concat(baseUrl, \"(\").concat(encodeURIComponent((0, _utils.serializeKey)(convertedKey, this.version())), \")\")\r\n },\r\n version: function() {\r\n return this._requestDispatcher.version\r\n }\r\n}, \"odata\");\r\nvar _default = ODataStore;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data/odata/query_adapter.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.odata = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _query_adapters = _interopRequireDefault(require(\"../query_adapters\"));\r\nvar _utils = require(\"./utils\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _utils2 = _interopRequireDefault(require(\"../utils\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DEFAULT_PROTOCOL_VERSION = 2;\r\nvar STRING_FUNCTIONS = [\"contains\", \"notcontains\", \"startswith\", \"endswith\"];\r\nvar compileCriteria = function() {\r\n var protocolVersion;\r\n var forceLowerCase;\r\n var fieldTypes;\r\n var createBinaryOperationFormatter = function(op) {\r\n return function(prop, val) {\r\n return \"\".concat(prop, \" \").concat(op, \" \").concat(val)\r\n }\r\n };\r\n var createStringFuncFormatter = function(op, reverse) {\r\n return function(prop, val) {\r\n var bag = [op, \"(\"];\r\n if (forceLowerCase) {\r\n prop = prop.indexOf(\"tolower(\") === -1 ? \"tolower(\".concat(prop, \")\") : prop;\r\n val = val.toLowerCase()\r\n }\r\n if (reverse) {\r\n bag.push(val, \",\", prop)\r\n } else {\r\n bag.push(prop, \",\", val)\r\n }\r\n bag.push(\")\");\r\n return bag.join(\"\")\r\n }\r\n };\r\n var isStringFunction = function(name) {\r\n return STRING_FUNCTIONS.some(function(funcName) {\r\n return funcName === name\r\n })\r\n };\r\n var formatters = {\r\n \"=\": createBinaryOperationFormatter(\"eq\"),\r\n \"<>\": createBinaryOperationFormatter(\"ne\"),\r\n \">\": createBinaryOperationFormatter(\"gt\"),\r\n \">=\": createBinaryOperationFormatter(\"ge\"),\r\n \"<\": createBinaryOperationFormatter(\"lt\"),\r\n \"<=\": createBinaryOperationFormatter(\"le\"),\r\n startswith: createStringFuncFormatter(\"startswith\"),\r\n endswith: createStringFuncFormatter(\"endswith\")\r\n };\r\n var formattersV2 = (0, _extend.extend)({}, formatters, {\r\n contains: createStringFuncFormatter(\"substringof\", true),\r\n notcontains: createStringFuncFormatter(\"not substringof\", true)\r\n });\r\n var formattersV4 = (0, _extend.extend)({}, formatters, {\r\n contains: createStringFuncFormatter(\"contains\"),\r\n notcontains: createStringFuncFormatter(\"not contains\")\r\n });\r\n var compileBinary = function(criteria) {\r\n var _fieldTypes;\r\n criteria = _utils2.default.normalizeBinaryCriterion(criteria);\r\n var op = criteria[1];\r\n var fieldName = criteria[0];\r\n var fieldType = fieldTypes && fieldTypes[fieldName];\r\n if (fieldType && isStringFunction(op) && \"String\" !== fieldType) {\r\n throw new _errors.default.errors.Error(\"E4024\", op, fieldName, fieldType)\r\n }\r\n var formatters = 4 === protocolVersion ? formattersV4 : formattersV2;\r\n var formatter = formatters[op.toLowerCase()];\r\n if (!formatter) {\r\n throw _errors.default.errors.Error(\"E4003\", op)\r\n }\r\n var value = criteria[2];\r\n if (null !== (_fieldTypes = fieldTypes) && void 0 !== _fieldTypes && _fieldTypes[fieldName]) {\r\n value = (0, _utils.convertPrimitiveValue)(fieldTypes[fieldName], value)\r\n }\r\n return formatter((0, _utils.serializePropName)(fieldName), (0, _utils.serializeValue)(value, protocolVersion))\r\n };\r\n var compileUnary = function(criteria) {\r\n var op = criteria[0];\r\n var crit = compileCore(criteria[1]);\r\n if (\"!\" === op) {\r\n return \"not (\".concat(crit, \")\")\r\n }\r\n throw _errors.default.errors.Error(\"E4003\", op)\r\n };\r\n var compileGroup = function(criteria) {\r\n var bag = [];\r\n var groupOperator;\r\n var nextGroupOperator;\r\n (0, _iterator.each)(criteria, function(index, criterion) {\r\n if (Array.isArray(criterion)) {\r\n if (bag.length > 1 && groupOperator !== nextGroupOperator) {\r\n throw new _errors.default.errors.Error(\"E4019\")\r\n }\r\n bag.push(\"(\".concat(compileCore(criterion), \")\"));\r\n groupOperator = nextGroupOperator;\r\n nextGroupOperator = \"and\"\r\n } else {\r\n nextGroupOperator = _utils2.default.isConjunctiveOperator(this) ? \"and\" : \"or\"\r\n }\r\n });\r\n return bag.join(\" \".concat(groupOperator, \" \"))\r\n };\r\n var compileCore = function(criteria) {\r\n if (Array.isArray(criteria[0])) {\r\n return compileGroup(criteria)\r\n }\r\n if (_utils2.default.isUnaryOperation(criteria)) {\r\n return compileUnary(criteria)\r\n }\r\n return compileBinary(criteria)\r\n };\r\n return function(criteria, version, types, filterToLower) {\r\n fieldTypes = types;\r\n forceLowerCase = null !== filterToLower && void 0 !== filterToLower ? filterToLower : (0, _config.default)().oDataFilterToLower;\r\n protocolVersion = version;\r\n return compileCore(criteria)\r\n }\r\n}();\r\nvar createODataQueryAdapter = function(queryOptions) {\r\n var _sorting = [];\r\n var _criteria = [];\r\n var _expand = queryOptions.expand;\r\n var _select;\r\n var _skip;\r\n var _take;\r\n var _countQuery;\r\n var _oDataVersion = queryOptions.version || DEFAULT_PROTOCOL_VERSION;\r\n var hasSlice = function() {\r\n return _skip || void 0 !== _take\r\n };\r\n var hasFunction = function hasFunction(criterion) {\r\n for (var i = 0; i < criterion.length; i++) {\r\n if ((0, _type.isFunction)(criterion[i])) {\r\n return true\r\n }\r\n if (Array.isArray(criterion[i]) && hasFunction(criterion[i])) {\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n var requestData = function() {\r\n var result = {};\r\n if (!_countQuery) {\r\n if (_sorting.length) {\r\n result.$orderby = _sorting.join(\",\")\r\n }\r\n if (_skip) {\r\n result.$skip = _skip\r\n }\r\n if (void 0 !== _take) {\r\n result.$top = _take\r\n }\r\n result.$select = (0, _utils.generateSelect)(_oDataVersion, _select) || void 0;\r\n result.$expand = (0, _utils.generateExpand)(_oDataVersion, _expand, _select) || void 0\r\n }\r\n if (_criteria.length) {\r\n var criteria = _criteria.length < 2 ? _criteria[0] : _criteria;\r\n var fieldTypes = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.fieldTypes;\r\n var filterToLower = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.filterToLower;\r\n result.$filter = compileCriteria(criteria, _oDataVersion, fieldTypes, filterToLower)\r\n }\r\n if (_countQuery) {\r\n result.$top = 0\r\n }\r\n if (queryOptions.requireTotalCount || _countQuery) {\r\n if (4 !== _oDataVersion) {\r\n result.$inlinecount = \"allpages\"\r\n } else {\r\n result.$count = \"true\"\r\n }\r\n }\r\n return result\r\n };\r\n var tryLiftSelect = function(tasks) {\r\n var selectIndex = -1;\r\n for (var i = 0; i < tasks.length; i++) {\r\n if (\"select\" === tasks[i].name) {\r\n selectIndex = i;\r\n break\r\n }\r\n }\r\n if (selectIndex < 0 || !(0, _type.isFunction)(tasks[selectIndex].args[0])) {\r\n return\r\n }\r\n var nextTask = tasks[1 + selectIndex];\r\n if (!nextTask || \"slice\" !== nextTask.name) {\r\n return\r\n }\r\n tasks[1 + selectIndex] = tasks[selectIndex];\r\n tasks[selectIndex] = nextTask\r\n };\r\n return {\r\n optimize: tryLiftSelect,\r\n exec: function(url) {\r\n return (0, _utils.sendRequest)(_oDataVersion, {\r\n url: url,\r\n params: (0, _extend.extend)(requestData(), null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.params)\r\n }, {\r\n beforeSend: queryOptions.beforeSend,\r\n jsonp: queryOptions.jsonp,\r\n withCredentials: queryOptions.withCredentials,\r\n countOnly: _countQuery,\r\n deserializeDates: queryOptions.deserializeDates,\r\n fieldTypes: queryOptions.fieldTypes,\r\n isPaged: isFinite(_take)\r\n })\r\n },\r\n multiSort: function(args) {\r\n var rules;\r\n if (hasSlice()) {\r\n return false\r\n }\r\n for (var i = 0; i < args.length; i++) {\r\n var getter = args[i][0];\r\n var desc = !!args[i][1];\r\n var rule = void 0;\r\n if (\"string\" !== typeof getter) {\r\n return false\r\n }\r\n rule = (0, _utils.serializePropName)(getter);\r\n if (desc) {\r\n rule += \" desc\"\r\n }\r\n rules = rules || [];\r\n rules.push(rule)\r\n }\r\n _sorting = rules\r\n },\r\n slice: function(skipCount, takeCount) {\r\n if (hasSlice()) {\r\n return false\r\n }\r\n _skip = skipCount;\r\n _take = takeCount\r\n },\r\n filter: function(criterion) {\r\n if (hasSlice()) {\r\n return false\r\n }\r\n if (!Array.isArray(criterion)) {\r\n criterion = [].slice.call(arguments)\r\n }\r\n if (hasFunction(criterion)) {\r\n return false\r\n }\r\n if (_criteria.length) {\r\n _criteria.push(\"and\")\r\n }\r\n _criteria.push(criterion)\r\n },\r\n select: function(expr) {\r\n if (_select || (0, _type.isFunction)(expr)) {\r\n return false\r\n }\r\n if (!Array.isArray(expr)) {\r\n expr = [].slice.call(arguments)\r\n }\r\n _select = expr\r\n },\r\n count: function() {\r\n return _countQuery = true\r\n }\r\n }\r\n};\r\n_query_adapters.default.odata = createODataQueryAdapter;\r\nvar odata = createODataQueryAdapter;\r\nexports.odata = odata;\r\n","/**\r\n * DevExtreme (core/guid.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Guid = _class.default.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nvar _default = Guid;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/config.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.default = void 0;\r\nvar _extend = require(\"./utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: function(optionsString) {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw _errors.default.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(function(deprecatedField) {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n _errors.default.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n (0, _extend.extend)(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nvar _default = configMethod;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/inflector.js)\r\n * Version: 20.2.7\r\n * Build date: Thu Apr 22 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.captionize = exports.titleize = exports.humanize = exports.camelize = exports.underscore = exports.dasherize = void 0;\r\nvar _iterator = require(\"./iterator\");\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nvar dasherize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return p.toLowerCase()\r\n }).join(\"-\")\r\n};\r\nexports.dasherize = dasherize;\r\nvar underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexports.underscore = underscore;\r\nvar camelize = function(text, upperFirst) {\r\n return (0, _iterator.map)(_chop(text), function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n }).join(\"\")\r\n};\r\nexports.camelize = camelize;\r\nvar humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexports.humanize = humanize;\r\nvar titleize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n }).join(\" \")\r\n};\r\nexports.titleize = titleize;\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nvar captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else {\r\n if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else {\r\n if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\nexports.captionize = captionize;\r\n"],"sourceRoot":""}