/*!@license * Infragistics.Web.ClientUI infragistics.dv_datasource.js 19.1.20191.172 * * Copyright (c) 2011-2019 Infragistics Inc. * * http://www.infragistics.com/ * * Depends: * jquery-1.4.4.js * jquery.ui.core.js * jquery.ui.widget.js * infragistics.util.js * infragistics.ext_core.js * infragistics.ext_collections.js * infragistics.dv_core.js * infragistics.ext_ui.js */ (function(factory){if(typeof define==="function"&&define.amd){define(["./infragistics.util","./infragistics.ext_core","./infragistics.ext_collections","./infragistics.dv_core","./infragistics.ext_ui"],factory)}else{factory(igRoot)}})(function($){$.ig=$.ig||{};var $$t={};$.ig.globalDefs=$.ig.globalDefs||{};$.ig.globalDefs.$$y=$$t;$$0=$.ig.globalDefs.$$0;$$4=$.ig.globalDefs.$$4;$$1=$.ig.globalDefs.$$1;$$w=$.ig.globalDefs.$$w;$$6=$.ig.globalDefs.$$6;$$a=$.ig.globalDefs.$$a;$.ig.$currDefinitions=$$t;$.ig.util.bulkDefine(["FilterFactory:c","DataSourceFilterBuilderBuildCallback:d","IFilterExpression:e","IOperationFilterExpression:f","IFunctionFilterExpression:g","ILiteralFilterExpression:h","IPropertyReferenceFilterExpression:i","FilterExpression:j","OperationFilterExpression:k","FunctionFilterExpression:l","PropertyReferenceFilterExpression:m","LiteralFilterExpression:n","FilterExpressionCollection:q","IDataSource:s","IDataSourceSupportsCount:u","IDataSourceSupportsIndexedAccess:v","ISupportsDataChangeNotifications:w","DataSourceSchemaChangedHandler:x","IDataSourceDataProvider:z","IDataSourceDataProviderUpdateNotifier:aa","DataSourceDataProviderSchemaChangedHandler:ab","IDataSourceExecutionContext:ad","DataSourceExecutionContextExecuteCallback:ae","IDataSourceLocalDataProvider:af","IDataSourcePage:ag","IDataSourceSchema:ah","IDataSourceUpdateNotifier:ak","IDataSourceVirtualDataProvider:al","DataSourcePageLoadedCallback:an","IExternalDataSource:ao","IExternalLocalDataSource:ap","IExternalVirtualDataSource:aq","ISectionInformation:ar","ODataLiteralEmitter:at","BaseDataSource:az","DefaultDataSourceDataProviderUpdateNotifier:a1","LocalDataSource:a3","LocalDataSourceViewUpdateNotifier:a5","IPageCandidatesSink:ba","RearrangedListViewFilter:be"]);var $a=$.ig.intDivide,$b=$.ig.util.cast,$c=$.ig.util.defType,$d=$.ig.util.defEnum,$e=$.ig.util.getBoxIfEnum,$f=$.ig.util.getDefaultValue,$g=$.ig.util.getEnumValue,$h=$.ig.util.getValue,$i=$.ig.util.intSToU,$j=$.ig.util.nullableEquals,$k=$.ig.util.nullableIsNull,$l=$.ig.util.nullableNotEquals,$m=$.ig.util.toNullable,$n=$.ig.util.toString$1,$o=$.ig.util.u32BitwiseAnd,$p=$.ig.util.u32BitwiseOr,$q=$.ig.util.u32BitwiseXor,$r=$.ig.util.u32LS,$s=$.ig.util.unwrapNullable,$t=$.ig.util.wrapNullable,$u=String.fromCharCode,$v=$.ig.util.castObjTo$t,$w=$.ig.util.equalsSimple,$x=$.ig.util.compareSimple,$y=$.ig.util.numberToString,$z=$.ig.util.tryParseInt32_1,$0=$.ig.util.tryParseInt32_2,$1=$.ig.util.intToString1,$2=$.ig.util.parseInt32_1,$3=$.ig.util.parseInt32_2,$4=$.ig.util.parseBool,$5=$.ig.util.tryParseBool,$6=$.ig.util.tryParseNumber,$7=$.ig.util.tryParseNumber1,$8=$.ig.util.numberToString1,$9=$.ig.util.parseNumber,$aa=$.ig.util.compare,$ab=$.ig.util.replace,$ac=$.ig.util.stringFormat,$ad=$.ig.util.stringFormat1,$ae=$.ig.util.stringFormat2,$af=$.ig.util.stringCompare1,$ag=$.ig.util.stringCompare2,$ah=$.ig.util.stringCompare3;$d("DataSourcePageRequestPriority:am",false,false,{Low:0,Normal:1,High:2});$d("DataSourceSchemaPropertyType:ai",false,false,{StringValue:0,IntValue:1,BooleanValue:2,LongValue:3,ShortValue:4,DoubleValue:5,DecimalValue:6,SingleValue:7,DateTimeValue:8,DateTimeOffsetValue:9,ByteValue:10,ObjectValue:11});$d("DataSourceRowType:t",false,false,{Normal:0,SectionHeader:1,SectionFooter:2,ShiftedRow:3,Custom:4});$d("FilterExpressionOperatorType:p",false,false,{None:0,Equal:1,NotEqual:2,GreaterThan:3,GreaterThanOrEqual:4,LessThan:5,LessThanOrEqual:6,And:7,Or:8,Not:9,Add:10,Subtract:11,Multiply:12,Divide:13,Modulo:14,Grouping:15});$d("FilterExpressionFunctionType:o",false,false,{Contains:0,EndsWith:1,StartsWith:2,Length:3,IndexOf:4,Replace:5,Substring:6,ToLower:7,ToUpper:8,Trim:9,Concat:10,Day:11,Hour:12,Minute:13,Month:14,Second:15,Year:16,Round:17,Floor:18,Ceiling:19,Date:20,Time:21,Now:22,IsOf:23,Cast:24});$c("AsyncVirtualDataTask:bj","Object",{init:function(){$.ig.$op.init.call(this)},_hasErrors:false,hasErrors:function(a){if(arguments.length===1){this._hasErrors=a;return a}else{return this._hasErrors}},_isRunning:false,isRunning:function(a){if(arguments.length===1){this._isRunning=a;return a}else{return this._isRunning}},_isCancelled:false,isCancelled:function(a){if(arguments.length===1){this._isCancelled=a;return a}else{return this._isCancelled}},_isCompleted:false,isCompleted:function(a){if(arguments.length===1){this._isCompleted=a;return a}else{return this._isCompleted}},_result:null,result:function(a){if(arguments.length===1){this._result=a;return a}else{return this._result}},_run:null,run:function(a){if(arguments.length===1){this._run=a;return a}else{return this._run}},$type:new $.ig.Type("AsyncVirtualDataTask",$.ig.$ot)},true);$c("AsyncVirtualDataSourceDataProviderWorkerSettings:bk","Object",{init:function(){$.ig.$op.init.call(this)},_pageSizeRequested:0,pageSizeRequested:function(a){if(arguments.length===1){this._pageSizeRequested=a;return a}else{return this._pageSizeRequested}},_timeoutMilliseconds:0,timeoutMilliseconds:function(a){if(arguments.length===1){this._timeoutMilliseconds=a;return a}else{return this._timeoutMilliseconds}},_pageLoaded:null,pageLoaded:function(a){if(arguments.length===1){this._pageLoaded=a;return a}else{return this._pageLoaded}},_executionContext:null,executionContext:function(a){if(arguments.length===1){this._executionContext=a;return a}else{return this._executionContext}},$type:new $.ig.Type("AsyncVirtualDataSourceDataProviderWorkerSettings",$.ig.$ot)},true);$c("AsyncVirtualDataSourceProviderTaskDataHolder:bl","Object",{init:function(){$.ig.$op.init.call(this)},$type:new $.ig.Type("AsyncVirtualDataSourceProviderTaskDataHolder",$.ig.$ot)},true);$c("AsyncDataSourcePageTaskHolder:bm","Object",{init:function(){$.ig.$op.init.call(this)},_task:null,task:function(a){if(arguments.length===1){this._task=a;return a}else{return this._task}},$type:new $.ig.Type("AsyncDataSourcePageTaskHolder",$.ig.$ot)},true);$c("AsyncDataSourcePageRequest:bn","Object",{e:0,f:0,a:null,c:false,init:function(a,b){this.c=false;$.ig.$op.init.call(this);this.e=a;this.f=b},index:function(a){if(arguments.length===1){this.e=a;return a}else{return this.e}},retryDelay:function(a){if(arguments.length===1){this.f=a;return a}else{return this.f}},taskHolder:function(a){if(arguments.length===1){this.a=a;return a}else{return this.a}},isDone:function(a){if(arguments.length===1){this.c=a;return a}else{return this.c}},$type:new $.ig.Type("AsyncDataSourcePageRequest",$.ig.$ot)},true);$c("AsyncVirtualDataSourceProviderWorker:bo","Object",{init:function(a){this.q=new $$4.v($$t.$bn.$type);this.o=new $$4.x($$t.$bn.$type,0);this.ab={};this.h=true;this.c=null;this.r=-1;this.g=false;this.f=false;$.ig.$op.init.call(this);this.h=true;this.t=a.pageSizeRequested();this.s=this.t;this.u=a.timeoutMilliseconds();this.ap=new $$6.z(a.pageLoaded());this.ao=new $$6.z(a.executionContext())},q:null,o:null,ab:null,h:false,t:0,s:0,u:0,c:null,r:0,ap:null,ao:null,g:false,tasks:function(){return this.o},pageLoaded:function(){if(this.ap==null){return null}return this.ap.c()},executionContext:function(){if(this.ao==null){return null}return this.ao.c()},actualPageSize:function(a){if(arguments.length===1){this.s=a;return a}else{return this.s}},actualCount:function(a){if(arguments.length===1){this.r=a;return a}else{return this.r}},actualSchema:function(a){if(arguments.length===1){this.c=a;return a}else{return this.c}},populatedActualPageSize:function(a){if(arguments.length===1){this.g=a;return a}else{return this.g}},isRunning:function(a){if(arguments.length===1){this.h=a;return a}else{return this.h}},addPageRequest:function(a,b){return this.addPageRequestWithRetry(a,b,200)},addPageRequestWithRetry:function(a,b,c){if(this.isShutdown()){return false}if(b==2){this.q.e(new $$t.bn(a,c))}else{this.q.f(new $$t.bn(a,c))}return true},removePageRequest:function(a){var b=null;var c=this.q.c();while(c!=null){var d=c._c;if(d.index()==a){b=c;break}c=c.a}if(b!=null){this.q.h(b)}},_isShutdown:false,isShutdown:function(a){if(arguments.length===1){this._isShutdown=a;return a}else{return this._isShutdown}},removeAllPageRequests:function(){this.q.g()},shutdown:function(){this.ap=null;this.ao=null;this.isShutdown(true);this.h=false},initialize:function(){},getTaskDataHolder:function(){return null},getTasksData:function(a){},removeCompletedTaskData:function(a,b){},getCompletedTaskData:function(a,b){},runATask:function(){for(var a=0;a0){a=new Array(c);for(var e=0;e0){var f=this.checkAndPotentiallyWaitOnTasks(a);if(!this.h){return}if(f>=0){var g=a[f];this.getCompletedTaskData(b,f);this.o.remove(g);this.removeCompletedTaskData(b,f);this.processCompletedTask(g.taskHolder(),g.retryDelay(),g.index(),b)}}else{}if(!this.h){return}if(this.h){window.setTimeout(this.doWork.runOn(this),100)}}},makeTaskForRequest:function(a,b){},processCompletedTask:function(a,b,c,d){},retryIndex:function(a,b){var $self=this;var c=b*2;if(b>2e4){this.removePageRequest(a)}if(this.ao==null){this.shutdown();return}var d=$b($$t.$ad.$type,this.ao.c());if(d==null){this.shutdown();return}d.executeDelayed(function(){$self.addPageRequestWithRetry(a,0,c)},b)},isLastPage:function(a){if(this.r<0){return false}if(this.r-a*this.s0){f=-1}}}else{var j=h.compareTo(d);f=1;if(j==0){f=0}if(j>0){f=-1}}}else{var k=null;var l=null;if(d!=null){k=d.toString()}if(e!=null){l=e.toString()}if(k!=null){if(l==null){f=1}else{f=k.compareTo(l)}}else if(l!=null){if(k==null){f=-1}else{var m=l.compareTo(k);f=1;if(m==0){f=0}if(m>0){f=-1}}}else{f=0}}switch(this.operator()){case 0:case 1:return f==0;case 3:return f>0;case 4:return f>=0;case 5:return f<0;case 6:return f<=0;case 2:return f!=0}throw new $$6.p(0)},bj:function(a,b,c){var d=null;var e=null;if(this.left()!=null){d=this.left().evaluate(a,b,c)}if(this.right()!=null){e=this.right().evaluate(a,b,c)}if(e==null&&d==null){return false}if(e==null){e=false}if(d==null){d=false}switch(this.operator()){case 7:return d&&e;case 9:if(this.left()==null){return!e}else{return!d}case 8:return d||e}return false},bh:function(a,b,c){var d=null;var e=null;if(this.left()!=null){d=this.left().evaluate(a,b,c)}if(this.right()!=null){e=this.right().evaluate(a,b,c)}if(d==null){return e}if(e==null){return d}if(d==null&&e==null){return 0}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return d+e;case 13: return d/e;case 14:return d%e;case 12:return d*e;case 11:return d-e}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return d+e;case 13:return d/e;case 14:return d%e;case 12:return d*e;case 11:return d-e}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return d+e;case 13:return d/e;case 14:return d%e;case 12:return d*e;case 11:return d-e}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return $h(d)+$h(e);case 13:return $a($h(d),$h(e));case 14:return $h(d)%$h(e);case 12:return $h(d)*$h(e);case 11:return $h(d)-$h(e)}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return $h(d)+$h(e);case 13:return $a($h(d),$h(e));case 14:return $h(d)%$h(e);case 12:return $h(d)*$h(e);case 11:return $h(d)-$h(e)}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return $h(d)+$h(e);case 13:return $a($h(d),$h(e));case 14:return $h(d)%$h(e);case 12:return $h(d)*$h(e);case 11:return $h(d)-$h(e)}}if(typeof d==="number"||typeof e==="number"){switch(this.operator()){case 10:return $h(d)+$h(e);case 13:return $a($h(d),$h(e));case 14:return $h(d)%$h(e);case 12:return $h(d)*$h(e);case 11:return $h(d)-$h(e)}}throw new $$6.q(0)},$type:new $.ig.Type("OperationFilterExpression",$$t.$j.$type,[$$t.$f.$type])},true);$c("FunctionFilterExpression:l","FilterExpression",{init:function(a,b){this.a6=19;this.a5=new $$t.q;$$t.$j.init.call(this);this.a6=a;for(var c=0;c0},evaluate:function(a,b,c){var d=null;var e=null;var f=null;var g=null;var h=this.functionArguments().j();if(h.count()>0){for(var i=0;i3){break}}}switch(this.functionType()){case 19:if(d==null){d=0}return Math.ceil(d);case 18:if(d==null){d=0}return Math.floor(d);case 17:if(d==null){d=0}if(typeof d==="number"){return Math.round(d)}return Math.round(d);case 11:if(d==null){return 0}return d.getDate();case 12:if(d==null){return 0}return d.getHours();case 13:if(d==null){return 0}return d.getMinutes();case 14:if(d==null){return 0}return $.ig.Date.prototype.getMonth(d);case 16:if(d==null){return 0}return d.getFullYear();case 15:if(d==null){return 0}return d.getSeconds();case 20:if(d==null){return 0}return $.ig.Date.prototype.getDate(d);case 21:if(d==null){return 0}return d;case 22:return $$0.$s.now();case 23:var k=this.ba(e,f);var l=d;if(l==null){return true}if(k==null){return false}if(k.isAssignableFrom(l.getType())){return true}return false;case 24:var m=this.ba(e,f);var n=d;if(n==null){return true}if(m==null){return false}if(!m.isAssignableFrom(n.getType())){return null}return this.a8(n,m);case 10:if(d==null){d=""}if(e==null){e=""}return String.concat(d,e);case 1:if(d==null){d=""}if(e==null){e=""}return d.endsWith(e);case 4:if(d==null){d=""}if(e==null){e=""}return d.indexOf(e);case 3:if(d==null){d=""}return d.length;case 5:if(d==null){d=""}if(e==null){e=""}if(f==null){f=""}return $ab(d,e,f);case 2:if(d==null){d=""}if(e==null){e=""}return d.startsWith(e);case 6:if(d==null){d=""}if(e==null){e=0}if(f!=null){return d.substr($h(e),$h(f))}else{return d.substr($h(e))}case 0:if(d==null){d=""}if(e==null){e=""}return d.contains(e);case 7:if(d==null){d=""}return d.toLowerCase();case 8:if(d==null){d=""}return d.toUpperCase();case 9:if(d==null){d=""}return d.trim()}throw new $$6.q(0)},precedence:function(){switch(this.functionType()){case 23:return 15;case 24:return 5}return 2},a8:function(a,b){if(b==String){if(a==null){return""}return a.toString()}else if(b==$$0.$aw.$type||b==$$0.$av.$type||b==$$0.$aw.$type){return $$6.$g.toInt321(a)}else if(b==$$0.$aq.$type){return $$6.$g.toBoolean(a)}else if(b==$$0.$ar.$type){return $$6.$g.toByte1(a)}else if(b==$$0.$s.$type){return $$6.$g.toDateTime(a)}else if(b==$$0.$ax.$type||b==$$0.$ax.$type){return $$6.$g.toInt64(a)}else if(b==$$0.$v.$type){return $$6.$g.toDecimal2(a)}else{return a}},ba:function(a,b){if($b($$t.$ai.$type,a)!==null||typeof a==="number"){var c=$h(a);switch(c){case 2:return $$0.$aq.$type;case 10:return $$0.$ar.$type;case 9:return $$0.$s.$type;case 8:return $$0.$s.$type;case 6:return $$0.$v.$type;case 5:return Number;case 1:return $$0.$aw.$type;case 3:return $$0.$ax.$type;case 11:if(b!=null&&typeof b==="string"){return this.a9(b)}return $.ig.$op.$type;case 4:return $$0.$av.$type;case 7:return $$0.$a8.$type;case 0:return String}}if(typeof a==="string"){return this.a9(b)}return $.ig.$op.$type},a9:function(a){switch(a){case"Edm.Boolean":case"Boolean":case"bool":case"boolean":return $$0.$aq.$type;case"Edm.Byte":case"Byte":case"byte":case"Edm.SByte":case"SByte":return $$0.$ar.$type;case"Edm.DateTimeOffset":case"DateTimeOffset":return $$0.$s.$type;case"Edm.DateTime":case"DateTime":case"Calendar":case"datetime":case"calendar":case"Edm.Time":case"Time":case"time":return $$0.$s.$type;case"Edm.Decimal":case"Decimal":case"decimal":return $$0.$v.$type;case"Edm.Double":case"Double":case"double":return Number;case"Edm.Float":case"Float":case"float":case"Edm.Single":case"Single":case"single":return $$0.$a8.$type;case"Edm.Int16":case"Int16":case"Short":case"short":return $$0.$av.$type;case"Edm.Int32":case"Int32":case"int":case"Integer":return $$0.$aw.$type;case"Edm.Int64":case"Int64":case"long":case"Long":return $$0.$ax.$type;case"Edm.String":case"String":case"string":return String}return $.ig.$op.$type},$type:new $.ig.Type("FunctionFilterExpression",$$t.$j.$type,[$$t.$g.$type])},true);$c("PropertyReferenceFilterExpression:m","FilterExpression",{init:function(a){this.a5=null;$$t.$j.init.call(this);this.a5=a},isPropertyReference:function(){return true},precedence:function(){return 99},a2:function(){return false},a5:null,propertyReference:function(a){if(arguments.length===1){this.a5=a;return a}else{return this.a5}},evaluate:function(a,b,c){var d=b.getItemValue(a,this.propertyReference());return d},$type:new $.ig.Type("PropertyReferenceFilterExpression",$$t.$j.$type,[$$t.$i.$type])},true);$c("LiteralFilterExpression:n","FilterExpression",{init:function(a,b){this.a6=null;this.a5=false;$$t.$j.init.call(this);this.a6=a},precedence:function(){return 99},a6:null,a5:false,isLiteral:function(){return true},isNull:function(){return this.literalValue()==null},literalValue:function(a){if(arguments.length===1){this.a6=a;return a}else{return this.a6}},leaveUnquoted:function(a){if(arguments.length===1){this.a5=a;return a}else{return this.a5}},a2:function(){return $b($$0.$aq.$type,this.literalValue())!==null},evaluate:function(a,b,c){return this.literalValue()},$type:new $.ig.Type("LiteralFilterExpression",$$t.$j.$type,[$$t.$h.$type])},true);$c("FilterExpressionCollection:q","Object",{a:null,syncTarget:function(a){if(arguments.length===1){if(a==null){this.f.syncTarget(null);this.a=null;return}this.a=a;this.f.syncTarget(this.a.f);return a}else{return this.a}},f:null,init:function(){$.ig.$op.init.call(this);this.f=new $.ig.SyncableObservableCollection$1($$t.$e.$type)},add:function(a){return this.f.add(a)},insert:function(a,b){this.f.add1(a,b)},clear:function(){this.f.clear()},get:function(a){return this.f.get(a)},indexOf:function(a){return this.f.indexOf(a)},remove:function(a){return this.f.remove1(a)},removeAt:function(a){return this.f.remove(a)},set:function(a,b){return this.f.set(a,b)},size:function(){return this.f.size()},_onChanged:function(a){if(arguments.length===1){this.f._onChanged(a);return a}else{return this.f._onChanged()}},_addListener:function(a){this.f.addListener(a)},_removeListener:function(a){this.f.removeListener(a)},j:function(){return this.f.all()},$type:new $.ig.Type("FilterExpressionCollection",$.ig.$ot)},true);$c("FilterExpressionVisitor:r","Object",{init:function(){$.ig.$op.init.call(this)},visit:function(a){if(a==null){throw new $$6.p(1,"Expected an expression but found none")}if(a.isOperation()){this.visitOperationExpression(a)}else if(a.isFunction()){this.visitFunctionExpression(a)}else if(a.isLiteral()){this.visitLiteralExpression(a)}else if(a.isPropertyReference()){this.visitPropertyReferenceExpression(a)}},visitOperationExpression:function(a){if(a.left()!=null){this.visit(a.left())}if(a.right()!=null){this.visit(a.right())}},visitFunctionExpression:function(a){for(var b=0;b0){c.l($.ig.util.timeSpanDays(a).toString());c.l("D")}c.l("T");if($.ig.util.timeSpanHours(a)>0){c.j($.ig.util.timeSpanHours(a));c.l("H")}if($.ig.util.timeSpanMinutes(a)>0||$.ig.util.timeSpanHours(a)>0){c.j($.ig.util.timeSpanMinutes(a));c.l("M")}if($.ig.util.timeSpanSeconds(a)>0||$.ig.util.timeSpanMilliseconds(a)>0||$.ig.util.timeSpanHours(a)>0||$.ig.util.timeSpanMinutes(a)>0){c.j($.ig.util.timeSpanSeconds(a));if($.ig.util.timeSpanMilliseconds(a)>0){c.l(".");c.l(($.ig.util.timeSpanMilliseconds(a)/1e3).toString())}c.l("S")}c.l("'");return c.toString()},a:function(a){var b;if(a.getSeconds()==0&&a.getMilliseconds()==0){b=$.ig.Date.prototype.toStringFormat(a,"yyyy-MM-ddTHH:mm",null)}else if(a.getMilliseconds()==0){b=$.ig.Date.prototype.toStringFormat(a,"yyyy-MM-ddTHH:mm:ss",null)}else{b=$.ig.Date.prototype.toStringFormat(a,"yyyy-MM-ddTHH:mm:ss.fffffff",null)}return"datetime'"+b+"'"},$type:new $.ig.Type("DefaultODataLiteralEmitter",$.ig.$ot,[$$t.$at.$type])},true);$c("ODataDataSourceFilterExpressionVisitor:av","FilterExpressionVisitor",{h:null,f:null,init:function(a){if(a>0){switch(a){case 1:this.init1.apply(this,arguments);break}return}$$t.$r.init.call(this);this.f=new $$t.au;this.h=new $$6.aj(0)},init1:function(a,b){$$t.$av.init.call(this,0);this.f=b},toString:function(){return this.h.toString()},visitOperationExpression:function(a){var b=true;var c="";switch(a.operator()){case 10:c="add";break;case 7:c="and";break;case 13:c="div";break;case 0:case 1:c="eq";break;case 3:c="gt";break;case 4:c="ge";break;case 15:b=false;break;case 5:c="lt";break;case 6:c="le";break;case 14:c="mod";break;case 12:c="mul";break;case 9:c="not";b=false;break;case 2:c="ne";break;case 8:c="or";break;case 11:c="sub";break;default:c="eq";break}if(b){if(this.g(a,a.left())){this.h.l("(")}this.visit(a.left());if(this.g(a,a.left())){this.h.l(")")}this.h.l(" ");this.h.l(c);this.h.l(" ");if(this.g(a,a.right())){this.h.l("(")}this.visit(a.right());if(this.g(a,a.right())){this.h.l(")")}}else{if(a.operator()==15){this.h.l("(")}else{this.h.u(c+" ")}if(a.left()!=null){this.visit(a.left())}else{this.visit(a.right())}if(a.operator()==15){this.h.l(")")}}},g:function(a,b){var c=a.precedence();var d=b!=null?b.precedence():0;if(b!=null&&b.isOperation()&&b.operator()==15){return false}return d0){switch(a){case 1:this.init1.apply(this,arguments);break}return}$.ig.$op.init.call(this);this.propertyName(b)},a:false,init1:function(a,b,c){$.ig.$op.init.call(this);this.propertyName(b);this.direction(c)},f:null,propertyName:function(a){if(arguments.length===1){this.f=a;return a}else{return this.f}},c:0,direction:function(a){if(arguments.length===1){this.c=a;return a}else{return this.c}},equals:function(a){var b=a;if(b==null){return $.ig.$op.equals.call(this,a)}return b.propertyName()==this.propertyName()&&b.direction()==this.direction()},getHashCode:function(){return this.propertyName().getHashCode()*17+this.direction()},h:function(){this.a=true},$type:new $.ig.Type("SortDescription",$.ig.$ot)},true);$c("SortDescriptionCollection:ay","Object",{_getInner:function(){return this.f},d:null,syncTarget:function(a){if(arguments.length===1){if(a==null){this.f.syncTarget(null);this.d=null;return}this.d=a;this.f.syncTarget(this.d.f);return a}else{return this.d}},f:null,init:function(){$.ig.$op.init.call(this);this.f=new $.ig.SyncableObservableCollection$1($$t.$ax.$type)},add:function(a){return this.f.add(a)},insert:function(a,b){this.f.add1(a,b)},clear:function(){this.f.clear()},get:function(a){return this.f.get(a)},indexOf:function(a){return this.f.indexOf(a)},remove:function(a){return this.f.remove1(a)},removeAt:function(a){return this.f.remove(a)},set:function(a,b){return this.f.set(a,b)},size:function(){return this.f.size()},_addListener:function(a){this.f.addListener(a)},_removeListener:function(a){this.f.removeListener(a)},_onChanged:function(a){if(arguments.length===1){this.f._onChanged(a);return a}else{return this.f._onChanged()}},k:function(){return this.f.all()},$type:new $.ig.Type("SortDescriptionCollection",$.ig.$ot)},true);$c("BaseDataSource:az","Object",{init:function(){this.k=null;this.ad=0;this.ae=0;this.af=0;this.s=false;this.r=false;this.b=null;this.a=null;this.c=null;this.t=false;this.u=false;this.p=false;this.w=true;this.v=false;this.x=true;$.ig.$op.init.call(this);this.h=new $$t.a1(this);this.o=new $$t.ay;this.n=new $$t.ay;this.o._addListener(this.bt.runOn(this));this.n._addListener(this.a3.runOn(this));this.e=new $$t.q;this.e._addListener(this.a1.runOn(this))},bt:function(a,b){this.onSortDescriptionsChanged(b)},a3:function(a,b){this.onGroupDescriptionsChanged(b)},a1:function(a,b){this.onFilterExpressionsChanged(b)},onSortDescriptionsChanged:function(a){this.queueAutoRefresh()},onGroupDescriptionsChanged:function(a){if(this.isGroupingSupported()){if(this.groupDescriptions()!=null&&this.groupDescriptions().k().count()>0){this._aa=true}else{this._aa=false}this.queueAutoRefresh()}},_aa:false,onFilterExpressionsChanged:function(a){this.queueAutoRefresh()},isPlaceholderItem:function(a){return false},_ah:null,_m:null,o:null,n:null,e:null,f:null,actualBaseDataProvider:function(){},k:null,actualSchema:function(a){if(arguments.length===1){var b=this.k;this.k=a;if(b!=this.k){this.onPropertyUpdated("ActualSchema",b,this.k)}return a}else{return this.k}},ad:0,actualCount:function(a){if(arguments.length===1){var b=this.ad;this.ad=a;if(b!=this.ad){this.onPropertyUpdated("ActualCount",b,this.ad)}return a}else{return this.ad}},ae:0,firstVisibleIndexRequested:function(a){if(arguments.length===1){var b=this.ae;this.ae=a;if(b!=this.ae){this.onPropertyUpdated("FirstVisibleIndexRequested",b,this.ae)}return a}else{return this.ae}},af:0,lastVisibleIndexRequested:function(a){if(arguments.length===1){var b=this.af;this.af=a;if(b!=this.af){this.onPropertyUpdated("LastVisibleIndexRequested",b,this.af)}return a}else{return this.af}},l:null,updateNotifier:function(a){if(arguments.length===1){var b=this.l;this.l=a;if(b!=this.l){this.onPropertyUpdated("UpdateNotifier",b,this.l)}return a}else{return this.l}},getItemAtIndex:function(a){return null},getItemProperty:function(a,b){if(this.actualBaseDataProvider()!=null){var item_=a;if(item_!=null&&item_.$$isSpecialRow!==undefined){return this.getSpecialRowItemValue(a,b)}return this.actualBaseDataProvider().getItemValue(a,b)}return null},getSpecialRowItemValue:function(a,b){if(a.rowType()==3){return this.getItemProperty(a.targetRow(),b)}return a.getValue(b)},getItemPropertyAtIndex:function(a,b){return null},fullSectionInformationWillForceLoad:function(){return false},propertyChanged:null,onPropertyUpdated:function(a,b,c){if(this.propertyChanged!=null){this.propertyChanged(this,new $$0.b7(a))}this.propertyUpdatedOverride(a,b,c)},propertyUpdatedOverride:function(a,b,c){switch(a){case"PrimaryKey":this.actualPrimaryKey(this.primaryKey());break;case"ActualPrimaryKey":this.onActualPrimaryKeyChanged(b,c);break;case"ExecutionContext":if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().executionContext(this.executionContext())}this.queueAutoRefresh();break;case"LastVisibleIndexRequested":case"FirstVisibleIndexRequested":this.onRequestedVisibleRangeChanged();break;case"ActualDataProvider":this.onActualDataProviderChanged(b,c);break;case"DeferAutoRefresh":if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().deferAutoRefresh(this.deferAutoRefresh())}if(!c){this.queueAutoRefresh()}break;case"PropertiesRequested":if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().propertiesRequested(this.propertiesRequested())}break;case"ShouldEmitSectionFooters":case"ShouldEmitSectionHeaders":case"ShouldEmitShiftedRows":this.queueAutoRefresh();break}},onActualPrimaryKeyChanged:function(a,b){this.onActualPrimaryKeyChangedOverrride(a,b)},onActualPrimaryKeyChangedOverrride:function(a,b){},isVirtual:function(){return false},h:null,dataProviderUpdateNotifier:function(){return this.h},onActualDataProviderChanged:function(a,b){var c=a;var d=b;if(c!=null){c.updateNotifier(null)}if(d!=null){d.updateNotifier(this.h)}if(c!=null){c.schemaChanged=$.ig.Delegate.prototype.remove(c.schemaChanged,this.ay.runOn(this))}if(d!=null){d.schemaChanged=$.ig.Delegate.prototype.combine(d.schemaChanged,this.ay.runOn(this));d.executionContext(this.executionContext());this.notifyUsingSourceIndexes(this.actualBaseDataProvider().notifyUsingSourceIndexes())}else{this.notifyUsingSourceIndexes(false)}if(c!=null){this.sortDescriptions().syncTarget(null);this.groupDescriptions().syncTarget(null);this.filterExpressions().syncTarget(null)}if(d!=null){this.sortDescriptions().syncTarget(d.sortDescriptions());this.groupDescriptions().syncTarget(d.groupDescriptions());this.filterExpressions().syncTarget(d.filterExpressions());if(this.propertiesRequested()!=null){d.propertiesRequested(this.propertiesRequested())}}this.queueAutoRefresh()},onRequestedVisibleRangeChanged:function(){},j:null,executionContext:function(a){if(arguments.length===1){var b=this.j;this.j=a;if(this.j!=b){this.onPropertyUpdated("ExecutionContext",b,this.j)}return a}else{return this.j}},schemaChanged:null,canInitialize:function(){if(this.j!=null&&this.actualBaseDataProvider()!=null){return true}return false},s:false,isInitializing:function(){return this.s},isSortingSupported:function(){return false},isFilteringSupported:function(){return false},sortDescriptions:function(){return this.o},groupDescriptions:function(){return this.n},filterExpressions:function(){return this.e},r:false,deferAutoRefresh:function(a){if(arguments.length===1){var b=this.r;this.r=a;if(this.r!=b){this.onPropertyUpdated("DeferAutoRefresh",b,this.r)}return a}else{return this.r}},b:null,primaryKey:function(a){if(arguments.length===1){var b=this.b;this.b=a;if(this.b!=b){this.onPropertyUpdated("PrimaryKey",b,this.b)}return a}else{return this.b}},a:null,actualPrimaryKey:function(a){if(arguments.length===1){var b=this.a;this.a=a;if(this.a!=b){this.onPropertyUpdated("ActualPrimaryKey",b,this.a)}return a}else{return this.a}},c:null,propertiesRequested:function(a){if(arguments.length===1){var b=this.c;this.c=a;if(this.c!=b){this.onPropertyUpdated("PropertiesRequested",b,this.c)}return a}else{return this.c}},t:false,notifyUsingSourceIndexes:function(a){if(arguments.length===1){var b=this.t;this.t=a;if(this.t!=b){this.onPropertyUpdated("NotifyUsingSourceIndexes",b,this.t)}return a}else{return this.t}},isItemIndexLookupSupported:function(){return false},isKeyIndexLookupSupported:function(){return false},initializeOverride:function(){},u:false,resolveFullCount:function(a){return a},ay:function(a,b){var $self=this;var c=this.executionContext();c.execute(function(){$self.u=true;$self.q=true;$self.queueAutoRefresh();if($self.deferAutoRefresh()){$self.actualSchema(b.schema());$self.actualCount($self.resolveFullCount(b.count()));$self.a5()}})},a5:function(){if(this.schemaChanged!=null){this.schemaChanged(this,new $$t.y(this.actualSchema(),this.actualCount()))}},onSetItem:function(a,b,c){this.onSetItemOverride(a,b,c)},onBroadcastSetItem:function(a,b,c){if(this.updateNotifier()!=null){this.updateNotifier().notifySetItem(a,b,c)}},onSetItemOverride:function(a,b,c){if(this.actualBaseDataProvider()!=null){this.actualCount(this.resolveFullCount(this.actualBaseDataProvider().actualCount()))}this.onBroadcastSetItem(a,b,c)},onClearItems:function(){this.onClearItemsOverride()},onBroadcastClearItems:function(){if(this.updateNotifier()!=null){this.updateNotifier().notifyClearItems()}},onClearItemsOverride:function(){if(this.actualBaseDataProvider()!=null){this.actualCount(this.resolveFullCount(this.actualBaseDataProvider().actualCount()))}this.onBroadcastClearItems()},onInsertItem:function(a,b){this.onInsertItemOverride(a,b)},onBroadcastInsertItem:function(a,b){if(this.updateNotifier()!=null){this.updateNotifier().notifyInsertItem(a,b)}},onInsertItemOverride:function(a,b){if(this.actualBaseDataProvider()!=null){this.actualCount(this.resolveFullCount(this.actualBaseDataProvider().actualCount()))}this.onBroadcastInsertItem(a,b)},onRemoveItem:function(a,b){this.onRemoveItemOverride(a,b)},onBroadcastRemoveItem:function(a,b){if(this.updateNotifier()!=null){this.updateNotifier().notifyRemoveItem(a,b)}},onRemoveItemOverride:function(a,b){if(this.actualBaseDataProvider()!=null){this.actualCount(this.resolveFullCount(this.actualBaseDataProvider().actualCount()))}this.onBroadcastRemoveItem(a,b)},notifySetItem:function(a,b,c){if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().notifySetItem(a,b,c)}},notifyClearItems:function(){if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().notifyClearItems()}},notifyInsertItem:function(a,b){if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().notifyInsertItem(a,b)}},notifyRemoveItem:function(a,b){if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().notifyRemoveItem(a,b)}},p:false,queueAutoRefresh:function(){if(this.deferAutoRefresh()){return}if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().queueAutoRefresh()}if(this.p){return}if(this.executionContext()!=null){this.p=true;this.executionContext().enqueueAction(this.az.runOn(this))}},az:function(){if(this.deferAutoRefresh()){this.p=false;return}if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().flushAutoRefresh()}if(!this.p){return}this.p=false;this.br()},br:function(){if(this.actualBaseDataProvider()!=null){this.actualSchema(this.actualBaseDataProvider().actualSchema());this.actualCount(this.resolveFullCount(this.actualBaseDataProvider().actualCount()))}if(this.actualSchema()!=null&&this.primaryKey()==null){this.actualPrimaryKey(this.actualSchema().primaryKey())}this.refreshInternalOverride();if(this.u){this.u=false;this.a5()}},refreshInternalOverride:function(){},flushAutoRefresh:function(){this.az()},refresh:function(){if(this.actualBaseDataProvider()!=null){this.actualBaseDataProvider().refresh()}this.br()},indexOfItem:function(a){return-1},indexOfKey:function(a){return-1},getPrimaryKeyValue:function(a,b){var c=this.actualPrimaryKey();if(c==null||c.length<1||this.actualBaseDataProvider()==null){return}for(var d=0;d0){this.d=new Array(a.propertyNames().length);this.q=false}},resolveSchemaPropertyType:function(a){return this.actualBaseDataProvider().resolveSchemaPropertyType(a)},$type:new $.ig.Type("BaseDataSource",$.ig.$ot,[$$t.$s.$type])},true);$c("SectionData:a0","Object",{init:function(){$.ig.$op.init.call(this)},_f:0,_g:0,_e:0,_a:null,_b:null,_d:0,_c:0,$type:new $.ig.Type("SectionData",$.ig.$ot)},true);$c("DefaultDataSourceDataProviderUpdateNotifier:a1","Object",{a:null,init:function(a){$.ig.$op.init.call(this);this.a=a},notifySetItem:function(a,b,c){this.a.onSetItem(a,b,c)},notifyClearItems:function(){this.a.onClearItems()},notifyInsertItem:function(a,b){this.a.onInsertItem(a,b)},notifyRemoveItem:function(a,b){this.a.onRemoveItem(a,b)},$type:new $.ig.Type("DefaultDataSourceDataProviderUpdateNotifier",$.ig.$ot,[$$t.$aa.$type])},true);$c("DataSourceSpecialRow:a2","Object",{init:function(){this.$$isSpecialRow=true;this.e=new $$4.h(String,$.ig.$op.$type,0);this.d=new $$4.h(String,$.ig.$op.$type,0);$.ig.$op.init.call(this)},$$isSpecialRow:false,e:null,d:null,_rowType:0,rowType:function(a){if(arguments.length===1){this._rowType=a;return a}else{return this._rowType}},_targetRow:null,targetRow:function(a){if(arguments.length===1){this._targetRow=a;return a}else{return this._targetRow}},getValue:function(a){var $self=this;if(a=="SectionInformation"){return this.d}var b;if(function(){var c=$self.e.tryGetValue(a,b);b=c.p1;return c.ret}()){return b}return null},getSectionValue:function(a){var $self=this;var b;if(function(){var c=$self.d.tryGetValue(a,b);b=c.p1;return c.ret}()){return b}return null},setValue:function(a,b){this.e.item(a,b)},setSectionValue:function(a,b){this.d.item(a,b)},getSectionKeys:function(){var a=new Array(this.d.keys().count());var b=0;var d=this.d.keys().getEnumerator();while(d.moveNext()){var c=d.current();a[b]=c;b++}return a},$type:new $.ig.Type("DataSourceSpecialRow",$.ig.$ot)},true);$c("LocalDataSource:a3","BaseDataSource",{actualBaseDataProvider:function(){return this.actualDataProvider()},bw:null,dataProvider:function(a){if(arguments.length===1){var b=this.bw;this.bw=a;if(b!=this.bw){this.onPropertyUpdated("DataProvider",b,this.bw)}return a}else{return this.bw}},bv:null,actualDataProvider:function(a){if(arguments.length===1){var b=this.bv;this.bv=a;if(b!=this.bv){this.onPropertyUpdated("ActualDataProvider",b,this.bv)}return a}else{if(this.bv==null){this.actualDataProvider(this.resolveDataProvider())}return this.bv}},ch:null,itemsSource:function(a){if(arguments.length===1){var b=this.ch;this.ch=a;if(b!=this.ch){this.onPropertyUpdated("ItemsSource",b,this.ch)}return a}else{return this.ch}},canInitialize:function(){var a=$$t.$az.canInitialize.call(this);if(!a){return false}return this.itemsSource()!=null},b1:null,b2:function(a){if(arguments.length===1){this.b1=a;this.actualDataProvider(this.resolveDataProvider());return a}else{return this.b1}},init:function(){this.b5=null;this.b3=null;this.cg=new $$4.x(Array,0);this.b8=false;this.bu=null;this.cl=-1;this.cj=-1;this.cm=-1;this.ck=-1;$$t.$az.init.call(this);this.executionContext(new $$t.b)},resolveDataProvider:function(){var provider_=new $$t.a;provider_.executionContext(new $$t.b);return provider_},propertyUpdatedOverride:function(a,b,c){ $$t.$az.propertyUpdatedOverride.call(this,a,b,c);switch(a){case"DataProvider":this.actualDataProvider(this.dataProvider());break;case"ActualDataProvider":if(this.actualDataProvider()!=null){this.actualDataProvider().dataSource(this.itemsSource());this.actualSchema(this.actualDataProvider().actualSchema());this.actualCount(this.resolveFullCount(this.actualDataProvider().actualCount()))}this.queueAutoRefresh();break;case"ItemsSource":if(this.actualDataProvider()!=null){this.actualDataProvider().dataSource(this.itemsSource());this.actualSchema(this.actualDataProvider().actualSchema());this.actualCount(this.resolveFullCount(this.actualDataProvider().actualCount()))}this.queueAutoRefresh();break}},getItemAtIndex:function(a){if(this.b5!=null&&this.b5.view()!=null){return this.b5.view().item(a)}else{return this.actualDataProvider().getItemAtIndex(a)}},getItemPropertyAtIndex:function(a,b){var c;if(this.b5!=null){c=this.b5.view().item(a)}else{c=this.actualDataProvider().getItemAtIndex(a)}var item_=c;if(item_!=null&&item_.$$isSpecialRow!==undefined){return this.getSpecialRowItemValue(c,b)}return this.actualDataProvider().getItemValue(c,b)},b5:null,b7:null,b0:function(){return this.actualDataProvider()},ca:function(){return this.cg!=null&&this.cg.count()>0},refreshInternalOverride:function(){$$t.$az.refreshInternalOverride.call(this);if(this.actualDataProvider()!=null){if(this.cb()||this.cc()||this.cd()||this.ca()){if(this.b5==null){if(this.b7==null){this.b7=new $$t.a5(this)}this.b5=new $$t.bd(this.actualDataProvider());this.b5.updateNotifier(this.b7)}this.ensureComparables(this.actualDataProvider().actualSchema());this.b5.shouldEmitSectionHeaders(this.shouldEmitSectionHeaders()&&this._aa);this.b5.shouldEmitSectionFooters(this.shouldEmitSectionFooters()&&this._aa);this.b5.shouldEmitShiftedRows(this.shouldEmitShiftedRows());this.b5.setPinnedKeys(this.cg);this.b5.sortComparer(this.cf());this.b5.groupComparer(this.ce());this.b5.primaryKeyComparer(this.b4());this.b5.groupDescriptions(this.groupDescriptions());this.b5.sortDescriptions(this.sortDescriptions());this.b5.dataSource(this);this.b5.isGrouping(this.groupDescriptions()!=null&&this.groupDescriptions().k().count()>0);this.b5.filter(this.b6());this.b5.refresh();this.actualSchema(this.actualDataProvider().actualSchema());this.actualCount(this.b5.view().count())}else{var a=this.b0();this.actualSchema(this.actualDataProvider().actualSchema());if(a!=null){this.actualCount(a.actualCount())}else{this.actualCount(0)}if(this.b5!=null){this.b5.updateNotifier(null);this.b5=null;this.onBroadcastClearItems()}}}else{this.actualCount(0);this.actualSchema(null)}},isItemIndexLookupSupported:function(){return true},isKeyIndexLookupSupported:function(){return true},indexOfItem:function(a){if(this.b5!=null){return this.b5.view().indexOf(a)}if(this.actualDataProvider()!=null&&this.actualDataProvider().isItemIndexLookupSupported()){return this.actualDataProvider().indexOfItem(a)}if(this.actualDataProvider()!=null){var b=this.actualDataProvider().actualCount();var c;for(var d=0;d0},onClearItemsOverride:function(){if(this.b5!=null){this.b5.notifyClearItems()}else{$$t.$az.onClearItemsOverride.call(this)}},onSetItemOverride:function(a,b,c){if(this.b5!=null){this.b5.notifySetItem(a,b,c)}else{$$t.$az.onSetItemOverride.call(this,a,b,c)}},onInsertItemOverride:function(a,b){if(this.b5!=null){this.b5.notifyInsertItem(a,b)}else{$$t.$az.onInsertItemOverride.call(this,a,b)}},onRemoveItemOverride:function(a,b){if(this.b5!=null){this.b5.notifyRemoveItem(a,b)}else{$$t.$az.onRemoveItemOverride.call(this,a,b)}},cq:function(){this.actualCount(this.b5.view().count());this.onBroadcastClearItems()},ct:function(a,b,c){this.actualCount(this.b5.view().count());this.onBroadcastSetItem(a,b,c)},cr:function(a,b){this.actualCount(this.b5.view().count());this.onBroadcastInsertItem(a,b)},cs:function(a,b){this.actualCount(this.b5.view().count());this.onBroadcastRemoveItem(a,b)},cg:null,pinRow:function(a){$$t.$az.pinRow.call(this,a);this.cl=-1;this.cj=-1;if(this.b5!=null){this.cg.add(a);this.b5.pinRow(a)}else{this.cg.add(a);this.queueAutoRefresh()}},unpinRow:function(a){$$t.$az.unpinRow.call(this,a);var b=this.b4();if(this.b5!=null){for(var c=this.cg.count()-1;c>=0;c--){var d=this.cg.__inner[c];if(d.length!=a.length){continue}if(b.compareKeys(d,a)==0){this.cg.removeAt(c);this.b5.unpinRow(d)}}}else{for(var e=this.cg.count()-1;e>=0;e--){var f=this.cg.__inner[e];if(f.length!=a.length){continue}if(b.compareKeys(f,a)==0){this.cg.removeAt(e)}}this.queueAutoRefresh()}this.cl=-1;this.cj=-1},isRowPinned:function(a){if(this.b5==null){return false}var b=this.getItemAtIndex(a);if(b==null){return false}var item_=b;if(item_!=null&&item_.$$isSpecialRow!==undefined){if(item_.rowType()==3){return true}}var c=this.b4();var d;if(this.actualPrimaryKey()==null){d=new Array(1);d[0]=b}else{var e=this.actualPrimaryKey();var f=e.length;d=new Array(f);for(var g=0;g0&&this.pageSize()>0){this.w=$.ig.truncate(Math.ceil(this.fullCount()/this.pageSize()))}},ax:function(){this.enqueueUpdate()},i:false,enqueueUpdate:function(){if(this.i){return}if(this.executionContext()!=null){this.i=true;this.executionContext().enqueueAction(this.av.runOn(this))}},av:function(){this.i=false;this.a4()},a4:function(){if(this.t==-1||this.x==-1){return}this.at();this.a5();this.a6();if(this.q!=0){this.as()}},a3:function(){this.h=false;this.a4()},h:false,as:function(){if(this.h){return}if(this.executionContext()!=null){this.h=true;this.executionContext().executeDelayed(this.a3.runOn(this),0)}},g:null,p:null,a6:function(){var a=this.ac();var b=this.ad();var c=true;var d;for(var e=a;e<=b;e++){d=e;c=this.j(d,2)}if(this.q>0){d=b;while(c){d++;c=this.j(d,1)}}else if(this.q<0){d=a;while(c){d--;c=this.j(d,1)}}this.a0()},o:null,a0:function(){this.o.clear();var a=this.g._o;var b=this.g._o.count();var c=this.g._p;for(var d=0;dthis.w){return false}if(this.l(a)){this.removeCandidate(a);return false}if(this.m(a,this.fetchAheadMilliseconds())){this.removeCandidate(a);return false}if(this.n()){this.removeCandidate(a);return false}this.ar(a,b);return true},ar:function(a,b){if(!this.g.d(a)){if(this.d!=null){if(this.d.addCandidate(a,b)){this.g.s(a,a)}}}},removeCandidate:function(a){if(this.g.d(a)){this.g.f(a);if(this.d!=null){this.d.removeCandidate(a)}}},n:function(){return this.g.r()>=this.maximumPageCandidates()},m:function(a,b){var c=b/1e3;var d=c*this.q;if(this.k(a)){return false}if(d>0){var e=d+this.lastVisibleIndexRequested();if(e>=a*this.pageSize()){return false}}else{var f=this.firstVisibleIndexRequested()+d;if(f<=a*this.pageSize()+this.pageSize()){return false}}return true},k:function(a){var b=a*this.pageSize();var c=b+this.pageSize();if(this.lastVisibleIndexRequested()c){return false}return true},l:function(a){var b=this.pageVisibilityDisplayThresholdMilliseconds()/1e3;var c=b*this.q;if(c>0){var d=c+this.firstVisibleIndexRequested();if(d>a*this.pageSize()+this.pageSize()){return true}}else{var e=this.lastVisibleIndexRequested()+c;if(ethis.d-1){this.b=0}},h:function(){for(var a=0;a300){continue}if(this._a[h]._ab){b=this._a[h]._a;e=this._a[h]._b.__x;f=this._a[h]._b.__y}}var i=b-a;i=Math.max(i,16);var j=i/1e3;if(j==0){return{__x:c,__y:d,$type:$$a.$y.$type,getType:$.ig.$op.getType,getGetHashCode:$.ig.$op.getGetHashCode,typeName:$.ig.$op.typeName}}return{__x:(e-c)/j,__y:(f-d)/j,$type:$$a.$y.$type,getType:$.ig.$op.getType,getGetHashCode:$.ig.$op.getGetHashCode,typeName:$.ig.$op.typeName}},c:0,g:function(){var a=$$0.$s.now();return a.getTime()},e:function(){var a=this.g()-this.f;if(a==this.c){a+=1}this.c=a;return a},$type:new $.ig.Type("DataSourceVelocityTracker",$.ig.$ot)},true);$c("IPageCandidatesSink:ba","Object",{$type:new $.ig.Type("IPageCandidatesSink",null)},true);$c("SectionMap:bb","Object",{init:function(){this.a=new $$t.a0;this.g=new $$t.bf;this.h=new $$t.bg;this.m=new $$4.x($$t.$a0.$type,0);this.j=new $$t.bc;this.i=new $$t.bc;$.ig.$op.init.call(this)},a:null,g:null,h:null,m:null,n:function(){return this.m},o:function(){return this.m.__inner[this.m.count()-1]._e},l:function(){return this.n().count()>0},k:function(a,b,c){if(a>=0&&a=d._g&&b<=d._e){c._c++;if(c._c>=c._a.length){c._c=0}c._b[c._c]=a;c._a[c._c]=d;return true}}return false},j:null,d:function(a){return this.e(a,this.g,this.j)},e:function(a,b,c){if(c._a==null){c._a=new Array(5);c._b=new Array(5);for(var d=0;d=c._a[c._c]._g&&a<=c._a[c._c]._e){return c._a[c._c]}for(var e=0;e=c._a[e]._g&&a<=c._a[e]._e){c._c=e;return c._a[c._c]}}}var f=c._b[c._c]+1;if(this.k(f,a,c)){return c._a[c._c]}f=c._b[c._c]-1;if(this.k(f,a,c)){return c._a[c._c]}}this.a._g=a;var g=this.m.binarySearch1(this.a,b);if(g<0){g=~g;g--}if(this.k(g,a,c)){return c._a[c._c]}if(this.k(g+1,a,c)){return c._a[c._c]}if(this.k(g-1,a,c)){return c._a[c._c]}return null},p:function(){this.m.clear();this.j._a=null;this.i._a=null},v:function(a,b,c){for(var d=a._f+1;d0){e._c=this.m.__inner[this.m.count()-1]._c}var f=new Array(d.length);for(var g=0;g0){this.q=true;this.at()}else{this.l.n().add(function(){var $ret=new $$t.a0;$ret._f=0;$ret._a=null;$ret._b=null;$ret._g=0;$ret._e=$self.ae.count();return $ret}())}var e=this.primaryKeyComparer();var f=new $$4.x($.ig.$op.$type,0);if(this.ad.count()>0&&this.shouldEmitShiftedRows()){if(!this.q){var g=this.l.n().__inner[0];for(var h=0;hc){d=this.aj(a,h,b);g=true;break}}}if(!g){d=this.ai(a,b,true);g=true}}return d},sections:function(){return this.l.n()},_shouldEmitSectionHeaders:false,shouldEmitSectionHeaders:function(a){if(arguments.length===1){this._shouldEmitSectionHeaders=a;return a}else{return this._shouldEmitSectionHeaders}},_shouldEmitSectionFooters:false,shouldEmitSectionFooters:function(a){if(arguments.length===1){this._shouldEmitSectionFooters=a;return a}else{return this._shouldEmitSectionFooters}},_shouldEmitShiftedRows:false,shouldEmitShiftedRows:function(a){if(arguments.length===1){this._shouldEmitShiftedRows=a;return a}else{return this._shouldEmitShiftedRows}},q:false,at:function(){if(this.ae.count()==0){return}var a=null;var b=this.a();var c=this.b();var d=true;var e=this.groupComparer();var f=0;for(f=0;f2){return false}for(var c=a._g;c<=a._e;c++){if(this.dataSource().getRowType(c)==0){return false}}return true},an:function(a){if(this.y(a)){var b=this.ae.binarySearch1(a,this.aa);if(b<0){b=~b}this.av(b,a)}},ad:null,pinRow:function(a){this.ad.add(a);var b=this.dataSource().indexOfKey(a);var c=this.dataSource().getItemAtIndex(b);if(b==-1){return}if(this.shouldEmitShiftedRows()){var d=this.l.d(b);var e=this.al(d,this.ae.__inner[b]);if(this.updateNotifier()!=null){this.updateNotifier().notifyInsertItem(e,this.ae.__inner[e])}}},unpinRow:function(a){if(this.ad.remove(a)){var b=this.dataSource().indexOfKey(a);var c=this.dataSource().getItemAtIndex(b);if(b==-1){return}var d=this.l.d(b);var e=d._g;if(this.shouldEmitSectionHeaders()){e+=1}if(this.shouldEmitShiftedRows()){var f=this.j(e,this.ae.__inner[b],d._d,this.a());if(f!=null){d._e--;d._d--;d._c--;this.l.v(d,-1,-1);if(this.updateNotifier()!=null){this.updateNotifier().notifyRemoveItem(f._a,f.item())}}}}},j:function(a,b,c,d){for(var e=a+(c-1);e>=a;e--){if($b($$t.$a2.$type,this.ae.__inner[e])!==null){var f=this.ae.__inner[e];if(f.rowType()==3){var g=f.targetRow();if(g==b){this.ae.removeAt(e);return function(){var $ret=new $$t.bh;$ret.item(f);$ret._a=e;return $ret}()}}}}return null},az:function(a){var b=this.ae.binarySearch1(a,this.aa);if(b>=0){var c=this.ae.count();var d=0;while(dc-1){break}if(e>=0){if(this.ae.__inner[e]!=null&&this.ae.__inner[e].equals(a)){b=e;break}}if(fc-1){return}var g=this.ae.__inner[b];if(g==null&&a==null){this.ae.removeAt(b);this.m.notifyRemoveItem(b,a);this.a5(b,a);return}if(g==null){return}if(g.equals(a)){this.ae.removeAt(b);this.m.notifyRemoveItem(b,a);this.a5(b,a)}}else{var h=this.ae.count();for(var i=0;ithis.actualDataProvider().actualCount()){return}}b=this.cl(b);var c=b+a.count()-1;c=this.cl(c);if(b>0&&this.getRowType(b-1)==1){b--}if(this.actualCount()==0&&a.count()==0){this.onClearItems()}else{this.updateNotifier().rangeActualized(b,c)}}},cl:function(a){if(this._aa&&this.b8.l()){var b=this.b8.f(a);return a+b._c}return a},cy:function(a){a()},isVirtual:function(){return true},b9:null,ce:null,cb:false,bu:null,isPlaceholderItem:function(a){var b=this.bx(a);var c=b[0];if(!this.b9.d(c)){return true}return false},getItemAtIndex:function(a){var b=this.bx(a);var c=b[0];if(!this.b9.d(c)){if(b[1]==-1){return this.cq(a)}return null}var d=this.b9.item(c);var e=b[1];if(e==-1){return this.cq(a)}return d.getItemAtIndex(e)},cq:function(a){var b=this.b7(a);if(a==b._g){var c=new $$t.a2;c.rowType(1);for(var d=0;d