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