Ticket #349: catwalk-js-multiple-joins-pages.diff
| File catwalk-js-multiple-joins-pages.diff, 6.5 kB (added by bbockelm@math.unl.edu, 3 years ago) |
|---|
-
turbogears/toolbox/catwalk/static/javascript/catwalk.js
old new 336 335 next_page 337 336 ); 338 337 } 338 catwalk.paging_join_footer = function(result) 339 { 340 var total = parseInt(result['total']); 341 var start = parseInt(result['start']); 342 var size = parseInt(result['page_size']); 343 if(total <= size ) return ''; 344 var page_number = parseInt( start / size + 1 ); 345 var total_pages = parseInt( total/size +1); 346 var previous_page = IMG({'border':'0','style':'margin-right:5px','align':'absbottom', 347 'src':'/tg_static/images/transp.png'} ); 348 var next_page = previous_page; 349 var next_start = start + size; 350 var previous_start = start - size; 351 if(page_number > 1) 352 { 353 previous_page = A({ 354 'href':"javascript:catwalk.retrieveJoins('"+ result['objectName'] +"','" + result['id'] + "','" + result['joinName'] + "','" + result['joinType'] + "','" + result['joinObjectName'] + "','" + previous_start +"')", 355 'title':'Previous page', 356 'class':'discloser' 357 }, 358 IMG({'border':'0','width':'15','style':'margin-right:5px','align':'absbottom', 359 'src':'/tg_static/images/arrow_left.png'} ) 360 ); 361 } 362 if(page_number < total_pages) 363 { 364 next_page = A({ 365 'href':"javascript:catwalk.retrieveJoins('"+ result['objectName'] +"','" + result['id'] + "','" + result['joinName'] + "','" + result['joinType'] + "','" + result['joinObjectName'] + "','" + next_start +"')", 366 'title':'Next page', 367 'class':'discloser' 368 }, 369 IMG({'border':'0','style':'margin-right:5px','align':'absbottom', 370 'src':'/tg_static/images/arrow_up.png'} ) 371 ); 372 } 373 return DIV({'style':'font-size:10px;margin:6px;'}, 374 previous_page, 375 ' ', 376 'Page ', 377 catwalk.join_page_selector(page_number,total_pages,size,result['objectName'], result['id'], result['joinName'], result['joinType'], result['joinObjectName']) , 378 ' of '+ total_pages, 379 ' ', 380 next_page 381 ); 382 } 339 383 catwalk.page_size = function(size,object_name) 340 384 { 341 385 var page_size = createDOM('SELECT',{'style':'font-size:10px', … … 361 405 } 362 406 return page_selector; 363 407 } 408 catwalk.join_page_selector = function(page_number,total_pages,size,object_name, id, joinName, joinType, joinObjectName) 409 { 410 var page_selector = createDOM('SELECT',{'style':'font-size:10px', 411 'onchange':'catwalk.update_join_page(this,"'+ object_name + '","' + id + '","' + joinName + '","' + joinType + '","' + joinObjectName+ '")'}); 412 for(var i=0;i < total_pages;i++) 413 { 414 var props ={'value':(i*size)}; 415 if((i+1) == page_number) props['selected'] ='selected'; 416 page_selector.appendChild(createDOM('OPTION',props,(i+1))); 417 } 418 return page_selector; 419 } 364 420 catwalk.update_page_size = function(list,object_name) 365 421 { 366 422 return; … … 370 426 var page = list.options[list.selectedIndex].value; 371 427 catwalk.retrieveValues(object_name,page); 372 428 } 373 catwalk. go_to_page = function(page)429 catwalk.update_join_page = function( list, object_name, id, joinName, joinType, joinObjectName ) 374 430 { 375 alert('og to page '+ page); 431 var page = list.options[list.selectedIndex].value; 432 catwalk.retrieveJoins(object_name, id, joinName, joinType, joinObjectName, page ) 376 433 } 377 434 catwalk.renderValues = function(result) 378 435 { … … 699 756 ctx['id'], 700 757 ctx['joinName'], 701 758 ctx['joinType'], 702 ctx['joinObjectName']); 759 ctx['joinObjectName'], 760 0); 703 761 } 704 762 } 705 763 catwalk.retrieveManageRelatedJoins = function(objectName,id,joinName,relatedObjectName) … … 734 792 var allJoins = createDOM('SELECT',{'id':'select_add_'+ results['join'],'size':'10','style':'width:225px','multiple':'multiple'}, 735 793 map(catwalk.renderOptions, catwalk.optionsForJoins(results['allJoins']['rows']) ) 736 794 ); 737 var params = [results['hostObject'],results['id'],results['join'],results['joinType'],results['joinObjectName'] ];795 var params = [results['hostObject'],results['id'],results['join'],results['joinType'],results['joinObjectName'],0]; 738 796 var joinsTable = TABLE(null, 739 797 TBODY(null, 740 798 TR(null, … … 787 845 { 788 846 catwalk.disclosedRelations[joinName]['visible'] = !catwalk.disclosedRelations[joinName]['visible']; 789 847 } 790 catwalk.retrieveJoins= function(objectName,id,joinName,joinType,joinObjectName )848 catwalk.retrieveJoins= function(objectName,id,joinName,joinType,joinObjectName, page) 791 849 { 792 850 var u = 'joins?objectName='+ objectName +'&id='+ id; 793 851 u+='&join='+ joinName +'&joinType='+ joinType +'&joinObjectName='+ joinObjectName; 852 u += '&start=' + page; 794 853 catwalk.addDisclosedRelation(joinName,{'objectName':objectName, 795 854 'visible':true, 796 855 'id':id, … … 846 905 else 847 906 { 848 907 //grid = DIV(null,grid,catwalk.renderAddMultipleJoinsControl(r['joinObjectName'])); 849 grid = DIV(null,grid,catwalk.renderAddMultipleJoinsControl(r['hostObject'],r['id'],r['joinObjectName'])); 908 var footer = catwalk.paging_join_footer( results ); 909 grid = DIV(null,grid,footer,catwalk.renderAddMultipleJoinsControl(r['hostObject'],r['id'],r['joinObjectName'])); 850 910 } 851 911 replaceChildNodes('grid_'+ results['join'],grid); 852 912 … … 897 957 { 898 958 var edit = ''; 899 959 var action = Widget.renderHandler('javascript:catwalk.retrieveJoins', 900 [column.objectName,column.id,column.columnName,column.type,column.join ]960 [column.objectName,column.id,column.columnName,column.type,column.join,0] 901 961 ); 902 962 return TR(null, TD({'colspan':'2'}, 903 963 SPAN({'id':'disclose_'+ column.columnName},