comparison rhodecode/templates/files/files.html @ 2687:4d7dfda32d10 beta

Disable the html4 history mock for old browsers. Enable search filter on initial page load
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 04 Aug 2012 18:43:47 +0200
parents 269c6e0b54cc
children e70be4cf96e8
comparison
equal deleted inserted replaced
2686:269c6e0b54cc 2687:4d7dfda32d10
38 </div> 38 </div>
39 39
40 <script type="text/javascript"> 40 <script type="text/javascript">
41 var CACHE = {}; 41 var CACHE = {};
42 var CACHE_EXPIRE = 60*1000; //cache for 60s 42 var CACHE_EXPIRE = 60*1000; //cache for 60s
43 //used to construct links from the search list
44 var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}';
45 //send the nodelist request to this url
46 var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}';
43 47
44 var ypjax_links = function(){ 48 var ypjax_links = function(){
45 YUE.on(YUQ('.ypjax-link'), 'click',function(e){ 49 YUE.on(YUQ('.ypjax-link'), 'click',function(e){
46 50
47 //don't do ypjax on middle click 51 //don't do ypjax on middle click
48 if(e.which == 2){ 52 if(e.which == 2 || !History.enabled){
49 return true; 53 return true;
50 } 54 }
55
51 var el = e.currentTarget; 56 var el = e.currentTarget;
52 var url = el.href; 57 var url = el.href;
53 58
54 var _base_url = '${h.url("files_home",repo_name=c.repo_name,revision='',f_path='')}'; 59 var _base_url = '${h.url("files_home",repo_name=c.repo_name,revision='',f_path='')}';
55 _base_url = _base_url.replace('//','/') 60 _base_url = _base_url.replace('//','/')
64 var rev = parts2.shift(); // pop the first element which is the revision 69 var rev = parts2.shift(); // pop the first element which is the revision
65 var f_path = parts2.join('/'); 70 var f_path = parts2.join('/');
66 71
67 var title = "${_('%s files') % c.repo_name}" + " - " + f_path; 72 var title = "${_('%s files') % c.repo_name}" + " - " + f_path;
68 73
69 //used to construct links from the search list 74 var _node_list_url = node_list_url.replace('__REV__',rev);
70 var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}'; 75 var _url_base = url_base.replace('__REV__',rev).replace('__FPATH__', f_path)
71 node_list_url = node_list_url.replace('__REV__',rev);
72 //send the nodelist request to this url
73 var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision='__REV__',f_path='__FPATH__')}';
74 url_base = url_base.replace('__REV__',rev).replace('__FPATH__', f_path)
75 76
76 // Change our States and save some data for handling events 77 // Change our States and save some data for handling events
77 var data = {url:url,title:title, url_base:url_base, 78 var data = {url:url,title:title, url_base:_url_base,
78 node_list_url:node_list_url}; 79 node_list_url:_node_list_url};
79 History.pushState(data, title, url); 80 History.pushState(data, title, url);
80 81
81 //now we're sure that we can do ypjax things 82 //now we're sure that we can do ypjax things
82 YUE.preventDefault(e) 83 YUE.preventDefault(e)
83 return false; 84 return false;
122 CACHE[cache_key] = [_expire_on, o.responseText]; 123 CACHE[cache_key] = [_expire_on, o.responseText];
123 } 124 }
124 }); 125 });
125 } 126 }
126 }); 127 });
127 128
129 // init the search filter
130 var _State = {
131 url: "${h.url.current()}",
132 data: {
133 node_list_url: node_list_url.replace('__REV__',"${c.changeset.raw_id}"),
134 url_base: url_base.replace('__REV__',"${c.changeset.raw_id}").replace('__FPATH__', "${c.file.path}")
135 }
136 }
137 fileBrowserListeners(_State.url, _State.data.node_list_url, _State.data.url_base);
128 }); 138 });
129 139
130 </script> 140 </script>
131 141
132 </%def> 142 </%def>