UNPKG

sportsbet-mobile

Version:
81 lines (64 loc) 1.77 kB
///<reference path=".#ts/client.d.ts" /> interface Templates { numbers: Template; } Template.numbers.helpers({ numbers: function(){ var lotteryInstance = (<Lotteries.LotteryInstance>this); var numbers = []; for(var i = lotteryInstance.numberRange.min; i <= lotteryInstance.numberRange.max; i++){ numbers.push(i); } return numbers; }, numbersLeft: function(){ return (<Lotteries.LotteryInstance>this).numberAmount - Session.get('numbersPicked').length; }, tooManyNumbers: function(){ return Session.get('numbersPicked').length > (<Lotteries.LotteryInstance>this).numberAmount; }, error: function(){ return Session.get('ticketError'); }, success: function(){ return Session.get('ticketSuccess'); }, submitName: function(){ return Session.get('submitName'); }, numbersPicked: function(){ return Session.get('numbersPicked'); } }); Template.numbers.events({ 'change input[type="checkbox"]': function(e){ var numbersPicked = Session.get('numbersPicked'); if(e.target.checked) { numbersPicked.push(parseInt(e.target.id.substr(13))); } else { numbersPicked.splice(numbersPicked.indexOf(parseInt(e.target.id.substr(13))), 1); } Session.set('numbersPicked', numbersPicked); }, 'click .button-random-numbers': function(){ var numbers = chance.unique( chance.natural, this.numberAmount, { min: this.numberRange.min, max: this.numberRange.max } ).sort(function (a, b) { return a - b }); $('.numbers input').prop( "checked", false); _.each(numbers, function(num) { $('.numbers input[name="numbers['+num+']"]').prop( "checked", true); }); Session.set('numbersPicked', numbers); } }); Template.numbers.created = function () { Session.set('numbersPicked', []); };