Hello,
We have logic of our own to set sortNormalizers on our user-defined formulas. With 9.1, we noticed our sortNormalizers were no longer being applied. So, I inspected the code and found the problem and created a patch. You'll see the method below will check to see if a sortNormalizer already exists. If it doesn't, then it creates one. But, if it does, it does nothing.
Would you be willing to apply this patch to your codebase? Alternatively, the reason we defined our own patch was to treat both infinity and NaN values as null for accurate sorting.
We have logic of our own to set sortNormalizers on our user-defined formulas. With 9.1, we noticed our sortNormalizers were no longer being applied. So, I inspected the code and found the problem and created a patch. You'll see the method below will check to see if a sortNormalizer already exists. If it doesn't, then it creates one. But, if it does, it does nothing.
Would you be willing to apply this patch to your codebase? Alternatively, the reason we defined our own patch was to treat both infinity and NaN values as null for accurate sorting.
Code:
if (window.isc && (isc.version.indexOf("v9.1")>-1)) { isc.Canvas.getPrototype().addProperties({ getFormulaFunction: function (_1){ if(!_1||!_1.userFormula)return null; var _2=_1.$65w; if(_2!=null&&_2.$111j==_1.userFormula)return _2; _2=_1.$65w=isc.FormulaBuilder.generateFunction(_1.userFormula,this.getAllFields(),this); _2.$111j=_1.userFormula; //4/26/13..check to ensure sortNormalizer isn't already defined if(_1.sortNormalizer==null){ var _3=function(_4,_1,_5){return _2(_4,_5)} _1.sortNormalizer=_3; } return _2 } }) }
Comment