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 ...@@ -36,6 +36,8 @@ class @SearchAutocomplete
@searchInput.addClass('disabled') @searchInput.addClass('disabled')
@saveTextLength()
@bindEvents() @bindEvents()
# Finds an element inside wrapper element # Finds an element inside wrapper element
...@@ -45,6 +47,9 @@ class @SearchAutocomplete ...@@ -45,6 +47,9 @@ class @SearchAutocomplete
saveOriginalState: -> saveOriginalState: ->
@originalState = @serializeState() @originalState = @serializeState()
saveTextLength: ->
@lastTextLength = @searchInput.val().length
createAutocomplete: -> createAutocomplete: ->
@searchInput.glDropdown @searchInput.glDropdown
filterInputBlur: false filterInputBlur: false
...@@ -65,6 +70,8 @@ class @SearchAutocomplete ...@@ -65,6 +70,8 @@ class @SearchAutocomplete
# Prevent multiple ajax calls # Prevent multiple ajax calls
return if @loadingSuggestions return if @loadingSuggestions
return if @badgePresent()
@loadingSuggestions = true @loadingSuggestions = true
jqXHR = $.get(@autocompletePath, { jqXHR = $.get(@autocompletePath, {
...@@ -102,10 +109,11 @@ class @SearchAutocomplete ...@@ -102,10 +109,11 @@ class @SearchAutocomplete
scope: @scopeInputEl.val() scope: @scopeInputEl.val()
# Location badge # Location badge
_location: $.trim(@locationText.text()) _location: @locationText.text()
} }
bindEvents: -> bindEvents: ->
@searchInput.on 'keydown', @onSearchInputKeyDown
@searchInput.on 'keyup', @onSearchInputKeyUp @searchInput.on 'keyup', @onSearchInputKeyUp
@searchInput.on 'click', @onSearchInputClick @searchInput.on 'click', @onSearchInputClick
@searchInput.on 'focus', @onSearchInputFocus @searchInput.on 'focus', @onSearchInputFocus
...@@ -123,12 +131,19 @@ class @SearchAutocomplete ...@@ -123,12 +131,19 @@ class @SearchAutocomplete
onDropdownOpen: (e) => onDropdownOpen: (e) =>
@dropdown.dropdown('toggle') @dropdown.dropdown('toggle')
onSearchInputKeyDown: =>
# Saves last length of the entered text
@saveTextLength()
onSearchInputKeyUp: (e) => onSearchInputKeyUp: (e) =>
switch e.keyCode switch e.keyCode
when KEYCODE.BACKSPACE when KEYCODE.BACKSPACE
if e.currentTarget.value is '' # when trying to remove the location badge
@removeLocationBadge() if @lastTextLength is 0 and @badgePresent()
@searchInput.focus() @removeLocationBadge()
# When removing the last character and no badge is present
if @lastTextLength is 1 and !@badgePresent()
@disableAutocomplete() @disableAutocomplete()
when KEYCODE.ESCAPE when KEYCODE.ESCAPE
if @badgePresent() 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