Skip to content

Commit

Permalink
Introducing some functions to handle new special global citymap.
Browse files Browse the repository at this point in the history
  • Loading branch information
mukil committed Jun 11, 2018
1 parent e87db26 commit 3688a95
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 28 deletions.
2 changes: 1 addition & 1 deletion src/main/resources/views/website-front.html
Expand Up @@ -19,7 +19,7 @@
<script defer="true" src="/de.kiezatlas.website/ka-map.js"></script>
<script defer="true" src="/de.kiezatlas.website/ka-favourites.js"></script>
<script defer="true" src="/de.kiezatlas.website/ka-website.js"></script>
<script defer="true" src="/de.kiezatlas.website/ka-startseite.js" onload="init_page('map')"></script>
<script defer="true" src="/de.kiezatlas.website/ka-startseite.js" onload="init_page('search-map')"></script>
<script defer="true" src="/de.kiezatlas.website/search-angebote.js"></script>
<script th:inline="javascript">
/*<![CDATA[*/
Expand Down
71 changes: 47 additions & 24 deletions src/main/resources/web/ka-startseite.js
Expand Up @@ -33,7 +33,9 @@ var results = [],
"grey": "#868686" // unused
},
districts = undefined,
bezirksTopic = undefined
bezirksTopic = undefined,
viewSearchMap = false,
viewCityMap = false

var $sidebarUi = undefined

Expand Down Expand Up @@ -79,6 +81,12 @@ function init_page(page) {
}
init_search_page_fragment()

} else if (page === "search-map") {
register_pop_state_navigation()
get_location_hash_from_url()
get_viewport_from_url()
render_search_map()

} else if (page === "place") {
init_einrichtungs_page()
init_search_page_fragment()
Expand Down Expand Up @@ -182,6 +190,12 @@ function init_search_page_fragment() {
update_search_criteria_dialog()
}

function render_search_map() {
viewSearchMap = true
kiezatlas.render_map(true, undefined, false, true, true)
set_search_input(searchText)
}

function render_frontpage(name) {
if (name === "gesamt") {
kiezatlas.render_gesamtstadtplan()
Expand All @@ -204,6 +218,7 @@ function angebot_tag_clicked(e) {
}

function init_citymap() {
viewCityMap = true
// $sidebarUi = $('.ui.sidebar').sidebar('setting', 'dimPage', false)
// $sidebarUi.sidebar('setting', 'scrollLock', true).sidebar('setting', 'returnScroll',
// true).sidebar('setting', 'dimPage', false).sidebar('hide')
Expand Down Expand Up @@ -673,6 +688,9 @@ function replace_page_parameters() {
var url = window.document.location.origin
if (frontpage) {
url += '/website'
} else if (viewCityMap) {
console.log("Skipping update of url page parameter...")
return
} else {
url += window.document.location.pathname
}
Expand Down Expand Up @@ -1013,32 +1031,37 @@ function checkBerlinwideSearchbox() {
// --- Search Results Rendering --- //

function render_search_results() {
var $container = $('.result-list .container')
var count = results.length
from = $('.more-results').data("result-from")
to += MAX_RESULTS
if (from === 0) {
$container.empty()
}
$('.search-results .count').text(count)
if (count > 0) {
show_results_container()
if (searchType === "place") {
if (searchMethod === "quick") {
render_place_search_results(from, to, count, $container)
} else if (searchMethod === "fulltext") {
render_place_fulltext_search_results(from, to, count, $container)
if (viewSearchMap) {
leafletMap.set_items(results)
leafletMap.render_geo_objects(true)
} else {
var $container = $('.result-list .container')
var count = results.length
from = $('.more-results').data("result-from")
to += MAX_RESULTS
if (from === 0) {
$container.empty()
}
$('.search-results .count').text(count)
if (count > 0) {
show_results_container()
if (searchType === "place") {
if (searchMethod === "quick") {
render_place_search_results(from, to, count, $container)
} else if (searchMethod === "fulltext") {
render_place_fulltext_search_results(from, to, count, $container)
}
} else if (searchType === "event") {
// ### exclude which were never assigned to a place
render_event_search_results(from, to, count, $container)
}
} else if (searchType === "event") {
// ### exclude which were never assigned to a place
render_event_search_results(from, to, count, $container)
} else {
contextText = (searchContext == 0) ? (typeof searchNearby !== "undefined") ? " in der Nähe von " + searchNearby : " in Gesamtberlin " : (bezirksTopic) ? " im Bezirk " + bezirksTopic.value : " in diesem Bezirk"
// filterText = (searchText)
$('.result-list .container').html('Zur Suchanfrage "' + searchText + '" ' + contextText + ' gab es keine Treffer')
}
} else {
contextText = (searchContext == 0) ? (typeof searchNearby !== "undefined") ? " in der Nähe von " + searchNearby : " in Gesamtberlin " : (bezirksTopic) ? " im Bezirk " + bezirksTopic.value : " in diesem Bezirk"
// filterText = (searchText)
$('.result-list .container').html('Zur Suchanfrage "' + searchText + '" ' + contextText + ' gab es keine Treffer')
$(".item a").on('click', click)
}
$(".item a").on('click', click)
}

function render_place_fulltext_search_results(from, to, count, $container) {
Expand Down
12 changes: 9 additions & 3 deletions src/main/resources/web/ka-website.js
Expand Up @@ -246,7 +246,12 @@ var kiezatlas = (function($, leafletMap, restc, favourites) {
console.log("Kiezatlas Citymap", _self.get_site_id(), _self.get_site_info())
} else if (_self.get_site_id()) {
console.log("Kiezatlas Website Mode", _self.get_site_id(), _self.get_site_info().value)
} /**else if (_self.is_map_result_control() && query) {
if (_self.get_site_info().webAlias.indexOf("search") !== -1 || _self.get_site_info().webAlias.indexOf("suche") !== -1) {
console.log("Skip Viewport Update on Search Citymap")
return
}
}
/**else if (_self.is_map_result_control() && query) {
if (_self.is_angebote_mode()) {
parameter.page = "#angebotssuche=" + query
} else {
Expand All @@ -259,7 +264,7 @@ var kiezatlas = (function($, leafletMap, restc, favourites) {
} **/
parameter.page = "website"
var viewportState = _self.create_viewport_parameter()
_self.push_page_view(viewportState)
if (!viewMapOnly) _self.push_page_view(viewportState)
}

this.get_map_viewport_from_url = function() {
Expand Down Expand Up @@ -989,7 +994,8 @@ var kiezatlas = (function($, leafletMap, restc, favourites) {
this.do_text_search_geo_objects = function(text, callback, fitBounds) {
_self.set_mapcontrol_mode_results()
var queryUrl = '/website/search/?search='+text
if (_self.get_site_id()) {
if (_self.get_site_id() && _self.get_site_info().webAlias.indexOf("search") === -1) {
console.log("Text search geo objects on", _self.get_site_info().webAlias)
queryUrl = '/website/search/' + _self.get_site_id() + '/?search=' + text
}
_self.show_searching_indicator()
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/web/search-angebote.js
Expand Up @@ -125,6 +125,7 @@ function do_search_streetcoordinates() {
} else {
console.log("Found coordinates, firing angebote search...")
do_angebote_search()
render_query_parameter()
}
replace_page_parameters()
} else {
Expand Down

0 comments on commit 3688a95

Please sign in to comment.