This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
web/js/train-detail.js

68 lines
1.5 KiB
JavaScript
Raw Normal View History

2023-06-07 23:31:51 +01:00
versionDisplay()
let data // Maybe this is a bad idea?
init()
async function init() {
const headcode = await getQuery('headcode')
if (headcode == 'false') {
parse([]) // Pass an empty array to parse()
}
const res = await get(headcode)
parse(res)
}
async function get(headcode) {
const apiPath = `train/headcode/today/${headcode}`
data = await getApi(apiPath, auth = true)
if (!data || typeof data !== 'number') {
log('train-detail.get: Status: ' + data, 'ERR')
return []
}
log(data, 'DBUG')
return data
}
async function parse(data) {
if (data.length === 1) {
document.getElementById('train_options').style = 'display:none;'
displayOne(data[0])
}
displayOptions(data)
}
async function displayOptions(data) {
return data
}
async function displayOne(object) {
// Display a single service immediately
const dataHead = `
<p id='data_headcode'>${object['headcode']}</p>
<p id='data_piscode'>${object['pis']}</p>
`
let publicStops = []
for (const stop of object['stops']) {
if (stop['isPublic']) {
publicStops.push(stop)
}
}
console.log(publicStops)
stopRows = ''
for (const stop of publicStops) {
stopRows += await createStopTableRow(stop)
}
const displayBox = document.getElementById('train_data')
displayBox.insertAdjacentHTML('beforeend', dataHead + stopRows)
}
async function createStopTableRow(stop) {
return `
<tr>
<td>${stop['TIPLOC']}</td>
<td>${stop['arrivalTime']}</td>
<td>${stop['departureTime']}</td>
</tr>
`
}