From 555f80aa1c5e69a00f20835666dc2507d89952b5 Mon Sep 17 00:00:00 2001 From: Dan Cojocaru Date: Tue, 20 Sep 2022 00:23:51 +0300 Subject: [PATCH] Allow choosing train that is not known/suggested --- train.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) mode change 100644 => 100755 train.js diff --git a/train.js b/train.js old mode 100644 new mode 100755 index a478958..7ff01c3 --- a/train.js +++ b/train.js @@ -58,7 +58,11 @@ function rebuildSuggestions() { suggestions.splice(100) } + var foundInput = false suggestions.forEach(function (suggestion, index) { + if (trainNumber == suggestion.number) { + foundInput = true + } var suggestionLi = document.createElement('li') suggestionsArea.appendChild(suggestionLi) @@ -93,6 +97,33 @@ function rebuildSuggestions() { trainCompanyP.classList.add('thi') }, 0) }) + if (!foundInput && trainNumber) { + var suggestionLi = document.createElement('li') + suggestionsArea.appendChild(suggestionLi) + + suggestionLi.classList.add('items') + suggestionLi.tabIndex = suggestions.length + 2 + suggestionLi.style.padding = '2px 0' + + function onAction(e) { + goToTrain(trainNumber) + } + suggestionLi.addEventListener('click', onAction) + suggestionLi.addEventListener('keypress', function (e) { + if (e.key == 'Enter') { + onAction(e) + } + }) + suggestionLi.addEventListener('focus', function (e) { + focusedElement = suggestionLi + }) + + var trainNameP = document.createElement('p') + suggestionLi.appendChild(trainNameP) + + trainNameP.textContent = `Train ${trainNumber}` + trainNameP.classList.add('pri', 'trainName') + } setTimeout(function () { _rebuildDebounce = null