Move journeys search menu to popup
This commit is contained in:
@@ -8,10 +8,18 @@
|
|||||||
<script type="module" src="traveldrafter.js"></script>
|
<script type="module" src="traveldrafter.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="journey-search-from">Select…</div>
|
<div id="journeys-search-button">Search journeys</div>
|
||||||
<div id="journey-search-to">Select…</div>
|
<div id="journeys-search" class="popup">
|
||||||
<div id="journey-search-submit">Search</div>
|
<div class="popup-close">×</div>
|
||||||
<div id="journey-search-result"></div>
|
<div id="journeys-search-content" class="popup-content">
|
||||||
|
<div class="container">
|
||||||
|
<input id="journey-search-from" class="form-control" type="text" placeholder="From" readonly/>
|
||||||
|
<input id="journey-search-to" class="form-control" type="text" placeholder="To" readonly/>
|
||||||
|
<div id="journey-search-submit">Search</div>
|
||||||
|
<div id="journey-search-result"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="locations-search" class="popup">
|
<div id="locations-search" class="popup">
|
||||||
<div class="popup-close">×</div>
|
<div class="popup-close">×</div>
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import { fetchJourneys } from './api.js';
|
import { fetchJourneys } from './api.js';
|
||||||
import { attachLocationsSearch } from './locations-search.js';
|
import { attachLocationsSearch } from './locations-search.js';
|
||||||
|
|
||||||
|
let element_journeys_search = document.querySelector("#journeys-search");
|
||||||
let element_from = document.querySelector("#journey-search-from");
|
let element_from = document.querySelector("#journey-search-from");
|
||||||
let element_to = document.querySelector("#journey-search-to");
|
let element_to = document.querySelector("#journey-search-to");
|
||||||
let element_submit = document.querySelector("#journey-search-submit");
|
let element_submit = document.querySelector("#journey-search-submit");
|
||||||
@@ -37,3 +38,13 @@ function createJourneyLegElement(leg) {
|
|||||||
el.innerText = leg?.line?.name + ": " + leg.origin.name + " > " + leg.destination.name;
|
el.innerText = leg?.line?.name + ": " + leg.origin.name + " > " + leg.destination.name;
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function attachJourneysSearch(search_element) {
|
||||||
|
search_element.addEventListener("click", event => {
|
||||||
|
element_from.value = "";
|
||||||
|
element_to.value = "";
|
||||||
|
element_result.innerText = "";
|
||||||
|
element_journeys_search.style.display = "block";
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@@ -36,7 +36,7 @@ function createLocationElement(location) {
|
|||||||
export function attachLocationsSearch(search_element) {
|
export function attachLocationsSearch(search_element) {
|
||||||
search_element.addEventListener("click", event => {
|
search_element.addEventListener("click", event => {
|
||||||
element_locations_search.locationSelectedCallback = (location_name, location_id) => {
|
element_locations_search.locationSelectedCallback = (location_name, location_id) => {
|
||||||
search_element.innerText = location_name;
|
search_element.value = location_name;
|
||||||
search_element.dataset.locationId = location_id;
|
search_element.dataset.locationId = location_id;
|
||||||
};
|
};
|
||||||
element_query.value = "";
|
element_query.value = "";
|
||||||
|
@@ -25,6 +25,14 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#journeys-search {
|
||||||
|
z-index: 8000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locations-search {
|
||||||
|
z-index: 9000;
|
||||||
|
}
|
||||||
|
|
||||||
.popup .popup-close {
|
.popup .popup-close {
|
||||||
margin: 60px;
|
margin: 60px;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
@@ -1,10 +1,12 @@
|
|||||||
import * as Api from './api.js';
|
import * as Api from './api.js';
|
||||||
import { setupPopups } from "./popup.js";
|
import { setupPopups } from "./popup.js";
|
||||||
import { setupLocationsSearch } from './locations-search.js';
|
import { setupLocationsSearch } from './locations-search.js';
|
||||||
import { setupJourneysSearch } from './journeys-search.js';
|
import { setupJourneysSearch, attachJourneysSearch } from './journeys-search.js';
|
||||||
|
|
||||||
window.Api = Api;
|
window.Api = Api;
|
||||||
|
|
||||||
setupPopups();
|
setupPopups();
|
||||||
setupLocationsSearch();
|
setupLocationsSearch();
|
||||||
setupJourneysSearch();
|
setupJourneysSearch();
|
||||||
|
|
||||||
|
attachJourneysSearch(document.querySelector("#journeys-search-button"));
|
||||||
|
Reference in New Issue
Block a user