Я хочу реализовать VIS JS Timeline таблицу в моем метеора приложения, я скачал VIS JS и CSS и добавлен в Lib папку, я создал мой шаблонMeteor: Рендер Vis JS Timeline Chart в Метеор App
<template name="vChart">
<div id="visualization"></div>
</template>
Ниже я подписавшись данные
Template.vChart.onCreated(function(){
var self = this;
self.autorun(function(){
var uMacAdd = FlowRouter.getParam('mc');
self.subscribe('historyinfo', uMacAdd);
});
});
на Рендер я называю showChart, которая делает мою диаграмму, но проблема в том, когда я извлечения данных из коллекции, она возвращает нуль.
Template.vChart.onRendered(function(){
var historyDump= Collection.find({}).fetch();
console.log("------------------------------------------------");
console.log(historyDump);
showChart();
});
Сейчас я отображая жестко закодированные данные в графике, но она должна быть динамичной и эти данные я хочу, чтобы извлечь его из моей коллекции.
var showChart = function(){
var container = document.getElementById('visualization');
// Create a DataSet (allows two way data-binding)
var items = new vis.DataSet([
{id: 1, className: 'Red',content: 'X', start: new Date(Date.now() - 1000 * 60 * 60 * 24),
end: new Date(Date.now() - 1000 * 60 * 60 * 23)},
{id: 2, className: 'green', content: 'Y', start: new Date(Date.now() - 1000 * 60 * 60 * 20),
end: new Date(Date.now() - 1000 * 60 * 60 * 19)}
]);
// Configuration for the Timeline
var options = {
//timeAxis: {scale: 'hour'},
zoomMax: 8.64e+7
};
// Create a Timeline
var timeline = new vis.Timeline(container, items, options);
}
Чтобы решить эту проблему я пытался писать помощник для шаблона vChart и назвал его от OnRender, но никакой пользы.
Template.vChart.helpers({
getHistory: function(){
var historyDump= Collection.find({}).fetch();
return historyDump;
}
});
Template.vChart.onRendered(function(){
var res = Template.vChart.__helpers['getHistory']();
console.log(res);
showChart();
});
Как достичь этого?
Примечание: Моя подписка и публикация исправно работают, и я могу видеть данные в командной строке. Только Collection.find({}).fetch()
написан в помощнике или рендер не работает.