Skip to content

Commit

Permalink
Merge pull request #2476 from Creaticide/fix/OS-2576
Browse files Browse the repository at this point in the history
Fix statsgrid table data rendering
  • Loading branch information
ZakarFin authored Oct 25, 2023
2 parents 59349e7 + e509ec2 commit 947ca18
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
20 changes: 12 additions & 8 deletions bundles/statistics/statsgrid/handler/TableHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class TableController extends StateHandler {
this.setState({
...this.stateHandler.getState(),
selectedRegionset: null,
indicatorData: {},
indicatorData: [],
regionsetOptions: [],
regions: [],
flyout: null,
Expand Down Expand Up @@ -87,14 +87,14 @@ class TableController extends StateHandler {
regions.forEach(reg => {
data[reg.id] = {};
});
const promise = new Promise((resolve, reject) => {
this.state.indicators?.forEach((ind, index) => {
const promises = this.state.indicators.map(ind => {
return new Promise((resolve, reject) => {
this.service.getIndicatorData(ind.datasource, ind.indicator, ind.selections, ind.series, this.state.selectedRegionset?.id, (err, indicatorData) => {
if (err) {
Messaging.error(this.loc('errors.regionsDataError'));
this.updateState({
loading: false,
indicatorData: {},
indicatorData: [],
regions: []
});
return;
Expand All @@ -110,14 +110,18 @@ class TableController extends StateHandler {
...region
};
}
resolve();
});
if (index === this.state.indicators.length - 1) resolve();
});
});
promise.then(() => {
Promise.all(promises).then(() => {
this.updateState({
loading: false,
indicatorData: data
indicatorData: regions.map(region => ({
key: region.id,
regionName: region.name,
data: data[region.id]
}))
});
});
};
Expand All @@ -127,7 +131,7 @@ class TableController extends StateHandler {
Messaging.error(this.loc('errors.regionsDataError'));
this.updateState({
loading: false,
indicatorData: {},
indicatorData: [],
regions: []
});
return;
Expand Down
12 changes: 7 additions & 5 deletions bundles/statistics/statsgrid/view/Table/TableFlyout.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ const TableFlyout = ({ state, controller }) => {
sorter: getSorterFor('regionName'),
sortOrder: sortOrder['regionName'],
showSorterTooltip: false,
onCell: (record, rowIndex) => ({
style: { background: '#ffffff' }
}),
onHeaderCell: (record, rowIndex) => ({
style: { background: '#fafafa' }
}),
title: () => {
return (
<HeaderCell>
Expand Down Expand Up @@ -165,11 +171,7 @@ const TableFlyout = ({ state, controller }) => {
) : (
<StyledTable
columns={columnSettings}
dataSource={state.regions?.map(region => ({
key: region.id,
regionName: region.name,
data: state.indicatorData[region.id]
}))}
dataSource={[...state.indicatorData]}
pagination={false}
/>
)}
Expand Down

0 comments on commit 947ca18

Please sign in to comment.