X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=templates%2Ffactory%2Fpager;h=c10fdeed685a8f4025bc005dcb94b18e87a2e313;hb=6d0a3dde542a44c59284d60addc72503462fdbb4;hp=aa8fbde90c8c95988032dfd304bedd4d64a4aea6;hpb=ca325e68ce3620b52a3c8c9ed437ed79c5d1a744;p=maypole.git diff --git a/templates/factory/pager b/templates/factory/pager index aa8fbde..c10fdee 100644 --- a/templates/factory/pager +++ b/templates/factory/pager @@ -10,18 +10,32 @@ to the L interface. [% IF pager AND pager.first_page != pager.last_page; %] - -

Pages: +

Pages: [% - FOREACH num = [pager.first_page .. pager.last_page]; + SET begin_page = pager.current_page - 10; + IF begin_page < 1; + SET begin_page = pager.first_page; + END; + SET end_page = pager.current_page + 10; + IF pager.last_page < end_page; + SET end_page = pager.last_page; + END; + FOREACH num = [begin_page .. end_page]; IF num == pager.current_page; "["; num; "] "; ELSE; - SET args = "?page=" _ num; # Order? SET label = "[" _ num _ "]"; - link(classmetadata.moniker, "list", args, label); + SET args = "?page=" _ num; + SET action = "list"; + FOR col = classmetadata.columns.list; + IF request.query.$col; + SET args = args _ "&" _ col _ "=" _ request.query.$col; + SET action = "search"; + END; + END; + link(classmetadata.table, action, args, label); END; END; %] -

+

[% END %]