Blame view

framework/admin/javascript/leaktools.js 995 Bytes
0084d336   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  (function($){
  
  	var getHTML = function(el) {
  		var clone = el.cloneNode(true);
  
  		var div = $('<div></div>');
  		div.append(clone);
  
  		return div.html();
  	}
  
  	$.leaktools = {
  
  		logDuplicateElements: function(){
  			var els = $('*');
  			var dirty = false;
  
  			els.each(function(i, a){
  				els.not(a).each(function(j, b){
  					if (getHTML(a) == getHTML(b)) {
  						dirty = true;
  						console.log(a, b);
  					}
  				})
  			})
  
  			if (!dirty) console.log('No duplicates found');
  		},
  
  		logUncleanedElements: function(clean){
  			$.each($.cache, function(){
  				var source = this.handle && this.handle.elem;
  				if (!source) return;
  
  				var parent = source;
  				while (parent && parent.nodeType == 1) parent = parent.parentNode;
  
  				if (!parent) {
  					console.log('Unattached', source);
  					console.log(this.events);
  					if (clean) $(source).unbind().remove();
  				}
  				else if (parent !== document) console.log('Attached, but to', parent, 'not our document', source);
  			})
  		}
  	};
  
  
  })(jQuery);