Advertisement
Guest User

Untitled

a guest
Jul 27th, 2016
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. function getWatchers(root) {
  2. root = angular.element(root || document.documentElement);
  3. var watcherCount = 0;
  4.  
  5. function getElemWatchers(element) {
  6. var isolateWatchers = getWatchersFromScope(element.data().$isolateScope);
  7. var scopeWatchers = getWatchersFromScope(element.data().$scope);
  8. var watchers = scopeWatchers.concat(isolateWatchers);
  9. angular.forEach(element.children(), function (childElement) {
  10. watchers = watchers.concat(getElemWatchers(angular.element(childElement)));
  11. });
  12. return watchers;
  13. }
  14.  
  15. function getWatchersFromScope(scope) {
  16. if (scope) {
  17. return scope.$$watchers || [];
  18. } else {
  19. return [];
  20. }
  21. }
  22.  
  23. function getWatcherExpressions (element) {
  24. var watchers = getElemWatchers(element);
  25. var watchlist = {
  26. '_total': watchers.length
  27. };
  28. angular.forEach(watchers, function (watcher) {
  29. watchlist[watcher.exp] = watchlist[watcher.exp] || [];
  30. watchlist[watcher.exp].push(watcher);
  31. });
  32. return watchlist;
  33. }
  34.  
  35. return getWatcherExpressions(root);
  36. }
  37.  
  38. getWatchers()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement