@@ -56,97 +56,97 @@ var ypjax_links = function(){
if (e.which == 2) {
return true;
}
var el = e.currentTarget;
var url = el.href;
var _base_url = ${h.jshtml(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('/');
//page title - make this consistent with title mako block above
var title = ${h.jshtml(_('%s Files') % c.repo_name)} + " \u00B7 " + (f_path || '/') + " \u00B7 " + ${h.jshtml(c.site_name)};
var _node_list_url = node_list_url.replace('__REV__',rev).replace('__FPATH__', f_path);
var _url_base = url_base.replace('__REV__',rev);
// Change our States and save some data for handling events
var state = {url:url, title:title, url_base:_url_base,
node_list_url:_node_list_url, rev:rev, f_path:f_path};
window.history.pushState(state, null, url);
load_state(state);
//now we're sure that we can do ypjax things
e.preventDefault();
});
var load_state = function(state) {
var $files_data = $('#files_data');
var cache_key = state.url;
var _cache_obj = CACHE[cache_key];
var _cur_time = new Date().getTime();
if (_cache_obj !== undefined && _cache_obj[0] > _cur_time) {
$files_data.html(_cache_obj[1]);
$files_data.css('opacity', '1.0');
post_load_state(state);
} else {
asynchtml(State.url, $files_data, function() {
asynchtml(state.url, $files_data, function() {
var expire_on = new Date().getTime() + CACHE_EXPIRE;
CACHE[cache_key] = [expire_on, $files_data.html()];
var post_load_state = function(state) {
ypjax_links();
tooltip_activate();
if(state !== undefined) {
document.title = state.title;
//initially loaded stuff
var _f_path = state.f_path;
var _rev = state.rev;
fileBrowserListeners(state.node_list_url, state.url_base);
// Inform Google Analytics of the change
if ( typeof window.pageTracker !== 'undefined' ) {
window.pageTracker._trackPageview(state.url);
function highlight_lines(lines){
for(pos in lines){
$('#L'+lines[pos]).css('background-color','#FFFFBE');
page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
if (page_highlights.length == 2){
highlight_ranges = page_highlights[1].split(",");
var h_lines = [];
for (pos in highlight_ranges){
var _range = highlight_ranges[pos].split('-');
if(_range.length == 2){
var start = parseInt(_range[0]);
var end = parseInt(_range[1]);
if (start < end){
for(var i=start;i<=end;i++){
h_lines.push(i);
else{
h_lines.push(parseInt(highlight_ranges[pos]));
Status change: