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 (typeof data == 'number' || !data) { 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) document.getElementById('train_data').style = 'display:block;' } async function displayOptions(data) { return data } async function displayOne(object) { // Display a single service immediately const dataTableHead = `

${object['headcode']}

PIS Code: ${object['pis']}

` const dataTableClose = `
Location Arr. Dep.
` 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 createPublicStopTableRow(stop) } const displayBox = document.getElementById('train_data') const titleImg = document.getElementById('titleimg') displayBox.insertAdjacentHTML('beforeend', dataTableHead + stopRows + dataTableClose) displayBox.style = 'display:block;' titleImg.style = 'width:150px;height:98px;padding-bottom:0;' } async function createPublicStopTableRow(stop) { let data_tiploc = stop['tiploc'], public_arr = stop['publicArrival'], public_dep = stop['publicDeparture'] if (typeof data_tiploc === 'undefined') { data_tiploc = '' } if (typeof public_arr === 'undefined') { public_arr = '-' } if (typeof public_dep === 'undefined') { public_dep = '-' } return ` ${data_tiploc} ${public_arr} ${public_dep} ` } async function reset() { const titleImg = document.getElementById('titleimg') const displayBox = document.getElementById('train_data') titleImg.style = '' displayBox.innerHTML = '' }