создает новый экземпляр dataProcessor и прикрепляет его к gantt
config | DataProcessorConfig | RouterFunction | RouterConfig | объект конфигурации dataProcessor |
object | объект dataProcessor |
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
Метод может принимать один из следующих типов параметров:
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
// entity - "task"|"link"|"resource"|"assignment"
// action - "create"|"update"|"delete"
// data - объект с данными задачи или связи
// id – id обрабатываемого объекта (задачи или связи)
var dp = gantt.createDataProcessor(function(entity, action, data, id) {
switch(action) {
case "create":
return gantt.ajax.post(
server + "/" + entity,
data
);
break;
case "update":
return gantt.ajax.put(
server + "/" + entity + "/" + id,
data
);
break;
case "delete":
return gantt.ajax.del(
server + "/" + entity + "/" + id
);
break;
}
});
Объект RouterForEntity имеет следующие свойства:
var dp = gantt.createDataProcessor({
task: {
create: function(data) {},
update: function(data, id) {},
delete: function(id) {}
},
link: {
create: function(data) {},
update: function(data, id) {},
delete: function(id) {}
}
});
Все функции объекта маршрутизатора должны возвращать либо Promise, либо объект ответа данных. Это необходимо для того, чтобы dataProcessor мог применить id базы данных и подключить событие onAfterUpdate data processor.
router = function(entity, action, data, id) {
return new gantt.Promise(function(resolve, reject) {
// … некоторая логика
return resolve({tid: databaseId});
});
}
Таким образом, вы можете использовать DataProcessor для сохранения данных в localStorage или любом другом хранилище, которое не связано с определенным URL, или в случае, если существуют два разных сервера (URL), отвечающих за создание и удаление объектов.
По умолчанию DataProcessor не получает обновления ресурсов и назначений ресурсов. Однако вы можете включить эту функцию через отдельную конфигурацию.
параметр deleteAfterConfirmation добавлен в версии v8.0
К началу