# HG changeset patch
# User Elodie Thieblin <ethieblin@logilab.fr>
# Date 1605632499 -3600
#      Tue Nov 17 18:01:39 2020 +0100
# Node ID abc0a8f42d8b530fb2972632d4cf7c1500de6eae
# Parent  c16822595d811a9fd5092221618218ebc45798db
[pagination] Number of items per page as query parameter

diff --git a/cubicweb_elasticsearch/views.py b/cubicweb_elasticsearch/views.py
--- a/cubicweb_elasticsearch/views.py
+++ b/cubicweb_elasticsearch/views.py
@@ -127,7 +127,8 @@
     def do_search(self, query_string):
         get_connection(self._cw.vreg.config)
         facet_selections = {}
-        start, stop = 0, 10
+        items_per_page = int(self._cw.form.get("items_per_page", 10))
+        start, stop = 0, items_per_page
         for key, value in self._cw.form.items():
             if key.startswith("es_"):
                 if isinstance(value, list):
@@ -139,8 +140,8 @@
                 facet_selections[key.replace("es_", "")] = value
             if key == "page":
                 try:
-                    start = (max(int(value) - 1, 0)) * 10
-                    stop = start + 10
+                    start = (max(int(value) - 1, 0)) * items_per_page
+                    stop = start + items_per_page
                 except ValueError:
                     pass
         search = self.customize_search(query_string, facet_selections, start, stop)