]> source.dussan.org Git - svg.js.git/commitdiff
Fix broken parents() function
authorMorgan Harris <gormster@me.com>
Tue, 23 Nov 2021 01:43:02 +0000 (12:43 +1100)
committerMorgan Harris <gormster@me.com>
Tue, 23 Nov 2021 01:43:02 +0000 (12:43 +1100)
src/elements/Element.js

index f39f7773bccf83dddc726cc69265eca251f06fee..a1e7236bdf688372ad0254b3083bfb0967bc6b2c 100644 (file)
@@ -87,7 +87,13 @@ export default class Element extends Dom {
 
   // return array of all ancestors of given type up to the root svg
   parents (until = this.root()) {
-    until = makeInstance(until)
+    let selector = null
+    if (typeof until === 'string') {
+      selector = until
+      until = this.root()
+    } else {
+      until = makeInstance(until)
+    }
     const parents = new List()
     let parent = this
 
@@ -101,6 +107,9 @@ export default class Element extends Dom {
       if (parent.node === until.node) {
         break
       }
+      if (selector && parent.matches(selector)) {
+        break
+      }
     }
 
     return parents