Removed dependency from pagination to cms_data_query_parameters

TODO: review and fix any NATURAL_64 truncation.
This commit is contained in:
2015-06-02 15:56:27 +02:00
parent af8f410684
commit b8cfff487a
4 changed files with 17 additions and 20 deletions

View File

@@ -220,10 +220,10 @@ feature -- Access: Node
Result := node_storage.trashed_nodes (a_user.id) Result := node_storage.trashed_nodes (a_user.id)
end 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'. -- List of the `a_rows' most recent nodes starting from `a_offset'.
do 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 end
node (a_id: INTEGER_64): detachable CMS_NODE node (a_id: INTEGER_64): detachable CMS_NODE

View File

@@ -65,12 +65,12 @@ feature -- HTTP Methods
l_page_helper.get_setting_from_request (req) l_page_helper.get_setting_from_request (req)
if l_page_helper.pages_count > 1 then if l_page_helper.pages_count > 1 then
l_page_helper.append_to_html (l_response, s_pager) 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) s.append (s_pager)
end end
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 ("<ul class=%"cms-nodes%">%N") s.append ("<ul class=%"cms-nodes%">%N")
across across
lst as ic lst as ic

View File

@@ -14,7 +14,7 @@ create
feature {NONE} -- Initialization feature {NONE} -- Initialization
make (a_offset: NATURAL; a_size: NATURAL) make (a_offset: NATURAL_64; a_size: NATURAL)
do do
offset := a_offset offset := a_offset
size := a_size size := a_size
@@ -28,7 +28,7 @@ feature -- Access
size: NATURAL assign set_size size: NATURAL assign set_size
-- Number of items per page. -- Number of items per page.
offset: NATURAL assign set_offset offset: NATURAL_64 assign set_offset
-- lower index of `items' pagination. -- lower index of `items' pagination.
order_by: detachable READABLE_STRING_8 order_by: detachable READABLE_STRING_8
@@ -47,7 +47,7 @@ feature -- Element change
size_set: size = a_size size_set: size = a_size
end end
set_offset (a_offset: NATURAL) set_offset (a_offset: NATURAL_64)
-- Set offset with `a_offset'. -- Set offset with `a_offset'.
do do
offset := a_offset offset := a_offset

View File

@@ -17,8 +17,6 @@ feature {NONE} -- Initialization
require require
a_page_size > 0 a_page_size > 0
do do
create query_parameters.make (0, 25)
create resource.make (a_resource) create resource.make (a_resource)
set_page_size (a_page_size) set_page_size (a_page_size)
set_upper (a_count) set_upper (a_count)
@@ -40,9 +38,6 @@ feature -- Access
page_size: NATURAL page_size: NATURAL
-- Number of items per page. -- Number of items per page.
do
Result := query_parameters.size
end
upper: NATURAL_64 upper: NATURAL_64
-- number of items. -- number of items.
@@ -51,8 +46,15 @@ feature -- Access
current_page_index: INTEGER current_page_index: INTEGER
-- Current page index. -- Current page index.
query_parameters: CMS_DATA_QUERY_PARAMETERS current_page_offset: NATURAL_64
-- Parameter for the associated query/resource. -- 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 feature -- Status report
@@ -96,7 +98,7 @@ feature -- Element change
set_page_size (a_size: NATURAL) set_page_size (a_size: NATURAL)
-- Set `page_size' to `a_size'. -- Set `page_size' to `a_size'.
do do
query_parameters.set_size (a_size) page_size := a_size
end end
set_upper (a_upper: NATURAL_64) set_upper (a_upper: NATURAL_64)
@@ -109,11 +111,6 @@ feature -- Element change
-- Set Current page index to `a_page_index'. -- Set Current page index to `a_page_index'.
do do
current_page_index := a_page_index 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 end
set_page_parameter_id (a_id: READABLE_STRING_8) set_page_parameter_id (a_id: READABLE_STRING_8)