UNPKG

sportsbet-mobile

Version:
128 lines (104 loc) 3.15 kB
///<reference path=".#ts/client.d.ts" /> interface Templates { lotteries: Template; } Template.lotteries.helpers({ lotteries: function () { var selector = <any>{}; var options = <any>{}; selector = _.extend(selector, Session.get('lotteryFilter')); if(Session.get('showHistory')){ selector.drawDate = {$lt: new Date()}; options.limit = 50; options.sort = {drawn: -1}; } else{ options.sort = {drawDate: 1}; } return Lotteries.LotteryInstance.db.find(selector, options); }, usableTickets: function () { return Session.get('usableTickets'); }, showHistory: function () { return Session.get('showHistory'); }, showLocked: function() { var filter = Session.get('lotteryFilter'); if (!filter) { return; } return filter.locked; }, showAll: function() { var filter = Session.get('lotteryFilter'); if (!filter || !filter.locked) { return true; } return false; } }); Template.lotteries.events({ 'click .filterAll': function () { Session.set('lotteryFilter', {}); }, 'click .filterLocked': function () { Session.set('lotteryFilter', {locked: true}); }, //'click .filterLotto': function () { // Session.set('lotteryFilter', {type: {$in: [Lotteries.LotteryType.LOTTO_AUTO, Lotteries.LotteryType.LOTTO_AUTO_FILL, Lotteries.LotteryType.LOTTO_MANUAL]}}); //}, //'click .filterRaffle': function () { // Session.set('lotteryFilter', {type: {$in: [Lotteries.LotteryType.RAFFLE_AUTO, Lotteries.LotteryType.RAFFLE_MANUAL]}}); //} }); Template.lotteries.rendered = function() { //var lottery = Lotteries.LotteryInstance.db.find({}); this.autorun(() => { if (!Session.get('fillLottery')) { return; } if (Users.Profile.active()) { var lotteryIds = Lotteries.LotteryInstance.db.find().fetch().map(function (l) { return l._id }); if (lotteryIds) { var instance = Lotteries.LotteryInstance.db.findOne({_id: lotteryIds[0]}); if (instance) { var ticket = instance.tickets.fetch({numbers: {$exists: false}})[0]; if (ticket) { Session.set('opened-modal', 'fillTicketModal'); Modals.open('fillTicketModal', ticket); } } } } }); } Template.lotteries.onCreated(function(){ Meteor.setInterval(function(){ counterApi.dep.changed(); }, 1000); this.autorun(() => { var selector = <any>{active: true, drawDate: {$gt: new Date()}}; var options = <any>{sort: {drawDate: 1}}; if(Session.get('showHistory')){ delete selector.active; selector.drawDate = {$lt: new Date()}; options.limit = 50; } selector = _.extend(selector, Session.get('lotteryFilter')); this.subscribe('Lotteries.LotteryInstance', selector, options); this.subscribe('Lotteries.Ticket', {lotteryInstance: {$exists: false}}); var usableTicketCount = Lotteries.Ticket.db.find({lotteryInstance: {$exists: false}}).count(); Session.set('usableTickets', usableTicketCount); if (Users.Profile.active()) { var lotteryIds = Lotteries.LotteryInstance.db.find().fetch().map(function (l) { return l._id }); if (lotteryIds) { this.subscribe('Lotteries.Ticket', {lotteryInstance: {$in: lotteryIds}}); } } }); });