-
-
Save sw1ftc0d3r/dbe22415bba5d469aab8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"/> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> | |
<title>Live</title> | |
<script type="text/javascript" src="./js/jquery-1.9.1.js"></script> | |
<script type="text/javascript" src="./js/jquery.mobile-1.3.2.js"></script> | |
<link rel="stylesheet" href="./assets/css/jquery.mobile-1.3.2.css"/> | |
<link rel="stylesheet" href="./assets/css/style.css"/> | |
<link rel="stylesheet" href="./assets/css/index.css"/> | |
<link rel="stylesheet" href="./assets/css/formation_countdown.css"/> | |
<link rel="stylesheet" href="./assets/css/live.css"/> | |
</head> | |
<body> | |
<div data-role="page" id="live-page"> | |
<div data-role="content" data-theme="c"> | |
<div class="ui-grid-solo header-top-custom-a"> | |
<div class="ui-block-a"> | |
<!-- <img src="./css/images/notifica-ok.png" alt="icon" class="image-header align-middle-to-context">--> | |
<span>Live</span> | |
<span id="live-team-name"></span> | |
<div class="ui-block-a live-team-wrapper"> | |
<span class="live-team-avatar"><img class = "live-avatar-img" /></span> | |
<span class="live-team-name">Mametrentadue F.C.</span> | |
<span class="live-event-label">live</span> | |
</div> | |
<div class="ui-block-a live-player-list-wrapper"> | |
<div class="live-player-item"> | |
<span class="live-player-name">Pirlo</span> | |
<img src="./assets/images/avatar-sample.png" class="player-event" /> | |
<img src="./assets/images/avatar-sample.png" class="player-event "/> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- /content --> | |
<div data-role="footer" data-position="fixed" data-tap-toggle="false" data-theme="a"> | |
<!-- bottom_nav_history --> | |
<div class="ui-grid-a"> | |
<div class="ui-block-a nav_history nav_history_on"></div> | |
<div class="ui-block-b nav_history nav_history_off"></div> | |
</div> | |
</div> | |
<!-- /footer --> | |
</div> | |
<!-- /page --> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var backEventListener = null; | |
// Db reference | |
var db = null; | |
// GC dell'app | |
var unregister = function() { | |
if ( backEventListener !== null ) { | |
// Eliminazione del listener del btn di back del gear | |
document.removeEventListener( 'tizenhwkey', backEventListener); | |
backEventListener = null; | |
// Eliminazione navigator-listener | |
NavigatorEventListener.unsetListeners(); | |
// Exit | |
window.tizen.application.getCurrentApplication().exit(); | |
} | |
} | |
//Initialize function | |
var init = function () { | |
/*var req = indexedDB.deleteDatabase("leghe"); | |
req.onsuccess = function () { | |
console.log("Deleted database successfully"); | |
}; | |
req.onerror = function () { | |
console.log("Couldn't delete database"); | |
}; | |
req.onblocked = function () { | |
console.log("Couldn't delete database due to the operation being blocked"); | |
};*/ | |
if(db == null) { | |
var dbRequest = DaoMaster.initDb(); | |
dbRequest.onsuccess = function(e) { | |
// Prelevo il riferimento al db | |
db = e.target.result; | |
// Operazioni di init della sessione | |
Session.init(); | |
}; | |
dbRequest.onerror = function(e) { | |
console.log("dbRequest.onerror"); | |
}; | |
} | |
// register once | |
if ( backEventListener !== null ) { | |
return; | |
} | |
// Funzione scatenata al press del btn di back del gear | |
var backEvent = function(e) { | |
// Gear back button | |
if (e.keyName == "back") { | |
try { | |
// Se l'utente è nella pagina del profilo, termino l'app | |
if(NavigatorEventListener.currentPageIndex == 3) { | |
unregister(); | |
return; | |
} | |
// if first page, terminate app | |
if ($.mobile.urlHistory.activeIndex <= 0) { | |
unregister(); | |
} | |
// move previous page | |
else { | |
$.mobile.urlHistory.activeIndex -= 1; | |
$.mobile.urlHistory.clearForward(); | |
window.history.back(); | |
} | |
} | |
catch(ex) { | |
unregister(); | |
} | |
} | |
} | |
// add eventListener for tizenhwkey (Back Button) | |
document.addEventListener('tizenhwkey', backEvent); | |
backEventListener = backEvent; | |
// Navigator event listener | |
NavigatorEventListener.init(); | |
// Navigazione tramite notifica all'onStart | |
//NavigatorEventListener.navigateToFromNotification(); | |
// Connect to host device (SAP) | |
tryToReconnect(); | |
//Debug.run(); | |
}; | |
var onPageShow = function() { | |
// Index page | |
if($("#index-page").length > 0) {} | |
// Live page | |
if($("#live-page").length > 0) { | |
var teamName = HostDataDao.get().onsuccess = function(e) { | |
var bean = e.target.result; | |
if (bean !== undefined) { | |
$(".squadra").html(bean.userProfile.teamName); | |
} | |
} | |
var userImageBean = UserImageDao.get(1).onsuccess = function(e) { | |
var bean = e.target.result; | |
if(bean !== undefined) { | |
// Setto la t-shirt del profilo | |
$(".live-team-avatar-img").attr("src", "data:image/jpeg;base64," + bean.userTshirtBase64); | |
} | |
} | |
var notification = NotificationDao.get().onsuccess = function(e) { | |
var bean = e.target.result; | |
var customerItemTemplate = | |
'<div class="live-player-item">\n\ | |
<span class="live-player-name"></span>\n\ | |
{imgs}\n\ | |
</div>'; | |
var customerItemData = ''; | |
//TODO improve me | |
if(bean !== undefined && bean.length > 0) { | |
var s = ""; | |
for (var i = 0; i < bean.length; i++) { | |
$(".live-player-list-wrapper").append(s); | |
customerItemData = customerItemData.replace(/{customerType}/g, item.customer_type_description); | |
s += "<br>" + bean[i].nome + "<br>"; | |
if(bean[i].gol_fatto > 0) { | |
s += bean[i].gol_fatto + "<img src='/assets/images/ic_event_goal.png' class='player-event'>"; | |
} | |
if(bean[i].gol_subito > 0){ | |
s += bean[i].gol_subito + "<img src='/assets/images/ic_event_lost_goal.png' class='player-event'>"; | |
} | |
if(bean[i].rigore_segnato > 0){ | |
s += bean[i].rigore_segnato + "<img src='/assets/images/ic_event_penalty_scored.png' class='player-event'>"; | |
} | |
if(bean[i].rigore_parato > 0){ | |
s += bean[i].rigore_parato + "<img src='/assets/images/ic_event_penalty_blocked.png' class='player-event'>"; | |
} | |
if(bean[i].rigore_sbagliato > 0){ | |
s += bean[i].rigore_sbagliato + "<img src='/assets/images/ic_event_penalty_failed.png' class='player-event'>"; | |
} | |
if(bean[i].assist > 0){ | |
s += bean[i].assist + "<img src='/assets/images/ic_event_assist_sationary.png' class='player-event'>"; | |
} | |
if(bean[i].assist_fermo > 0){ | |
s += bean[i].assist_fermo + "<img src='/assets/images/ic_event_assist_sationary.png' class='player-event'>"; | |
} | |
if(bean[i].autorete > 0){ | |
s += bean[i].autorete + "<img src='/assets/images/ic_event_owngoal.png' class='player-event'>"; | |
} | |
if(bean[i].gol_decisivo_pareggio > 0){ | |
s += bean[i].gol_decisivo_pareggio + "<img src='/assets/images/ic_event_goal_tie.png' class='player-event'>"; | |
} | |
if(bean[i].gol_decisivo_vittoria > 0){ | |
s += bean[i].gol_decisivo_vittoria + "<img src='/assets/images/ic_event_goal_victory.png' class='player-event'>"; | |
} | |
if(bean[i].ammonizione == 1){ | |
s += "<img src='/assets/images/ic_event_yellow_card.png' class='player-event'>"; | |
} | |
if(bean[i].espulsione == 1){ | |
s += "<img src='/assets/images/ic_event_red_card.png' class='player-event'>"; | |
} | |
if(bean[i].sostituzione.indexOf("E") != (-1)) { | |
s += "<img src='/assets/images/ic_event_player_in.png' class='player-event'>"; | |
} | |
if(bean[i].sostituzione.indexOf("U") != (-1)) { | |
s += "<img src='/assets/images/ic_event_player_out.png' class='player-event'>"; | |
} | |
} | |
$("#live-notification").html(s); | |
} | |
else { | |
$("#live-notification").html("Nessun dato da visualizzare"); | |
} | |
} | |
notification.onerror = function(e) { | |
$("#live-notification").html("Nessun dato da visualizzare"); | |
} | |
} | |
// Formation countdown page | |
if($("#formation-countdown-page").length > 0) { | |
var hostDataBean = HostDataDao.get().onsuccess = function(e) { | |
var bean = e.target.result; | |
if(bean !== undefined && bean.formationCountdown > 0) { | |
// countdown(start, end, units, max, digits); | |
var start = null; | |
var end = new Date(bean.formationCountdown); | |
var units = countdown.DAYS & countdown.HOURS & countdown.MINUTES & countdown.SECONDS; | |
var max = 3; | |
// Init countdown | |
var countDownStart = countdown(start, end, units, max).toString(); | |
// Se mancano ancora alcune ore setto il limite delle label da mostare a 1 | |
/*if( (countDownStart.search("ora") >= 0) || (countDownStart.search("ore") >= 0) ) { | |
max = 1; | |
countDownStart = countdown(start, end, units, max).toString(); | |
}*/ | |
// Append della data formattata | |
$("#formation-countdown").html(countDownStart); | |
// Update del countdown ad ogni secondo | |
var countdownIntervalId = setInterval(function() { | |
var actualCountDown = countdown(start, end, units, max).toString(); | |
// Se il countdown è a 0 termino l'interval | |
if(actualCountDown == "") { | |
// Disabilito la slide del countdown | |
PageManager.pages[2].isEnabled = false; | |
// Abilito la pagina del live | |
PageManager.pages[1].isEnabled = true; | |
$("#formation-countdown").html("Segui gli aggiornamenti in tempo reale nella sezione live"); | |
// Timeout prima del redirect sulla slide del live | |
setTimeout(function() { | |
NavigatorEventListener.goTo(1); | |
}, 5000); | |
clearInterval(countdownIntervalId); | |
return; | |
} | |
$("#formation-countdown").html(actualCountDown); | |
}, 1000); | |
} | |
else { | |
$("#formation-countdown").html("In attesa di sincronizzazione..."); | |
} | |
} | |
hostDataBean.onerror = function(e) { | |
$("#formation-countdown").html("In attesa di sincronizzazione..."); | |
} | |
} | |
// User profile page | |
if($("#user-profile-page").length > 0) { | |
var hostDataBean = HostDataDao.get().onsuccess = function(e) { | |
var bean = e.target.result; | |
if(bean !== undefined) { | |
// Setto i dati del profilo | |
$(".lega").html(bean.userProfile.leagueName); | |
$(".competizione").html(bean.userProfile.competitionName); | |
$(".squadra").html(bean.userProfile.teamName); | |
$("#score").html(bean.userProfile.score); | |
$("#position").html(bean.userProfile.position); | |
} | |
} | |
var userImageBean = UserImageDao.get(1).onsuccess = function(e) { | |
var bean = e.target.result; | |
if(bean !== undefined) { | |
// Setto le immagini del profilo | |
$("#binary-avatar").attr("src", "data:image/jpeg;base64," + bean.userAvatarBase64); | |
} | |
} | |
var userImageBean = UserImageDao.get(2).onsuccess = function(e) { | |
var bean = e.target.result; | |
if(bean !== undefined) { | |
// Setto le immagini del profilo | |
$("#binary-tshirt").attr("src", "data:image/jpeg;base64," + bean.userTshirtBase64); | |
} | |
} | |
} | |
} | |
// Page event | |
$(document).bind('pageinit', init); | |
$(document).bind('pageshow', onPageShow); | |
$(document).unload(unregister); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment