Update data behaviour changed in version 2.3 compared to version 2.2

Answered
Tijs Planckaert asked on December 5, 2016

Hi,
We recently migrated from version 2.2 to 2.3.
We had a perfectly working pivot, but after installing the update several functionalities were broken which is quite strange for a minor version update..
The problem occurs when updating the data of the report. We sometimes only want to update the data and leave everything else as is (rows, columns, filters, ...).
We always did this by just setting the data param of the report directly and then calling setReport(report).
We tried using the updateData() call instead and then the data is updated fine, but the config of our pivot is lost.
I think as this is a minor version update, setting the data parameter should still work as it did in version 2.2, no?
Thanks in advance for your answer
 

11 answers

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster December 5, 2016

Hello Tijs,
Thank you for your feedback. 2.2 and 2.3 versions are major updates. That is why some important changes have been made in 2.3 version. To know more about the changes, please visit our migration guide http://www.flexmonster.com/doc/migration-guide/ . Speaking about the issues you have described:
1. The report structure has been changed. Here is the jsFiddle example https://jsfiddle.net/flexmonster/63qt6rbw/.
2. updateData() API call should not reset the configuration, only the data should be changed. The issue was reproduced on our side and it will be fixed in the next minor release 2.305 (ETA Dec 19).
Does the above work for you?
Best regards,
Dmytro.

Public
Tijs Planckaert December 6, 2016

 Hello Dmytro,
 
Thanks for the reply.
Unfortunately, I have the same issue when I set report.dataSource.data, the data is updated but my config is lost..

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster December 6, 2016

Hello Tijs,
Thank you for your reply. Could you please provide us with the code example so we can reproduce the issue on our side? Please update the jsFiddle we have sent you previously the way you are using the component. Also could you please tell us what version you are currently using? To get the version information press Ctrl+Alt+i.
Best regards,
Dmytro.

Public
Tijs Planckaert December 6, 2016

Hello Dmytro,
 
I found the cause of this issue. The problem was that we let users save the config of the pivot in our db.
Later users can reuse this config. The problem is that these configs are stil the old version so there is no dataSource field in them yet. I just had to adapt our code to support both formats. Now it seems to work.

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster December 6, 2016

Hello Tijs,
It's nice to hear that our workaround works fine for you. Please note that it's a temporary solution. In such cases, we recommend using updateData API call, which will be fixed in version 2.305 (ETA Dec 19) .
Thank you.
Regards,
Dmytro.

Public
Tijs Planckaert December 7, 2016

Hi Dmytro,
 
I have one additional problem with this approach.
We use sorting on the columns like so:
 

...
columns: [
{
uniqueName: 'test',
sortName: 'desc'
}
]
...

This works fine when initally loading the pivot, but with the same approach as in https://jsfiddle.net/flexmonster/63qt6rbw/, when you set a large amount of data (+ 50k records), the sorting information is lost. (with a small dataset it's fine)
It seems the SetReport() call is async and when the dataset is large enough, not everything is executed in the right order. Is this possible?

Public
Ian Sadovy Ian Sadovy Flexmonster December 7, 2016

Hello Tijs,
 
Thank you for reporting.
We have managed to reproduce the issue with the large dataset (https://jsfiddle.net/flexmonster/gefwpxyc/).
The fix will be available in the next minor release (ETA Dec 19).
Does it work for you?
 
Regards,
Ian

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster December 8, 2016

Hi Tijs,
Please download the fix for updateData() method from here: https://s3.amazonaws.com/flexmonster/bluecrux/FLEXMONSTER-2016-BLUECRUX-DEC08.zip
We will include it in the next minor build.
Regards,
  Dmytro

Public
Sengupta August 15, 2017

Hello,
I have similar issue with 2.322.
To recreate the issue please user your JSFiddle example (http://jsfiddle.net/flexmonster/xf5rn80j/)
Steps 1: Replace the HTML & JAVASCRIPT using the attach files
Step 2: Click button "Update data from inline JSON"
Step 3: Sort on "Total Sum of Price"
Step 4:  Click button "Update data from inline JSON" & "Update data from inline JSON 2" alternatively to see "Color" blue & green swapping places
 
 

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster August 15, 2017

Hello Sengupta,
Thank you for your question. We have checked the code examples and found nothing wrong there. When you are applying the sorting order for Total Sum of Price, you will be choosing between asc (ascending) and desc (descending) type of sorting. Considering the fact that you are using 2 different JSON datasources, it is quite natural that after the sorting is applied the "green" and "blue" will change places. Let me show it to you. First JSON has the next values:

color: green  |   color: blue
price: 174     |   price: 274

The second JSON object has the opposite values:

color: green  |   color: blue
price: 274     |   price: 174

 Therefore, when you update the data the sorting order will remain the same (the lowest value is still on the top of the list)  but due to the fact that the values are referring to the other colors now, you can observe the swapping of "green" and "blue".
Please let us know if you have any additional questions here.
Best regards,
Dmytro.

Public
Sengupta August 16, 2017

Hi Dmytro Zvazhii,
Sorry we beg to differ this.
Please contact Olena Maistrenko @ Flexmonster for clarification.
With Regards
Anirban

Please login or Register to Submit Answer