moved to requirejs
This commit is contained in:
1 parent
b651c6ac5e
commit
0565d23cc8
19 files changed
+468
-456
No files matched your search
@@ -0,0 +1,128 @@
|
||||
define(['m', '_', 'resultParser', 'teams', 'views/topNavBar', 'views/footer'], function(m, _, resultParser, teams, topNavBar, footer) {
|
||||
var statsView = {};
|
||||
|
||||
statsView.controller = function(){
|
||||
var games = m.prop([]);
|
||||
return m.request({method: "GET", url: "/api/resultats.json"})
|
||||
.then(games)
|
||||
.then(resultParser.getStats);
|
||||
};
|
||||
|
||||
statsView.getStatRow = function(teamStats){
|
||||
var formatStat = function(n){
|
||||
return teamStats.gamePlayed === 0 ? '-' : n;
|
||||
};
|
||||
return m('tr', [
|
||||
m('td', teamStats.team),
|
||||
m('td', teamStats.gamePlayed),
|
||||
m('td', formatStat(teamStats.victories)),
|
||||
m('td', formatStat(teamStats.defeats)),
|
||||
m('td', formatStat(teamStats.draws)),
|
||||
m('td', formatStat(teamStats.pointsFor)),
|
||||
m('td', formatStat(teamStats.pointsAgaint)),
|
||||
m('td', formatStat(teamStats.pointsFor - teamStats.pointsAgaint)),
|
||||
m('td', "? ")
|
||||
]);
|
||||
};
|
||||
|
||||
statsView.mainTable = function(stats){
|
||||
return m('table.uk-table.uk-table-hover.uk-table-striped',[
|
||||
m('thead', m('tr', [
|
||||
m('th', 'Équipes'),
|
||||
m('th', 'PJ'),
|
||||
m('th', 'V'),
|
||||
m('th', 'D'),
|
||||
m('th', 'N'),
|
||||
m('th', 'PP'),
|
||||
m('th', 'PC'),
|
||||
m('th', 'DIF'),
|
||||
m('th', 'PTS')
|
||||
])),
|
||||
m('tbody', _.map(stats, statsView.getStatRow))
|
||||
]);
|
||||
};
|
||||
|
||||
statsView.legend = function(){
|
||||
var items = ["PJ : Parties joués", "V : Victoire", "D : Défaite",
|
||||
"N : Nul", "PP : Points pour", "PC : Points contre",
|
||||
"DIF : Diférenciel","PTS : Points"];
|
||||
return m('ul.uk-subnav.uk-subnav-line.uk-flex-center',[
|
||||
_.map(items, function(itm){
|
||||
return m('li', itm);
|
||||
})
|
||||
]);
|
||||
};
|
||||
|
||||
statsView.view = function(stats){
|
||||
return m('div.uk-grid',
|
||||
m('div.uk-width-1-1',[
|
||||
m('h2', 'Classement 2016'),
|
||||
statsView.mainTable(stats()),
|
||||
statsView.legend()
|
||||
]));
|
||||
|
||||
};
|
||||
|
||||
|
||||
var schedulView = {};
|
||||
|
||||
schedulView.controller = function(){
|
||||
var games = m.prop([]);
|
||||
return m.request({method: "GET", url: "/api/resultats.json"})
|
||||
.then(games)
|
||||
.then(resultParser.getNightGames);
|
||||
};
|
||||
|
||||
schedulView._getTeamTag = function(teamName){
|
||||
var teamColor = teams.getTeamColor(teamName);
|
||||
return [
|
||||
m('i.fa.fa-flag', {style: {color: teamColor}}),
|
||||
m('span', ' ' + teamName)
|
||||
];
|
||||
};
|
||||
|
||||
schedulView._asGamePoints = function(points){
|
||||
return !_.isNumber(points) ? '-' : points + '';
|
||||
};
|
||||
|
||||
schedulView._gameRow = function(game){
|
||||
return m('tr',[
|
||||
m('td', game.time),
|
||||
m('td', schedulView._getTeamTag(game.home)),
|
||||
m('td', schedulView._asGamePoints(game.home_points)),
|
||||
m('td', 'vs'),
|
||||
m('td', schedulView._getTeamTag(game.away)),
|
||||
m('td', schedulView._asGamePoints(game.away_points))
|
||||
]);
|
||||
};
|
||||
|
||||
schedulView._gameView = function(gameNight){
|
||||
return m('div', [m('h3', gameNight.date),
|
||||
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-3-5',
|
||||
_.concat([m('h2', 'Calendrier 2016')], _.map(games(), schedulView._gameView))));
|
||||
};
|
||||
|
||||
calendarPage = {};
|
||||
|
||||
calendarPage.view = function(){
|
||||
return [m.component(topNavBar),
|
||||
m('div.uk-grid',
|
||||
m('div.uk-width-3-5.uk-push-1-5',[
|
||||
m.component(statsView),
|
||||
m.component(schedulView)])),
|
||||
m.component(footer)];
|
||||
};
|
||||
|
||||
return calendarPage;
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
define(['m', '_', 'util'], function (m, _, util) {
|
||||
var footer = {};
|
||||
|
||||
footer.view = function(){
|
||||
return m('footer.uk-grid.ph-footer', {style: {padding: '80px'}},
|
||||
m('div.uk-container.uk-container-center.uk-text-center', [
|
||||
m('div.uk-panel', 'Ligue de balle les Phénix... pour le plaisir de jouer!'),
|
||||
m('ul.uk-subnav.uk-subnav-line.uk-flex-center',
|
||||
m('li', m('a[href="mailto:info@ballephenix.com"]', 'info@ballephenix.com'))),
|
||||
m('h1', util.facebookLink())
|
||||
])
|
||||
);
|
||||
};
|
||||
|
||||
return footer;
|
||||
});
|
||||
@@ -0,0 +1,130 @@
|
||||
define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) {
|
||||
var mainPageLogo = {};
|
||||
|
||||
mainPageLogo.view = function(){
|
||||
return m('div.uk-grid', [
|
||||
m('div.uk-width-1-3.uk-push-1-3', [
|
||||
m('div.uk-cover-background', {style: 'height: 500px; background-size: 500px; background-image: url(images/phenix_logo.png);'})
|
||||
])
|
||||
]);
|
||||
};
|
||||
|
||||
var mainPageNews = {};
|
||||
|
||||
mainPageNews.view = function(){
|
||||
return m('div.uk-panel.uk-panel-box',[
|
||||
m('div.uk-panel-badge.uk-badge', [
|
||||
m('i.fa.fa-newspaper-o')
|
||||
]),
|
||||
m('h3.uk-panel-title', 'Nouvelles')
|
||||
], util.loremIpsum());
|
||||
};
|
||||
|
||||
var nextGameDaySchedule = {};
|
||||
|
||||
nextGameDaySchedule.controller = function(){
|
||||
var games = m.prop([]);
|
||||
return m.request({method: "GET", url: "/api/resultats.json"})
|
||||
.then(games)
|
||||
.then(resultParser.getNightGames)
|
||||
.then(function(nightGames){
|
||||
return nightGames[0].games;
|
||||
});
|
||||
};
|
||||
|
||||
nextGameDaySchedule._getTableHead = function(){
|
||||
return m('thead', m('tr', [
|
||||
m('td', 'Date'),
|
||||
m('td', 'Heure'),
|
||||
m('td', 'Visiteur'),
|
||||
m('td', 'Receveur')
|
||||
]));
|
||||
};
|
||||
|
||||
nextGameDaySchedule._getGamesRow = function(game){
|
||||
return m('tr', [
|
||||
m('td', 'small txt'),
|
||||
m('td', game.time),
|
||||
m('td', game.away),
|
||||
m('td', game.home)
|
||||
]);
|
||||
};
|
||||
|
||||
nextGameDaySchedule._getGamesRows = function(games){
|
||||
return _.map(games(), nextGameDaySchedule._getGamesRow);
|
||||
};
|
||||
|
||||
nextGameDaySchedule.view = function(games){
|
||||
return m('table.uk-table.uk-table-hover.uk-table-striped.uk-table-condensed',
|
||||
m('tbody', [
|
||||
nextGameDaySchedule._getTableHead(),
|
||||
nextGameDaySchedule._getGamesRows(games)
|
||||
]));
|
||||
};
|
||||
|
||||
var mainPageSchedule = {};
|
||||
|
||||
mainPageSchedule.view = function(){
|
||||
return m('div.uk-panel.uk-panel-box',[
|
||||
m('div.uk-panel-badge.uk-badge', [
|
||||
m('i.fa.fa-clock-o')
|
||||
]),
|
||||
m('h3.uk-panel-title', 'Horaire'),
|
||||
m.component(nextGameDaySchedule)
|
||||
]);
|
||||
};
|
||||
|
||||
var mainMap = {};
|
||||
|
||||
mainMap.getMap = function(){
|
||||
var iframeUrl = "http://www.openstreetmap.org/export/embed.html?bbox=-73.55889558792114%2C45.53089890181621%2C-73.55181455612183%2C45.53426212742867&layer=mapnik";
|
||||
var externalLink = "http://www.openstreetmap.org/#map=18/45.53258/-73.55536";
|
||||
var iframeParams = {
|
||||
style: {border: '1px solid black', 'min-height': '300px'},
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
frameborder: 0,
|
||||
scrolling: 'no',
|
||||
marginheight: 0,
|
||||
src: iframeUrl
|
||||
};
|
||||
return [
|
||||
m('iframe', iframeParams),
|
||||
m('br'),
|
||||
m('small', m('a', {href: externalLink}, 'Voir la carte'))
|
||||
];
|
||||
};
|
||||
|
||||
mainMap.view = function(){
|
||||
return m('div.uk-panel.uk-panel-box',[
|
||||
m('div.uk-panel-badge.uk-badge', [
|
||||
m('i.fa.fa-map-o')
|
||||
]),
|
||||
m('h3.uk-panel-title', 'Parc Walter-Stewart'),
|
||||
mainMap.getMap()
|
||||
]);
|
||||
};
|
||||
|
||||
var mainPageBottom = {};
|
||||
|
||||
mainPageBottom.view = function(){
|
||||
return m('div.uk-grid',[
|
||||
m('div.uk-width-1-5'),
|
||||
m('div.uk-width-1-5', mainPageNews.view()),
|
||||
m('div.uk-width-1-5', mainPageSchedule.view()),
|
||||
m('div.uk-width-1-5', mainMap.view())
|
||||
]);
|
||||
};
|
||||
|
||||
var mainPage = {};
|
||||
|
||||
mainPage.view = function(){
|
||||
return [topNavBar.view(),
|
||||
mainPageLogo.view(),
|
||||
mainPageBottom.view(),
|
||||
footer.view()
|
||||
];
|
||||
};
|
||||
|
||||
return mainPage;
|
||||
});
|
||||
@@ -0,0 +1,42 @@
|
||||
define(['m', '_', 'util'], function (m, _, util) {
|
||||
var topNavBar = {};
|
||||
|
||||
topNavBar._urlMapping = {
|
||||
acceuil: 'Acceuil',
|
||||
calendrier: 'Calendrier',
|
||||
reglement: 'Règlement',
|
||||
photos: 'Photos',
|
||||
membre: 'Membre',
|
||||
contact: 'Nous Joindre'
|
||||
};
|
||||
|
||||
topNavBar.controller = function(){
|
||||
return {id: m.route.param("page")};
|
||||
};
|
||||
|
||||
topNavBar._getUrlForId = function(id_){
|
||||
return '#/' + id_;
|
||||
};
|
||||
|
||||
topNavBar._isActive = function(id_){
|
||||
return id_ == m.route.param("page");
|
||||
};
|
||||
|
||||
topNavBar._getItem = function(name, id){
|
||||
var class_ = topNavBar._isActive(id) ? 'uk-active' : 'uk-parent';
|
||||
var url = topNavBar._getUrlForId(id);
|
||||
return m("li", {class: class_}, [m("a",{href: url}, name)]);
|
||||
};
|
||||
|
||||
topNavBar.view = function(controller){
|
||||
return m("nav.uk-navbar",
|
||||
[m("div.uk-navbar-content.uk-navbar-center", [
|
||||
m("ul.uk-navbar-nav",
|
||||
m('li.uk-parent', util.facebookLink()),
|
||||
_.map(topNavBar._urlMapping, topNavBar._getItem)
|
||||
)
|
||||
])]);
|
||||
};
|
||||
|
||||
return topNavBar;
|
||||
});
|
||||
Reference in new issue
Block a user