Hello,
I’ve made a table from a complexe mongo document.
Header & first collumn values are computed from a query result. Unfortunately my table is not reactive.
Name | X1 | X2 |
---|---|---|
foo | ||
bar |
Here is a sample of code
Template.Table.onCreated(function () {
this.header = new ReactiveVar([]);
this.firstcolumn = new ReactiveVar([]);
const instance = Template.instance();
this.autorun(function() {
const subscription = instance.subscribe('table');
if(subscription.ready()) {
updateTable();
}
});
function updateTable() {
const instance = Template.instance();
const samples = SampleData.find({})
const header = new Set();
const firstcolumn = new Set();
// Do some stuff, filling Set
//Avoid infinite loop
Tracker.nonreactive(() => {
instance.header.set(Array.from(header));
instance.firstcolumn.set(Array.from(firstcolumn);
});
});
Could you tell me how could I re-run updateTable() when SampleData.find({}) changes please ?
Thanks