ngGridDirectives.directive('ngRow', ['$compile', '$domUtilityService', '$templateCache', function ($compile, domUtilityService, $templateCache) { var ngRow = { scope: false, compile: function() { return { pre: function($scope, iElement) { $scope.row.elm = iElement; if ($scope.row.clone) { $scope.row.clone.elm = iElement; } if ($scope.row.isAggRow) { var html = $templateCache.get($scope.gridId + 'aggregateTemplate.html'); if ($scope.row.aggLabelFilter) { html = html.replace(CUSTOM_FILTERS, '| ' + $scope.row.aggLabelFilter); } else { html = html.replace(CUSTOM_FILTERS, ""); } iElement.append($compile(html)($scope)); } else { iElement.append($compile($templateCache.get($scope.gridId + 'rowTemplate.html'))($scope)); } $scope.$on('ngGridEventDigestRow', function(){ domUtilityService.digest($scope); }); } }; } }; return ngRow; }]);