fix search paging

This commit is contained in:
Oleg Belyaev 2025-03-23 14:25:15 +03:00
parent 6e7cf5a3f1
commit b89645a5cc
3 changed files with 21 additions and 10 deletions

View file

@ -186,15 +186,14 @@ declare %rest:path("{$lang}/search/new")
$sd(1)('entry_id'),
string-join($sd(1)('path')?*,"|"))
else
let $r5 := session:set('searchN',0)
return web:redirect('../dict')
web:redirect('../search/clear')
};
declare %rest:path("{$lang}/search/next")
%output:method("html")
%output:html-version('5')
function page:search-next($lang) {
let $n := session:get('searchN')+1
let $n as xs:integer := session:get('searchN')+1
let $r1 := session:set('searchN', $n)
let $sd := session:get('searchData')
return page:by-id($lang, $sd($n)('entry_id'), string-join($sd($n)('path')?*,"|"))
@ -204,7 +203,7 @@ declare %rest:path("{$lang}/search/prev")
%output:method("html")
%output:html-version('5')
function page:search-prev($lang) {
let $n := session:get('searchN')-1
let $n as xs:integer := session:get('searchN')-1
let $r1 := session:set('searchN', $n)
let $sd := session:get('searchData')
return page:by-id($lang, $sd($n)('entry_id'), string-join($sd($n)('path')?*,"|"))
@ -214,7 +213,7 @@ declare %rest:path("{$lang}/search/position")
%rest:query-param("p", "{$p}")
%output:method("html")
%output:html-version('5')
function page:search-position($lang,$p) {
function page:search-position($lang, $p as xs:integer) {
let $r1 := session:set('searchN', $p)
let $sd := session:get('searchData')
return page:by-id($lang, $sd($p)('entry_id'), string-join($sd($p)('path')?*,"|"))