Upadte executed only once for task when using custom router object in createDataProcessor method

_I’ve create github issue as well here: Issues · DHTMLX/gantt · GitHub

Hi! I’d like to report a buggy behavior in data processor.

According to the docs, you can pass an object or a function to createDataProcessor() method. I choosed to use an object as follows:


And I noticed strange behavior of data processor - the update() function is executed only once per task! It means that first update invokes the update() function, but any other update does not invoke update() function anymore for this particular task.

I managed to fix the issue by passing function parameter in createDataProcessor() as below:

I believe this is a bug in your library. It hapens for update function only (create and delete works fine). Could you please take a look?

Buggy code: gantt.createDataProcessor({ link: { create: - Pastebin.com
Working code: gantt.createDataProcessor((mode: 'task' | 'link', taskState: string, dat - Pastebin.com

I’m using pro 6.2.3 version.


Hello Marcin,
Thank you for sending your code.
The following article has examples of how to use the createDataProcessor function:
If I apply that code, I don’t have the issue you describe:

I tried to add your code in the snippet, but I had to modify it to make it work. After that, I cannot reproduce the issue:

It is hard to suggest what might be wrong, as I don’t see your code, and I couldn’t reproduce the issue locally. Please, reproduce the issue in the snippet, then click on the “Share” button and send me the link.

Hi @ramil ,

thank you for your reply. The issue is not a problem anymore. It got fixed after couple of code updates and after updating DHTMLX Gantt to latest version. I can try to track it down and see if it was previous library version which caused the problem or our code, if it’s important for you.


i applied the same code and got the error, please provide a good solution to this read on routers

Hello Sam,
It is hard to suggest what might be wrong as I don’t see your code.

Please, reproduce the issue in the snippet, then click on the “Share” button and send me the link:
Or send me an HTML file with all the necessary Javascript and CSS files.

The dev team fixed the bug when the Data Processor didn’t work correctly for the tasks after receiving a rejected promise:
You can see how it now works in the following snippet: