edwards17
edwards17

Reputation: 83

Reactive-Tables Meteor

I am trying to get reactive-tables to work but I am having no luck following the instructions on GitHub.

This is what I have:

In my Main.html:

{{> courseTable }}

in my course_table.html:

<template name="courseTable">
    <div id="table">
    {{ > reactiveTable collection=Courses}}
    </div>
</template>

in courses.js:(works with autoForm)

Courses = new Meteor.Collection("courses", {
    schema: {....

Is there something I am missing? From my understanding once these commands are used, the rest is done from within the package. I can't find any more information on this package anywhere.

What I have now just shows a blank screen.

Thanks in advance!

Upvotes: 0

Views: 3084

Answers (2)

kevinterrobang
kevinterrobang

Reputation: 428

Courses is the collection object. To get some courses, you need to query the courses with find:

Courses.find()

However, to make this accessible in the template, you need a helper function.

//course_table.js
Template.courseTable.helpers({
  courses: function () {
    return Courses.find()
  }
});

Then you can can set the table collection using the helper method (I used a lowercase "courses" for the helper method for clarity):

{{> reactiveTable collection=courses}}

Upvotes: 0

sembrador
sembrador

Reputation: 31

This is what I have: (I'm using Meteor framework and bootstrap-3 package)

in index.html

<template name="clientes">
    <div class="container">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">Clientes</h3>
            </div>
            <div class="panel-body">
                {{> reactiveTable collection=tables settings=tableSettings}}
            </div>
        </div>
    </div>
</template>

in index.js

var Clientes = new Meteor.Collection('clientes')

Template.clientes.tables = function () {
    return Clientes;
}

Template.clientes.tableSettings = function () {
    return {
        rowsPerPage: 10,
        showFilter: false,
        showNavigation: 'auto',
        fields: [
            { key: 'nombre', label: 'Nombre' },
            { key: 'apellido', label: 'Apellido' },
            { key: 'correoe', label: 'E-mail' }
        ],
        useFontAwesome: true,
        group: 'client'
    };
}

With this I can display all the records in the collection. I hope this help you to go any further.

Upvotes: 3

Related Questions