Hi Isomorphic,
please see this showcase sample (v11.1p_2018-01-09), which causes many errors like this in the Developer Console on hover for me.
In my code I'm using this at field level with ListGridField.setShowHover(true) + ListGridField.setShowHoverComponents(true) and then
For me locally, it does not result in exceptions, but in many calls to the DB in the ListGrid I'm returning from getCellHoverComponent(), basically on every mouse-move.
IMHO as long as the mouse is over the field, the hover should not be recreated and moving the mouse over the field should not change anything.
Best regards
Blama
please see this showcase sample (v11.1p_2018-01-09), which causes many errors like this in the Developer Console on hover for me.
Code:
15:46:11.806:TMR9:WARN:Label:isc_Label_2:Attempt to access destroyed widget in the DOM - destroy() called at invalid time (eg: mid-draw) or invalid method called on destroy()d widget. Stack Trace:
Canvas.getHandle() on [Label ID:isc_Label_2] @ ISC_Core.js:2701:328
Button._getTableElement() on [Label ID:isc_Label_2] @ ISC_Foundation.js:494:83
Button._getCellElement() on [Label ID:isc_Label_2] @ ISC_Foundation.js:494:183
Button.setBackgroundColor(_1=>"#ffff77") on [Label ID:isc_Label_2] @ ISC_Foundation.js:507:25
_3.updateServerContactLabel(requests=>Array[1]) on [Class RPCManager] @ [no file]:262:21
_3.queueSent(requests=>Array[1]) on [Class RPCManager] @ [no file]:255:31
RPCManager._sendQueue(_1=>undef, _2=>null, _3=>"https://www-demos.smartclient.com/smartc..."[113], _4=>Obj) on [Class RPCManager] @ ISC_DataBinding.js:1258:42
[c]RPCManager.sendQueue(_1=>undef, _2=>undef, _3=>undef, _4=>undef) on [Class RPCManager] @ ISC_DataBinding.js:1229:61
[c]RPCManager.sendRequest(_1=>Obj) on [Class RPCManager] @ ISC_DataBinding.js:1175:218
DataSource.performSCServerOperation(_1=>Obj, _2=>Obj) on [DataSource ID:supplyItemWithOps] @ ISC_DataBinding.js:2104:75
DataSource.sendDSRequest(_1=>Obj) on [DataSource ID:supplyItemWithOps] @ ISC_DataBinding.js:623:13
DataSource.performDSOperation(_1=>"fetch", _2=>Obj, _3=>Obj, _4=>Obj) on [DataSource ID:supplyItemWithOps] @ ISC_DataBinding.js:596:13
DataSource.fetchData(_1=>Obj, _2=>Obj, _3=>Obj) on [DataSource ID:supplyItemWithOps] @ ISC_DataBinding.js:546:99
ResultSet.fetchRemoteData(_1=>Obj, _2=>undef, _3=>undef) on [ResultSet ID:isc_ResultSet_25 (dataSource: supplyItemWithOps, created by: isc_DetailViewer_0)] @ ISC_DataBinding.js:1438:88
ResultSet._fetchAllRemoteData() on [ResultSet ID:isc_ResultSet_25 (dataSource: supplyItemWithOps, created by: isc_DetailViewer_0)] @ ISC_DataBinding.js:1433:697
ResultSet.getRange(_1=>0, _2=>1, _3=>undef, _4=>undef) on [ResultSet ID:isc_ResultSet_25 (dataSource: supplyItemWithOps, created by: isc_DetailViewer_0)] @ ISC_DataBinding.js:1416:74
ResultSet.get(_1=>0) on [ResultSet ID:isc_ResultSet_25 (dataSource: supplyItemWithOps, created by: isc_DetailViewer_0)] @ ISC_DataBinding.js:1414:13
Canvas.requestVisibleRows() on [DetailViewer ID:isc_DetailViewer_0] @ ISC_Core.js:3896:353
Canvas.filterWithCriteria(_1=>Obj, _2=>Obj{ID:supplyItemWithOps_fetch}, _3=>Obj) on [DetailViewer ID:isc_DetailViewer_0] @ ISC_Core.js:3887:201
Canvas._filter(_1=>"fetch", _2=>Obj, _3=>null, _4=>Obj) on [DetailViewer ID:isc_DetailViewer_0] @ ISC_Core.js:3885:6
Canvas.fetchData(_1=>Obj, _2=>null, _3=>Obj) on [DetailViewer ID:isc_DetailViewer_0] @ ISC_Core.js:3852:921
_3.getCellHoverComponent(record=>Obj, rowNum=>7, colNum=>2) on[ListGrid ID:itemList] @ [no file]:160:32
ListGrid._getCellHoverComponent(_1=>Obj, _2=>7, _3=>2) on[ListGrid ID:itemList] @ ISC_Grids.js:1625:407
GridBody._getCellHoverComponent(_1=>Obj, _2=>7, _3=>2) on [GridBody ID:itemList_body] @ ISC_Grids.js:630:398
GridRenderer._showHover(_1=>Obj, _2=>7, _3=>2, _4=>false) on [GridBody ID:itemList_body] @ ISC_Grids.js:527:126
GridRenderer._cellHover(_1=>7, _2=>2) on [GridBody ID:itemList_body] @ ISC_Grids.js:526:162
Hover._doAction() on [Class Hover] @ ISC_Core.js:4248:311
[c]Class.fireCallback(_1=>Obj, _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:307:104
Timer._fireTimeout(_1=>"$ir4485", _2=>4505, _3=>undef) on [Class Timer] @ ISC_Core.js:1760:166
<anonymous>() @ ISC_Core.js:1757:40
15:46:12.313:TMR9:WARN:Label:isc_Label_2:Attempt to access destroyed widget in the DOM - destroy() called at invalid time (eg: mid-draw) or invalid method called on destroy()d widget. Stack Trace:
Canvas.getHandle() on [Label ID:isc_Label_2] @ ISC_Core.js:2701:328
Button._getTableElement() on [Label ID:isc_Label_2] @ ISC_Foundation.js:494:83
Button._getCellElement() on [Label ID:isc_Label_2] @ ISC_Foundation.js:494:183
Button.setBackgroundColor(_1=>undef) on [Label ID:isc_Label_2] @ ISC_Foundation.js:507:25
eval() @ [no file]:265:25
[c]Class.fireCallback(_1=>callback(), _2=>null, _3=>null, _4=>null, _5=>true) on [Class Timer] @ ISC_Core.js:307:104
Timer._fireTimeout(_1=>"$ir4489", _2=>4509, _3=>undef) on [Class Timer] @ ISC_Core.js:1760:166
<anonymous>() @ ISC_Core.js:1757:40
Code:
@Override
protected Canvas getCellHoverComponent(Record record, Integer rowNum, Integer colNum) {
if ("myfield".equals(getFieldName(colNum))) { ....
IMHO as long as the mouse is over the field, the hover should not be recreated and moving the mouse over the field should not change anything.
Best regards
Blama
Comment