diff options
Diffstat (limited to 'src/services.js')
| -rw-r--r-- | src/services.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/services.js b/src/services.js index e2132f1c..e91a8eca 100644 --- a/src/services.js +++ b/src/services.js @@ -115,5 +115,20 @@ angularService("$invalidWidgets", function(){ }); return count; }; + invalidWidgets.clearOrphans = function() { + for(var i = 0; i < invalidWidgets.length;) { + var widget = invalidWidgets[i]; + if (isOrphan(widget[0])) { + invalidWidgets.splice(i, 1); + } else { + i++; + } + } + }; + function isOrphan(widget) { + if (widget == window.document) return false; + var parent = widget.parentNode; + return !parent || isOrphan(parent); + } return invalidWidgets; }); |
