61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
define(['m', '_', 'util', 'resultParser', 'teams', 'views/scheduleTeamTags', 'images/rain.svg'], function(m, _, util, resultParser, teams, scheduleTeamTags, rainSvg) {
|
|
|
|
|
|
var schedulView = {};
|
|
|
|
schedulView.controller = function(year){
|
|
var games = m.prop([]);
|
|
return util.getResults(year)
|
|
.then(games)
|
|
.then(resultParser.getNightGames);
|
|
};
|
|
|
|
|
|
schedulView._asGamePoints = function(points){
|
|
return !_.isNumber(points) ? '-' : points + '';
|
|
};
|
|
|
|
schedulView._rainIcon = function(game){
|
|
if(game.rain){
|
|
return m('span', {title: 'pluie, partie annulée.'}, rainSvg('1.5em'));
|
|
}
|
|
return m('span', {style: {visibility: 'hidden'}}, rainSvg('1.5em'));
|
|
};
|
|
|
|
schedulView._gameName = function(game){
|
|
return [schedulView._rainIcon(game),
|
|
" ",
|
|
game.time];
|
|
};
|
|
|
|
schedulView._gameRow = function(game){
|
|
|
|
return m('tr',[
|
|
m('td', schedulView._gameName(game)),
|
|
m('td', scheduleTeamTags.getAwayTeamTag(game)),
|
|
m('td', schedulView._asGamePoints(game.away_points)),
|
|
m('td', 'vs'),
|
|
m('td', scheduleTeamTags.getHomeTeamTag(game)),
|
|
m('td', schedulView._asGamePoints(game.home_points))
|
|
]);
|
|
};
|
|
|
|
schedulView._gameView = function(gameNight){
|
|
return m('div', [m('h3', util.formatDate(gameNight.jsDate)),
|
|
m('table.uk-table.uk-table-hover.uk-table-condensed.uk-table-striped',
|
|
m('tbody',[
|
|
_.map(gameNight.games, schedulView._gameRow),
|
|
])
|
|
)
|
|
]);
|
|
|
|
};
|
|
|
|
schedulView.view = function(games){
|
|
return m('div.uk-grid',
|
|
m('div.uk-width-large-3-5.uk-width-medium-1-1',
|
|
_.map(games(), schedulView._gameView)));
|
|
};
|
|
return schedulView;
|
|
})
|