Comment client side JS
This commit is contained in:
parent
d6806bf3b5
commit
632031d453
@ -20,7 +20,7 @@ async function storageAvailable(type) { // Currently not used
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function versionDisplay() {
|
async function versionDisplay() { // Outputs version string on to any page with a tag with id="ver_str"
|
||||||
localStorage.setItem("version", version)
|
localStorage.setItem("version", version)
|
||||||
document.getElementById('ver_str').textContent = version
|
document.getElementById('ver_str').textContent = version
|
||||||
return;
|
return;
|
||||||
@ -127,7 +127,7 @@ async function getQuery(param) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function vibe(type) {
|
async function vibe(type) { // Offers three standard vibration patterns for consistency
|
||||||
let canVibrate = "vibrate" in navigator || "mozVibrate" in navigator
|
let canVibrate = "vibrate" in navigator || "mozVibrate" in navigator
|
||||||
if (canVibrate && !("vibrate" in navigator)){
|
if (canVibrate && !("vibrate" in navigator)){
|
||||||
navigator.vibrate = navigator.mozVibrate
|
navigator.vibrate = navigator.mozVibrate
|
||||||
@ -144,7 +144,7 @@ async function vibe(type) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function convertUnixLocal(unix) {
|
async function convertUnixLocal(unix) { // Convert unix time string to local
|
||||||
var jsTime = unix*1000
|
var jsTime = unix*1000
|
||||||
var dt = new Date(jsTime)
|
var dt = new Date(jsTime)
|
||||||
return dt.toLocaleString()
|
return dt.toLocaleString()
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
|
//
|
||||||
// Init:
|
// Init:
|
||||||
|
//
|
||||||
|
// Setup quick links
|
||||||
const ql = ["ql0","ql1","ql2","ql3","ql4","ql5","ql6","ql7","ql8","ql9","ql10","ql11"]
|
const ql = ["ql0","ql1","ql2","ql3","ql4","ql5","ql6","ql7","ql8","ql9","ql10","ql11"]
|
||||||
storageAvailable("localStorage");
|
storageAvailable("localStorage");
|
||||||
getQl();
|
getQl();
|
||||||
hideLoading();
|
// Check if already registered
|
||||||
ifAlreadyRegistered();
|
ifAlreadyRegistered();
|
||||||
|
// Hide loading
|
||||||
|
hideLoading();
|
||||||
|
|
||||||
async function ifAlreadyRegistered() {
|
async function ifAlreadyRegistered() { // If already registered, show this on the page
|
||||||
if (! await isRegistered()) { return } else {
|
if (! await isRegistered()) { return } else {
|
||||||
document.getElementsByName("eml")[0].placeholder = "Registered";
|
document.getElementsByName("eml")[0].placeholder = "Registered";
|
||||||
document.getElementById("reg_text").textContent = "You are already registered";
|
document.getElementById("reg_text").textContent = "You are already registered";
|
||||||
@ -13,7 +18,7 @@ async function ifAlreadyRegistered() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getQl(){
|
async function getQl(){ // Fetch Quick Links from localstorage
|
||||||
var qlOpt = await getQuickLinks()
|
var qlOpt = await getQuickLinks()
|
||||||
if (qlOpt){
|
if (qlOpt){
|
||||||
var i = 0
|
var i = 0
|
||||||
@ -26,8 +31,8 @@ async function getQl(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function setQl(){
|
async function setQl(){ // Fetch Quick Links from text input and save to localstorage
|
||||||
await showLoading();
|
await showLoading();// called as an onclick function
|
||||||
var qlSet = []
|
var qlSet = []
|
||||||
for (i in ql) {
|
for (i in ql) {
|
||||||
var opt = document.getElementById(`ql${i}`).value
|
var opt = document.getElementById(`ql${i}`).value
|
||||||
@ -45,7 +50,7 @@ async function setQl(){
|
|||||||
hideDone();
|
hideDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function clearQl(){
|
async function clearQl(){ // Clear Quick Links from localstorage
|
||||||
showLoading();
|
showLoading();
|
||||||
localStorage.removeItem("qlOpt")
|
localStorage.removeItem("qlOpt")
|
||||||
log(`settings.setQl: User settings reset to default`, "INFO")
|
log(`settings.setQl: User settings reset to default`, "INFO")
|
||||||
@ -57,7 +62,7 @@ async function clearQl(){
|
|||||||
hideDone();
|
hideDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function isRegistered() {
|
async function isRegistered() { // Check if a device is registered, returns BOOL
|
||||||
if (localStorage.getItem("uuid")) {
|
if (localStorage.getItem("uuid")) {
|
||||||
return true
|
return true
|
||||||
// Also need an API Call here to check if auth is working.
|
// Also need an API Call here to check if auth is working.
|
||||||
@ -66,7 +71,7 @@ async function isRegistered() {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
async function register() {
|
async function register() { // Registers a device by sending POST request to API Server
|
||||||
if (! await isRegistered()) {
|
if (! await isRegistered()) {
|
||||||
showLoading()
|
showLoading()
|
||||||
let url = `${window.location.origin}/api/v1/auth/request`;
|
let url = `${window.location.origin}/api/v1/auth/request`;
|
||||||
@ -92,16 +97,16 @@ async function register() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function logout() {
|
async function logout() { // Simply removed the UUID from localstorage
|
||||||
localStorage.removeItem("uuid");
|
localStorage.removeItem("uuid");
|
||||||
location.reload();
|
location.reload();
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
async function showDone() {
|
async function showDone() { // Diaplays the 'Done' dialogue.
|
||||||
document.getElementById("done").style = "opacity: 1";
|
document.getElementById("done").style = "opacity: 1";
|
||||||
}
|
}
|
||||||
|
|
||||||
async function hideDone() {
|
async function hideDone() { // Hides the 'Done' dialogue.
|
||||||
document.getElementById("done").style = "opacity: 0";
|
document.getElementById("done").style = "opacity: 0";
|
||||||
}
|
}
|
@ -1,8 +1,9 @@
|
|||||||
/* Page Init: */
|
/* Page Init: */
|
||||||
|
// Run the init function at page load.
|
||||||
init()
|
init()
|
||||||
|
|
||||||
/* Init function */
|
/* Init function */
|
||||||
async function init() {
|
async function init() { // Gets query string and then fetch API response and pass to parsing function
|
||||||
console.time("Time: Init to Complete")
|
console.time("Time: Init to Complete")
|
||||||
setLoadingDesc(`Loading\nservices`)
|
setLoadingDesc(`Loading\nservices`)
|
||||||
var stn = await getQuery("stn");
|
var stn = await getQuery("stn");
|
||||||
@ -87,7 +88,7 @@ async function buildPage(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function displayTrains(data) {
|
async function displayTrains(data) { // Iterated through train services and passes API sections to other functions
|
||||||
log(`simple-board.displayTrains: Inserting data in DOM`)
|
log(`simple-board.displayTrains: Inserting data in DOM`)
|
||||||
for(var i = 0; i < data.length; i++) {
|
for(var i = 0; i < data.length; i++) {
|
||||||
// Reset Vars
|
// Reset Vars
|
||||||
@ -99,20 +100,20 @@ async function displayTrains(data) {
|
|||||||
log(`simple-board.displayTrains: Insertion complete`)
|
log(`simple-board.displayTrains: Insertion complete`)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function displayFerry(ferrySvc) {
|
async function displayFerry(ferrySvc) { // Iterates through each ferry service and passes to another function
|
||||||
for(var i = 0; i < ferrySvc.length; i++) {
|
for(var i = 0; i < ferrySvc.length; i++) {
|
||||||
displayFerryService(ferrySvc[i])
|
displayFerryService(ferrySvc[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function displayBus(busSvc) {
|
async function displayBus(busSvc) { // Iterates through each bus service and passes to other functions.
|
||||||
for(var i = 0; i < busSvc.length; i++) {
|
for(var i = 0; i < busSvc.length; i++) {
|
||||||
displayBusService(busSvc[i])
|
displayBusService(busSvc[i])
|
||||||
buildCallLists(busSvc[i])
|
buildCallLists(busSvc[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function displayService(svc) {
|
async function displayService(svc) { // Creates a table row from each train service.
|
||||||
var table = document.getElementById("output");
|
var table = document.getElementById("output");
|
||||||
|
|
||||||
// Determine Time Message
|
// Determine Time Message
|
||||||
@ -138,17 +139,17 @@ async function displayService(svc) {
|
|||||||
</table>`
|
</table>`
|
||||||
// Put Table Row
|
// Put Table Row
|
||||||
table.insertAdjacentHTML("beforeend", row)
|
table.insertAdjacentHTML("beforeend", row)
|
||||||
// Display Operator
|
// Display Operator where provided (it always will be, I think)
|
||||||
if (svc.operator) {
|
if (svc.operator) {
|
||||||
var opRow = `<p class="msg op">A ${svc.operator} service`
|
var opRow = `<p class="msg op">A ${svc.operator} service`
|
||||||
if (svc.length) {
|
if (svc.length) { // Displays number of carriages where provided
|
||||||
opRow += ` with ${svc.length} carriages</p>`;
|
opRow += ` with ${svc.length} carriages</p>`;
|
||||||
} else {
|
} else {
|
||||||
opRow += `</p>`
|
opRow += `</p>`
|
||||||
}
|
}
|
||||||
table.insertAdjacentHTML("beforeend", opRow);
|
table.insertAdjacentHTML("beforeend", opRow);
|
||||||
}
|
}
|
||||||
// Parse cancelReason & delayReason
|
// Parse cancelReason and then delayReason
|
||||||
if (svc.cancelReason) {
|
if (svc.cancelReason) {
|
||||||
var cancelRow = `<p class="msg">${svc.cancelReason}</p>`
|
var cancelRow = `<p class="msg">${svc.cancelReason}</p>`
|
||||||
table.insertAdjacentHTML("beforeend", cancelRow);
|
table.insertAdjacentHTML("beforeend", cancelRow);
|
||||||
@ -159,7 +160,7 @@ async function displayService(svc) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function displayFerryService(svc) {
|
async function displayFerryService(svc) { // Creates a table for for each ferry service
|
||||||
var table = document.getElementById("ferry");
|
var table = document.getElementById("ferry");
|
||||||
log(JSON.stringify(svc))
|
log(JSON.stringify(svc))
|
||||||
// Determine Time Message
|
// Determine Time Message
|
||||||
@ -196,7 +197,7 @@ async function displayFerryService(svc) {
|
|||||||
document.getElementById("ferry").style = "display:block"
|
document.getElementById("ferry").style = "display:block"
|
||||||
}
|
}
|
||||||
|
|
||||||
async function displayBusService(svc) {
|
async function displayBusService(svc) { // Creates a table row for each bus service.
|
||||||
var table = document.getElementById("bus");
|
var table = document.getElementById("bus");
|
||||||
log(JSON.stringify(svc))
|
log(JSON.stringify(svc))
|
||||||
// Determine Time Message
|
// Determine Time Message
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
init();
|
init();
|
||||||
|
|
||||||
async function init() {
|
async function init() { // The page init function
|
||||||
display(await get())
|
display(await get())
|
||||||
}
|
}
|
||||||
|
|
||||||
async function get() {
|
async function get() { // Fetch data from API
|
||||||
var url = `${window.location.origin}/api/v1/stats`;
|
var url = `${window.location.origin}/api/v1/stats`;
|
||||||
var resp = await fetch(url);
|
var resp = await fetch(url);
|
||||||
return await resp.json();
|
return await resp.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function display(data) {
|
async function display(data) { // Parses and displays data from API
|
||||||
document.getElementById('server_host').textContent = data.host;
|
document.getElementById('server_host').textContent = data.host;
|
||||||
document.getElementById('server_mode').textContent = data.mode || "Unknown";
|
document.getElementById('server_mode').textContent = data.mode || "Unknown";
|
||||||
document.getElementById('ver-bkend').textContent = data.verBkend || "Unknown";
|
document.getElementById('ver-bkend').textContent = data.verBkend || "Unknown";
|
||||||
|
Reference in New Issue
Block a user