Tested on: SmartClient_v100p_2015-12-11_LGPL but effect is also noticed in 2015-07 builds.
Browsers: all
Hi, Isomorphic,
There is an issue with a ListGrid component which has a groupByField property and which is bound to DataSource.
Then data is updated or added in DataSource the ListGrid does grouping automatically even if it is hidden and not visible on screen,
problem is, that "Grouping data..." prompt is appearing on screen and disturbs users.
Shouldn't be regrouping happening if ListGrid is not visible? It's CPU inensive task and could be delayed till ListGrid will be visible.
Or at least do not display "Grouping data.." prompt if ListGrid is not on the screen.
Demo code:
1) open page
2) change to "Others" tab
you'll see "Grouping data..." appearing from nowhere.
Browsers: all
Hi, Isomorphic,
There is an issue with a ListGrid component which has a groupByField property and which is bound to DataSource.
Then data is updated or added in DataSource the ListGrid does grouping automatically even if it is hidden and not visible on screen,
problem is, that "Grouping data..." prompt is appearing on screen and disturbs users.
Shouldn't be regrouping happening if ListGrid is not visible? It's CPU inensive task and could be delayed till ListGrid will be visible.
Or at least do not display "Grouping data.." prompt if ListGrid is not on the screen.
Demo code:
1) open page
2) change to "Others" tab
you'll see "Grouping data..." appearing from nowhere.
Code:
var ds = isc.DataSource.create({ clientOnly: true, fields: [{name: 'a', primaryKey: true}, {name: 'b'}], testData: [] }); var listGrid = isc.ListGrid.create({ autoDraw: false, autoFetchData: true, dataSource: ds, groupByAsyncThreshold: 1, // just decrease from default 50, for demo. groupByField: ["a"], canEdit: true, width: "100%", fields: [ {name: 'a'} ] }); isc.TabSet.create({ tabBarPosition: "top", width: 1200, height: 300, tabs: [ { title: "Main", name: "main", pane: listGrid }, { title: "Others", name: "others", pane: this.VLayout.create({}), } ] }); var id=6; window.setInterval(function () { ds.addData({a: id, b: id++}); }, 700); // emulating DataSource activity.
Comment