Files
openfoodnetwork/app/assets/javascripts/search/landing_page.js.coffee.erb
2013-11-28 15:01:57 +11:00

79 lines
2.6 KiB
Plaintext

$(document).ready ->
setup_background()
setup_offcanvas_panel()
setup_login_handlers()
setup_suburbs_autocomplete()
setup_background = ->
if $("#image-url-container").length > 0
$('body').css('background-color', 'black', 'important');
$.backstretch($("#image-url-container").attr("data-url"));
setup_offcanvas_panel = ->
events = 'click.fndtn'
$("#sidebarLoginButton").on events, (e) ->
e.preventDefault()
if $("#sign-up-content").is(':visible') && $("body").hasClass("active")
$("#login-content").show()
$("#sign-up-content").hide()
else if $("body").hasClass("active")
$("body").toggleClass "active"
$("#login-content").hide(400)
$("#sign-up-content").hide(400)
else
$("body").toggleClass "active"
$("#login-content").show()
$("#sign-up-content").hide()
$("#sidebarSignUpButton").on events, (e) ->
e.preventDefault()
if $("#login-content").is(':visible') && $("body").hasClass("active")
$("#login-content").hide()
$("#sign-up-content").show()
else if $("body").hasClass("active")
$("body").toggleClass "active"
$("#login-content").hide(400)
$("#sign-up-content").hide(400)
else
$("body").toggleClass "active"
$("#login-content").hide()
$("#sign-up-content").show()
setup_login_handlers = ->
$("#new_spree_user").on "ajax:error", (event, xhr, status) ->
$("#login-error-alert").show()
$("#new_spree_user").on "ajax:success", (event, xhr, status) ->
$("#login-error-alert").hide()
$("#login-name").html("<a href='#'>#{xhr['email']}</a>")
$("#login-link").hide()
$("#sign-up-link").hide()
$("#login-name").show()
$("#sign-out-link").show()
$("#sidebarLoginButton").trigger("click")
setup_suburbs_autocomplete = ->
spinner = new Spinner({length: 10, width: 10, color: '#000'})
$("#suburb_search").autocomplete
source: $('#suburb_search').data('autocomplete-source')
minLength: 3
delay: 500
search: (event, ui) ->
$("#suburb_search").after($(spinner.spin().el).css("left", "93%").css("margin-top": "35px"))
response: (event, ui) ->
spinner.stop()
select: (event, ui) ->
$("#suburb_id").val(ui.item.id)
messages:
noResults: ""
results: ->
$("#suburb_search").change ->
$("#suburb_id").val('')