Merge branch 'stable' into latest

This commit is contained in:
Anand Doshi 2012-01-17 14:47:53 +05:30
commit ddceefa5e1
3 changed files with 31 additions and 14 deletions

View file

@ -126,7 +126,7 @@ this.runclientscript('refresh');$(document).trigger('form_refresh')
this.refresh_tabs();this.refresh_fields();this.refresh_dependency();this.refresh_footer();if(this.layout)this.layout.show();if(is_onload)
this.runclientscript('onload_post_render',this.doctype,this.docname);}else{this.refresh_header();if(this.print_wrapper){this.refresh_print_layout();}
this.runclientscript('edit_status_changed');}
if(!this.display)this.show_the_frm();if(!this.meta.in_dialog)page_body.change_to('Forms');}}
if(!this.display)this.show_the_frm();if(!this.meta.in_dialog)page_body.change_to('Forms');$(cur_frm.wrapper).trigger('render_complete');}}
_f.Frm.prototype.refresh_tabs=function(){var me=this;if(me.meta.section_style=='Tray'||me.meta.section_style=='Tabbed'){for(var i in me.sections){me.sections[i].collapse();}
me.set_section(me.cur_section[me.docname]);}}
_f.Frm.prototype.refresh_footer=function(){var f=this.page_layout.footer;if(f.save_area){if(get_url_arg('embed')||(this.editable&&!this.meta.in_dialog&&this.doc.docstatus==0&&!this.meta.istable&&this.get_doc_perms()[WRITE])){f.show_save();}else{f.hide_save();}}}
@ -255,7 +255,7 @@ _f.CodeField.prototype.set_disp=function(val){$y(this.disp_area,{width:'90%'})
if(this.df.fieldtype=='Text Editor'){this.disp_area.innerHTML=val;}else{this.disp_area.innerHTML='<textarea class="code_text" readonly=1>'+val+'</textarea>';}}
_f.cur_grid_cell=null;_f.Grid=function(parent){}
_f.Grid.prototype.init=function(parent,row_height){this.col_idx_by_name={}
this.alt_row_bg='#F2F2FF';this.row_height=row_height;if(!row_height)this.row_height='26px';this.make_ui(parent);this.insert_column('','','Int','Sr','50px','',[1,0,0]);if(this.oninit)this.oninit();keypress_observers.push(this);}
this.alt_row_bg='#F2F2FF';this.row_height=row_height;if(!row_height)this.row_height='26px';this.make_ui(parent);this.insert_column('','','Int','Sr','50px','',[1,0,0]);if(this.oninit)this.oninit();keypress_observers.push(this);var me=this;$(cur_frm.wrapper).bind('render_complete',function(){me.set_ht();});}
_f.Grid.prototype.make_ui=function(parent){var ht=make_table($a(parent,'div'),1,2,'100%',['60%','40%']);this.main_title=$td(ht,0,0);this.main_title.className='columnHeading';$td(ht,0,1).style.textAlign='right';this.tbar_div=$a($td(ht,0,1),'div','grid_tbarlinks');if(isIE)$y(this.tbar_div,{width:'200px'});this.tbar_tab=make_table(this.tbar_div,1,4,'100%',['25%','25%','25%','25%']);this.wrapper=$a(parent,'div','grid_wrapper');$h(this.wrapper,cint(screen.width*0.5)+'px');this.head_wrapper=$a(this.wrapper,'div','grid_head_wrapper');this.head_tab=$a(this.head_wrapper,'table','grid_head_table');this.head_row=this.head_tab.insertRow(0);this.tab_wrapper=$a(this.wrapper,'div','grid_tab_wrapper');this.tab=$a(this.tab_wrapper,'table','grid_table');var me=this;this.wrapper.onscroll=function(){me.head_wrapper.style.top=me.wrapper.scrollTop+'px';}}
_f.Grid.prototype.show=function(){if(this.can_edit&&this.field.df['default'].toLowerCase()!='no toolbar'){$ds(this.tbar_div);if(this.can_add_rows){$td(this.tbar_tab,0,0).style.display='table-cell';$td(this.tbar_tab,0,1).style.display='table-cell';}else{$td(this.tbar_tab,0,0).style.display='none';$td(this.tbar_tab,0,1).style.display='none';}}else{$dh(this.tbar_div);}
$ds(this.wrapper);}
@ -304,8 +304,9 @@ _f.Grid.prototype.set_data=function(data){this.cell_deselect();this.reset_table_
this.append_rows(data.length-this.tab.rows.length);if(data.length<this.tab.rows.length)
this.truncate_rows(this.tab.rows.length-data.length);for(var ridx=0;ridx<data.length;ridx++){this.refresh_row(ridx,data[ridx]);}
if(this.can_add_rows&&this.make_newrow){this.make_newrow();}
this.set_ht();if(this.wrapper.onscroll)this.wrapper.onscroll();}
_f.Grid.prototype.set_ht=function(ridx,docname){var ht=$(this.tab).height()+$(this.head_tab).height()+30;if(ht<100)ht=100;if(ht>cint(0.3*screen.width))ht=cint(0.3*screen.width);ht+=4;$y(this.wrapper,{height:ht+'px'});}
if(this.wrapper.onscroll)this.wrapper.onscroll();}
_f.Grid.prototype.set_ht=function(){var max_ht=cint(0.5*screen.width);var ht=$(this.tab).height()+$(this.head_tab).height()+30;if(ht<100)
ht=100;if(ht>max_ht)ht=max_ht;ht+=4;$y(this.wrapper,{height:ht+'px'});}
_f.Grid.prototype.refresh_row=function(ridx,docname){var row=this.tab.rows[ridx];row.docname=docname;row.is_newrow=false;for(var cidx=0;cidx<row.cells.length;cidx++){this.set_cell_value(row.cells[cidx]);}}
_f.FormGrid=function(field){this.field=field;this.doctype=field.df.options;if(!this.doctype){show_alert('No Options for table '+field.df.label);}
this.col_break_width=cint(this.field.col_break_width);if(!this.col_break_width)this.col_break_width=100;$y(field.parent,{marginTop:'8px'});this.init(field.parent,field.df.width);this.setup();}

View file

@ -667,6 +667,8 @@ _f.Frm.prototype.refresh = function(docname) {
// show the page
if(!this.meta.in_dialog) page_body.change_to('Forms');
$(cur_frm.wrapper).trigger('render_complete');
}
}

View file

@ -19,6 +19,13 @@ _f.Grid.prototype.init = function(parent, row_height) {
if(this.oninit)this.oninit();
keypress_observers.push(this);
var me = this;
// reset grid heights after complete is triggerd on the form
$(cur_frm.wrapper).bind('render_complete', function() {
me.set_ht();
});
}
_f.Grid.prototype.make_ui = function(parent) {
@ -397,8 +404,13 @@ _f.Grid.prototype.make_template = function(hc) {
hc.template.grid = this;
}
_f.Grid.prototype.append_rows = function(n) { for(var i=0;i<n;i++) this.append_row(); }
_f.Grid.prototype.truncate_rows = function(n) { for(var i=0;i<n;i++) this.tab.deleteRow(this.tab.rows.length-1); }
_f.Grid.prototype.append_rows = function(n) {
for(var i=0;i<n;i++) this.append_row();
}
_f.Grid.prototype.truncate_rows = function(n) {
for(var i=0;i<n;i++) this.tab.deleteRow(this.tab.rows.length-1);
}
_f.Grid.prototype.set_data = function(data) {
@ -424,19 +436,21 @@ _f.Grid.prototype.set_data = function(data) {
if(this.can_add_rows && this.make_newrow) {
this.make_newrow();
}
this.set_ht();
if(this.wrapper.onscroll)this.wrapper.onscroll();
}
_f.Grid.prototype.set_ht = function(ridx, docname) {
_f.Grid.prototype.set_ht = function() {
var max_ht = cint(0.5 * screen.width);
var ht = $(this.tab).height() + $(this.head_tab).height() + 30;
if(ht < 100)ht=100;
if(ht > cint(0.3 * screen.width))ht=cint(0.3 * screen.width);
if(ht < 100)
ht=100;
if(ht > max_ht) ht = max_ht;
ht += 4;
$y(this.wrapper,{height:ht+'px'});
$y(this.wrapper,{height:ht+'px'});
}
_f.Grid.prototype.refresh_row = function(ridx, docname) {