Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

null check patch on getGridSummaryData

$
0
0
Hi,

We were seeing an intermittent problem in getGridSummaryData. Presumably there was some conflict as we reset field data on a grid at the same time that we were trying to calculate summary data. These super defensive null checks seem to have resolved the issue. Would you consider adding some additional null checks like this into your method?

Stack of error:
08:31:12.656:TMR8:WARN:Log:TypeError: Cannot read property '0' of undefined
Stack from error.stack:
isc.ListGrid.getPrototype.addProperties.getGridSum maryData() @ js/at_js_static.js?build=V4-0-0_GA,build2903-07-31-2013-3:4522:332
summaryRow.createAutoChild.$855()
ListGrid._recalculateSummaries()
ListGrid.recalculateSummaries()
eval()
[c]Class.fireCallback()
Timer._fireTimeout()
<anonymous>:1:11() @


Code:

        if (window.isc &&  (isc.version.startsWith("v8.3") || isc.version.startsWith("v9.0"))){
                //added null check
                isc.ListGrid.getPrototype().addProperties({

                        getGridSummaryData:function(_1){
                                if(this.$84c&&!_1)return this.$84c;
                                var _2=this.completeFields||this.fields,_3=[];
                               
                                //added null check
                                if(_2!=null){
                                        for(var i=0;i<_2.length;i++){
                                                //added null check
                                                if(_2[i]!=null){
                                                        var _5=_2[i],_6=_2[i].name;
                                                        if(!this.shouldShowGridSummary(_5)){continue}
                                                        var _7=this.getGridSummary(_5),_8=this.getGridSummaryFunction(_5);
                                                        //added null check
                                                        if(_8!=null && !isc.isAn.Array(_8))_8=[_8];
                                                        //added null check
                                                        if(_7!=null &&!isc.isAn.Array(_7)){_7=[_7]}
                                       
                                                        //added null check
                                                        if(_7!=null){
                                                                for(var _9=0;_9<_7.length;_9++){
                                                                        //added null check
                                                                        if(_3!=null &&_3[_9]==null){
                                                                                _3[_9]={};
                                                                                _3[_9][this.gridSummaryRecordProperty]=true;
                                                                                _3[_9][this.recordCanSelectProperty]=false;
                                                                                //added null check
                                                                                if(_8!=null && _8[_9]=="count"){
                                                                                        var _10=_3[_9][this.recordApplyPluralTitleProperty]||[];_10.add(_6);_3[_9][this.recordApplyPluralTitleProperty]=_10
                                                                                }
                                                                        }
                                                                        //added null check
                                                                        if(_3!=null &&_3[_9]!=null){
                                                                                _3[_9][_6]=_7[_9]                                       
                                                                        }
                                                                }
                                                        }
                                                       
                                                }

                                        }
                                }

                        this.$84c=_3;
                        return _3
                        }
               
                       
                })
        }


Viewing all articles
Browse latest Browse all 4756

Trending Articles