diff --git a/modules/node/cms_node_api.e b/modules/node/cms_node_api.e
index 5e606a7..88bb82d 100644
--- a/modules/node/cms_node_api.e
+++ b/modules/node/cms_node_api.e
@@ -220,10 +220,10 @@ feature -- Access: Node
Result := node_storage.trashed_nodes (a_user.id)
end
- recent_nodes (a_pagination: CMS_DATA_QUERY_PARAMETERS): ITERABLE [CMS_NODE]
+ recent_nodes (params: CMS_DATA_QUERY_PARAMETERS): ITERABLE [CMS_NODE]
-- List of the `a_rows' most recent nodes starting from `a_offset'.
do
- Result := node_storage.recent_nodes (a_pagination.offset.to_integer_32, a_pagination.size.to_integer_32)
+ Result := node_storage.recent_nodes (params.offset.to_integer_32, params.size.to_integer_32)
end
node (a_id: INTEGER_64): detachable CMS_NODE
diff --git a/modules/node/handler/nodes_handler.e b/modules/node/handler/nodes_handler.e
index 974a17d..289514b 100644
--- a/modules/node/handler/nodes_handler.e
+++ b/modules/node/handler/nodes_handler.e
@@ -65,12 +65,12 @@ feature -- HTTP Methods
l_page_helper.get_setting_from_request (req)
if l_page_helper.pages_count > 1 then
l_page_helper.append_to_html (l_response, s_pager)
- if l_page_helper.page_size > 20 then
+ if l_page_helper.page_size > 25 then
s.append (s_pager)
end
end
- if attached node_api.recent_nodes (l_page_helper.query_parameters) as lst then
+ if attached node_api.recent_nodes (create {CMS_DATA_QUERY_PARAMETERS}.make (l_page_helper.current_page_offset, l_page_helper.page_size)) as lst then
s.append ("
%N")
across
lst as ic
diff --git a/src/persistence/cms_data_query_parameters.e b/src/persistence/cms_data_query_parameters.e
index a333797..f8c7475 100644
--- a/src/persistence/cms_data_query_parameters.e
+++ b/src/persistence/cms_data_query_parameters.e
@@ -14,7 +14,7 @@ create
feature {NONE} -- Initialization
- make (a_offset: NATURAL; a_size: NATURAL)
+ make (a_offset: NATURAL_64; a_size: NATURAL)
do
offset := a_offset
size := a_size
@@ -28,7 +28,7 @@ feature -- Access
size: NATURAL assign set_size
-- Number of items per page.
- offset: NATURAL assign set_offset
+ offset: NATURAL_64 assign set_offset
-- lower index of `items' pagination.
order_by: detachable READABLE_STRING_8
@@ -47,7 +47,7 @@ feature -- Element change
size_set: size = a_size
end
- set_offset (a_offset: NATURAL)
+ set_offset (a_offset: NATURAL_64)
-- Set offset with `a_offset'.
do
offset := a_offset
diff --git a/src/support/cms_pagination_generator.e b/src/support/cms_pagination_generator.e
index ef2019c..64ee463 100644
--- a/src/support/cms_pagination_generator.e
+++ b/src/support/cms_pagination_generator.e
@@ -17,8 +17,6 @@ feature {NONE} -- Initialization
require
a_page_size > 0
do
- create query_parameters.make (0, 25)
-
create resource.make (a_resource)
set_page_size (a_page_size)
set_upper (a_count)
@@ -40,9 +38,6 @@ feature -- Access
page_size: NATURAL
-- Number of items per page.
- do
- Result := query_parameters.size
- end
upper: NATURAL_64
-- number of items.
@@ -51,8 +46,15 @@ feature -- Access
current_page_index: INTEGER
-- Current page index.
- query_parameters: CMS_DATA_QUERY_PARAMETERS
- -- Parameter for the associated query/resource.
+ current_page_offset: NATURAL_64
+ -- Lower index - 1 for current page.
+ do
+ if current_page_index > 1 then
+ Result := (current_page_index - 1).to_natural_32 * page_size
+ else
+ Result := 0
+ end
+ end
feature -- Status report
@@ -96,7 +98,7 @@ feature -- Element change
set_page_size (a_size: NATURAL)
-- Set `page_size' to `a_size'.
do
- query_parameters.set_size (a_size)
+ page_size := a_size
end
set_upper (a_upper: NATURAL_64)
@@ -109,11 +111,6 @@ feature -- Element change
-- Set Current page index to `a_page_index'.
do
current_page_index := a_page_index
- if a_page_index > 1 then
- query_parameters.set_offset ((a_page_index - 1).to_natural_32 * page_size)
- else
- query_parameters.set_offset (0)
- end
end
set_page_parameter_id (a_id: READABLE_STRING_8)