Bug Description
With the infiniteScroll fetaure, when the grid is loading additional data (i.e. page) while a menu or column menu is open, it will throw a [$rootScope:inprog] $digest already in progress exception.
Cause
This bug was introduced in v4.2.0 by this commit which replaces $timeout with $scope.$apply in many places for performance reasons.
Specifically, dataLoaded - which is what users call once additional data has finished loading - calls adjustScroll which calls $rootScope.$applyAsync and indirectly wraps a beginScroll event trigger which has a registered handler in the column menu which in turn calls $scope.$apply again in applyHideMenu.
Possible Fix
- Restore the
$timeout in applyHideMenu in place of $scope.$apply, or:
- Use some kind of "safe"
$apply wherever we use $scope.$apply/$scope.$applyAsync