Files
nairobi/app/assets/javascripts/forms.js.coffee
Javi Martín f83f0f08be Fix typo
2019-09-11 03:14:17 +02:00

61 lines
1.7 KiB
CoffeeScript

"use strict"
App.Forms =
disableEnter: ->
$("form.js-enter-disabled").on("keyup keypress", (event) ->
if event.which == 13
event.preventDefault()
)
submitOnChange: ->
$(".js-submit-on-change").unbind("change").on("change", ->
$(this).closest("form").submit()
false
)
toggleLink: ->
$(".js-toggle-link").unbind("click").on("click", ->
$($(this).data("toggle-selector")).toggle("down")
if $(this).data("toggle-text") isnt undefined
toggle_txt = $(this).text()
$(this).text( $(this).data("toggle-text") )
$(this).data("toggle-text", toggle_txt)
false
)
synchronizeInputs: ->
progress_bar = "[name='progress_bar[percentage]']"
processes = "[name='legislation_process[background_color]'], [name='legislation_process[font_color]']"
banners = "[name='banner[background_color]'], [name='banner[font_color]']"
inputs = $("#{progress_bar}, #{processes}, #{banners}")
inputs.on
input: ->
$("[name='#{this.name}']").val($(this).val())
inputs.trigger("input")
hideOrShowFieldsAfterSelection: ->
$("[name='progress_bar[kind]']").on
change: ->
locale = App.Globalize.selected_language()
title_field = $(".translatable-fields[data-locale=#{locale}]")
if this.value == "primary"
title_field.hide()
$(".globalize-languages").hide()
else
title_field.show()
$(".globalize-languages").show()
$("[name='progress_bar[kind]']").change()
initialize: ->
App.Forms.disableEnter()
App.Forms.submitOnChange()
App.Forms.toggleLink()
App.Forms.synchronizeInputs()
App.Forms.hideOrShowFieldsAfterSelection()