/** * Client code for the website_item template. */ /** * Template events */ Template.website_item.events({ "click .js-upvote": function () { // Example of how you can access the id for the website in the database // (this is the data context for the template) const websiteId = this._id; console.log("Up voting website with id " + websiteId); // Put the code in here to add a vote to a website! const userId = Meteor.userId(); const modifiers = { $addToSet: { plus: userId }, $pull: { minus: userId } }; Websites.update({ _id: websiteId }, modifiers); // Prevent the button from reloading the page. return false; }, "click .js-downvote": function () { // example of how you can access the id for the website in the database // (this is the data context for the template) const websiteId = this._id; console.log("Down voting website with id " + websiteId); // Put the code in here to remove a vote from a website! const userId = Meteor.userId(); const modifiers = { $addToSet: { minus: userId }, $pull: { plus: userId } }; Websites.update({ _id: websiteId }, modifiers); // Prevent the button from reloading the page return false; } }); Template.website_item.helpers({ upVoted: function () { return _.contains(this.plus, Meteor.userId()) ? "btn-success" : ""; }, downVoted: function () { return _.contains(this.minus, Meteor.userId()) ? "btn-danger" : ""; } });