Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # autocomplete with here
- $ ->
- APP_ID_HERE = '<%= Rails.application.secrets.here_app_id_frontend %>'
- APP_CODE_HERE = '<%= Rails.application.secrets.here_app_code_frontend %>'
- addressAC = (query, callback) ->
- $.getJSON 'https://autocomplete.geocoder.api.here.com/6.2/suggest.json?query=' + query.term + '&country=USA' + '&app_id=' + APP_ID_HERE + '&app_code=' + APP_CODE_HERE, (data) ->
- addresses = data.suggestions
- addresses = addresses.map((addr) ->
- result = []
- if addr.address.houseNumber != undefined and addr.address.street != undefined
- result.push addr.address.houseNumber + ' ' + addr.address.street
- else if addr.address.houseNumber == undefined and addr.address.street != undefined
- result.push addr.address.street
- if addr.address.city != undefined
- result.push addr.address.city
- if addr.address.state != undefined
- result.push addr.address.state
- if addr.address.postalCode != undefined
- result.push addr.address.postalCode
- if addr.countryCode != undefined
- result.push addr.countryCode
- {
- title: result.join(', ')
- value: result.join(', ')
- id: addr.locationId
- }
- )
- callback addresses
- return
- $('#search_query').autocomplete
- source: addressAC
- minLength: 2
- select: (event, ui) ->
- $('#search_query').prop 'verified', 'yes'
- $('#search_query').prop 'address', ui.item.value
- console.log 'Selected: ' + ui.item.value + ' with LocationId ' + ui.item.id
- return
- return
- showError = (message) ->
- $('.input_error').html(message).show()
- hideError = ->
- $('.input_error').hide()
- $('#search_form_submit').click (e) ->
- e.preventDefault()
- hideError()
- if $('#search_query').prop('verified') != 'yes'
- showError('Please use the suggested address in drop down')
- return
- $('#search_form').submit()
- return
- input = document.getElementById('search_query')
- if input != null
- $(input).on 'keyup keypress', (e) ->
- if ($(input).val() == $("#search_query").prop('address'))
- $(input).prop('verified', 'yes')
- else
- $(input).prop('verified', false)
- keyCode = e.keyCode or e.which
- if e.keyCode == 8 || e.keyCode == 46
- $(input).prop('verified', false)
- else if keyCode == 13
- e.preventDefault()
- return false
- return
RAW Paste Data