Hi, friends:
I find the functions in the ig_webdayview.js has a problem.(Version 7.3.20073.38)
old source:
////////////////////////////////////////////////////////////////////////////////////////////
// function1 line:156
ig_WebDayView.prototype._on_load = function() { var x = this._lbl0 ? this._lbl0.offsetWidth : 0, h = this._tblRows ? this._tblRows.offsetHeight : 0; if(!this._info || (!this._onTimer && h > 0 && x > 0 && x == this._days[0].left)) return false; if(!h || h == 0) { if(!this._onTimer)try { this._onTimer = function(){return this._on_load();} ig_handleTimer(this); }catch(ex){} return false; } if(this._onTimer) delete this._onTimer; this._initElem(this._element); this._onResize(2); if((x = this.getScrollPosition()) < 0) x = (this._row0 ? this._row0.offsetHeight : 16) * this._props[9]; this._divScroll.scrollTop = x; // first time return true; }
// and line 1131:
ig_WebDayView.prototype._loadJSON = function(json, scrollPosition) { var elem = this.getElement(); this._initDays(json[1]); this._info = null; this._initElem(elem); this._onResize(1); this._info = ig_getWebControlById(this._props[2]); this._on_load(); this._divScroll.scrollTop = scrollPosition; // second time }
///////////////////////////////////////////////
The Webdayview will shake if you add or update the appointment,because the scrollPosition was setted twice.
In the first time, the scrollPosition was setted in the old place.
In the senond time, the scrollPosition was setted in the new place.
So the Webdayview shaked,
I think the functins should be changed as following:
////////////////////////////////////////////////////////////////
// function1
// Change Start // ig_WebDayView.prototype._on_load = function() ig_WebDayView.prototype._on_load = function(scrollPosition) // Change End { var x = this._lbl0 ? this._lbl0.offsetWidth : 0, h = this._tblRows ? this._tblRows.offsetHeight : 0; if(!this._info || (!this._onTimer && h > 0 && x > 0 && x == this._days[0].left)) return false; if(!h || h == 0) { if(!this._onTimer)try { // Change Start // this._onTimer = function(){return this._on_load();} this._onTimer = function(){return this._on_load(scrollPosition);} // Change End ig_handleTimer(this); }catch(ex){} return false; } if(this._onTimer) delete this._onTimer; this._initElem(this._element); this._onResize(2); if((x = this.getScrollPosition()) < 0) x = (this._row0 ? this._row0.offsetHeight : 16) * this._props[9]; // Change Start // this._divScroll.scrollTop = x; if(scrollPosition != null) { this._divScroll.scrollTop = scrollPosition; } else { this._divScroll.scrollTop = x; } // Change End return true; }
// function2
ig_WebDayView.prototype._loadJSON = function(json, scrollPosition) { var elem = this.getElement(); this._initDays(json[1]); this._info = null; this._initElem(elem); this._onResize(1); this._info = ig_getWebControlById(this._props[2]); // Change Start // this._on_load(); this._on_load(scrollPosition); // Change End this._divScroll.scrollTop = scrollPosition; }
/////////////////////////////////////////////////////////////////////////
I'll appreciate it very much if the problem can be fixed in the next version.
This is something that should be directed to Developer Support.
Darrell Kress,Thank you,