Devextreme: TreeList: focused row cause errors on filtering

Created on 13 Mar 2019  路  9Comments  路  Source: DevExpress/DevExtreme

Steps to Reproduce:

  1. Create treeList with focued row
  2. Allow filtering
  3. Select filter value for not focused row and apply it

Results You Received:

Page hanges when filter applyed (multiple errors: 'Maximum call stack size exceeded', 'Cannot read property '__DX_INSERT_INDEX__' of undefined')

Results You Expected:

Filtering with focused row should work

Environment Details:

18.2.6, online demo: https://codepen.io/anon/pen/pYdGrL

All 9 comments

Same here with 18.2.7

I have reproduced the issue and will process it in the context of the following Support Center thread: TreeList throw error after filtering if focused row is enabled
You can subscribe to it to receive a notification of our progress.

@AntonSermyazhko, I've just downloaded the hotfix (v18.2.8-pre-19082) and I can no longer use selectRows method along with focused row, it cause an error: ''angular.js:14199 TypeError: Cannot read property 'setAttribute' of undefined"

AngularJS:

$scope.onFocusedRowChanged = function (e) {
      if (e.row && e.row.data) {
        e.component.selectRows([e.row.key], false);
}

@AntonSermyazhko, @DokaRus, @San4es same here with the latest pre-release, any update on it?

@Bykiev, could you please describe how to reproduce the issue using this simple sample?

@AntonSermyazhko, here is a demo (see console output): https://codepen.io/anon/pen/NmOeKa

Please accept my apologies for the delay.
I have reproduced the issue and now it will be processed in context of the following Support Center thread: TreeList - Should not generate exception when selection mode is multiple and focusedRowKey is set for the nested node
You can subscribe to it to receive a notification regarding our progress.聽

@AntonSermyazhko, thx. Just to make clear: the issue also persist with single mode selection

@Bykiev,
While we are working on this issue, I suggest you take a look at this workaround - wrap the code for row selection in the setTimeout:
setTimeout(() => e.component.selectRows([e.row.key], false));

Was this page helpful?
0 / 5 - 0 ratings