Hello,
I'm evaluating the new sortByGroupFirst method and found a bug and developed a patch.
The issue manifests when you load a saved view state that is grouped by a custom formula. Then, you switch to a new view state where that custom formula is not a known field. A simple null check in addImplicitSort seems to correct this problem.
Can you add this null check on your side?
I'm evaluating the new sortByGroupFirst method and found a bug and developed a patch.
The issue manifests when you load a saved view state that is grouped by a custom formula. Then, you switch to a new view state where that custom formula is not a known field. A simple null check in addImplicitSort seems to correct this problem.
Can you add this null check on your side?
Code:
//9/15/14..patch for missing null check on implicitSort if (window.isc && (isc.version.startsWith("v10.0") )){ isc.ListGrid.getPrototype().addProperties({ $1444:function isc_ListGrid__addImplicitSort(_1){ var _2=false,_3=this.getGroupByFields()||[],_4=isc.shallowClone(_1); if(this.sortByGroupFirst&&!_3.isEmpty()){ this.logInfo("Evaluating implicit sort for grouping "+isc.echoAll(_3),"sorting"); var _5=_1.isEmpty()?"ascending":_1[0].direction;this.$1445=this.groupSortDirection||this.$1445||_5; for(var i=0;i<_3.length;i++){ var _7=_3[i]; if(_1.find("property",_7)){ this.logInfo("Existing sort specifier found for property '"+_7+"'. Skipping.","sorting"); continue } var _8=this.getUnderlyingField(_7); //9/14/14 //ignore if field can't be found //this happens when switching between a view state grouped by a custom formula and //another view where that custom formula is not a defined field if(_8==null){ continue; } var _9={sortedImplicitly:true,context:this,normalizer:this.$1446(_8),property:_7,direction:this.$1445} _4.addAt(_9,i);_2=true} } if(_2){ this.logInfo("Returning augmented sort specifiers"+isc.echoAll(_4),"sorting") }else{ this.logInfo("Returning unmodified sort specifiers"+isc.echoAll(_4),"sorting") } return _4 } } }
Comment