##// END OF EJS Templates
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
marcink -
r1431:d5d7c40e beta
parent child Browse files
Show More
@@ -0,0 +1,9 b''
1 % if len(c.cs.affected_files) <= c.affected_files_cut_off:
2 <span class="removed tooltip" title="<b>${_('removed')}</b>${h.changed_tooltip(c.cs.removed)}">${len(c.cs.removed)}</span>
3 <span class="changed tooltip" title="<b>${_('changed')}</b>${h.changed_tooltip(c.cs.changed)}">${len(c.cs.changed)}</span>
4 <span class="added tooltip" title="<b>${_('added')}</b>${h.changed_tooltip(c.cs.added)}">${len(c.cs.added)}</span>
5 % else:
6 <span class="removed tooltip" title="${_('affected %s files') % len(c.cs.affected_files)}">!</span>
7 <span class="changed tooltip" title="${_('affected %s files') % len(c.cs.affected_files)}">!</span>
8 <span class="added tooltip" title="${_('affected %s files') % len(c.cs.affected_files)}">!</span>
9 % endif No newline at end of file
@@ -337,6 +337,10 b' def make_map(config):'
337 rmap.connect('changelog_home', '/{repo_name:.*}/changelog',
337 rmap.connect('changelog_home', '/{repo_name:.*}/changelog',
338 controller='changelog', conditions=dict(function=check_repo))
338 controller='changelog', conditions=dict(function=check_repo))
339
339
340 rmap.connect('changelog_details', '/{repo_name:.*}/changelog_details/{cs}',
341 controller='changelog', action='changelog_details',
342 conditions=dict(function=check_repo))
343
340 rmap.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
344 rmap.connect('files_home', '/{repo_name:.*}/files/{revision}/{f_path:.*}',
341 controller='files', revision='tip', f_path='',
345 controller='files', revision='tip', f_path='',
342 conditions=dict(function=check_repo))
346 conditions=dict(function=check_repo))
@@ -76,6 +76,11 b' class ChangelogController(BaseRepoContro'
76
76
77 return render('changelog/changelog.html')
77 return render('changelog/changelog.html')
78
78
79 def changelog_details(self, cs):
80 if request.environ.get('HTTP_X_PARTIAL_XHR'):
81 c.cs = c.rhodecode_repo.get_changeset(cs)
82 return render('changelog/changelog_details.html')
83
79 def _graph(self, repo, repo_size, size, p):
84 def _graph(self, repo, repo_size, size, p):
80 """
85 """
81 Generates a DAG graph for mercurial
86 Generates a DAG graph for mercurial
@@ -1787,6 +1787,16 b' white-space:pre-wrap;'
1787 clear:both;
1787 clear:both;
1788 }
1788 }
1789
1789
1790 .right .changes .changed_total{
1791 border:1px solid #DDD;
1792 display:block;
1793 float:right;
1794 text-align:center;
1795 min-width:45px;
1796 cursor: pointer;
1797 background:#FD8;
1798 font-weight: bold;
1799 }
1790 .right .changes .added,.changed,.removed {
1800 .right .changes .added,.changed,.removed {
1791 border:1px solid #DDD;
1801 border:1px solid #DDD;
1792 display:block;
1802 display:block;
@@ -59,20 +59,15 b''
59 <div class="message">${h.link_to(h.wrap_paragraphs(cs.message),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
59 <div class="message">${h.link_to(h.wrap_paragraphs(cs.message),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
60 </div>
60 </div>
61 <div class="right">
61 <div class="right">
62 <div class="changes">
62 <div id="${cs.raw_id}_changes_info" class="changes">
63 % if len(cs.affected_files) <= c.affected_files_cut_off:
63 <span id="${cs.raw_id}" class="changed_total tooltip"
64 <span class="removed tooltip" title="<b>${_('removed')}</b>${h.changed_tooltip(cs.removed)}">${len(cs.removed)}</span>
64 title="${_('Affected number of files, click to show more details')}">
65 <span class="changed tooltip" title="<b>${_('changed')}</b>${h.changed_tooltip(cs.changed)}">${len(cs.changed)}</span>
65 ${len(cs.affected_files)}
66 <span class="added tooltip" title="<b>${_('added')}</b>${h.changed_tooltip(cs.added)}">${len(cs.added)}</span>
66 </span>
67 % else:
68 <span class="removed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
69 <span class="changed tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
70 <span class="added tooltip" title="${_('affected %s files') % len(cs.affected_files)}">!</span>
71 % endif
72 </div>
67 </div>
73 %if len(cs.parents)>1:
68 %if len(cs.parents)>1:
74 <div class="merge">
69 <div class="merge">
75 ${_('merge')}<img alt="merge" src="${h.url("/images/icons/arrow_join.png")}"/>
70 ${_('merge')}<img alt="merge" src="${h.url('/images/icons/arrow_join.png')}"/>
76 </div>
71 </div>
77 %endif
72 %endif
78 %if cs.parents:
73 %if cs.parents:
@@ -110,7 +105,7 b''
110 YAHOO.util.Event.onDOMReady(function(){
105 YAHOO.util.Event.onDOMReady(function(){
111
106
112 //Monitor range checkboxes and build a link to changesets
107 //Monitor range checkboxes and build a link to changesets
113 //ranges
108 //ranges
114 var checkboxes = YUD.getElementsByClassName('changeset_range');
109 var checkboxes = YUD.getElementsByClassName('changeset_range');
115 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
110 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
116 YUE.on(checkboxes,'click',function(e){
111 YUE.on(checkboxes,'click',function(e){
@@ -139,6 +134,15 b''
139 }
134 }
140 });
135 });
141
136
137 //Fetch changeset details
138 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
139 var id = e.currentTarget.id
140 var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
141 var url = url.replace('__CS__',id);
142 ypjax(url,id+'_changes_info',function(){tooltip_activate()});
143 });
144
145
142 function set_canvas(heads) {
146 function set_canvas(heads) {
143 var c = document.getElementById('graph_nodes');
147 var c = document.getElementById('graph_nodes');
144 var t = document.getElementById('graph_content');
148 var t = document.getElementById('graph_content');
General Comments 0
You need to be logged in to leave comments. Login now