Files @ 4c7cc3a4c330
Branch filter:

Location: kallithea/rhodecode/templates/base/root.html

Marcin Kuzminski
fixed issue with show at revision button. Some JS were not properly loaded due to ajaxified files view.
Removed JS code and the logic for that is in python view now. Simpler and less ugly JS callbacks
## -*- coding: utf-8 -*-
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>${self.title()}</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <meta name="robots" content="index, nofollow"/>
        <link rel="icon" href="${h.url('/images/icons/database_gear.png')}" type="image/png" />

        ## CSS ###
        <%def name="css()">
            <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css', ver=c.rhodecode_version)}" media="screen"/>
            <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css', ver=c.rhodecode_version)}"/>
            ## EXTRA FOR CSS
            ${self.css_extra()}
        </%def>
        <%def name="css_extra()">
        </%def>

        ${self.css()}

        %if c.ga_code:
        <!-- Analytics -->
	     <script type="text/javascript">
	      var _gaq = _gaq || [];
	      _gaq.push(['_setAccount', '${c.ga_code}']);
	      _gaq.push(['_trackPageview']);

	      (function() {
	        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	      })();
	     </script>
	    %endif

        ## JAVASCRIPT ##
        <%def name="js()">
            <script type="text/javascript">
            //JS translations map
            var TRANSLATION_MAP = {
                'add another comment':'${_("add another comment")}',
                'Stop following this repository':"${_('Stop following this repository')}",
                'Start following this repository':"${_('Start following this repository')}",
                'Group':"${_('Group')}",
                'members':"${_('members')}",
                'search truncated': "${_('search truncated')}",
                'no matching files': "${_('no matching files')}",
                'Open new pull request': "${_('Open new pull request')}",
                'Open new pull request for selected changesets':  "${_('Open new pull request for selected changesets')}",
                'Show selected changes __S -> __E': "${_('Show selected changes __S -> __E')}",

            };
            var _TM = TRANSLATION_MAP;
            </script>
            <script type="text/javascript" src="${h.url('/js/yui.2.9.js', ver=c.rhodecode_version)}"></script>
            <!--[if lt IE 9]>
               <script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
            <![endif]-->
            <script type="text/javascript" src="${h.url('/js/yui.flot.js', ver=c.rhodecode_version)}"></script>
            <script type="text/javascript" src="${h.url('/js/native.history.js', ver=c.rhodecode_version)}"></script>
            <script type="text/javascript" src="${h.url('/js/rhodecode.js', ver=c.rhodecode_version)}"></script>
           ## EXTRA FOR JS
           ${self.js_extra()}

            <script type="text/javascript">
            (function(window,undefined){

                // Prepare
                var History = window.History; // Note: We are using a capital H instead of a lower h
                if ( !History.enabled ) {
                     // History.js is disabled for this browser.
                     // This is because we can optionally choose to support HTML4 browsers or not.
                    return false;
                }
            })(window);
            var follow_base_url  = "${h.url('toggle_following')}";

            var onSuccessFollow = function(target){
                var f = YUD.get(target.id);
                var f_cnt = YUD.get('current_followers_count');

                if(f.getAttribute('class')=='follow'){
                    f.setAttribute('class','following');
                    f.setAttribute('title',_TM['Stop following this repository']);

                    if(f_cnt){
                        var cnt = Number(f_cnt.innerHTML)+1;
                        f_cnt.innerHTML = cnt;
                    }
                }
                else{
                    f.setAttribute('class','follow');
                    f.setAttribute('title',_TM['Start following this repository']);
                    if(f_cnt){
                        var cnt = Number(f_cnt.innerHTML)-1;
                        f_cnt.innerHTML = cnt;
                    }
                }
            }

            var toggleFollowingUser = function(target,fallows_user_id,token,user_id){
                args = 'follows_user_id='+fallows_user_id;
                args+= '&amp;auth_token='+token;
                if(user_id != undefined){
                    args+="&amp;user_id="+user_id;
                }
                YUC.asyncRequest('POST',follow_base_url,{
                    success:function(o){
                    	onSuccessFollow(target);
                    }
                },args);
                return false;
            }

            var toggleFollowingRepo = function(target,fallows_repo_id,token,user_id){

                args = 'follows_repo_id='+fallows_repo_id;
                args+= '&amp;auth_token='+token;
                if(user_id != undefined){
                    args+="&amp;user_id="+user_id;
                }
                YUC.asyncRequest('POST',follow_base_url,{
                    success:function(o){
                    	onSuccessFollow(target);
                    }
                },args);
                return false;
            }
           YUE.onDOMReady(function(){
             tooltip_activate();
             show_more_event();

             YUE.on('quick_login_link','click',function(e){
                 // make sure we don't redirect
                 YUE.preventDefault(e);

                 if(YUD.hasClass('quick_login_link','enabled')){
                     YUD.setStyle('quick_login','display','none');
                     YUD.removeClass('quick_login_link','enabled');
                 }
                 else{
                     YUD.setStyle('quick_login','display','');
                     YUD.addClass('quick_login_link','enabled');
                     var usr = YUD.get('username');
                     if(usr){
                    	 usr.focus();
                     }
                 }
             });
           })
            </script>
        </%def>
        <%def name="js_extra()"></%def>
        ${self.js()}
        <%def name="head_extra()"></%def>
        ${self.head_extra()}
    </head>
    <body id="body">
     ## IE hacks
      <!--[if IE 7]>
      <script>YUD.addClass(document.body,'ie7')</script>
      <![endif]-->
      <!--[if IE 8]>
      <script>YUD.addClass(document.body,'ie8')</script>
      <![endif]-->
      <!--[if IE 9]>
      <script>YUD.addClass(document.body,'ie9')</script>
      <![endif]-->

      ${next.body()}
    </body>
</html>