continued with mithril

This commit is contained in:
didier amyot committed 2016-02-07 09:03:33 -05:00
1 parent 0565d23cc8
commit 0c63722d68
6 files changed
+62 -17

No files matched your search

-6
View File
@@ -3,7 +3,6 @@
- -
date: 2016/06/02 # year/month/day date: 2016/06/02 # year/month/day
time: "18:00" time: "18:00"
name: Jeudi 2 juin
home: gris home: gris
away: jaune away: jaune
home_points: 6 home_points: 6
@@ -12,7 +11,6 @@
- -
date: 2016/06/02 # year/month/day date: 2016/06/02 # year/month/day
time: "20:30" time: "20:30"
name: Jeudi 2 juin
home: bleu home: bleu
away: rouge away: rouge
home_points: 9 home_points: 9
@@ -20,7 +18,6 @@
- -
date: 2016/06/09 # year/month/day date: 2016/06/09 # year/month/day
time: "18:00" time: "18:00"
name: Jeudi 9 juin
home: bleu home: bleu
away: jaune away: jaune
home_points: 7 home_points: 7
@@ -29,7 +26,6 @@
- -
date: 2016/06/09 # year/month/day date: 2016/06/09 # year/month/day
time: "20:30" time: "20:30"
name: Jeudi 9 juin
home: gris home: gris
away: rouge away: rouge
home_points: 4 home_points: 4
@@ -37,7 +33,6 @@
- -
date: 2016/06/16 # year/month/day date: 2016/06/16 # year/month/day
time: "18:00" time: "18:00"
name: Jeudi 16 juin
home: bleu home: bleu
away: jaune away: jaune
home_points: 4 home_points: 4
@@ -46,7 +41,6 @@
- -
date: 2016/06/16 # year/month/day date: 2016/06/16 # year/month/day
time: "20:30" time: "20:30"
name: Jeudi 16 juin
home: gris home: gris
away: rouge away: rouge
home_points: ~ home_points: ~
+3 -1
View File
@@ -43,5 +43,7 @@ gulp.task('webserver', function(){
}); });
gulp.task('dev', ['default', 'webserver'], function(){ gulp.task('dev', ['default', 'webserver'], function(){
return gulp.watch('./scss/*.scss', ['sass']); gulp.watch('./scss/*.scss', ['sass']);
return gulp.watch('./data/*.yaml', ['compile-results']);
}); });
+43 -4
View File
@@ -3,7 +3,7 @@ define(['_'], function(_) {
resultParser._addJSDateToResult = function(res){ resultParser._addJSDateToResult = function(res){
var date = res.date.split('/'); var date = res.date.split('/');
var time = res.time.split(':'); var time = _.isString(res.time) ? res.time.split(':'): [0, 0];
res.jsDate = new Date( res.jsDate = new Date(
Number(date[0]), Number(date[0]),
Number(date[1]) - 1, Number(date[1]) - 1,
@@ -30,7 +30,7 @@ define(['_'], function(_) {
} }
}); });
return _.map(ret, function(games, date){ return _.map(ret, function(games, date){
return {date: date, games: games}; return resultParser._addJSDateToResult({date: date, games: games});
}); });
}; };
@@ -40,20 +40,59 @@ define(['_'], function(_) {
return _.uniq(_.concat(homeTeams, awayTeams)); return _.uniq(_.concat(homeTeams, awayTeams));
}; };
resultParser._getWinner = function(res){
if(res.home_points > res.away_points){
return res.home;
}
if(res.home_points < res.away_points){
return res.away;
}
};
resultParser._hasWon = function(res, team){
return resultParser._getWinner(res) == team;
};
resultParser._hasLost = function(res, team){
return !resultParser._isDraw(res) && resultParser._getWinner(res) != team;
};
resultParser._isDraw = function(res){
return res.home_points == res.away_points;
};
resultParser._getPointsFor = function(res, team){
if(res.home == team){
return res.home_points;
}
return res.away_points;
};
resultParser._getPointsForOpponent = function(res, team){
if(res.home == team){
return res.away_points;
}
return res.home_points;
};
resultParser._getTeamStats = function(rawResults, team){ resultParser._getTeamStats = function(rawResults, team){
var ret = {team: team, gamePlayed: 0}; var ret = {
team: team, gamePlayed: 0, victories: 0,
defeats: 0, draws: 0, pointsFor: 0, pointsAgaint: 0};
_.each(rawResults, function(res){ _.each(rawResults, function(res){
if((team != res.home && team != res.away) || !_.isNumber(res.home_points)){ if((team != res.home && team != res.away) || !_.isNumber(res.home_points)){
return; return;
} }
ret.gamePlayed += 1; ret.gamePlayed += 1;
ret.victories += resultParser._hasWon(res, team) ? 1: 0;
ret.defeats += resultParser._hasLost(res, team) ? 1: 0;
ret.draws += resultParser._isDraw(res) ? 1: 0;
ret.pointsFor += resultParser._getPointsFor(res, team);
ret.pointsAgaint += resultParser._getPointsForOpponent(res, team);
}); });
return ret; return ret;
}; };
resultParser.getStats = function(rawResults){ resultParser.getStats = function(rawResults){
var allTeams = resultParser._getAllTeams(rawResults); var allTeams = resultParser._getAllTeams(rawResults);
var getTeamStats = _.partial(resultParser._getTeamStats, rawResults); var getTeamStats = _.partial(resultParser._getTeamStats, rawResults);
+10
View File
@@ -15,6 +15,16 @@ define(['m'], function(m) {
"in urna ultrices accumsan. Donec sed od"; "in urna ultrices accumsan. Donec sed od";
}; };
util.formatDate = function(date){
var monthNames = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
'juiller', 'août', 'septembre', 'octobre', 'novembre',
'decembre'];
return [date.getDate(),
monthNames[date.getMonth()],
date.getFullYear()].join(' ');
};
util.facebookLink = function(){ util.facebookLink = function(){
return m('a[href="https://www.facebook.com/LigueDeBalleLesPhenix"]', return m('a[href="https://www.facebook.com/LigueDeBalleLesPhenix"]',
m('i.fa.fa-facebook-square') m('i.fa.fa-facebook-square')
+2 -2
View File
@@ -1,4 +1,4 @@
define(['m', '_', 'resultParser', 'teams', 'views/topNavBar', 'views/footer'], function(m, _, resultParser, teams, topNavBar, footer) { define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/footer'], function(m, _, util, resultParser, teams, topNavBar, footer) {
var statsView = {}; var statsView = {};
statsView.controller = function(){ statsView.controller = function(){
@@ -97,7 +97,7 @@ define(['m', '_', 'resultParser', 'teams', 'views/topNavBar', 'views/footer'], f
}; };
schedulView._gameView = function(gameNight){ schedulView._gameView = function(gameNight){
return m('div', [m('h3', gameNight.date), return m('div', [m('h3', util.formatDate(gameNight.jsDate)),
m('table.uk-table.uk-table-hover.uk-table-condensed.uk-table-striped', m('table.uk-table.uk-table-hover.uk-table-condensed.uk-table-striped',
m('tbody',[ m('tbody',[
_.map(gameNight.games, schedulView._gameRow), _.map(gameNight.games, schedulView._gameRow),
+4 -4
View File
@@ -43,7 +43,7 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
nextGameDaySchedule._getGamesRow = function(game){ nextGameDaySchedule._getGamesRow = function(game){
return m('tr', [ return m('tr', [
m('td', 'small txt'), m('td', game.date),
m('td', game.time), m('td', game.time),
m('td', game.away), m('td', game.away),
m('td', game.home) m('td', game.home)
@@ -55,11 +55,11 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
}; };
nextGameDaySchedule.view = function(games){ nextGameDaySchedule.view = function(games){
return m('table.uk-table.uk-table-hover.uk-table-striped.uk-table-condensed', return m('table.uk-table.uk-table-hover.uk-table-striped.uk-table-condensed',[
m('tbody', [
nextGameDaySchedule._getTableHead(), nextGameDaySchedule._getTableHead(),
m('tbody',
nextGameDaySchedule._getGamesRows(games) nextGameDaySchedule._getGamesRows(games)
])); )]);
}; };
var mainPageSchedule = {}; var mainPageSchedule = {};