Я попытался переключить источник данных примера Kendo UI Gantt внутри PHP. Я сопоставил схему с тем, что возвращается, но я просто получил пустую диаграмму Ганта с одним заголовком — «неопределенный».
{
"1": {
"id": "1",
"orderId": "1",
"title": "TESTER1",
"start": "\/new Date('2016-01-01 09:00:00')\/",
"end": "\/new Date('2016-02-01 00:00:00')\/",
"project": "1",
"client": "4218",
"parent": "0",
"percentComplete": "10.11"},
"2": {
"id": "2",
"orderId": "2",
"title": "TESTER2",
"start": "\/new Date('2016-01-03 09:00:00')\/",
"end": "\/new Date('2016-02-01 00:00:00')\/",
"project": "1",
"client": "4218",
"parent": "0",
"percentComplete": "50.00"}
}
Выше JSON отправляется обратно в Kendo, но он не отображается.
Нашел решение:
Я набрал приведенные целые числа, установил для родителей значение null, а не ноль (0) и преобразовал даты в миллисекунды на уровне PHP перед тем, как перейти в Kendo. Я также удалил ключи, которые привели к созданию приведенного ниже JSON. Это решило мою проблему рендеринга.
[{
"id": 1,
"orderId": 1,
"title": "TESTER1",
"start": "\/Date(1463126400000)\/",
"end": "\/Date(1463958000000)\/",
"project": 1,
"client": 4218,
"parent": null,
"percentComplete": 10
}, {
"id": 2,
"orderId": 2,
"title": "TESTER2",
"start": "\/Date(1463990400000)\/",
"end": "\/Date(1464130800000)\/",
"project": 1,
"client": 4218,
"parent": null,
"percentComplete": 50
}]
Других решений пока нет …