How to get the list of updated tasks


#1

What would be the recommended way to get the collection of tasks that has been internally updated by the gantt control.
e.g. in https://docs.dhtmlx.com/gantt/samples/02_extensions/12_auto_scheduling.html dragging Task#4.2 around enough will effect it’s direct parent Task#4 and its’ grand parent Project #1.
onAfterTaskAutoSchedule isn’t suitable as the task has no links, so I tried adding a dataprocessor via the console, however that only fires for the moved task and not the one that have been internally updated.

 gantt.createDataProcessor(function(entity, action, data, id){
      // tslint:disable-next-line:no-console
      console.log('dp', arguments)
      switch (action) {
        case 'update':
          return Promise.resolve()
        case 'create':
          return Promise.resolve()
        case 'delete':
          return Promise.resolve()
      }
    });

#2

Hello Rainer,
Project tasks ignore the date parameters (start_date, end_date and duration). They take the start_date parameter from the most left child and the end_date parameter from the most right child. So even if you save the dates in the database, after you load the data or update tasks, projects will ignore the date parameters and stretch depending on their children.
However, if you need to save the dates into the database for some purpose, you need to implement a custom solution.
I have the following samples that might help you to implement your solution:
http://snippet.dhtmlx.com/9fc77aec6
http://snippet.dhtmlx.com/9aa933308


#3

Thanks for the confirmation. I’ll see if we can move that logic to the server to ensure that the server data are in sync with what the gantt presents.

Rainer