Files @ f7a52d548fd0
Branch filter:

Location: kallithea/rhodecode/templates/files/files.html - annotation

Marcin Kuzminski
merge with beta
1e757ac98988
1e757ac98988
1e757ac98988
269c6e0b54cc
1e757ac98988
1e757ac98988
1e757ac98988
79818f546538
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
61eda8bf70d0
c8bd0e6cc3da
f91d3f9b7230
1e757ac98988
1e757ac98988
1e757ac98988
f91d3f9b7230
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
c8bd0e6cc3da
c8bd0e6cc3da
c8bd0e6cc3da
c8bd0e6cc3da
f91d3f9b7230
f91d3f9b7230
1e757ac98988
1e757ac98988
1e757ac98988
623b228cf325
f91d3f9b7230
1e757ac98988
f91d3f9b7230
269c6e0b54cc
623b228cf325
269c6e0b54cc
269c6e0b54cc
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
e70be4cf96e8
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
acc05c33cc0c
4d7dfda32d10
e70be4cf96e8
e70be4cf96e8
269c6e0b54cc
4d7dfda32d10
4d7dfda32d10
acc05c33cc0c
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
269c6e0b54cc
acc05c33cc0c
acc05c33cc0c
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
e70be4cf96e8
4d7dfda32d10
4d7dfda32d10
4d7dfda32d10
269c6e0b54cc
269c6e0b54cc
623b228cf325
269c6e0b54cc
f91d3f9b7230
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${_('%s files') % c.repo_name} - ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(_(u'Home'),h.url('/'))}
    &raquo;
    ${h.link_to(c.repo_name,h.url('files_home',repo_name=c.repo_name))}
    &raquo;
    ${_('files')}
    %if c.file:
        @ r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
    %endif
</%def>

<%def name="page_nav()">
    ${self.menu('files')}
</%def>

<%def name="main()">
<div class="box">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
	    <ul class="links">
		    <li>
		      <span style="text-transform: uppercase;"><a href="#">${_('branch')}: ${c.changeset.branch}</a></span>
	        </li>
	    </ul>
    </div>
    <div class="table">
		<div id="files_data">
			<%include file='files_ypjax.html'/>
		</div>
    </div>
</div>

<script type="text/javascript">
var CACHE = {};
var CACHE_EXPIRE = 60*1000; //cache for 60s
//used to construct links from the search list
var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}';
//send the nodelist request to this url
var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}';

var ypjax_links = function(){
    YUE.on(YUQ('.ypjax-link'), 'click',function(e){

    	//don't do ypjax on middle click
    	if(e.which == 2 || !History.enabled){
    		return true;
    	}

        var el = e.currentTarget;
        var url = el.href;

        var _base_url = '${h.url("files_home",repo_name=c.repo_name,revision='',f_path='')}';
        _base_url = _base_url.replace('//','/')

        //extract rev and the f_path from url.
        parts = url.split(_base_url)
        if(parts.length != 2){
        	return false;
        }

        var parts2 = parts[1].split('/');
      	var rev = parts2.shift(); // pop the first element which is the revision
      	var f_path = parts2.join('/');

        var title = "${_('%s files') % c.repo_name}" + " - " + f_path;

        var _node_list_url = node_list_url.replace('__REV__',rev);
        var _url_base = url_base.replace('__REV__',rev).replace('__FPATH__', f_path);

        // Change our States and save some data for handling events
        var data = {url:url,title:title, url_base:_url_base,
                    node_list_url:_node_list_url};
        History.pushState(data, title, url);

        //now we're sure that we can do ypjax things
        YUE.preventDefault(e)
        return false;
    });
}

var callbacks = function(State){
    ypjax_links();
    tooltip_activate();
    fileBrowserListeners(State.url, State.data.node_list_url, State.data.url_base);
    // Inform Google Analytics of the change
    if ( typeof window.pageTracker !== 'undefined' ) {
        window.pageTracker._trackPageview(State.url);
    }
}

YUE.onDOMReady(function(){
    ypjax_links();
    var container = 'files_data';
    //Bind to StateChange Event
    History.Adapter.bind(window,'statechange',function(){
        var State = History.getState();
        cache_key = State.url;
        //check if we have this request in cache maybe ?
        var _cache_obj = CACHE[cache_key];
        var _cur_time = new Date().getTime();
        // get from cache if it's there and not yet expired !
        if(_cache_obj !== undefined && _cache_obj[0] > _cur_time){
            YUD.get(container).innerHTML=_cache_obj[1];
            YUD.setStyle(container,'opacity','1.0');

            //callbacks after ypjax call
            callbacks(State);
        }
        else{
          ypjax(State.url,container,function(o){
          	//callbacks after ypjax call
          	callbacks(State);
          	if (o !== undefined){
          	  //store our request in cache
          	  var _expire_on = new Date().getTime()+CACHE_EXPIRE;
              CACHE[cache_key] = [_expire_on, o.responseText];
            }
          });
        }
    });

    // init the search filter
    var _State = {
       url: "${h.url.current()}",
       data: {
         node_list_url: node_list_url.replace('__REV__',"${c.changeset.raw_id}"),
         url_base: url_base.replace('__REV__',"${c.changeset.raw_id}").replace('__FPATH__', "${h.safe_unicode(c.file.path)}")
       }
    }
    fileBrowserListeners(_State.url, _State.data.node_list_url, _State.data.url_base);
});

</script>

</%def>