Шаблонные диаграммы Ng2-Admin с DataLoader
Я пытаюсь загрузить данные в некоторые диаграммы в шаблоне ng2-admin, используя API, запущенный на другом сервере (или, если быть точным, порт).
Мой код внутри lineChart.service.ts выглядит следующим образом:
return {
type: 'serial',
theme: 'blur',
marginTop: 15,
marginRight: 15,
responsive: {
'enabled': true
},
dataLoader: {
url: 'http://localhost:4000/reporting/temperatures',
format: 'json',
showErrors: true,
noStyles: true,
async: true
},
categoryField: 'MeasureMoment',
categoryAxis: {
parseDates: true,
gridAlpha: 0,
inside: true,
color: layoutColors.defaultText,
axisColor: layoutColors.defaultText
},
valueAxes: [
{
minVerticalGap: 50,
gridAlpha: 0,
color: layoutColors.defaultText,
axisColor: layoutColors.defaultText,
labelFunction: this.formatLabel
}
],
graphs: [
{
id: 'g0',
bullet: 'none',
useLineColorForBulletBorder: true,
lineColor: colorHelper.hexToRgbA(graphColor, 0.3),
lineThickness: 1,
negativeLineColor: layoutColors.danger,
type: 'smoothedLine',
valueField: 'Temperature',
fillAlphas: 1,
fillColorsField: 'lineColor'
}
],
chartCursor: {
categoryBalloonDateFormat: 'MM YYYY',
categoryBalloonColor: '#4285F4',
categoryBalloonAlpha: 0.7,
cursorAlpha: 0,
valueLineEnabled: true,
valueLineBalloonEnabled: true,
valueLineAlpha: 0.5
},
dataDateFormat: 'MM YYYY',
export: {
enabled: true
},
creditsPosition: 'bottom-right',
zoomOutButton: {
backgroundColor: '#fff',
backgroundAlpha: 0
},
zoomOutText: '',
pathToImages: layoutPaths.images.amChart
};
Это не что иное, как страница по умолчанию, за исключением части данных, где в исходном шаблоне есть элемент dataProvider с данными в нем, и я заменил его на dataLoader, который я успешно использовал ранее.
Я заменил значения valueField и CategoryField на элементы, которые возвращает мой API. Насколько я знаю, это должно сработать. Когда я перезагружаю страницу, я не вижу никакой диаграммы.
Я проверил API, который возвращает данные. Я добавлял строку журнала в консоль каждый раз, когда вызывался API, показывающий, что сделан запрос. Я не вижу никаких запросов при перезагрузке страницы ng2-admin.
Когда я делаю какую-то ошибку и вижу сообщение об ошибке, я могу посмотреть на это, но сообщения об ошибке нет вообще.
Я мог бы использовать некоторую помощь, чтобы выяснить это. Если потребуется дополнительная информация, я буду рад поделиться.
Спасибо!
1 ответ
Итак, для любого, кто ищет ту же функциональность, решение выглядит следующим образом:
Как указано в xorspark: для использования функциональности dataLoader вы должны включить dateloader.js или dataloader.min.js. Но в качестве структуры Angular Framework / CLI (не уверен, какая именно это вызывает) не используются обычные структуры по умолчанию, я был немного смущен. Поиск в источнике шаблона ng2-admin обнаружил, что файл baAmChart.compo nent.ts содержит импорт ("замены") для amchart:
import 'amcharts3';
import 'amcharts3/amcharts/plugins/responsive/responsive.js';
import 'amcharts3/amcharts/serial.js';
Я только что добавил импорт загрузчика данных
import 'amcharts3/amcharts/plugins/dataloader/dataloader.js';
Это решило проблему "не загрузки". И, конечно, здесь можно добавить другие плагины.
Еще раз спасибо за указание мне на xorspark dataloader.js!