Используя amCharts4, я создал гистограмму и без проблем загружал данные извне. Эти данные обновляются каждые 5 секунд. Я пытаюсь загрузить дополнительные данные, когда кто-то нажимает на одну из полос. Вот как представлены мои текущие данные:
{
"id":"5",
"name": "Jacksonville, FL",
"claims": 17,
"sub": [
{"id":1,"name": "John Smith", "claims":2},
{"id":2,"name": "Jane Doe", "claims":4},
{"id":3,"name": "John Doe", "claims":8},
{"id":4,"name": "Jane Smith", "claims":3}
]
}
Цель этого состоит в том, чтобы показать офисы и общую сумму требований. Затем, когда кто-то нажимает на ссылку, мы видим разбивку претензий. Вот код для перехода.
series.columns.template.events.on("hit", function(ev) {
var linkData = ev.target.dataItem.dataContext;
if (linkData.sub) {
chart.data = linkData.sub;
}
}, this);
Это работает в течение нескольких секунд, пока внешняя перезагрузка не перезагрузится из-за reloadFrequency. Потом выходит из строя довольно ужасно. Моим желаемым результатом было бы то, что при переходе по ссылке они увидели бы людей в реальном времени. Каждые 5 секунд он просто обновлял индивидуальные данные.
С другой стороны, я пробовал использовать другой способ, но этот, похоже, тоже не работает. Если бы я загружал эти внешние данные отдельно, он работал бы нормально, но когда я загружаю для замены внешних данных, по какой-то причине это не работает. Вот моя другая попытка:
series.columns.template.events.on("hit", function(ev) {
var locationID = ev.target.dataItem.dataContext.id;
chart.dataSource.url = "/admin/reports/ajax/locations-realtime-analysts.asp?locationID="+locationID;
chart.dataSource.load();
}, this);
Согласно документации, это должно сработать, потому что оно заменяет текущие данные новыми. Опять же, само по себе все работает нормально, но при попытке заменить одно другим - нет. Вот как выглядят внешние данные "аналитиков":
[
{"id":1,"name": "John Smith", "claims":2},
{"id":2,"name": "Jane Doe", "claims":4},
{"id":3,"name": "John Doe", "claims":8},
{"id":4,"name": "Jane Smith", "claims":3}
]
Ваша помощь очень признательна!