From 083a83414d3f1f3a6b59e20545be0e4defaf91df Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Mon, 5 Mar 2012 15:20:58 -0500 Subject: [PATCH] named anchor support in mkurl() and use thereof Signed-off-by: Lebbeous Fogle-Weekley --- Open-ILS/src/templates/opac/parts/header.tt2 | 13 +++++++++---- Open-ILS/src/templates/opac/parts/record/issues.tt2 | 19 ++++++++++++++++--- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Open-ILS/src/templates/opac/parts/header.tt2 b/Open-ILS/src/templates/opac/parts/header.tt2 index 30dbd6def6..c26041306a 100644 --- a/Open-ILS/src/templates/opac/parts/header.tt2 +++ b/Open-ILS/src/templates/opac/parts/header.tt2 @@ -26,7 +26,10 @@ # # Current page, clear 'some_param' from the existing params: # mkurl('', {foo => 'bar', boo => 'baz'}, ['some_param']); - MACRO mkurl(page, params, clear_params) BLOCK; + # + # Current page to a named anchor 'copies' + # mkurl('', {}, [], 'copies'); + MACRO mkurl(page, params, clear_params, named_anchor) BLOCK; # clone the query string to avoid clobberation cgi = CGI.new(CGI.query_string); @@ -59,15 +62,17 @@ IF val == ''; cgi.delete(p); END; END; + final = named_anchor ? '#' _ named_anchor : ''; + IF page; IF cgi.query_string; - page _ '?' _ cgi.query_string; + page _ '?' _ cgi.query_string _ final; ELSE; - page; + page _ final; END; ELSE; # staying on the current page - cgi.url("-path" => 1, "-query" => 1); + cgi.url("-path" => 1, "-query" => 1) _ final; END; END; diff --git a/Open-ILS/src/templates/opac/parts/record/issues.tt2 b/Open-ILS/src/templates/opac/parts/record/issues.tt2 index a26d6b7828..36d756756a 100644 --- a/Open-ILS/src/templates/opac/parts/record/issues.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/issues.tt2 @@ -24,7 +24,20 @@ VIEW holding_summary_tree; ctx.get_aou(item.org_unit).name; ''; FOREACH summary IN item.holding_summaries; - '
  • '; + IF summary.holdings; + link = mkurl( + '', {}, + ['sid','stype','selimit','sepath','seoffset'], 'issues' + ); + link_title = l('Collapse'); + ELSE; + link = mkurl( + '', {sid => summary.id, stype => summary.summary_type}, + ['selimit','sepath','seoffset'], 'issues' + ); + link_title = l('Expand'); + END; + '
  • '; summary.generated_coverage.join(", "); '
  • '; IF summary.holdings; @@ -48,10 +61,10 @@ END %] soffset_next = soffset + slimit; %] [% IF soffset > 0 %] - soffset_prev}, ['sid','stype','sepath','selimit','seoffset'], 'issues') %]>[% l('Previous') %] [% END %] [% IF ctx.holding_summary_tree.more %] - [% l('Next') %] + [% l('Next') %] [% END %] [% IF ctx.mfhd_summaries.size; %] -- 2.11.0