Hi,
After rebuilding the timeline view in a calendar the height of all lanes are reset to the default lane height.
I recently updated my SmartGWT version (see below) and in the old version the lane heights were retained.
Is there currently a way to keep the lane heights across rebuilds?
Context:
Old SmartGWT Version: v12.1p_2021-02-05/LGPL Development Only (built 2021-02-05)
New SmartGWT Version: v12.1p_2021-06-03/LGPL Development Only (built 2021-06-03)
GWT Version: 2.9.0
Tested in Super Dev mode and compiled mode.
Behavior is the same across the following browsers:
Chrome - Latest version
Edge - Latest version
IE - Latest version
Before the rebuild the height is 10, after the rebuild the height is 60 (default cell height).
Note:
In the old version the lane height was set by the following function in ISC_Calendar.js (called by isc_TimelineView_setLanes, which in turn is called by isc_TimelineView__rebuild):
In the new version the function is:
So the lane height doesn't end up in the laneHeightCache (because setLanes gives it an object argument).
As far as I could see the only place where the laneHeightCache entries are set is in isc_TimelineView_getLaneHeight, so I am not sure how to keep the heights cached.
After rebuilding the timeline view in a calendar the height of all lanes are reset to the default lane height.
I recently updated my SmartGWT version (see below) and in the old version the lane heights were retained.
Is there currently a way to keep the lane heights across rebuilds?
Context:
Old SmartGWT Version: v12.1p_2021-02-05/LGPL Development Only (built 2021-02-05)
New SmartGWT Version: v12.1p_2021-06-03/LGPL Development Only (built 2021-06-03)
GWT Version: 2.9.0
Tested in Super Dev mode and compiled mode.
Behavior is the same across the following browsers:
Chrome - Latest version
Edge - Latest version
IE - Latest version
Code:
public class LMSEntryPoint extends SmartGwtEntryPoint { @Override public void onModuleLoad() { Calendar calendar = new Timeline(); Lane[] lanes = new Lane[1]; lanes[0] = new Lane("a", "A"); lanes[0].setHeight(10); calendar.setLanes(lanes); calendar.draw(); calendar.getLane("a").setHeight(10); calendar.getSelectedView().rebuild(); } }
Note:
In the old version the lane height was set by the following function in ISC_Calendar.js (called by isc_TimelineView_setLanes, which in turn is called by isc_TimelineView__rebuild):
Code:
isc_TimelineView_getLaneHeight(_1) { if (_1 == null) return; if (isc.isA.Number(_1)) _1 = this.getRecord(_1); else if (isc.isA.String(_1)) _1 = this.getLane(_1); return (_1 && _1.height) || this.cellHeight }
Code:
function isc_TimelineView_getLaneHeight(_1) { var _2 = isc.isA.String(_1) ? _1 : (isc.isAn.Object(_1) ? _1.name : null); var _3 = this.cellHeight; if (!_2) { if (isc.isA.Number(_1)) _1 = this.getRecord(_1); if (_1) { _2 = _1.name; if (_1.height != null) _3 = _1.height; _1 = null } } var _4 = this.laneHeightCache[_2]; if (_4 == null) { this.laneHeightCache[_2] = _3 } return this.laneHeightCache[_2] }
As far as I could see the only place where the laneHeightCache entries are set is in isc_TimelineView_getLaneHeight, so I am not sure how to keep the heights cached.
Comment