12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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
- owner: Meteor.userId(), // _id of logged-in user
- username: Meteor.user().username
- });
- // 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 }
- });
- }
- });
- Accounts.ui.config({
- passwordSignupFields: "USERNAME_ONLY"
- });
- }
|