Hi Syncfusion,
We have an error while refreshing the data source in the Gantt Chart.
Our application behavior is as follows:
1. Taskbar is edited (moved, resized)
2. The Client sends a request to the server, to change the specific task data
3. The Server decides whether the changes are possible, corrects them if necessary, and responds with an information about the data changes
4. The Client handles the Server's response by setting that data update is required and forcing the GanttComponent parent to update
5. When GanttComponent parent is re-rendered, it checks if a data update is needed and passes the updated datasource to GanttComponent
Everything works fine, but we get an error every now and then:
We prepare a sample that maps the behavior of our application.
The MockingServer component mocks our server behavior, but it is fairly simple, and when the client requests changes to the task, it replies with the original data set.
To reproduce the error, you need to move the child taskbar several times. Sometimes the error occurs after the first move, sometimes after a few moves.
This is a video showing you how to reproduce the bug.
Hi Syncfusion,
We think that the 3rd option is the closest to our case.
After any kind of editing on GanttChart (not during editing), we need to inform our server, which can respond with a new data set, when this happens we handle the server's response by assigning a new data source to GanttComponent.
Regards,
Enova
|
Index.js
onTaskbarEditing(args) {
args.cancel = true;
} |
Hi Syncfusion,
This solution doesn't fully meet our needs, because after editing the task, we have to inform the server what changes the user wants, and the server always responds with a new set of data. If the user changes are accepted, the new dataset includes these changes, if they are not accepted, the new dataset is corrected.
After the server responds, we need to assign new data set.
But we think we can solve the problem by slightly modifying your suggestion.
private onTaskbarEditing(args: any) {
this.editingFields = {
startDate: args.editingFields.startDate,
endDate: args.editingFields.endDate
};
args.cancel = true;
}
onTaskbarEdited(args) {
switch (args.taskBarEditAction) {
case 'RightResizing':
case 'LeftResizing':
case 'ChildDrag':
this.postAction('resize', [
`${args.data.TaskID}`,
`${this.editingFields.startDate}`,
`${this.editingFields.endDate}`,
]);
break;
case 'ProgressResizing':
break;
}
}Regards,
Enova
Hi syncfusion team,
Unfortunately we have run into the same bug reported in this ticket, but it also causes the persistence of the tooltips when the bug occurs.
Can you help us? We tried the solutions you provided above but it doesn't fully meet our needs
Enova,
We have reviewed your query, but we are unable to replicate the issue that you’ve reported, could you please share following information for us to validate further
Sample Link : https://stackblitz.com/edit/react-1aasck-ga9pjb?file=index.js
Regards,
Udhayakumar
Hello Udhayakumar,
We have replicated the case in the example you sent us and added a video for your reference, currently we use versions higher than 20.4.48 and we have tried disabling tooltips, absorbing functionality and canceling the onTaskbarEditing event but none of these options are enough because we have encountered this error again.
https://stackblitz.com/edit/react-1aasck-hbf79g?file=index.js
Could you help us?
Thanks and regards,
Lorena T.
Hi Loreno,
We have thoroughly reviewed your query and this issue occurs only on old version but not on the newer version, we attempted to replicate the issue using the latest version. However, we were unable to reproduce the problem, even after disabling the tooltip functionality.
In order to further investigate and validate the issue, we kindly request that you provide us with the following information:
Regards,
Udhayakumar