Mercurial > kallithea
comparison rhodecode/templates/index_base.html @ 3154:0226b6d6b2b5 beta
Use common function for generation of grid data
- admin grid now has dedicated edit button, and uses changeset_cache
- some small improvements to grid
- all other datatables use this
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 09 Jan 2013 01:59:43 +0100 |
parents | 68f9c216377d |
children | 0cb48c083c6b |
comparison
equal
deleted
inserted
replaced
3153:8046d1979674 | 3154:0226b6d6b2b5 |
---|---|
125 </div> | 125 </div> |
126 </div> | 126 </div> |
127 % if c.visual.lightweight_dashboard is False: | 127 % if c.visual.lightweight_dashboard is False: |
128 <script> | 128 <script> |
129 YUD.get('repo_count').innerHTML = ${cnt+1 if cnt else 0}; | 129 YUD.get('repo_count').innerHTML = ${cnt+1 if cnt else 0}; |
130 var func = function(node){ | |
131 return node.parentNode.parentNode.parentNode.parentNode; | |
132 } | |
133 | 130 |
134 // groups table sorting | 131 // groups table sorting |
135 var myColumnDefs = [ | 132 var myColumnDefs = [ |
136 {key:"name",label:"${_('Group name')}",sortable:true, | 133 {key:"name",label:"${_('Group name')}",sortable:true, |
137 sortOptions: { sortFunction: groupNameSort }}, | 134 sortOptions: { sortFunction: groupNameSort }}, |
212 } | 209 } |
213 ); | 210 ); |
214 myDataTable.subscribe('postRenderEvent',function(oArgs) { | 211 myDataTable.subscribe('postRenderEvent',function(oArgs) { |
215 tooltip_activate(); | 212 tooltip_activate(); |
216 quick_repo_menu(); | 213 quick_repo_menu(); |
214 var func = function(node){ | |
215 return node.parentNode.parentNode.parentNode.parentNode; | |
216 } | |
217 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func); | 217 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func); |
218 }); | 218 }); |
219 | 219 |
220 </script> | 220 </script> |
221 % else: | 221 % else: |
222 <script> | 222 <script> |
223 //var url = "${h.url('formatted_users', format='json')}"; | |
224 var data = ${c.data|n}; | 223 var data = ${c.data|n}; |
225 var myDataSource = new YAHOO.util.DataSource(data); | 224 var myDataSource = new YAHOO.util.DataSource(data); |
226 myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; | 225 myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; |
227 | 226 |
228 myDataSource.responseSchema = { | 227 myDataSource.responseSchema = { |
231 {key:"menu"}, | 230 {key:"menu"}, |
232 {key:"raw_name"}, | 231 {key:"raw_name"}, |
233 {key:"name"}, | 232 {key:"name"}, |
234 {key:"desc"}, | 233 {key:"desc"}, |
235 {key:"last_change"}, | 234 {key:"last_change"}, |
236 {key: "tip"}, | 235 {key:"last_changeset"}, |
237 {key:"owner"}, | 236 {key:"owner"}, |
238 {key:"rss"}, | 237 {key:"rss"}, |
239 {key:"atom"}, | 238 {key:"atom"}, |
240 ] | 239 ] |
241 }; | 240 }; |
265 {key:"name",label:"${_('Name')}",sortable:true, | 264 {key:"name",label:"${_('Name')}",sortable:true, |
266 sortOptions: { sortFunction: nameSort }}, | 265 sortOptions: { sortFunction: nameSort }}, |
267 {key:"desc",label:"${_('Description')}",sortable:true}, | 266 {key:"desc",label:"${_('Description')}",sortable:true}, |
268 {key:"last_change",label:"${_('Last Change')}",sortable:true, | 267 {key:"last_change",label:"${_('Last Change')}",sortable:true, |
269 sortOptions: { sortFunction: ageSort }}, | 268 sortOptions: { sortFunction: ageSort }}, |
270 {key:"tip",label:"${_('Tip')}",sortable:true, | 269 {key:"last_changeset",label:"${_('Tip')}",sortable:true, |
271 sortOptions: { sortFunction: revisionSort }}, | 270 sortOptions: { sortFunction: revisionSort }}, |
272 {key:"owner",label:"${_('Owner')}",sortable:true}, | 271 {key:"owner",label:"${_('Owner')}",sortable:true}, |
273 {key:"rss",label:"",sortable:false}, | 272 {key:"rss",label:"",sortable:false}, |
274 {key:"atom",label:"",sortable:false}, | 273 {key:"atom",label:"",sortable:false}, |
275 ]; | 274 ]; |
309 // Reset timeout | 308 // Reset timeout |
310 filterTimeout = null; | 309 filterTimeout = null; |
311 | 310 |
312 // Reset sort | 311 // Reset sort |
313 var state = myDataTable.getState(); | 312 var state = myDataTable.getState(); |
314 state.sortedBy = {key:'name', dir:YAHOO.widget.DataTable.CLASS_ASC}; | 313 state.sortedBy = {key:'name', dir:YAHOO.widget.DataTable.CLASS_ASC}; |
315 | 314 |
316 // Get filtered data | 315 // Get filtered data |
317 myDataSource.sendRequest(YUD.get('q_filter').value,{ | 316 myDataSource.sendRequest(YUD.get('q_filter').value,{ |
318 success : myDataTable.onDataReturnInitializeTable, | 317 success : myDataTable.onDataReturnInitializeTable, |
319 failure : myDataTable.onDataReturnInitializeTable, | 318 failure : myDataTable.onDataReturnInitializeTable, |
321 argument: state | 320 argument: state |
322 }); | 321 }); |
323 | 322 |
324 }; | 323 }; |
325 YUE.on('q_filter','click',function(){ | 324 YUE.on('q_filter','click',function(){ |
326 YUD.get('q_filter').value = ''; | 325 if(!YUD.hasClass('q_filter', 'loaded')){ |
326 YUD.get('q_filter').value = ''; | |
327 //TODO: load here full list later to do search within groups | |
328 YUD.addClass('q_filter', 'loaded'); | |
329 } | |
327 }); | 330 }); |
328 | 331 |
329 YUE.on('q_filter','keyup',function (e) { | 332 YUE.on('q_filter','keyup',function (e) { |
330 clearTimeout(filterTimeout); | 333 clearTimeout(filterTimeout); |
331 filterTimeout = setTimeout(updateFilter,600); | 334 filterTimeout = setTimeout(updateFilter,600); |