Backport of extras.tt2 with added content
authorJeff Godin <jgodin@tadl.org>
Thu, 26 Jul 2012 08:11:03 +0000 (04:11 -0400)
committerJeff Godin <jgodin@tadl.org>
Thu, 26 Jul 2012 08:11:03 +0000 (04:11 -0400)
Backport of extras.tt2 from master for added content in TPAC

Signed-off-by: Jeff Godin <jgodin@tadl.org>
templates_tadlskin/opac/parts/record/extras.tt2

index b636c3b..422be4f 100644 (file)
@@ -3,6 +3,11 @@
 
         [%  # Hidden extras are not yet implemented.  Some may require JS
 
+        MACRO tab_is_active(tab) BLOCK;
+            exp_name = 'expand_' _ tab;
+            IF ctx.$exp_name OR ctx.expand_all; 1; END;
+        END;
+
         # Let's see if we should hide the content cafe / simple summary content
         hide_summary = 1;
         IF attrs.summary.0; hide_summary = 0; ELSE;
             END;
         END;
 
+        # if no added content is available, hide the main tab.
+        # if any content is available, use the first tab as the default display tab.
+        default_ac = '';
+        IF !tab_is_active('addedcontent');
+            hide_ac = 1;
+            FOR type IN ctx.added_content.keys;
+                IF ctx.added_content.$type.status != '2'; # not available
+                    hide_ac = 0;
+                END;
+                IF ctx.added_content.$type.status == '1';
+                    SET default_ac = type UNLESS default_ac;
+                END;
+            END;
+        END;
+
         extras = [
             {name => 'summaryplus',  label => l('Summaries &amp; More'), hide => hide_summary}, 
             {name => 'contents',  label => l('Contents'), hide => !attrs.contents},
             {name => 'excerpt',  label => l('Excerpt'), hide => 1},
             {name => 'issues',   label => l('Issues Held'), hide => !(ctx.have_holdings_to_show || ctx.have_mfhd_to_show)},
             {name => 'preview',  label => l('Preview'), hide => 1}, 
+            {name => 'addedcontent',  label => l('Additional Content'), hide => hide_ac},  # hide if all content is known to not exist
             {name => 'cnbrowse', label => l('Shelf Browser')},
             {name => 'marchtml', label => l('MARC Record')}
         ];
 
-        MACRO tab_is_active(tab) BLOCK;
-            exp_name = 'expand_' _ tab;
-            IF ctx.$exp_name OR ctx.expand_all; 1; END;
-        END;
-
         FOREACH extra IN extras;
             IF extra.hide; NEXT; END; 
             name = extra.name;
             <div class="rdetail_extras_link">
                 [%  
                     IF tab_is_active(name);
-                        href = mkurl('', {}, ['expand']);
+                        href = mkurl('', {}, ['expand', 'ac']);
                         img_url = ctx.media_prefix _ '/images/rdetail_arrow_down.png';
                     ELSE;
-                        href = mkurl('', {expand => name}) _ '#' _ name; 
+                        IF name == 'addedcontent' AND default_ac;
+                            href = mkurl('', {expand => name, ac => default_ac}) _ '#' _ name; 
+                        ELSE;
+                            href = mkurl('', {expand => name}) _ '#' _ name; 
+                        END;
                         img_url = ctx.media_prefix _ '/images/rdetail_arrow.png';
                     END;
                 %]
                 <a name='[% name %]' href='[% href %]'></a>
-                <a href='[% href %]' class="rdetail_extras_lbl">[% extra.label %]</a>
+                <a name='[% name %]_lbl' href='[% href %]' class="rdetail_extras_lbl">[% extra.label %]</a>
             </div>
         </div>
         <div class='rdetail_extras_div'>