Commit 8c1d50e6 authored by Alfredo Sumaran's avatar Alfredo Sumaran

Fixes removing the location badge with backspace on the last character

parent abe56ad6
......@@ -36,6 +36,8 @@ class @SearchAutocomplete
@searchInput.addClass('disabled')
@saveTextLength()
@bindEvents()
# Finds an element inside wrapper element
......@@ -45,6 +47,9 @@ class @SearchAutocomplete
saveOriginalState: ->
@originalState = @serializeState()
saveTextLength: ->
@lastTextLength = @searchInput.val().length
createAutocomplete: ->
@searchInput.glDropdown
filterInputBlur: false
......@@ -65,6 +70,8 @@ class @SearchAutocomplete
# Prevent multiple ajax calls
return if @loadingSuggestions
return if @badgePresent()
@loadingSuggestions = true
jqXHR = $.get(@autocompletePath, {
......@@ -102,10 +109,11 @@ class @SearchAutocomplete
scope: @scopeInputEl.val()
# Location badge
_location: $.trim(@locationText.text())
_location: @locationText.text()
}
bindEvents: ->
@searchInput.on 'keydown', @onSearchInputKeyDown
@searchInput.on 'keyup', @onSearchInputKeyUp
@searchInput.on 'click', @onSearchInputClick
@searchInput.on 'focus', @onSearchInputFocus
......@@ -123,12 +131,19 @@ class @SearchAutocomplete
onDropdownOpen: (e) =>
@dropdown.dropdown('toggle')
onSearchInputKeyDown: =>
# Saves last length of the entered text
@saveTextLength()
onSearchInputKeyUp: (e) =>
switch e.keyCode
when KEYCODE.BACKSPACE
if e.currentTarget.value is ''
# when trying to remove the location badge
if @lastTextLength is 0 and @badgePresent()
@removeLocationBadge()
@searchInput.focus()
# When removing the last character and no badge is present
if @lastTextLength is 1 and !@badgePresent()
@disableAutocomplete()
when KEYCODE.ESCAPE
if @badgePresent()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment