diff --git a/src/c3nav/site/static/site/js/c3nav.js b/src/c3nav/site/static/site/js/c3nav.js index b42ca8c8..5ceedb08 100644 --- a/src/c3nav/site/static/site/js/c3nav.js +++ b/src/c3nav/site/static/site/js/c3nav.js @@ -212,10 +212,7 @@ c3nav = { $.getJSON('/api/locations/?searchable', function (data) { for (var i = 0; i < data.length; i++) { var location = data[i]; - location.elem = $('
') - .append($('').text('place')) - .append($('').text(location.title)) - .append($('').text(location.subtitle)).attr('data-id', location.id)[0].outerHTML; + location.elem = c3nav._build_location_html(location); location.title_words = location.title.toLowerCase().split(/\s+/); location.match = ' ' + location.title_words.join(' ') + ' '; c3nav.locations.push(location); @@ -231,8 +228,15 @@ c3nav = { .on('click', '.location', c3nav._locationinput_click_suggestion); $('html').on('focus', '*', c3nav._locationinput_global_focuschange); }, + _build_location_html: function(location) { + return $('
') + .append($('').text('place')) + .append($('').text(location.title)) + .append($('').text(location.subtitle)).attr('data-id', location.id)[0].outerHTML + }, _locationinput_set: function (elem, location) { // set a location input + if (location && location.elem === undefined) location.elem = c3nav._build_location_html(location); c3nav._locationinput_reset_autocomplete(); elem.toggleClass('selected', !!location).toggleClass('empty', !location) .data('location', location).data('lastlocation', location).removeData('suggestion');