From 832caf0e40d771819c55df6758f878402c0b1e38 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 25 Jul 2013 18:53:21 +0530 Subject: [PATCH 1/2] [fix] [minor] [grid] set_colum_disp should force refresh the whole grid --- public/js/wn/form/grid.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/public/js/wn/form/grid.js b/public/js/wn/form/grid.js index 5e5525f006..02b5874541 100644 --- a/public/js/wn/form/grid.js +++ b/public/js/wn/form/grid.js @@ -33,7 +33,7 @@ wn.ui.form.Grid = Class.extend({ grid: this }); }, - refresh: function() { + refresh: function(force) { !this.wrapper && this.make(); var me = this, $rows = $(me.parent).find(".rows"), @@ -43,7 +43,7 @@ wn.ui.form.Grid = Class.extend({ this.display_status = wn.perm.get_field_display_status(this.df, this.frm.doc, this.perm); - if(this.data_rows_are_same(data)) { + if(!force && this.data_rows_are_same(data)) { // soft refresh this.header_row.refresh(); $.each(this.grid_rows, function(i, g) { @@ -117,8 +117,16 @@ wn.ui.form.Grid = Class.extend({ return data; }, set_column_disp: function(fieldname, show) { - wn.meta.get_docfield(this.doctype, fieldname, this.frm.docname).hidden = !show; - this.refresh(); + if($.isArray(fieldname)) { + var me = this; + $.each(fieldname, function(i, fname) { + wn.meta.get_docfield(me.doctype, fname, me.frm.docname).hidden = !show; + }); + } else { + wn.meta.get_docfield(this.doctype, fieldname, this.frm.docname).hidden = !show; + } + + this.refresh(true); }, toggle_reqd: function(fieldname, reqd) { wn.meta.get_docfield(this.doctype, fieldname, this.frm.docname).reqd = reqd; From 955f07dd759d4e06807cf7067fed44fcd9639d27 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 25 Jul 2013 19:13:45 +0530 Subject: [PATCH 2/2] [fix] [minor] call refresh_fields after cur_frm.call when doc is passed --- public/js/legacy/widgets/form/clientscriptAPI.js | 8 ++++++++ public/js/wn/views/moduleview.js | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/public/js/legacy/widgets/form/clientscriptAPI.js b/public/js/legacy/widgets/form/clientscriptAPI.js index 258710cd64..9b537cbfa7 100644 --- a/public/js/legacy/widgets/form/clientscriptAPI.js +++ b/public/js/legacy/widgets/form/clientscriptAPI.js @@ -261,6 +261,14 @@ _f.Frm.prototype.call = function(opts) { } opts.original_callback && opts.original_callback(r); } + } else { + opts.original_callback = opts.callback; + opts.callback = function(r) { + if(!r.exc) me.refresh_fields(); + + opts.original_callback && opts.original_callback(r); + } + } wn.call(opts); } diff --git a/public/js/wn/views/moduleview.js b/public/js/wn/views/moduleview.js index 1413018f2c..9d21022096 100644 --- a/public/js/wn/views/moduleview.js +++ b/public/js/wn/views/moduleview.js @@ -201,7 +201,6 @@ wn.views.moduleview.ModuleView = Class.extend({ doctypes: me.doctypes }, callback: function(r) { - console.log(r); if(r.message) { // reports if(r.message.reports.length) {