aboutsummaryrefslogtreecommitdiffstats
path: root/src/services.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/services.js')
-rw-r--r--src/services.js15
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;
});