]> git.sesse.net Git - pkanalytics/commitdiff
Fix handling of multiple filters.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 29 May 2023 16:47:00 +0000 (18:47 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 29 May 2023 16:48:15 +0000 (18:48 +0200)
ultimate.js

index 40461d860a94abafd406452610b5e7ee61e74bb6..2eb282a702d9d0e9652a212b6fb50e261a76ecdd 100644 (file)
@@ -1239,22 +1239,29 @@ function keep_match(match_id, filters) {
        return true;
 }
 
+function filter_passes(players, filter) {
+       if (filter.type === 'player_any') {
+               for (const p of Array.from(filter.elements)) {
+                       if (players[p].on_field_since !== null) {
+                               return true;
+                       }
+               }
+               return false;
+       } else if (filter.type === 'player_all') {
+               for (const p of Array.from(filter.elements)) {
+                       if (players[p].on_field_since === null) {
+                               return false;
+                       }
+               }
+               return true;
+       }
+       return true;
+}
+
 function keep_event(players, filters) {
        for (const filter of filters) {
-               if (filter.type === 'player_any') {
-                       for (const p of Array.from(filter.elements)) {
-                               if (players[p].on_field_since !== null) {
-                                       return true;
-                               }
-                       }
+               if (!filter_passes(players, filter)) {
                        return false;
-               } else if (filter.type === 'player_all') {
-                       for (const p of Array.from(filter.elements)) {
-                               if (players[p].on_field_since === null) {
-                                       return false;
-                               }
-                       }
-                       return true;
                }
        }
        return true;