From 41b3f9ffe321e1253f8d00eecda25d08f1b85661 Mon Sep 17 00:00:00 2001
From: Grevil <js@webks.de>
Date: Mon, 3 Jul 2023 10:23:54 +0200
Subject: [PATCH 1/3] Fix scrolling

---
 src/EventSubscriber/AjaxResponseSubscriber.php | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/EventSubscriber/AjaxResponseSubscriber.php b/src/EventSubscriber/AjaxResponseSubscriber.php
index 2c83a8d..564267b 100644
--- a/src/EventSubscriber/AjaxResponseSubscriber.php
+++ b/src/EventSubscriber/AjaxResponseSubscriber.php
@@ -4,7 +4,6 @@ namespace Drupal\views_infinite_scroll\EventSubscriber;
 
 use Drupal\views\Ajax\ViewAjaxResponse;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
 use Symfony\Component\HttpKernel\KernelEvents;
 
 /**
@@ -26,7 +25,7 @@ class AjaxResponseSubscriber implements EventSubscriberInterface {
         $command['method'] = 'infiniteScrollInsertView';
       }
       // Stop the view from scrolling to the top of the page.
-      if ($command['command'] === 'viewsScrollTop') {
+      if (in_array($command['command'], ['scrollTop', 'viewsScrollTop'])) {
         unset($commands[$delta]);
       }
     }
-- 
GitLab


From d000303387eccd7b7803f8dc2c0be42955b60bdb Mon Sep 17 00:00:00 2001
From: Grevil <js@webks.de>
Date: Mon, 3 Jul 2023 10:28:53 +0200
Subject: [PATCH 2/3] Tiny phpcs fix

---
 src/EventSubscriber/AjaxResponseSubscriber.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/EventSubscriber/AjaxResponseSubscriber.php b/src/EventSubscriber/AjaxResponseSubscriber.php
index 564267b..efbc947 100644
--- a/src/EventSubscriber/AjaxResponseSubscriber.php
+++ b/src/EventSubscriber/AjaxResponseSubscriber.php
@@ -4,6 +4,7 @@ namespace Drupal\views_infinite_scroll\EventSubscriber;
 
 use Drupal\views\Ajax\ViewAjaxResponse;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+use Symfony\Component\HttpKernel\Event\ResponseEvent;
 use Symfony\Component\HttpKernel\KernelEvents;
 
 /**
@@ -37,7 +38,7 @@ class AjaxResponseSubscriber implements EventSubscriberInterface {
    * @param \Symfony\Component\HttpKernel\Event\ResponseEvent $event
    *   The response event, which contains the possible AjaxResponse object.
    */
-  public function onResponse(\Symfony\Component\HttpKernel\Event\ResponseEvent $event) {
+  public function onResponse(ResponseEvent $event) {
     $response = $event->getResponse();
 
     // Only alter views ajax responses.
-- 
GitLab


From 24e1d469a4b6d459194703d8619744f7086bc22d Mon Sep 17 00:00:00 2001
From: Grevil <js@webks.de>
Date: Mon, 3 Jul 2023 15:12:08 +0200
Subject: [PATCH 3/3] Add comment

---
 src/EventSubscriber/AjaxResponseSubscriber.php | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/EventSubscriber/AjaxResponseSubscriber.php b/src/EventSubscriber/AjaxResponseSubscriber.php
index efbc947..782422a 100644
--- a/src/EventSubscriber/AjaxResponseSubscriber.php
+++ b/src/EventSubscriber/AjaxResponseSubscriber.php
@@ -26,6 +26,9 @@ class AjaxResponseSubscriber implements EventSubscriberInterface {
         $command['method'] = 'infiniteScrollInsertView';
       }
       // Stop the view from scrolling to the top of the page.
+      // We need to check for both commands as "viewsScrollTop" is deprecated
+      // and not used in views_ajax.js for Drupal 10.1 anymore and replaced
+      // by "scrollTop".
       if (in_array($command['command'], ['scrollTop', 'viewsScrollTop'])) {
         unset($commands[$delta]);
       }
-- 
GitLab

