Remove whitespace [Gun.io WhitespaceBot]
[catagits/Gitalist.git] / root / wrapper.tt2
index 3cef238..b8db7d9 100755 (executable)
@@ -1,7 +1,6 @@
 [%- IF no_wrapper || template.name.match('\.(css|js|txt)'); content; ELSE; -%]
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<!DOCTYPE html>
+<html>
 <head>
   <!-- git core binaries version [% git_version %] -->
   <meta charset="utf-8" />
     title;
   -%] (Gitalist)</title>
   [% INCLUDE '_header_feeds.tt2' %]
-   
+
        <link rel="stylesheet" type="text/css" href="[% c.uri_for('/core.css') %]" />
-       <link rel="shortcut icon" href="[% c.uri_for('/static/git-favicon.png') %]" type="image/png" />
-       <script type="text/javascript">
-       // FIXME: this should be in an external js file once c.uri_for works in js files
-       function compareDiffs(repo, path){
-               var f = document.theform;
-               if(!repo){
-                       var repo = "";
-               }
-               if(!path){
-                       var path = "";
-               }
-               var sha1,sha2;
-               for(var i=0,len=f.length;i<len;i++){
-                       if(f[i].name == "sha1_a"){
-                               if(f[i].checked){
-                                       sha1 = f[i].value;
-                               }
-                       }
-                       if(f[i].name == "sha1_b"){
-                               if(f[i].checked){
-                                       sha2 = f[i].value;
-                               }
-                       }
-               }
-               document.location.href = "[% c.uri_for("/") %]" + repo + "/"+ sha1 + "/diff/" + sha2 + "/" + path;
-       }
-       // handles hover sub menus in IE
-       startList = function() {
-               if (document.getElementById && document.getElementById("actions_nav_link")) {
-                       var navList = document.getElementById("actions_nav_list");
-                       var navLink = document.getElementById("actions_nav_link");
-                       // assign event handlers to each element
-                       navLink.onmouseover=function() {
-                               setNavClass(navList);
-                       }
-                       navList.onmouseover=function() {
-                               setNavClass(navList);
-                       }
-                       navList.onmouseout=function() {
-                               navList.className=navList.className.replace(" actions_nav_list_over", "");
-                       }
-                       navLink.onmouseout=function() {
-                               navList.className=navList.className.replace(" actions_nav_list_over", "");
-                       }
-               }
-               
-       }
-       function setNavClass(el){
-               var link_el = document.getElementById("actions_nav_link");
-               var offsetAry = findPos(link_el);
-               // set position of list
-               el.style.left = offsetAry[0]+"px";
-               el.style.top = offsetAry[1]+30 +"px";
-               el.className+=" actions_nav_list_over";
-       }
-       
-       function addLoadListener(fn){ 
-               if (typeof window.addEventListener != 'undefined') { 
-                       window.addEventListener('load', fn, false); 
-               }else if (typeof document.addEventListener != 'undefined'){ 
-                       document.addEventListener('load', fn, false); 
-               }else if (typeof window.attachEvent != 'undefined'){ 
-                       window.attachEvent('onload', fn); 
-               }else{ 
-                       var oldfn = window.onload; 
-                       if (typeof window.onload != 'function'){ 
-                               window.onload = fn; 
-                       }else{ 
-                               window.onload = function(){
-                                       oldfn();
-                                       fn();
-                               }; 
-                       }
-               }
-       }
-       function findPos(obj) {
-               var curleft = curtop = 0;
-               if (obj.offsetParent) {
-               do {
-                       curleft += obj.offsetLeft;
-                       curtop += obj.offsetTop;
-               } 
-               while (obj = obj.offsetParent);
-               return [curleft,curtop];
-               }
-       }
-       addLoadListener(startList);
-       </script>
+       <link rel="shortcut icon" href="[% c.uri_for('/static/favicon.ico') %]" />
+       <script src="[% c.uri_for('/static/js/jquery.min.js') %]"></script>
+       <script src="[% c.uri_for('/static/js/site.js') %]"></script>
 </head>
 
 <body>
 
                        <div class="search">
                        [% IF Repository; INCLUDE 'nav/search.tt2'; ELSE; %]
-                       
+
                        <!--
                        [%# FIXME - Search submits to blank(ish) page %]
                        <form method="get" action="[% c.uri_for_action('/search') %]" enctype="application/x-www-form-urlencoded">
                        [% END %]
                        </div>
                </div>
-               
-               
+
+
                <div id="nav_logs" [% 'style="visibility:hidden"' IF c.action.name == "index" %]>
-               
+
                        [% IF c.req.captures.size == 1; SET path = 'repository'; ELSE; SET path = 'ref'; END %]
-                       
+
                        <ul>
                                <li[% ' class="selected"' IF c.action.name.match('tree') %]><a href="[% c.uri_for_action('/ref/tree', c.req.captures) || c.uri_for_action('/repository/tree', c.req.captures) %]" id="tree">Tree</a></li>
 
                                <li[% ' class="selected"' IF c.action.name.match('longlog') %]><a href="[% c.uri_for_action('/' _ path _ '/longlog', c.req.captures) %]" id="log_full">Long log</a></li>
-                               
+
                                <li[% ' class="selected"' IF c.action.name.match('shortlog') %]><a href="[% c.uri_for_action('/' _ path _ '/shortlog', c.req.captures) %]" id="log_short">Short log</a></li>
 
-                               
+
                                <li id="branch_selector">
-                                       [%# FIXME: convert to c.uri_for_action  #%]
-                                       
-                                       Branches 
-                                       <select onchange="document.location.href='/[% Repository.name %]/'+this.options[this.selectedIndex].text + '/shortlog';">
+                                       Branches
+                                       <select id='branch-list'>
                                                <option value="">HEAD</option>
-                                       
-                                       [% FOREACH branch_head IN Repository.heads %]
-                                               <option [% "selected" IF c.req.path.search(branch_head.name) %]>[% branch_head.name %]</option>
-                                       [% END %]
-                                       
+                                       [%- FOREACH branch IN Repository.heads -%]
+                                               <option value="[% branch.name %]">[% branch.name %]</option>
+                                               [% IF loop.count == c.config.paging.summary %]
+                                               <option value="...">&gt;Branch list</option>
+                                               [% LAST %]
+                                               [% END %]
+                                       [% END -%]
+
                                        </select>
                                </li>
-                               
+
                        </ul>
                </div>
-       
+
                <h1>
                        <a href="[% c.uri_for('/') %]">Home</a>
-               
+
                        [%- IF Repository %]
-               / <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]/shortlog">[% Repository.name %]</a>
+               / <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]">[% Repository.name %]</a>
                        [%- END %]
                        /
                        [%- IF Repository %]
                                [%# FIXME: output branch name in a nicer way!!!  #%]
-                               [% FOREACH branch_head IN Repository.heads %]
-                                       [% IF c.req.path.search(branch_head.name) %]
+                               [%- FOREACH branch_head IN Repository.heads %]
+                                       [%- IF c.req.path.search(branch_head.name) %]
                                <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]/[% branch_head.name %]/shortlog">[% branch_head.name %]</a> /
-                                       [% END %]
-                               [% END %]
+                                       [% END -%]
+                               [% END -%]
                        [%- END %]
-                       
-                       
-                       [%- 
+
+
+                       [%-
+
+                               #FIXME on a history view of a folder, don't show extra actions in dropdown
+                               SET on_file_page = 1;
+
                                SET actions_list = {
                                                "blob"          => 1,
                                                "raw"           => 1,
                                                "blame"         => 1,
                                                "history"       => 1,
                                        };
-                                       
+
                                SET action_name = c.action.name
                                                                        .replace("_"," ")
                                                                        .replace("log", " log")
                                                                        .replace("fancy","")
                                                                        .replace("index","Repositories");
                                action_name_ucfirst = action_name FILTER ucfirst;
-                               IF actions_list.$action_name;
+                               IF actions_list.$action_name && on_file_page;
                                        '<a href="#" id="actions_nav_link"><span>' _ action_name_ucfirst _ '</span></a>';
                                ELSE;
                                        action_name_ucfirst;
                                END;
-                               
+
                        -%]
 
                        </h1>
-       
-                       [%- 
+
+                       [%-
                                IF actions_list.$action_name;
                                '<ul id="actions_nav_list">';
                                        FOREACH action IN actions_list;
                                                action_output = action.key FILTER ucfirst;
-                                               NEXT IF action_output == action_name_ucfirst;   
+                                               NEXT IF action_output == action_name_ucfirst;
                                                action = action.key;
-                                               '<li><a href="/' _ c.req.path.replace(action_name, action) _ '">' _ action_output _ '</a></li>';
-                                       END;                    
+                                               '<li><a href="' _ c.uri_for("/")  _ c.req.path.replace(action_name, action) _ '">' _ action_output _ '</a></li>';
+                                       END;
                                '</ul>';
                                END;
                        -%]
-               
+
        </div>
 </div>
 
-       
+
 <div id="content_holder">
        <div id="content" class="sub_holder">
                <div id="content_inner">
 
-       
+
 
  [% content %]
 
+
                </div>
        </div>
 </div>
 
 <div id="footer_holder">
        <div id="footer" class="sub_holder">
-               
+
                <p>[% IF Repository; Repository.description | html IF Repository.description != "Unnamed repository; edit this file to name it for gitweb." ; END; %]</p>
-       
+
                <a title="git homepage" href="http://git-scm.org"><img src="[% c.uri_for('/logo.png') %]" id="git_logo" alt="git" /></a>
-               
+
                <div id="feeds">
                [% INCLUDE 'inc/footer_feeds.tt2' %]
                </div>
        <div id="debug" class="sub_holder">
 
        <p>Debug:</p>
-       
+
        [% USE Dumper %]
        <pre>
        [% Repository.path %]
-       [%# Dumper.dump(c.req.path) %]
+       [% Dumper.dump(c.req.args) %]
        </pre>
-       
+
        </div>
 </div>
 
+<span id="current-uri" class="js-data">[%
+      # A bit of smoke and mirrors to get the /repository/shortlog URIs working
+      cur_act = '' _ c.action;
+      cur_uri = cur_act.match("log") || cur_act.match("^ref")
+              ? '/ref/' _ cur_act.replace("^(repository|ref)/", '')
+             : cur_act;
+      # XXX I just want lists!
+      IF c.req.args.size > 0;
+          c.uri_for_action(cur_uri, [Repository.name, 'HEAD'], c.req.args.0);
+      ELSE;
+          c.uri_for_action(cur_uri, [Repository.name, 'HEAD']);
+      END;
+%]</span>
+<span id="heads-uri" class="js-data">[% c.uri_for_action('/repository/heads', [Repository.name]) %]</span>
+
 </body>
 </html>
 [%- END -%]