123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- Tasks = new Mongo.Collection("tasks");
- if (Meteor.isClient) {
- // This code only runs on the client
- Template.body.helpers({
- tasks: function () {
- if (Session.get('hideCompleted')) {
- return Tasks.find({ checked : { $ne : true }}, { sort: { createdAt: -1 }});
- } else {
- return Tasks.find({}, {sort: {createdAt: -1}});
- }
- },
- hideCompleted: function () {
- var ret = Session.get("hideCompleted");
- return ret;
- },
- incompleteCount: function () {
- var ret = Tasks.find({ checked: { $ne: true }}).count();
- return ret;
- }
- });
- // Inside the if (Meteor.isClient) block, right after Template.body.helpers:
- Template.body.events({
- "submit .new-task": function (event) {
- // This function is called when the new task form is submitted
- var text = event.target.text.value;
- Tasks.insert({
- text: text,
- createdAt: new Date() // current time
- });
- // Clear form
- event.target.text.value = "";
- // Prevent default form submit
- return false;
- },
- 'change .hide-completed input': function (e) {
- Session.set('hideCompleted', e.target.checked);
- }
- });
- Template.task.events({
- 'click .delete': function (e) {
- Tasks.remove(this._id);
- },
- 'click .toggle-checked' : function (e) {
- Tasks.update(this._id, {
- $set: { checked: !this.checked }
- });
- }
- });
- }
|