Use double quotes in CoffeeScript files

As we do in the rest of the application.

Note we cannot add a rule enforcing double quotes because CoffeeScript
Lint does not have such rule.
This commit is contained in:
Javi Martín
2019-03-04 15:32:41 +01:00
parent 9e80c75032
commit b27855c1cf
44 changed files with 360 additions and 360 deletions

View File

@@ -1,42 +1,42 @@
App.AdvancedSearch = App.AdvancedSearch =
advanced_search_terms: -> advanced_search_terms: ->
$('#js-advanced-search').data('advanced-search-terms') $("#js-advanced-search").data("advanced-search-terms")
toggle_form: (event) -> toggle_form: (event) ->
event.preventDefault() event.preventDefault()
$('#js-advanced-search').slideToggle() $("#js-advanced-search").slideToggle()
toggle_date_options: -> toggle_date_options: ->
if $('#js-advanced-search-date-min').val() == 'custom' if $("#js-advanced-search-date-min").val() == "custom"
$('#js-custom-date').show() $("#js-custom-date").show()
$( ".js-calendar" ).datepicker( "option", "disabled", false ) $( ".js-calendar" ).datepicker( "option", "disabled", false )
else else
$('#js-custom-date').hide() $("#js-custom-date").hide()
$( ".js-calendar" ).datepicker( "option", "disabled", true ) $( ".js-calendar" ).datepicker( "option", "disabled", true )
init_calendar: -> init_calendar: ->
locale = $('#js-locale').data('current-locale') locale = $("#js-locale").data("current-locale")
if locale == 'en' if locale == "en"
locale = '' locale = ""
$('.js-calendar').datepicker $(".js-calendar").datepicker
regional: locale regional: locale
maxDate: "+0d" maxDate: "+0d"
$('.js-calendar-full').datepicker $(".js-calendar-full").datepicker
regional: locale regional: locale
initialize: -> initialize: ->
App.AdvancedSearch.init_calendar() App.AdvancedSearch.init_calendar()
if App.AdvancedSearch.advanced_search_terms() if App.AdvancedSearch.advanced_search_terms()
$('#js-advanced-search').show() $("#js-advanced-search").show()
App.AdvancedSearch.toggle_date_options() App.AdvancedSearch.toggle_date_options()
$('#js-advanced-search-title').on $("#js-advanced-search-title").on
click: (event) -> click: (event) ->
App.AdvancedSearch.toggle_form(event) App.AdvancedSearch.toggle_form(event)
$('#js-advanced-search-date-min').on $("#js-advanced-search-date-min").on
change: -> change: ->
App.AdvancedSearch.toggle_date_options() App.AdvancedSearch.toggle_date_options()

View File

@@ -2,7 +2,7 @@ App.AllowParticipation =
initialize: -> initialize: ->
$(document).on { $(document).on {
'mouseenter focus': -> "mouseenter focus": ->
$(this).find(".js-participation-not-allowed").show() $(this).find(".js-participation-not-allowed").show()
$(this).find(".js-participation-allowed").hide() $(this).find(".js-participation-allowed").hide()
mouseleave: -> mouseleave: ->

View File

@@ -2,18 +2,18 @@ _t = (key) -> new Gettext().gettext(key)
App.Annotatable = App.Annotatable =
initialize: -> initialize: ->
current_user_id = $('html').data('current-user-id') current_user_id = $("html").data("current-user-id")
if current_user_id == "" if current_user_id == ""
annotator.ui.editor.Editor.template = [ annotator.ui.editor.Editor.template = [
'<div class="annotator-outer annotator-editor annotator-hide">', '<div class="annotator-outer annotator-editor annotator-hide">',
' <form class="annotator-widget">', ' <form class="annotator-widget">',
" #{_t('Unregistered')}", " #{_t("Unregistered")}",
' <div class="annotator-controls">', ' <div class="annotator-controls">',
" <a href='#cancel' class='annotator-cancel'>#{_t('Cancel')}</a>", " <a href='#cancel' class='annotator-cancel'>#{_t("Cancel")}</a>",
' </div>', " </div>",
' </form>', " </form>",
'</div>' "</div>"
].join('\n') ].join("\n")
$("[data-annotatable-type]").each -> $("[data-annotatable-type]").each ->
$this = $(this) $this = $(this)

View File

@@ -8,19 +8,19 @@ App.Banners =
.addClass(style, true) .addClass(style, true)
update_background_color: (selector, text_selector, background_color) -> update_background_color: (selector, text_selector, background_color) ->
$(selector).css('background-color', background_color) $(selector).css("background-color", background_color)
$(text_selector).val(background_color) $(text_selector).val(background_color)
update_font_color: (selector, text_selector, font_color) -> update_font_color: (selector, text_selector, font_color) ->
$(selector).css('color', font_color) $(selector).css("color", font_color)
$(text_selector).val(font_color) $(text_selector).val(font_color)
initialize: -> initialize: ->
$('[data-js-banner-title]').on $("[data-js-banner-title]").on
change: -> change: ->
App.Banners.update_banner("#js-banner-title", $(this).val()) App.Banners.update_banner("#js-banner-title", $(this).val())
$('[data-js-banner-description]').on $("[data-js-banner-description]").on
change: -> change: ->
App.Banners.update_banner("#js-banner-description", $(this).val()) App.Banners.update_banner("#js-banner-description", $(this).val())

View File

@@ -1,10 +1,10 @@
App.CheckAllNone = App.CheckAllNone =
initialize: -> initialize: ->
$('[data-check-all]').on 'click', -> $("[data-check-all]").on "click", ->
target_name = $(this).data('check-all') target_name = $(this).data("check-all")
$("[name='#{target_name}']").prop('checked', true) $("[name='#{target_name}']").prop("checked", true)
$('[data-check-none]').on 'click', -> $("[data-check-none]").on "click", ->
target_name = $(this).data('check-none') target_name = $(this).data("check-none")
$("[name='#{target_name}']").prop('checked', false) $("[name='#{target_name}']").prop("checked", false)

View File

@@ -1,10 +1,10 @@
App.CheckboxToggle = App.CheckboxToggle =
initialize: -> initialize: ->
$('[data-checkbox-toggle]').on 'change', -> $("[data-checkbox-toggle]").on "change", ->
$this = $(this) $this = $(this)
$target = $($this.data('checkbox-toggle')) $target = $($this.data("checkbox-toggle"))
if $this.is(':checked') if $this.is(":checked")
$target.show() $target.show()
else else
$target.hide() $target.hide()

View File

@@ -21,12 +21,12 @@ App.Comments =
reset_and_hide_form: (id) -> reset_and_hide_form: (id) ->
form_container = $("#js-comment-form-#{id}") form_container = $("#js-comment-form-#{id}")
input = form_container.find("form textarea") input = form_container.find("form textarea")
input.val('') input.val("")
form_container.hide() form_container.hide()
reset_form: (id) -> reset_form: (id) ->
input = $("#js-comment-form-#{id} form textarea") input = $("#js-comment-form-#{id} form textarea")
input.val('') input.val("")
toggle_form: (id) -> toggle_form: (id) ->
$("#js-comment-form-#{id}").toggle() $("#js-comment-form-#{id}").toggle()
@@ -39,21 +39,21 @@ App.Comments =
$(arrow).removeClass("icon-arrow-down").addClass("icon-arrow-right") $(arrow).removeClass("icon-arrow-down").addClass("icon-arrow-right")
initialize: -> initialize: ->
$('body .js-add-comment-link').each -> $("body .js-add-comment-link").each ->
$this = $(this) $this = $(this)
unless $this.data('initialized') is 'yes' unless $this.data("initialized") is "yes"
$this.on('click', -> $this.on("click", ->
id = $(this).data().id id = $(this).data().id
App.Comments.toggle_form(id) App.Comments.toggle_form(id)
false false
).data 'initialized', 'yes' ).data "initialized", "yes"
$('body .js-toggle-children').each -> $("body .js-toggle-children").each ->
$(this).on('click', -> $(this).on("click", ->
children_container_id = "#{$(this).data().id}_children" children_container_id = "#{$(this).data().id}_children"
$("##{children_container_id}").toggle('slow') $("##{children_container_id}").toggle("slow")
App.Comments.toggle_arrow(children_container_id) App.Comments.toggle_arrow(children_container_id)
$(this).children('.js-child-toggle').toggle() $(this).children(".js-child-toggle").toggle()
false false
) )

View File

@@ -2,16 +2,16 @@ App.Documentable =
initialize: -> initialize: ->
inputFiles = $('.js-document-attachment') inputFiles = $(".js-document-attachment")
$.each inputFiles, (index, input) -> $.each inputFiles, (index, input) ->
App.Documentable.initializeDirectUploadInput(input) App.Documentable.initializeDirectUploadInput(input)
$('#nested-documents').on 'cocoon:after-remove', (e, insertedItem) -> $("#nested-documents").on "cocoon:after-remove", (e, insertedItem) ->
App.Documentable.unlockUploads() App.Documentable.unlockUploads()
$('#nested-documents').on 'cocoon:after-insert', (e, nested_document) -> $("#nested-documents").on "cocoon:after-insert", (e, nested_document) ->
input = $(nested_document).find('.js-document-attachment') input = $(nested_document).find(".js-document-attachment")
input["lockUpload"] = $(nested_document).closest('#nested-documents').find('.document:visible').length >= $('#nested-documents').data('max-documents-allowed') input["lockUpload"] = $(nested_document).closest("#nested-documents").find(".document:visible").length >= $("#nested-documents").data("max-documents-allowed")
App.Documentable.initializeDirectUploadInput(input) App.Documentable.initializeDirectUploadInput(input)
App.Documentable.lockUploads() if input["lockUpload"] App.Documentable.lockUploads() if input["lockUpload"]
@@ -30,7 +30,7 @@ App.Documentable =
add: (e, data) -> add: (e, data) ->
data = App.Documentable.buildFileUploadData(e, data) data = App.Documentable.buildFileUploadData(e, data)
App.Documentable.clearProgressBar(data) App.Documentable.clearProgressBar(data)
App.Documentable.setProgressBar(data, 'uploading') App.Documentable.setProgressBar(data, "uploading")
data.submit() data.submit()
change: (e, data) -> change: (e, data) ->
@@ -40,26 +40,26 @@ App.Documentable =
fail: (e, data) -> fail: (e, data) ->
$(data.cachedAttachmentField).val("") $(data.cachedAttachmentField).val("")
App.Documentable.clearFilename(data) App.Documentable.clearFilename(data)
App.Documentable.setProgressBar(data, 'errors') App.Documentable.setProgressBar(data, "errors")
App.Documentable.clearInputErrors(data) App.Documentable.clearInputErrors(data)
App.Documentable.setInputErrors(data) App.Documentable.setInputErrors(data)
$(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove() $(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove()
$(data.addAttachmentLabel).addClass('error') $(data.addAttachmentLabel).addClass("error")
$(data.addAttachmentLabel).show() $(data.addAttachmentLabel).show()
done: (e, data) -> done: (e, data) ->
$(data.cachedAttachmentField).val(data.result.cached_attachment) $(data.cachedAttachmentField).val(data.result.cached_attachment)
App.Documentable.setTitleFromFile(data, data.result.filename) App.Documentable.setTitleFromFile(data, data.result.filename)
App.Documentable.setProgressBar(data, 'complete') App.Documentable.setProgressBar(data, "complete")
App.Documentable.setFilename(data, data.result.filename) App.Documentable.setFilename(data, data.result.filename)
App.Documentable.clearInputErrors(data) App.Documentable.clearInputErrors(data)
$(data.addAttachmentLabel).hide() $(data.addAttachmentLabel).hide()
$(data.wrapper).find(".attachment-actions").removeClass('small-12').addClass('small-6 float-right') $(data.wrapper).find(".attachment-actions").removeClass("small-12").addClass("small-6 float-right")
$(data.wrapper).find(".attachment-actions .action-remove").removeClass('small-3').addClass('small-12') $(data.wrapper).find(".attachment-actions .action-remove").removeClass("small-3").addClass("small-12")
destroyAttachmentLink = $(data.result.destroy_link) destroyAttachmentLink = $(data.result.destroy_link)
$(data.destroyAttachmentLinkContainer).html(destroyAttachmentLink) $(data.destroyAttachmentLinkContainer).html(destroyAttachmentLink)
$(destroyAttachmentLink).on 'click', (e) -> $(destroyAttachmentLink).on "click", (e) ->
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
App.Documentable.doDeleteCachedAttachmentRequest(this.href, data) App.Documentable.doDeleteCachedAttachmentRequest(this.href, data)
@@ -69,7 +69,7 @@ App.Documentable =
progress: (e, data) -> progress: (e, data) ->
progress = parseInt(data.loaded / data.total * 100, 10) progress = parseInt(data.loaded / data.total * 100, 10)
$(data.progressBar).find('.loading-bar').css 'width', "#{progress}%" $(data.progressBar).find(".loading-bar").css "width", "#{progress}%"
return return
buildFileUploadData: (e, data) -> buildFileUploadData: (e, data) ->
@@ -77,35 +77,35 @@ App.Documentable =
return data return data
buildData: (data, input) -> buildData: (data, input) ->
wrapper = $(input).closest('.direct-upload') wrapper = $(input).closest(".direct-upload")
data.input = input data.input = input
data.wrapper = wrapper data.wrapper = wrapper
data.progressBar = $(wrapper).find('.progress-bar-placeholder') data.progressBar = $(wrapper).find(".progress-bar-placeholder")
data.errorContainer = $(wrapper).find('.attachment-errors') data.errorContainer = $(wrapper).find(".attachment-errors")
data.fileNameContainer = $(wrapper).find('p.file-name') data.fileNameContainer = $(wrapper).find("p.file-name")
data.destroyAttachmentLinkContainer = $(wrapper).find('.action-remove') data.destroyAttachmentLinkContainer = $(wrapper).find(".action-remove")
data.addAttachmentLabel = $(wrapper).find('.action-add label') data.addAttachmentLabel = $(wrapper).find(".action-add label")
data.cachedAttachmentField = $(wrapper).find("input[name$='[cached_attachment]']") data.cachedAttachmentField = $(wrapper).find("input[name$='[cached_attachment]']")
data.titleField = $(wrapper).find("input[name$='[title]']") data.titleField = $(wrapper).find("input[name$='[title]']")
$(wrapper).find('.progress-bar-placeholder').css('display', 'block') $(wrapper).find(".progress-bar-placeholder").css("display", "block")
return data return data
clearFilename: (data) -> clearFilename: (data) ->
$(data.fileNameContainer).text('') $(data.fileNameContainer).text("")
$(data.fileNameContainer).hide() $(data.fileNameContainer).hide()
clearInputErrors: (data) -> clearInputErrors: (data) ->
$(data.errorContainer).find('small.error').remove() $(data.errorContainer).find("small.error").remove()
clearProgressBar: (data) -> clearProgressBar: (data) ->
$(data.progressBar).find('.loading-bar').removeClass('complete errors uploading').css('width', "0px") $(data.progressBar).find(".loading-bar").removeClass("complete errors uploading").css("width", "0px")
setFilename: (data, file_name) -> setFilename: (data, file_name) ->
$(data.fileNameContainer).text(file_name) $(data.fileNameContainer).text(file_name)
$(data.fileNameContainer).show() $(data.fileNameContainer).show()
setProgressBar: (data, klass) -> setProgressBar: (data, klass) ->
$(data.progressBar).find('.loading-bar').addClass(klass) $(data.progressBar).find(".loading-bar").addClass(klass)
setTitleFromFile: (data, title) -> setTitleFromFile: (data, title) ->
if $(data.titleField).val() == "" if $(data.titleField).val() == ""
@@ -116,14 +116,14 @@ App.Documentable =
$(data.errorContainer).append(errors) $(data.errorContainer).append(errors)
lockUploads: -> lockUploads: ->
$('#new_document_link').addClass('hide') $("#new_document_link").addClass("hide")
unlockUploads: -> unlockUploads: ->
$('#max-documents-notice').addClass('hide') $("#max-documents-notice").addClass("hide")
$('#new_document_link').removeClass('hide') $("#new_document_link").removeClass("hide")
showNotice: -> showNotice: ->
$('#max-documents-notice').removeClass('hide') $("#max-documents-notice").removeClass("hide")
doDeleteCachedAttachmentRequest: (url, data) -> doDeleteCachedAttachmentRequest: (url, data) ->
$.ajax $.ajax
@@ -140,18 +140,18 @@ App.Documentable =
App.Documentable.clearProgressBar(data) App.Documentable.clearProgressBar(data)
App.Documentable.unlockUploads() App.Documentable.unlockUploads()
$(data.wrapper).find(".attachment-actions").addClass('small-12').removeClass('small-6 float-right') $(data.wrapper).find(".attachment-actions").addClass("small-12").removeClass("small-6 float-right")
$(data.wrapper).find(".attachment-actions .action-remove").addClass('small-3').removeClass('small-12') $(data.wrapper).find(".attachment-actions .action-remove").addClass("small-3").removeClass("small-12")
if $(data.input).data('nested-document') == true if $(data.input).data("nested-document") == true
$(data.wrapper).remove() $(data.wrapper).remove()
else else
$(data.wrapper).find('a.remove-cached-attachment').remove() $(data.wrapper).find("a.remove-cached-attachment").remove()
initializeRemoveCachedDocumentLink: (input, data) -> initializeRemoveCachedDocumentLink: (input, data) ->
wrapper = $(input).closest(".direct-upload") wrapper = $(input).closest(".direct-upload")
remove_document_link = $(wrapper).find('a.remove-cached-attachment') remove_document_link = $(wrapper).find("a.remove-cached-attachment")
$(remove_document_link).on 'click', (e) -> $(remove_document_link).on "click", (e) ->
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
App.Documentable.doDeleteCachedAttachmentRequest(this.href, data) App.Documentable.doDeleteCachedAttachmentRequest(this.href, data)

View File

@@ -1,6 +1,6 @@
App.EmbedVideo = App.EmbedVideo =
initialize: -> initialize: ->
$('#js-embedded-video').each -> $("#js-embedded-video").each ->
code = $(this).data("video-code") code = $(this).data("video-code")
$('#js-embedded-video').html(code) $("#js-embedded-video").html(code)

View File

@@ -1,13 +1,13 @@
App.FixedBar = App.FixedBar =
initialize: -> initialize: ->
$('[data-fixed-bar]').each -> $("[data-fixed-bar]").each ->
$this = $(this) $this = $(this)
fixedBarTopPosition = $this.offset().top fixedBarTopPosition = $this.offset().top
$(window).on 'scroll', -> $(window).on "scroll", ->
if $(window).scrollTop() > fixedBarTopPosition if $(window).scrollTop() > fixedBarTopPosition
$this.addClass('is-fixed') $this.addClass("is-fixed")
$("#check-ballot").css({ 'display': "inline-block" }) $("#check-ballot").css({ "display": "inline-block" })
else else
$this.removeClass('is-fixed') $this.removeClass("is-fixed")
$("#check-ballot").hide() $("#check-ballot").hide()

View File

@@ -2,7 +2,7 @@ App.Followable =
update: (followable_id, button, notice) -> update: (followable_id, button, notice) ->
$("##{followable_id} .js-follow").html(button) $("##{followable_id} .js-follow").html(button)
if ($('[data-alert]').length > 0) if ($("[data-alert]").length > 0)
$('[data-alert]').replaceWith(notice) $("[data-alert]").replaceWith(notice)
else else
$("body").append(notice) $("body").append(notice)

View File

@@ -1,24 +1,24 @@
App.Forms = App.Forms =
disableEnter: -> disableEnter: ->
$('form.js-enter-disabled').on('keyup keypress', (event) -> $("form.js-enter-disabled").on("keyup keypress", (event) ->
if event.which == 13 if event.which == 13
e.preventDefault() e.preventDefault()
) )
submitOnChange: -> submitOnChange: ->
$('.js-submit-on-change').unbind('change').on('change', -> $(".js-submit-on-change").unbind("change").on("change", ->
$(this).closest('form').submit() $(this).closest("form").submit()
false false
) )
toggleLink: -> toggleLink: ->
$('.js-toggle-link').unbind('click').on('click', -> $(".js-toggle-link").unbind("click").on("click", ->
$($(this).data('toggle-selector')).toggle("down") $($(this).data("toggle-selector")).toggle("down")
if $(this).data('toggle-text') isnt undefined if $(this).data("toggle-text") isnt undefined
toggle_txt = $(this).text() toggle_txt = $(this).text()
$(this).text( $(this).data('toggle-text') ) $(this).text( $(this).data("toggle-text") )
$(this).data('toggle-text', toggle_txt) $(this).data("toggle-text", toggle_txt)
false false
) )

View File

@@ -21,7 +21,7 @@ i18n = {
window.Gettext = (key) -> window.Gettext = (key) ->
gettext: (key) -> gettext: (key) ->
locale_id = $('html').attr('lang') locale_id = $("html").attr("lang")
locale = i18n[locale_id] locale = i18n[locale_id]
if locale && locale[key] if locale && locale[key]
return locale[key] return locale[key]

View File

@@ -15,18 +15,18 @@ App.Globalize =
$(this).show() $(this).show()
else else
$(this).hide() $(this).hide()
$('.js-delete-language').hide() $(".js-delete-language").hide()
$("#js_delete_#{locale}").show() $("#js_delete_#{locale}").show()
highlight_locale: (element) -> highlight_locale: (element) ->
$('.js-globalize-locale-link').removeClass('is-active') $(".js-globalize-locale-link").removeClass("is-active")
element.addClass('is-active') element.addClass("is-active")
remove_language: (locale) -> remove_language: (locale) ->
$(".js-globalize-attribute[data-locale=#{locale}]").each -> $(".js-globalize-attribute[data-locale=#{locale}]").each ->
$(this).val('').hide() $(this).val("").hide()
if CKEDITOR.instances[$(this).attr('id')] if CKEDITOR.instances[$(this).attr("id")]
CKEDITOR.instances[$(this).attr('id')].setData('') CKEDITOR.instances[$(this).attr("id")].setData("")
$(".js-globalize-locale-link[data-locale=#{locale}]").hide() $(".js-globalize-locale-link[data-locale=#{locale}]").hide()
next = $(".js-globalize-locale-link:visible").first() next = $(".js-globalize-locale-link:visible").first()
App.Globalize.highlight_locale(next) App.Globalize.highlight_locale(next)
@@ -54,20 +54,20 @@ App.Globalize =
$("#enabled_translations_#{locale}") $("#enabled_translations_#{locale}")
refresh_visible_translations: -> refresh_visible_translations: ->
locale = $('.js-globalize-locale-link.is-active').data("locale") locale = $(".js-globalize-locale-link.is-active").data("locale")
App.Globalize.display_translations(locale) App.Globalize.display_translations(locale)
initialize: -> initialize: ->
$('.js-globalize-locale').on 'change', -> $(".js-globalize-locale").on "change", ->
App.Globalize.display_translations($(this).val()) App.Globalize.display_translations($(this).val())
App.Globalize.display_locale($(this).val()) App.Globalize.display_locale($(this).val())
$('.js-globalize-locale-link').on 'click', -> $(".js-globalize-locale-link").on "click", ->
locale = $(this).data("locale") locale = $(this).data("locale")
App.Globalize.display_translations(locale) App.Globalize.display_translations(locale)
App.Globalize.highlight_locale($(this)) App.Globalize.highlight_locale($(this))
$('.js-delete-language').on 'click', -> $(".js-delete-language").on "click", ->
locale = $(this).data("locale") locale = $(this).data("locale")
$(this).hide() $(this).hide()
App.Globalize.remove_language(locale) App.Globalize.remove_language(locale)

View File

@@ -1,9 +1,9 @@
App.IeAlert = App.IeAlert =
set_cookie_and_hide: (event) -> set_cookie_and_hide: (event) ->
event.preventDefault() event.preventDefault()
$.cookie('ie_alert_closed', 'true', { path: '/', expires: 365 }) $.cookie("ie_alert_closed", "true", { path: "/", expires: 365 })
$('.ie-callout').remove() $(".ie-callout").remove()
initialize: -> initialize: ->
$('.ie-callout-close-js').on 'click', (event) -> $(".ie-callout-close-js").on "click", (event) ->
App.IeAlert.set_cookie_and_hide(event) App.IeAlert.set_cookie_and_hide(event)

View File

@@ -1,20 +1,20 @@
App.Imageable = App.Imageable =
initialize: -> initialize: ->
inputFiles = $('.js-image-attachment') inputFiles = $(".js-image-attachment")
$.each inputFiles, (index, input) -> $.each inputFiles, (index, input) ->
App.Imageable.initializeDirectUploadInput(input) App.Imageable.initializeDirectUploadInput(input)
$('#nested-image').on 'cocoon:after-remove', (e, item) -> $("#nested-image").on "cocoon:after-remove", (e, item) ->
$("#new_image_link").removeClass('hide') $("#new_image_link").removeClass("hide")
$('#nested-image').on 'cocoon:before-insert', (e, nested_image) -> $("#nested-image").on "cocoon:before-insert", (e, nested_image) ->
if $(".js-image-attachment").length > 0 if $(".js-image-attachment").length > 0
$(".js-image-attachment").closest('.image').remove() $(".js-image-attachment").closest(".image").remove()
$('#nested-image').on 'cocoon:after-insert', (e, nested_image) -> $("#nested-image").on "cocoon:after-insert", (e, nested_image) ->
$("#new_image_link").addClass('hide') $("#new_image_link").addClass("hide")
input = $(nested_image).find('.js-image-attachment') input = $(nested_image).find(".js-image-attachment")
App.Imageable.initializeDirectUploadInput(input) App.Imageable.initializeDirectUploadInput(input)
initializeDirectUploadInput: (input) -> initializeDirectUploadInput: (input) ->
@@ -32,7 +32,7 @@ App.Imageable =
add: (e, data) -> add: (e, data) ->
data = App.Imageable.buildFileUploadData(e, data) data = App.Imageable.buildFileUploadData(e, data)
App.Imageable.clearProgressBar(data) App.Imageable.clearProgressBar(data)
App.Imageable.setProgressBar(data, 'uploading') App.Imageable.setProgressBar(data, "uploading")
data.submit() data.submit()
change: (e, data) -> change: (e, data) ->
@@ -42,35 +42,35 @@ App.Imageable =
fail: (e, data) -> fail: (e, data) ->
$(data.cachedAttachmentField).val("") $(data.cachedAttachmentField).val("")
App.Imageable.clearFilename(data) App.Imageable.clearFilename(data)
App.Imageable.setProgressBar(data, 'errors') App.Imageable.setProgressBar(data, "errors")
App.Imageable.clearInputErrors(data) App.Imageable.clearInputErrors(data)
App.Imageable.setInputErrors(data) App.Imageable.setInputErrors(data)
App.Imageable.clearPreview(data) App.Imageable.clearPreview(data)
$(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove() $(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove()
$(data.addAttachmentLabel).addClass('error') $(data.addAttachmentLabel).addClass("error")
$(data.addAttachmentLabel).show() $(data.addAttachmentLabel).show()
done: (e, data) -> done: (e, data) ->
$(data.cachedAttachmentField).val(data.result.cached_attachment) $(data.cachedAttachmentField).val(data.result.cached_attachment)
App.Imageable.setTitleFromFile(data, data.result.filename) App.Imageable.setTitleFromFile(data, data.result.filename)
App.Imageable.setProgressBar(data, 'complete') App.Imageable.setProgressBar(data, "complete")
App.Imageable.setFilename(data, data.result.filename) App.Imageable.setFilename(data, data.result.filename)
App.Imageable.clearInputErrors(data) App.Imageable.clearInputErrors(data)
$(data.addAttachmentLabel).hide() $(data.addAttachmentLabel).hide()
$(data.wrapper).find(".attachment-actions").removeClass('small-12').addClass('small-6 float-right') $(data.wrapper).find(".attachment-actions").removeClass("small-12").addClass("small-6 float-right")
$(data.wrapper).find(".attachment-actions .action-remove").removeClass('small-3').addClass('small-12') $(data.wrapper).find(".attachment-actions .action-remove").removeClass("small-3").addClass("small-12")
App.Imageable.setPreview(data) App.Imageable.setPreview(data)
destroyAttachmentLink = $(data.result.destroy_link) destroyAttachmentLink = $(data.result.destroy_link)
$(data.destroyAttachmentLinkContainer).html(destroyAttachmentLink) $(data.destroyAttachmentLinkContainer).html(destroyAttachmentLink)
$(destroyAttachmentLink).on 'click', (e) -> $(destroyAttachmentLink).on "click", (e) ->
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
App.Imageable.doDeleteCachedAttachmentRequest(this.href, data) App.Imageable.doDeleteCachedAttachmentRequest(this.href, data)
progress: (e, data) -> progress: (e, data) ->
progress = parseInt(data.loaded / data.total * 100, 10) progress = parseInt(data.loaded / data.total * 100, 10)
$(data.progressBar).find('.loading-bar').css 'width', "#{progress}%" $(data.progressBar).find(".loading-bar").css "width", "#{progress}%"
return return
buildFileUploadData: (e, data) -> buildFileUploadData: (e, data) ->
@@ -78,39 +78,39 @@ App.Imageable =
return data return data
buildData: (data, input) -> buildData: (data, input) ->
wrapper = $(input).closest('.direct-upload') wrapper = $(input).closest(".direct-upload")
data.input = input data.input = input
data.wrapper = wrapper data.wrapper = wrapper
data.progressBar = $(wrapper).find('.progress-bar-placeholder') data.progressBar = $(wrapper).find(".progress-bar-placeholder")
data.preview = $(wrapper).find('.image-preview') data.preview = $(wrapper).find(".image-preview")
data.errorContainer = $(wrapper).find('.attachment-errors') data.errorContainer = $(wrapper).find(".attachment-errors")
data.fileNameContainer = $(wrapper).find('p.file-name') data.fileNameContainer = $(wrapper).find("p.file-name")
data.destroyAttachmentLinkContainer = $(wrapper).find('.action-remove') data.destroyAttachmentLinkContainer = $(wrapper).find(".action-remove")
data.addAttachmentLabel = $(wrapper).find('.action-add label') data.addAttachmentLabel = $(wrapper).find(".action-add label")
data.cachedAttachmentField = $(wrapper).find("input[name$='[cached_attachment]']") data.cachedAttachmentField = $(wrapper).find("input[name$='[cached_attachment]']")
data.titleField = $(wrapper).find("input[name$='[title]']") data.titleField = $(wrapper).find("input[name$='[title]']")
$(wrapper).find('.progress-bar-placeholder').css('display', 'block') $(wrapper).find(".progress-bar-placeholder").css("display", "block")
return data return data
clearFilename: (data) -> clearFilename: (data) ->
$(data.fileNameContainer).text('') $(data.fileNameContainer).text("")
$(data.fileNameContainer).hide() $(data.fileNameContainer).hide()
clearInputErrors: (data) -> clearInputErrors: (data) ->
$(data.errorContainer).find('small.error').remove() $(data.errorContainer).find("small.error").remove()
clearProgressBar: (data) -> clearProgressBar: (data) ->
$(data.progressBar).find('.loading-bar').removeClass('complete errors uploading').css('width', "0px") $(data.progressBar).find(".loading-bar").removeClass("complete errors uploading").css("width", "0px")
clearPreview: (data) -> clearPreview: (data) ->
$(data.wrapper).find('.image-preview').remove() $(data.wrapper).find(".image-preview").remove()
setFilename: (data, file_name) -> setFilename: (data, file_name) ->
$(data.fileNameContainer).text(file_name) $(data.fileNameContainer).text(file_name)
$(data.fileNameContainer).show() $(data.fileNameContainer).show()
setProgressBar: (data, klass) -> setProgressBar: (data, klass) ->
$(data.progressBar).find('.loading-bar').addClass(klass) $(data.progressBar).find(".loading-bar").addClass(klass)
setTitleFromFile: (data, title) -> setTitleFromFile: (data, title) ->
if $(data.titleField).val() == "" if $(data.titleField).val() == ""
@@ -126,7 +126,7 @@ App.Imageable =
$(data.preview).replaceWith(image_preview) $(data.preview).replaceWith(image_preview)
else else
$(image_preview).insertBefore($(data.wrapper).find(".attachment-actions")) $(image_preview).insertBefore($(data.wrapper).find(".attachment-actions"))
data.preview = $(data.wrapper).find('.image-preview') data.preview = $(data.wrapper).find(".image-preview")
doDeleteCachedAttachmentRequest: (url, data) -> doDeleteCachedAttachmentRequest: (url, data) ->
$.ajax $.ajax
@@ -143,24 +143,24 @@ App.Imageable =
App.Imageable.clearProgressBar(data) App.Imageable.clearProgressBar(data)
App.Imageable.clearPreview(data) App.Imageable.clearPreview(data)
$('#new_image_link').removeClass('hide') $("#new_image_link").removeClass("hide")
$(data.wrapper).find(".attachment-actions").addClass('small-12').removeClass('small-6 float-right') $(data.wrapper).find(".attachment-actions").addClass("small-12").removeClass("small-6 float-right")
$(data.wrapper).find(".attachment-actions .action-remove").addClass('small-3').removeClass('small-12') $(data.wrapper).find(".attachment-actions .action-remove").addClass("small-3").removeClass("small-12")
if $(data.input).data('nested-image') == true if $(data.input).data("nested-image") == true
$(data.wrapper).remove() $(data.wrapper).remove()
else else
$(data.wrapper).find('a.remove-cached-attachment').remove() $(data.wrapper).find("a.remove-cached-attachment").remove()
initializeRemoveCachedImageLink: (input, data) -> initializeRemoveCachedImageLink: (input, data) ->
wrapper = $(input).closest(".direct-upload") wrapper = $(input).closest(".direct-upload")
remove_image_link = $(wrapper).find('a.remove-cached-attachment') remove_image_link = $(wrapper).find("a.remove-cached-attachment")
$(remove_image_link).on 'click', (e) -> $(remove_image_link).on "click", (e) ->
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
App.Imageable.doDeleteCachedAttachmentRequest(this.href, data) App.Imageable.doDeleteCachedAttachmentRequest(this.href, data)
removeImage: (id) -> removeImage: (id) ->
$("##{id}").remove() $("##{id}").remove()
$("#new_image_link").removeClass('hide') $("#new_image_link").removeClass("hide")

View File

@@ -1,7 +1,7 @@
App.InvestmentReportAlert = App.InvestmentReportAlert =
initialize: -> initialize: ->
$('#js-investment-report-alert').on 'click', -> $("#js-investment-report-alert").on "click", ->
if this.checked && $('#budget_investment_feasibility_unfeasible').is(':checked') if this.checked && $("#budget_investment_feasibility_unfeasible").is(":checked")
confirm("#{this.dataset.alert}\n#{this.dataset.notFeasibleAlert}") confirm("#{this.dataset.alert}\n#{this.dataset.notFeasibleAlert}")
else if this.checked else if this.checked
confirm(this.dataset.alert) confirm(this.dataset.alert)

View File

@@ -1,12 +1,12 @@
App.Legislation = App.Legislation =
initialize: -> initialize: ->
$('form#new_legislation_answer input.button').hide() $("form#new_legislation_answer input.button").hide()
$('form#new_legislation_answer input[type=radio]').on $("form#new_legislation_answer input[type=radio]").on
click: -> click: ->
$('form#new_legislation_answer').submit() $("form#new_legislation_answer").submit()
$('form#draft_version_go_to_version input.button').hide() $("form#draft_version_go_to_version input.button").hide()
$('form#draft_version_go_to_version select').on $("form#draft_version_go_to_version select").on
change: -> change: ->
$('form#draft_version_go_to_version').submit() $("form#draft_version_go_to_version").submit()

View File

@@ -4,10 +4,10 @@ App.LegislationAdmin =
$("input[type='checkbox'][data-disable-date]").on $("input[type='checkbox'][data-disable-date]").on
change: -> change: ->
checkbox = $(this) checkbox = $(this)
parent = $(this).parents('.row:eq(0)') parent = $(this).parents(".row:eq(0)")
date_selector = $(this).data('disable-date') date_selector = $(this).data("disable-date")
parent.find("input[type='text'][id^='#{date_selector}']").each -> parent.find("input[type='text'][id^='#{date_selector}']").each ->
if checkbox.is(':checked') if checkbox.is(":checked")
$(this).removeAttr("disabled") $(this).removeAttr("disabled")
else else
$(this).val("") $(this).val("")

View File

@@ -2,24 +2,24 @@ App.LegislationAllegations =
toggle_comments: -> toggle_comments: ->
if !App.LegislationAnnotatable.isMobile() if !App.LegislationAnnotatable.isMobile()
$('.draft-allegation').toggleClass('comments-on') $(".draft-allegation").toggleClass("comments-on")
$('#comments-box').html('').hide() $("#comments-box").html("").hide()
show_comments: -> show_comments: ->
if !App.LegislationAnnotatable.isMobile() if !App.LegislationAnnotatable.isMobile()
$('.draft-allegation').addClass('comments-on') $(".draft-allegation").addClass("comments-on")
initialize: -> initialize: ->
$('.js-toggle-allegations .draft-panel').on $(".js-toggle-allegations .draft-panel").on
click: (e) -> click: (e) ->
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
if !App.LegislationAnnotatable.isMobile() if !App.LegislationAnnotatable.isMobile()
App.LegislationAllegations.toggle_comments() App.LegislationAllegations.toggle_comments()
$('.js-toggle-allegations').on $(".js-toggle-allegations").on
click: (e) -> click: (e) ->
# Toggle comments when the section title is visible # Toggle comments when the section title is visible
if !App.LegislationAnnotatable.isMobile() if !App.LegislationAnnotatable.isMobile()
if $(this).find('.draft-panel .panel-title:visible').length == 0 if $(this).find(".draft-panel .panel-title:visible").length == 0
App.LegislationAllegations.toggle_comments() App.LegislationAllegations.toggle_comments()

View File

@@ -6,39 +6,39 @@ App.LegislationAnnotatable =
sel = window.getSelection() sel = window.getSelection()
if sel.rangeCount and sel.getRangeAt if sel.rangeCount and sel.getRangeAt
range = sel.getRangeAt(0) range = sel.getRangeAt(0)
document.designMode = 'on' document.designMode = "on"
if range if range
sel.removeAllRanges() sel.removeAllRanges()
sel.addRange range sel.addRange range
# Use HiliteColor since some browsers apply BackColor to the whole block # Use HiliteColor since some browsers apply BackColor to the whole block
if !document.execCommand('HiliteColor', false, colour) if !document.execCommand("HiliteColor", false, colour)
document.execCommand 'BackColor', false, colour document.execCommand "BackColor", false, colour
document.designMode = 'off' document.designMode = "off"
return return
highlight: (colour) -> highlight: (colour) ->
if window.getSelection if window.getSelection
# IE9 and non-IE # IE9 and non-IE
try try
if !document.execCommand('BackColor', false, colour) if !document.execCommand("BackColor", false, colour)
App.LegislationAnnotatable.makeEditableAndHighlight colour App.LegislationAnnotatable.makeEditableAndHighlight colour
catch ex catch ex
App.LegislationAnnotatable.makeEditableAndHighlight colour App.LegislationAnnotatable.makeEditableAndHighlight colour
else if document.selection and document.selection.createRange else if document.selection and document.selection.createRange
# IE <= 8 case # IE <= 8 case
range = document.selection.createRange() range = document.selection.createRange()
range.execCommand 'BackColor', false, colour range.execCommand "BackColor", false, colour
return return
remove_highlight: -> remove_highlight: ->
$('[data-legislation-draft-version-id] span[style]').replaceWith(-> $("[data-legislation-draft-version-id] span[style]").replaceWith(->
return $(this).contents() return $(this).contents()
) )
return return
renderAnnotationComments: (event) -> renderAnnotationComments: (event) ->
if event.offset if event.offset
$("#comments-box").css({ top: event.offset - $('.calc-comments').offset().top }) $("#comments-box").css({ top: event.offset - $(".calc-comments").offset().top })
if App.LegislationAnnotatable.isMobile() if App.LegislationAnnotatable.isMobile()
return return
@@ -46,7 +46,7 @@ App.LegislationAnnotatable =
$.ajax $.ajax
method: "GET" method: "GET"
url: "#{event.annotation_url}/annotations/#{event.annotation_id}/comments" url: "#{event.annotation_url}/annotations/#{event.annotation_id}/comments"
dataType: 'script' dataType: "script"
onClick: (event) -> onClick: (event) ->
event.preventDefault() event.preventDefault()
@@ -54,21 +54,21 @@ App.LegislationAnnotatable =
if App.LegislationAnnotatable.isMobile() if App.LegislationAnnotatable.isMobile()
annotation_url = $(event.target).closest(".legislation-annotatable").data("legislation-annotatable-base-url") annotation_url = $(event.target).closest(".legislation-annotatable").data("legislation-annotatable-base-url")
window.location.href = "#{annotation_url}/annotations/#{$(this).data('annotation-id')}" window.location.href = "#{annotation_url}/annotations/#{$(this).data("annotation-id")}"
return return
$('[data-annotation-id]').removeClass('current-annotation') $("[data-annotation-id]").removeClass("current-annotation")
target = $(this) target = $(this)
parents = target.parents('.annotator-hl') parents = target.parents(".annotator-hl")
parents_ids = parents.map (_, elem) -> parents_ids = parents.map (_, elem) ->
$(elem).data("annotation-id") $(elem).data("annotation-id")
annotation_id = target.data('annotation-id') annotation_id = target.data("annotation-id")
$("[data-annotation-id='#{annotation_id}']").addClass('current-annotation') $("[data-annotation-id='#{annotation_id}']").addClass("current-annotation")
$('#comments-box').html('') $("#comments-box").html("")
App.LegislationAllegations.show_comments() App.LegislationAllegations.show_comments()
$("#comments-box").show() $("#comments-box").show()
@@ -92,24 +92,24 @@ App.LegislationAnnotatable =
return return
customShow: (position) -> customShow: (position) ->
$(@element).html '' $(@element).html ""
# Clean comments section and open it # Clean comments section and open it
$('#comments-box').html '' $("#comments-box").html ""
App.LegislationAllegations.show_comments() App.LegislationAllegations.show_comments()
$('#comments-box').show() $("#comments-box").show()
annotation_url = $('[data-legislation-annotatable-base-url]').data('legislation-annotatable-base-url') annotation_url = $("[data-legislation-annotatable-base-url]").data("legislation-annotatable-base-url")
$.ajax( $.ajax(
method: 'GET' method: "GET"
url: "#{annotation_url}/annotations/new" url: "#{annotation_url}/annotations/new"
dataType: 'script').done (-> dataType: "script").done (->
$('#new_legislation_annotation #legislation_annotation_quote').val(@annotation.quote) $("#new_legislation_annotation #legislation_annotation_quote").val(@annotation.quote)
$('#new_legislation_annotation #legislation_annotation_ranges').val(JSON.stringify(@annotation.ranges)) $("#new_legislation_annotation #legislation_annotation_ranges").val(JSON.stringify(@annotation.ranges))
$('#comments-box').css({ top: position.top - $('.calc-comments').offset().top }) $("#comments-box").css({ top: position.top - $(".calc-comments").offset().top })
unless $('[data-legislation-open-phase]').data('legislation-open-phase') == false unless $("[data-legislation-open-phase]").data("legislation-open-phase") == false
App.LegislationAnnotatable.highlight('#7fff9a') App.LegislationAnnotatable.highlight("#7fff9a")
$('#comments-box textarea').focus() $("#comments-box textarea").focus()
$("#new_legislation_annotation").on("ajax:complete", (e, data, status, xhr) -> $("#new_legislation_annotation").on("ajax:complete", (e, data, status, xhr) ->
App.LegislationAnnotatable.app.destroy() App.LegislationAnnotatable.app.destroy()
@@ -119,10 +119,10 @@ App.LegislationAnnotatable =
$.ajax $.ajax
method: "GET" method: "GET"
url: "#{annotation_url}/annotations/#{data.responseJSON.id}/comments" url: "#{annotation_url}/annotations/#{data.responseJSON.id}/comments"
dataType: 'script' dataType: "script"
else else
$(e.target).find('label').addClass('error') $(e.target).find("label").addClass("error")
$("<small class='error'>#{data.responseJSON[0]}</small>").insertAfter($(e.target).find('textarea')) $("<small class='error'>#{data.responseJSON[0]}</small>").insertAfter($(e.target).find("textarea"))
return true return true
) )
return return
@@ -133,17 +133,17 @@ App.LegislationAnnotatable =
scrollToAnchor: -> scrollToAnchor: ->
annotationsLoaded: (annotations) -> annotationsLoaded: (annotations) ->
anchor = $(location).attr('hash') anchor = $(location).attr("hash")
if anchor && anchor.startsWith('#annotation') if anchor && anchor.startsWith("#annotation")
ann_id = anchor.split("-")[-1..] ann_id = anchor.split("-")[-1..]
checkExist = setInterval((-> checkExist = setInterval((->
if $("span[data-annotation-id='#{ann_id}']").length if $("span[data-annotation-id='#{ann_id}']").length
el = $("span[data-annotation-id='#{ann_id}']") el = $("span[data-annotation-id='#{ann_id}']")
el.addClass('current-annotation') el.addClass("current-annotation")
$('#comments-box').html('') $("#comments-box").html("")
App.LegislationAllegations.show_comments() App.LegislationAllegations.show_comments()
$('html,body').animate({ scrollTop: el.offset().top }) $("html,body").animate({ scrollTop: el.offset().top })
$.event.trigger $.event.trigger
type: "renderLegislationAnnotation" type: "renderLegislationAnnotation"
annotation_id: ann_id annotation_id: ann_id
@@ -175,16 +175,16 @@ App.LegislationAnnotatable =
initialize: -> initialize: ->
$(document).off("renderLegislationAnnotation").on("renderLegislationAnnotation", App.LegislationAnnotatable.renderAnnotationComments) $(document).off("renderLegislationAnnotation").on("renderLegislationAnnotation", App.LegislationAnnotatable.renderAnnotationComments)
$(document).off('click', '[data-annotation-id]').on('click', '[data-annotation-id]', App.LegislationAnnotatable.onClick) $(document).off("click", "[data-annotation-id]").on("click", "[data-annotation-id]", App.LegislationAnnotatable.onClick)
$(document).off('click', '[data-cancel-annotation]').on('click', '[data-cancel-annotation]', (e) -> $(document).off("click", "[data-cancel-annotation]").on("click", "[data-cancel-annotation]", (e) ->
e.preventDefault() e.preventDefault()
$('#comments-box').html('') $("#comments-box").html("")
$('#comments-box').hide() $("#comments-box").hide()
App.LegislationAnnotatable.remove_highlight() App.LegislationAnnotatable.remove_highlight()
return return
) )
current_user_id = $('html').data('current-user-id') current_user_id = $("html").data("current-user-id")
$(".legislation-annotatable").each -> $(".legislation-annotatable").each ->
$this = $(this) $this = $(this)

View File

@@ -1,5 +1,5 @@
App.LocationChanger = App.LocationChanger =
initialize: -> initialize: ->
$('.js-location-changer').on 'change', -> $(".js-location-changer").on "change", ->
window.location.assign($(this).val()) window.location.assign($(this).val())

View File

@@ -1,8 +1,8 @@
App.Managers = App.Managers =
generatePassword: -> generatePassword: ->
chars = 'aAbcdeEfghiJkmnpqrstuUvwxyz23456789' chars = "aAbcdeEfghiJkmnpqrstuUvwxyz23456789"
pass = '' pass = ""
x = 0 x = 0
while x < 12 while x < 12
i = Math.floor(Math.random() * chars.length) i = Math.floor(Math.random() * chars.length)
@@ -11,15 +11,15 @@ App.Managers =
return pass return pass
togglePassword: (type) -> togglePassword: (type) ->
$('#user_password').prop 'type', type $("#user_password").prop "type", type
initialize: -> initialize: ->
$(".generate-random-value").on "click", (event) -> $(".generate-random-value").on "click", (event) ->
password = App.Managers.generatePassword() password = App.Managers.generatePassword()
$('#user_password').val(password) $("#user_password").val(password)
$(".show-password").on "click", (event) -> $(".show-password").on "click", (event) ->
if $("#user_password").is("input[type='password']") if $("#user_password").is("input[type='password']")
App.Managers.togglePassword('text') App.Managers.togglePassword("text")
else else
App.Managers.togglePassword('password') App.Managers.togglePassword("password")

View File

@@ -1,35 +1,35 @@
App.Map = App.Map =
initialize: -> initialize: ->
maps = $('*[data-map]') maps = $("*[data-map]")
if maps.length > 0 if maps.length > 0
$.each maps, (index, map) -> $.each maps, (index, map) ->
App.Map.initializeMap map App.Map.initializeMap map
$('.js-toggle-map').on $(".js-toggle-map").on
click: -> click: ->
App.Map.toggleMap() App.Map.toggleMap()
initializeMap: (element) -> initializeMap: (element) ->
App.Map.cleanInvestmentCoordinates(element) App.Map.cleanInvestmentCoordinates(element)
mapCenterLatitude = $(element).data('map-center-latitude') mapCenterLatitude = $(element).data("map-center-latitude")
mapCenterLongitude = $(element).data('map-center-longitude') mapCenterLongitude = $(element).data("map-center-longitude")
markerLatitude = $(element).data('marker-latitude') markerLatitude = $(element).data("marker-latitude")
markerLongitude = $(element).data('marker-longitude') markerLongitude = $(element).data("marker-longitude")
zoom = $(element).data('map-zoom') zoom = $(element).data("map-zoom")
mapTilesProvider = $(element).data('map-tiles-provider') mapTilesProvider = $(element).data("map-tiles-provider")
mapAttribution = $(element).data('map-tiles-provider-attribution') mapAttribution = $(element).data("map-tiles-provider-attribution")
latitudeInputSelector = $(element).data('latitude-input-selector') latitudeInputSelector = $(element).data("latitude-input-selector")
longitudeInputSelector = $(element).data('longitude-input-selector') longitudeInputSelector = $(element).data("longitude-input-selector")
zoomInputSelector = $(element).data('zoom-input-selector') zoomInputSelector = $(element).data("zoom-input-selector")
removeMarkerSelector = $(element).data('marker-remove-selector') removeMarkerSelector = $(element).data("marker-remove-selector")
addMarkerInvestments = $(element).data('marker-investments-coordinates') addMarkerInvestments = $(element).data("marker-investments-coordinates")
editable = $(element).data('marker-editable') editable = $(element).data("marker-editable")
marker = null marker = null
markerIcon = L.divIcon( markerIcon = L.divIcon(
className: 'map-marker' className: "map-marker"
iconSize: [30, 30] iconSize: [30, 30]
iconAnchor: [15, 40] iconAnchor: [15, 40]
html: '<div class="map-icon"></div>' html: '<div class="map-icon"></div>'
@@ -39,7 +39,7 @@ App.Map =
markerLatLng = new (L.LatLng)(latitude, longitude) markerLatLng = new (L.LatLng)(latitude, longitude)
marker = L.marker(markerLatLng, { icon: markerIcon, draggable: editable }) marker = L.marker(markerLatLng, { icon: markerIcon, draggable: editable })
if editable if editable
marker.on 'dragend', updateFormfields marker.on "dragend", updateFormfields
marker.addTo(map) marker.addTo(map)
return marker return marker
@@ -67,22 +67,22 @@ App.Map =
return return
clearFormfields = -> clearFormfields = ->
$(latitudeInputSelector).val '' $(latitudeInputSelector).val ""
$(longitudeInputSelector).val '' $(longitudeInputSelector).val ""
$(zoomInputSelector).val '' $(zoomInputSelector).val ""
return return
openMarkerPopup = (e) -> openMarkerPopup = (e) ->
marker = e.target marker = e.target
$.ajax "/investments/#{marker.options['id']}/json_data", $.ajax "/investments/#{marker.options["id"]}/json_data",
type: 'GET' type: "GET"
dataType: 'json' dataType: "json"
success: (data) -> success: (data) ->
e.target.bindPopup(getPopupContent(data)).openPopup() e.target.bindPopup(getPopupContent(data)).openPopup()
getPopupContent = (data) -> getPopupContent = (data) ->
content = "<a href='/budgets/#{data['budget_id']}/investments/#{data['investment_id']}'>#{data['investment_title']}</a>" content = "<a href='/budgets/#{data["budget_id"]}/investments/#{data["investment_id"]}'>#{data["investment_title"]}</a>"
return content return content
mapCenterLatLng = new (L.LatLng)(mapCenterLatitude, mapCenterLongitude) mapCenterLatLng = new (L.LatLng)(mapCenterLatitude, mapCenterLongitude)
@@ -93,27 +93,27 @@ App.Map =
marker = createMarker(markerLatitude, markerLongitude) marker = createMarker(markerLatitude, markerLongitude)
if editable if editable
$(removeMarkerSelector).on 'click', removeMarker $(removeMarkerSelector).on "click", removeMarker
map.on 'zoomend', updateFormfields map.on "zoomend", updateFormfields
map.on 'click', moveOrPlaceMarker map.on "click", moveOrPlaceMarker
if addMarkerInvestments if addMarkerInvestments
for i in addMarkerInvestments for i in addMarkerInvestments
if App.Map.validCoordinates(i) if App.Map.validCoordinates(i)
marker = createMarker(i.lat, i.long) marker = createMarker(i.lat, i.long)
marker.options['id'] = i.investment_id marker.options["id"] = i.investment_id
marker.on 'click', openMarkerPopup marker.on "click", openMarkerPopup
toggleMap: -> toggleMap: ->
$('.map').toggle() $(".map").toggle()
$('.js-location-map-remove-marker').toggle() $(".js-location-map-remove-marker").toggle()
cleanInvestmentCoordinates: (element) -> cleanInvestmentCoordinates: (element) ->
markers = $(element).attr('data-marker-investments-coordinates') markers = $(element).attr("data-marker-investments-coordinates")
if markers? if markers?
clean_markers = markers.replace(/-?(\*+)/g, null) clean_markers = markers.replace(/-?(\*+)/g, null)
$(element).attr('data-marker-investments-coordinates', clean_markers) $(element).attr("data-marker-investments-coordinates", clean_markers)
validCoordinates: (coordinates) -> validCoordinates: (coordinates) ->
App.Map.isNumeric(coordinates.lat) && App.Map.isNumeric(coordinates.long) App.Map.isNumeric(coordinates.lat) && App.Map.isNumeric(coordinates.long)

View File

@@ -3,15 +3,15 @@ App.MarkdownEditor =
refresh_preview: (element, md) -> refresh_preview: (element, md) ->
textarea_content = App.MarkdownEditor.find_textarea(element).val() textarea_content = App.MarkdownEditor.find_textarea(element).val()
result = md.render(textarea_content) result = md.render(textarea_content)
element.find('.markdown-preview').html(result) element.find(".markdown-preview").html(result)
# Multi-locale (translatable) form fields work by hiding inputs of locales # Multi-locale (translatable) form fields work by hiding inputs of locales
# which are not "active". # which are not "active".
find_textarea: (editor) -> find_textarea: (editor) ->
editor.find('textarea') editor.find("textarea")
initialize: -> initialize: ->
$('.markdown-editor').each -> $(".markdown-editor").each ->
md = window.markdownit({ md = window.markdownit({
html: true, html: true,
breaks: true, breaks: true,
@@ -20,25 +20,25 @@ App.MarkdownEditor =
editor = $(this) editor = $(this)
editor.on 'input', -> editor.on "input", ->
App.MarkdownEditor.refresh_preview($(this), md) App.MarkdownEditor.refresh_preview($(this), md)
$('.legislation-draft-versions-edit .warning').show() $(".legislation-draft-versions-edit .warning").show()
return return
editor.find('textarea').on 'scroll', -> editor.find("textarea").on "scroll", ->
editor.find('.markdown-preview').scrollTop($(this).scrollTop()) editor.find(".markdown-preview").scrollTop($(this).scrollTop())
editor.find('.fullscreen-toggle').on 'click', -> editor.find(".fullscreen-toggle").on "click", ->
editor.toggleClass('fullscreen') editor.toggleClass("fullscreen")
$('.fullscreen-container').toggleClass('medium-8', 'medium-12') $(".fullscreen-container").toggleClass("medium-8", "medium-12")
span = $(this).find('span') span = $(this).find("span")
current_html = span.html() current_html = span.html()
if(current_html == span.data('open-text')) if(current_html == span.data("open-text"))
span.html(span.data('closed-text')) span.html(span.data("closed-text"))
else else
span.html(span.data('open-text')) span.html(span.data("open-text"))
if editor.hasClass('fullscreen') if editor.hasClass("fullscreen")
App.MarkdownEditor.find_textarea(editor).height($(window).height() - 100) App.MarkdownEditor.find_textarea(editor).height($(window).height() - 100)
App.MarkdownEditor.refresh_preview(editor, md) App.MarkdownEditor.refresh_preview(editor, md)
else else

View File

@@ -1,7 +1,7 @@
App.Polls = App.Polls =
generateToken: -> generateToken: ->
token = '' token = ""
rand = '' rand = ""
for n in [0..5] for n in [0..5]
rand = Math.random().toString(36).substr(2) # remove `0.` rand = Math.random().toString(36).substr(2) # remove `0.`
token = token + rand token = token + rand
@@ -10,7 +10,7 @@ App.Polls =
return token return token
replaceToken: -> replaceToken: ->
for link in $('.js-question-answer') for link in $(".js-question-answer")
token_param = link.search.slice(-6) token_param = link.search.slice(-6)
if token_param == "token=" if token_param == "token="
link.href = link.href + @token link.href = link.href + @token
@@ -22,22 +22,22 @@ App.Polls =
$(".js-question-answer").on $(".js-question-answer").on
click: => click: =>
token_message = $(".js-token-message") token_message = $(".js-token-message")
if !token_message.is(':visible') if !token_message.is(":visible")
token_message.html("#{token_message.html()}<br><strong>#{@token}</strong>") token_message.html("#{token_message.html()}<br><strong>#{@token}</strong>")
token_message.show() token_message.show()
false false
$(".zoom-link").on "click", (event) -> $(".zoom-link").on "click", (event) ->
element = event.target element = event.target
answer = $(element).closest('div.answer') answer = $(element).closest("div.answer")
if $(answer).hasClass('medium-6') if $(answer).hasClass("medium-6")
$(answer).removeClass("medium-6") $(answer).removeClass("medium-6")
$(answer).addClass("answer-divider") $(answer).addClass("answer-divider")
unless $(answer).hasClass('first') unless $(answer).hasClass("first")
$(answer).insertBefore($(answer).prev('div.answer')) $(answer).insertBefore($(answer).prev("div.answer"))
else else
$(answer).addClass("medium-6") $(answer).addClass("medium-6")
$(answer).removeClass("answer-divider") $(answer).removeClass("answer-divider")
unless $(answer).hasClass('first') unless $(answer).hasClass("first")
$(answer).insertAfter($(answer).next('div.answer')) $(answer).insertAfter($(answer).next("div.answer"))

View File

@@ -4,9 +4,9 @@ App.PollsAdmin =
$("select[class='js-poll-shifts']").on $("select[class='js-poll-shifts']").on
change: -> change: ->
switch ($(this).val()) switch ($(this).val())
when 'vote_collection' when "vote_collection"
$("select[class='js-shift-vote-collection-dates']").show() $("select[class='js-shift-vote-collection-dates']").show()
$("select[class='js-shift-recount-scrutiny-dates']").hide() $("select[class='js-shift-recount-scrutiny-dates']").hide()
when 'recount_scrutiny' when "recount_scrutiny"
$("select[class='js-shift-recount-scrutiny-dates']").show() $("select[class='js-shift-recount-scrutiny-dates']").show()
$("select[class='js-shift-vote-collection-dates']").hide() $("select[class='js-shift-vote-collection-dates']").hide()

View File

@@ -3,35 +3,35 @@ App.PreventDoubleSubmission =
setTimeout -> setTimeout ->
buttons.each -> buttons.each ->
button = $(this) button = $(this)
unless button.hasClass('disabled') unless button.hasClass("disabled")
loading = button.data('loading') ? '...' loading = button.data("loading") ? "..."
button.addClass('disabled').attr('disabled', 'disabled') button.addClass("disabled").attr("disabled", "disabled")
button.data('text', button.val()) button.data("text", button.val())
button.val(loading) button.val(loading)
, 1 , 1
reset_buttons: (buttons) -> reset_buttons: (buttons) ->
buttons.each -> buttons.each ->
button = $(this) button = $(this)
if button.hasClass('disabled') if button.hasClass("disabled")
button_text = button.data('text') button_text = button.data("text")
button.removeClass('disabled').attr('disabled', null) button.removeClass("disabled").attr("disabled", null)
if button_text if button_text
button.val(button_text) button.val(button_text)
button.data('text', null) button.data("text", null)
initialize: -> initialize: ->
$('form').on('submit', (event) -> $("form").on("submit", (event) ->
unless event.target.id == "new_officing_voter" || unless event.target.id == "new_officing_voter" ||
event.target.id == "admin_download_emails" event.target.id == "admin_download_emails"
buttons = $(this).find(':button, :submit') buttons = $(this).find(":button, :submit")
App.PreventDoubleSubmission.disable_buttons(buttons) App.PreventDoubleSubmission.disable_buttons(buttons)
).on('ajax:success', (event) -> ).on("ajax:success", (event) ->
unless event.target.id == "new_officing_voter" || unless event.target.id == "new_officing_voter" ||
event.target.id == "admin_download_emails" event.target.id == "admin_download_emails"
buttons = $(this).find(':button, :submit') buttons = $(this).find(":button, :submit")
App.PreventDoubleSubmission.reset_buttons(buttons) App.PreventDoubleSubmission.reset_buttons(buttons)
) )

View File

@@ -1,4 +1,4 @@
App.SendAdminNotificationAlert = App.SendAdminNotificationAlert =
initialize: -> initialize: ->
$('#js-send-admin_notification-alert').on 'click', -> $("#js-send-admin_notification-alert").on "click", ->
confirm(this.dataset.alert) confirm(this.dataset.alert)

View File

@@ -1,4 +1,4 @@
App.SendNewsletterAlert = App.SendNewsletterAlert =
initialize: -> initialize: ->
$('#js-send-newsletter-alert').on 'click', -> $("#js-send-newsletter-alert").on "click", ->
confirm(this.dataset.alert) confirm(this.dataset.alert)

View File

@@ -3,5 +3,5 @@ App.SocialShare =
initialize: -> initialize: ->
$(".social-share-button a").each -> $(".social-share-button a").each ->
element = $(this) element = $(this)
site = element.data('site') site = element.data("site")
element.append("<span class='show-for-sr'>#{site}</span>") element.append("<span class='show-for-sr'>#{site}</span>")

View File

@@ -2,8 +2,8 @@ App.Sortable =
initialize: -> initialize: ->
$(".sortable").sortable $(".sortable").sortable
update: (event, ui) -> update: (event, ui) ->
new_order = $(this).sortable('toArray', { attribute: 'data-answer-id' }) new_order = $(this).sortable("toArray", { attribute: "data-answer-id" })
$.ajax $.ajax
url: $('.sortable').data('js-url'), url: $(".sortable").data("js-url"),
data: { ordered_list: new_order }, data: { ordered_list: new_order },
type: 'POST' type: "POST"

View File

@@ -2,8 +2,8 @@
#---------------------------------------------------------------------- #----------------------------------------------------------------------
buildGraph = (el) -> buildGraph = (el) ->
url = $(el).data 'graph' url = $(el).data "graph"
conf = bindto: el, data: { x: 'x', url: url, mimeType: 'json' }, axis: { x: { type: 'timeseries', tick: { format: '%Y-%m-%d' } } } conf = bindto: el, data: { x: "x", url: url, mimeType: "json" }, axis: { x: { type: "timeseries", tick: { format: "%Y-%m-%d" } } }
graph = c3.generate conf graph = c3.generate conf
App.Stats = App.Stats =

View File

@@ -2,24 +2,24 @@ App.Suggest =
initialize: -> initialize: ->
$('[data-js-suggest-result]').each -> $("[data-js-suggest-result]").each ->
$this = $(this) $this = $(this)
callback = -> callback = ->
$.ajax $.ajax
url: $this.data('js-url') url: $this.data("js-url")
data: { search: $this.val() }, data: { search: $this.val() },
type: 'GET', type: "GET",
dataType: 'html' dataType: "html"
success: (stHtml) -> success: (stHtml) ->
js_suggest_selector = $this.data('js-suggest') js_suggest_selector = $this.data("js-suggest")
$(js_suggest_selector).html(stHtml) $(js_suggest_selector).html(stHtml)
timer = null timer = null
$this.on 'keyup', -> $this.on "keyup", ->
window.clearTimeout(timer) window.clearTimeout(timer)
timer = window.setTimeout(callback, 1000) timer = window.setTimeout(callback, 1000)
$this.on 'change', callback $this.on "change", callback

View File

@@ -1,6 +1,6 @@
App.TableSortable = App.TableSortable =
getCellValue: (row, index) -> getCellValue: (row, index) ->
$(row).children('td').eq(index).text() $(row).children("td").eq(index).text()
comparer: (index) -> comparer: (index) ->
(a, b) -> (a, b) ->
@@ -9,9 +9,9 @@ App.TableSortable =
return if $.isNumeric(valA) and $.isNumeric(valB) then valA - valB else valA.localeCompare(valB) return if $.isNumeric(valA) and $.isNumeric(valB) then valA - valB else valA.localeCompare(valB)
initialize: -> initialize: ->
$('table.sortable th').click -> $("table.sortable th").click ->
table = $(this).parents('table').eq(0) table = $(this).parents("table").eq(0)
rows = table.find('tr:gt(0)').not('tfoot tr').toArray().sort(App.TableSortable.comparer($(this).index())) rows = table.find("tr:gt(0)").not("tfoot tr").toArray().sort(App.TableSortable.comparer($(this).index()))
@asc = !@asc @asc = !@asc
if !@asc if !@asc
rows = rows.reverse() rows = rows.reverse()

View File

@@ -7,13 +7,13 @@ App.TagAutocomplete =
return (App.TagAutocomplete.split( term ).pop()) return (App.TagAutocomplete.split( term ).pop())
init_autocomplete: -> init_autocomplete: ->
$('.tag-autocomplete').autocomplete $(".tag-autocomplete").autocomplete
source: (request, response) -> source: (request, response) ->
$.ajax $.ajax
url: $('.tag-autocomplete').data('js-url'), url: $(".tag-autocomplete").data("js-url"),
data: { search: App.TagAutocomplete.extractLast( request.term ) }, data: { search: App.TagAutocomplete.extractLast( request.term ) },
type: 'GET', type: "GET",
dataType: 'json' dataType: "json"
success: ( data ) -> success: ( data ) ->
response( data ) response( data )

View File

@@ -1,21 +1,21 @@
App.Tags = App.Tags =
initialize: -> initialize: ->
$tag_input = $('input.js-tag-list') $tag_input = $("input.js-tag-list")
$('body .js-add-tag-link').each -> $("body .js-add-tag-link").each ->
$this = $(this) $this = $(this)
unless $this.data('initialized') is 'yes' unless $this.data("initialized") is "yes"
$this.on('click', -> $this.on("click", ->
name = "\"#{$(this).text()}\"" name = "\"#{$(this).text()}\""
current_tags = $tag_input.val().split(',').filter(Boolean) current_tags = $tag_input.val().split(",").filter(Boolean)
if $.inArray(name, current_tags) >= 0 if $.inArray(name, current_tags) >= 0
current_tags.splice($.inArray(name, current_tags), 1) current_tags.splice($.inArray(name, current_tags), 1)
else else
current_tags.push name current_tags.push name
$tag_input.val(current_tags.join(',')) $tag_input.val(current_tags.join(","))
false false
).data 'initialized', 'yes' ).data "initialized", "yes"

View File

@@ -4,25 +4,25 @@ App.Tracks =
_paq? _paq?
set_custom_var: (id, name, value, scope) -> set_custom_var: (id, name, value, scope) ->
_paq.push(['setCustomVariable', id, name, value, scope]) _paq.push(["setCustomVariable", id, name, value, scope])
_paq.push(['trackPageView']) _paq.push(["trackPageView"])
track_event: ($this) -> track_event: ($this) ->
category = $this.data('track-event-category') category = $this.data("track-event-category")
action = $this.data('track-event-action') action = $this.data("track-event-action")
_paq.push(['trackEvent', category, action]) _paq.push(["trackEvent", category, action])
initialize: -> initialize: ->
if App.Tracks.tracking_enabled() if App.Tracks.tracking_enabled()
$('[data-track-usertype]').each -> $("[data-track-usertype]").each ->
$this = $(this) $this = $(this)
usertype = $this.data('track-usertype') usertype = $this.data("track-usertype")
App.Tracks.set_custom_var(1, "usertype", usertype, "visit") App.Tracks.set_custom_var(1, "usertype", usertype, "visit")
$('[data-track-event-category]').each -> $("[data-track-event-category]").each ->
$this = $(this) $this = $(this)
App.Tracks.track_event($this) App.Tracks.track_event($this)
$('[data-track-click]').on 'click', -> $("[data-track-click]").on "click", ->
$this = $(this) $this = $(this)
App.Tracks.track_event($this) App.Tracks.track_event($this)

View File

@@ -1,36 +1,36 @@
App.TreeNavigator = App.TreeNavigator =
setNodes: (nodes) -> setNodes: (nodes) ->
children = nodes.children('ul') children = nodes.children("ul")
if(children.length == 0) if(children.length == 0)
return return
children.each -> children.each ->
link = $(this).prev('a') link = $(this).prev("a")
$('<span class="open"></span>').insertBefore(link) $('<span class="open"></span>').insertBefore(link)
App.TreeNavigator.setNodes($(this).children()) App.TreeNavigator.setNodes($(this).children())
initialize: -> initialize: ->
elem = $('[data-tree-navigator]') elem = $("[data-tree-navigator]")
if(elem.length == 0) if(elem.length == 0)
return return
ul = elem.find('ul:eq(0)') ul = elem.find("ul:eq(0)")
if(ul.length && ul.children().length) if(ul.length && ul.children().length)
App.TreeNavigator.setNodes(ul.children()) App.TreeNavigator.setNodes(ul.children())
$('[data-tree-navigator] span').on $("[data-tree-navigator] span").on
click: (e) -> click: (e) ->
elem = $(this) elem = $(this)
if(elem.hasClass('open')) if(elem.hasClass("open"))
elem.removeClass('open').addClass('closed') elem.removeClass("open").addClass("closed")
elem.siblings('ul').hide() elem.siblings("ul").hide()
else if(elem.hasClass('closed')) else if(elem.hasClass("closed"))
elem.removeClass('closed').addClass('open') elem.removeClass("closed").addClass("open")
elem.siblings('ul').show() elem.siblings("ul").show()
if anchor = $(location).attr('hash') if anchor = $(location).attr("hash")
if link = elem.find("a[href='#{anchor}']") if link = elem.find("a[href='#{anchor}']")
link.parents('ul').each -> link.parents("ul").each ->
$(this).show() $(this).show()
$(this).siblings('span').removeClass('closed').addClass('open') $(this).siblings("span").removeClass("closed").addClass("open")

View File

@@ -1,5 +1,5 @@
App.Users = App.Users =
initialize: -> initialize: ->
$('.initialjs-avatar').initial() $(".initialjs-avatar").initial()
false false

View File

@@ -1,22 +1,22 @@
App.ValuationBudgetInvestmentForm = App.ValuationBudgetInvestmentForm =
showFeasibleFields: -> showFeasibleFields: ->
$('#valuation_budget_investment_edit_form #unfeasible_fields').hide('down') $("#valuation_budget_investment_edit_form #unfeasible_fields").hide("down")
$('#valuation_budget_investment_edit_form #feasible_fields').show() $("#valuation_budget_investment_edit_form #feasible_fields").show()
showNotFeasibleFields: -> showNotFeasibleFields: ->
$('#valuation_budget_investment_edit_form #feasible_fields').hide('down') $("#valuation_budget_investment_edit_form #feasible_fields").hide("down")
$('#valuation_budget_investment_edit_form #unfeasible_fields').show() $("#valuation_budget_investment_edit_form #unfeasible_fields").show()
showAllFields: -> showAllFields: ->
$('#valuation_budget_investment_edit_form #feasible_fields').show('down') $("#valuation_budget_investment_edit_form #feasible_fields").show("down")
$('#valuation_budget_investment_edit_form #unfeasible_fields').show('down') $("#valuation_budget_investment_edit_form #unfeasible_fields").show("down")
showFeasibilityFields: -> showFeasibilityFields: ->
feasibility = $("#valuation_budget_investment_edit_form input[type=radio][name='budget_investment[feasibility]']:checked").val() feasibility = $("#valuation_budget_investment_edit_form input[type=radio][name='budget_investment[feasibility]']:checked").val()
if feasibility == 'feasible' if feasibility == "feasible"
App.ValuationBudgetInvestmentForm.showFeasibleFields() App.ValuationBudgetInvestmentForm.showFeasibleFields()
else if feasibility == 'unfeasible' else if feasibility == "unfeasible"
App.ValuationBudgetInvestmentForm.showNotFeasibleFields() App.ValuationBudgetInvestmentForm.showNotFeasibleFields()

View File

@@ -1,22 +1,22 @@
App.ValuationSpendingProposalForm = App.ValuationSpendingProposalForm =
showFeasibleFields: -> showFeasibleFields: ->
$('#valuation_spending_proposal_edit_form #not_feasible_fields').hide('down') $("#valuation_spending_proposal_edit_form #not_feasible_fields").hide("down")
$('#valuation_spending_proposal_edit_form #feasible_fields').show() $("#valuation_spending_proposal_edit_form #feasible_fields").show()
showNotFeasibleFields: -> showNotFeasibleFields: ->
$('#valuation_spending_proposal_edit_form #feasible_fields').hide('down') $("#valuation_spending_proposal_edit_form #feasible_fields").hide("down")
$('#valuation_spending_proposal_edit_form #not_feasible_fields').show() $("#valuation_spending_proposal_edit_form #not_feasible_fields").show()
showAllFields: -> showAllFields: ->
$('#valuation_spending_proposal_edit_form #feasible_fields').show('down') $("#valuation_spending_proposal_edit_form #feasible_fields").show("down")
$('#valuation_spending_proposal_edit_form #not_feasible_fields').show('down') $("#valuation_spending_proposal_edit_form #not_feasible_fields").show("down")
showFeasibilityFields: -> showFeasibilityFields: ->
feasible = $("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']:checked").val() feasible = $("#valuation_spending_proposal_edit_form input[type=radio][name='spending_proposal[feasible]']:checked").val()
if feasible == 'true' if feasible == "true"
App.ValuationSpendingProposalForm.showFeasibleFields() App.ValuationSpendingProposalForm.showFeasibleFields()
else if feasible == 'false' else if feasible == "false"
App.ValuationSpendingProposalForm.showNotFeasibleFields() App.ValuationSpendingProposalForm.showNotFeasibleFields()

View File

@@ -2,7 +2,7 @@ App.Votes =
hoverize: (votes) -> hoverize: (votes) ->
$(document).on { $(document).on {
'mouseenter focus': -> "mouseenter focus": ->
$("div.participation-not-allowed", this).show() $("div.participation-not-allowed", this).show()
$("div.participation-allowed", this).hide() $("div.participation-allowed", this).hide()
mouseleave: -> mouseleave: ->

View File

@@ -1,16 +1,16 @@
App.WatchFormChanges = App.WatchFormChanges =
forms: -> forms: ->
return $('form[data-watch-changes]') return $("form[data-watch-changes]")
msg: -> msg: ->
if($('[data-watch-form-message]').length) if($("[data-watch-form-message]").length)
return $('[data-watch-form-message]').data('watch-form-message') return $("[data-watch-form-message]").data("watch-form-message")
checkChanges: (event) -> checkChanges: (event) ->
changes = false changes = false
App.WatchFormChanges.forms().each -> App.WatchFormChanges.forms().each ->
form = $(this) form = $(this)
if form.serialize() != form.data('watchChanges') if form.serialize() != form.data("watchChanges")
changes = true changes = true
if changes if changes
return confirm(App.WatchFormChanges.msg()) return confirm(App.WatchFormChanges.msg())
@@ -21,10 +21,10 @@ App.WatchFormChanges =
if App.WatchFormChanges.forms().length == 0 || App.WatchFormChanges.msg() == undefined if App.WatchFormChanges.forms().length == 0 || App.WatchFormChanges.msg() == undefined
return return
$(document).off('page:before-change').on('page:before-change', (e) -> App.WatchFormChanges.checkChanges(e)) $(document).off("page:before-change").on("page:before-change", (e) -> App.WatchFormChanges.checkChanges(e))
App.WatchFormChanges.forms().each -> App.WatchFormChanges.forms().each ->
form = $(this) form = $(this)
form.data('watchChanges', form.serialize()) form.data("watchChanges", form.serialize())
false false