28 lines
924 B
JavaScript
28 lines
924 B
JavaScript
|
'use strict';
|
||
|
|
||
|
angular.module('view-form').directive('onFinishRender', function ($rootScope, $timeout) {
|
||
|
return {
|
||
|
restrict: 'A',
|
||
|
link: function (scope, element, attrs) {
|
||
|
|
||
|
//Don't do anything if we don't have a ng-repeat on the current element
|
||
|
if(!element.attr('ng-repeat') && !element.attr('data-ng-repeat')){
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var broadcastMessage = attrs.onFinishRender || 'ngRepeat';
|
||
|
|
||
|
if(scope.$first && !scope.$last) {
|
||
|
scope.$evalAsync(function () {
|
||
|
$rootScope.$broadcast(broadcastMessage+' Started');
|
||
|
});
|
||
|
}else if(scope.$last) {
|
||
|
scope.$evalAsync(function () {
|
||
|
// console.log(broadcastMessage+'Finished');
|
||
|
$rootScope.$broadcast(broadcastMessage+' Finished');
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
});
|