diff --git a/.coffeelint.json b/.coffeelint.json
new file mode 100644
index 000000000..9b00e8a75
--- /dev/null
+++ b/.coffeelint.json
@@ -0,0 +1,41 @@
+{
+ "arrow_spacing": {
+ "level": "error"
+ },
+ "braces_spacing": {
+ "level": "error",
+ "spaces": 1
+ },
+ "colon_assignment_spacing": {
+ "level": "error",
+ "spacing": {
+ "left": 0,
+ "right": 1
+ }
+ },
+ "eol_last": {
+ "level": "error"
+ },
+ "indentation": {
+ "value": 2
+ },
+ "line_endings": {
+ "level": "error"
+ },
+ "max_line_length": {
+ "value": 100,
+ "level": "error",
+ "limitComments": true
+ },
+ "no_trailing_whitespace": {
+ "level": "error",
+ "allowed_in_comments": false,
+ "allowed_in_empty_lines": false
+ },
+ "space_operators": {
+ "level": "error"
+ },
+ "spacing_after_comma": {
+ "level": "error"
+ }
+}
diff --git a/.hound.yml b/.hound.yml
index 26cdad927..b311fe432 100644
--- a/.hound.yml
+++ b/.hound.yml
@@ -1,4 +1,6 @@
rubocop:
config_file: .rubocop_basic.yml
scss:
- config_file: .scss-lint.yml
\ No newline at end of file
+ config_file: .scss-lint.yml
+coffeescript:
+ config_file: .coffeelint.json
diff --git a/app/assets/javascripts/banners.js.coffee b/app/assets/javascripts/banners.js.coffee
index d38587083..792732787 100644
--- a/app/assets/javascripts/banners.js.coffee
+++ b/app/assets/javascripts/banners.js.coffee
@@ -8,12 +8,12 @@ App.Banners =
.addClass(style, true)
update_background_color: (selector, text_selector, background_color) ->
- $(selector).css('background-color', background_color);
- $(text_selector).val(background_color);
+ $(selector).css('background-color', background_color)
+ $(text_selector).val(background_color)
update_font_color: (selector, text_selector, font_color) ->
- $(selector).css('color', font_color);
- $(text_selector).val(font_color);
+ $(selector).css('color', font_color)
+ $(text_selector).val(font_color)
initialize: ->
$('[data-js-banner-title]').on
@@ -26,18 +26,18 @@ App.Banners =
$("#banner_background_color_picker").on
change: ->
- App.Banners.update_background_color("#js-banner-background", "#banner_background_color", $(this).val());
+ App.Banners.update_background_color("#js-banner-background", "#banner_background_color", $(this).val())
$("#banner_background_color").on
change: ->
- App.Banners.update_background_color("#js-banner-background", "#banner_background_color_picker", $(this).val());
+ App.Banners.update_background_color("#js-banner-background", "#banner_background_color_picker", $(this).val())
$("#banner_font_color_picker").on
change: ->
- App.Banners.update_font_color("#js-banner-title", "#banner_font_color", $(this).val());
- App.Banners.update_font_color("#js-banner-description", "#banner_font_color", $(this).val());
+ App.Banners.update_font_color("#js-banner-title", "#banner_font_color", $(this).val())
+ App.Banners.update_font_color("#js-banner-description", "#banner_font_color", $(this).val())
$("#banner_font_color").on
change: ->
- App.Banners.update_font_color("#js-banner-title", "#banner_font_color_picker", $(this).val());
- App.Banners.update_font_color("#js-banner-description", "#banner_font_color_picker", $(this).val());
+ App.Banners.update_font_color("#js-banner-title", "#banner_font_color_picker", $(this).val())
+ App.Banners.update_font_color("#js-banner-description", "#banner_font_color_picker", $(this).val())
diff --git a/app/assets/javascripts/check_all_none.js.coffee b/app/assets/javascripts/check_all_none.js.coffee
index f49801a73..ffc34ec7f 100644
--- a/app/assets/javascripts/check_all_none.js.coffee
+++ b/app/assets/javascripts/check_all_none.js.coffee
@@ -8,6 +8,3 @@ App.CheckAllNone =
$('[data-check-none]').on 'click', ->
target_name = $(this).data('check-none')
$("[name='" + target_name + "']").prop('checked', false)
-
-
-
diff --git a/app/assets/javascripts/checkbox_toggle.js.coffee b/app/assets/javascripts/checkbox_toggle.js.coffee
index 096ce7e25..5d61b5a5f 100644
--- a/app/assets/javascripts/checkbox_toggle.js.coffee
+++ b/app/assets/javascripts/checkbox_toggle.js.coffee
@@ -8,5 +8,3 @@ App.CheckboxToggle =
$target.show()
else
$target.hide()
-
-
diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee
index d0869cc8e..5dc30432f 100644
--- a/app/assets/javascripts/globalize.js.coffee
+++ b/app/assets/javascripts/globalize.js.coffee
@@ -6,7 +6,7 @@ App.Globalize =
if $(this).data("locale") == locale
$(this).show()
App.Globalize.highlight_locale($(this))
- $(".js-globalize-locale option:selected").removeAttr("selected");
+ $(".js-globalize-locale option:selected").removeAttr("selected")
return
display_translations: (locale) ->
@@ -19,14 +19,14 @@ App.Globalize =
$('#js_delete_' + locale).show()
highlight_locale: (element) ->
- $('.js-globalize-locale-link').removeClass('is-active');
- element.addClass('is-active');
+ $('.js-globalize-locale-link').removeClass('is-active')
+ element.addClass('is-active')
remove_language: (locale) ->
$(".js-globalize-attribute[data-locale=" + locale + "]").each ->
$(this).val('').hide()
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()
next = $(".js-globalize-locale-link:visible").first()
App.Globalize.highlight_locale(next)
diff --git a/app/assets/javascripts/investment_report_alert.js.coffee b/app/assets/javascripts/investment_report_alert.js.coffee
index 98b239a55..c535f4c09 100644
--- a/app/assets/javascripts/investment_report_alert.js.coffee
+++ b/app/assets/javascripts/investment_report_alert.js.coffee
@@ -2,6 +2,6 @@ App.InvestmentReportAlert =
initialize: ->
$('#js-investment-report-alert').on 'click', ->
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
- confirm(this.dataset.alert);
+ confirm(this.dataset.alert)
diff --git a/app/assets/javascripts/legislation_annotatable.js.coffee b/app/assets/javascripts/legislation_annotatable.js.coffee
index 141bcb858..34385bc1e 100644
--- a/app/assets/javascripts/legislation_annotatable.js.coffee
+++ b/app/assets/javascripts/legislation_annotatable.js.coffee
@@ -38,7 +38,7 @@ App.LegislationAnnotatable =
renderAnnotationComments: (event) ->
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()
return
@@ -105,7 +105,7 @@ App.LegislationAnnotatable =
dataType: 'script').done (->
$('#new_legislation_annotation #legislation_annotation_quote').val(@annotation.quote)
$('#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
App.LegislationAnnotatable.highlight('#7fff9a')
@@ -143,7 +143,7 @@ App.LegislationAnnotatable =
el.addClass('current-annotation')
$('#comments-box').html('')
App.LegislationAllegations.show_comments()
- $('html,body').animate({scrollTop: el.offset().top})
+ $('html,body').animate({ scrollTop: el.offset().top })
$.event.trigger
type: "renderLegislationAnnotation"
annotation_id: ann_id
diff --git a/app/assets/javascripts/location_changer.js.coffee b/app/assets/javascripts/location_changer.js.coffee
index 54693633d..d4ac098a1 100644
--- a/app/assets/javascripts/location_changer.js.coffee
+++ b/app/assets/javascripts/location_changer.js.coffee
@@ -3,6 +3,3 @@ App.LocationChanger =
initialize: ->
$('.js-location-changer').on 'change', ->
window.location.assign($(this).val())
-
-
-
diff --git a/app/assets/javascripts/map.js.coffee b/app/assets/javascripts/map.js.coffee
index 562b035e0..1eabfa132 100644
--- a/app/assets/javascripts/map.js.coffee
+++ b/app/assets/javascripts/map.js.coffee
@@ -8,8 +8,8 @@ App.Map =
App.Map.initializeMap map
$('.js-toggle-map').on
- click: ->
- App.Map.toggleMap()
+ click: ->
+ App.Map.toggleMap()
initializeMap: (element) ->
App.Map.cleanInvestmentCoordinates(element)
@@ -27,12 +27,13 @@ App.Map =
removeMarkerSelector = $(element).data('marker-remove-selector')
addMarkerInvestments = $(element).data('marker-investments-coordinates')
editable = $(element).data('marker-editable')
- marker = null;
+ marker = null
markerIcon = L.divIcon(
- className: 'map-marker'
- iconSize: [30, 30]
- iconAnchor: [15, 40]
- html: '
')
+ className: 'map-marker'
+ iconSize: [30, 30]
+ iconAnchor: [15, 40]
+ html: ''
+ )
createMarker = (latitude, longitude) ->
markerLatLng = new (L.LatLng)(latitude, longitude)
@@ -46,7 +47,7 @@ App.Map =
e.preventDefault()
if marker
map.removeLayer(marker)
- marker = null;
+ marker = null
clearFormfields()
return
@@ -105,8 +106,8 @@ App.Map =
marker.on 'click', openMarkerPopup
toggleMap: ->
- $('.map').toggle()
- $('.js-location-map-remove-marker').toggle()
+ $('.map').toggle()
+ $('.js-location-map-remove-marker').toggle()
cleanInvestmentCoordinates: (element) ->
markers = $(element).attr('data-marker-investments-coordinates')
diff --git a/app/assets/javascripts/polls.js.coffee b/app/assets/javascripts/polls.js.coffee
index ac2c759ba..6f3a61859 100644
--- a/app/assets/javascripts/polls.js.coffee
+++ b/app/assets/javascripts/polls.js.coffee
@@ -4,7 +4,7 @@ App.Polls =
rand = ''
for n in [0..5]
rand = Math.random().toString(36).substr(2) # remove `0.`
- token = token + rand;
+ token = token + rand
token = token.substring(0, 64)
return token
@@ -23,7 +23,7 @@ App.Polls =
click: =>
token_message = $(".js-token-message")
if !token_message.is(':visible')
- token_message.html(token_message.html() + "
" + @token + "");
+ token_message.html(token_message.html() + "
" + @token + "")
token_message.show()
false
@@ -32,13 +32,12 @@ App.Polls =
answer = $(element).closest('div.answer')
if $(answer).hasClass('medium-6')
- $(answer).removeClass("medium-6");
- $(answer).addClass("answer-divider");
+ $(answer).removeClass("medium-6")
+ $(answer).addClass("answer-divider")
unless $(answer).hasClass('first')
- $(answer).insertBefore($(answer).prev('div.answer'));
+ $(answer).insertBefore($(answer).prev('div.answer'))
else
- $(answer).addClass("medium-6");
- $(answer).removeClass("answer-divider");
+ $(answer).addClass("medium-6")
+ $(answer).removeClass("answer-divider")
unless $(answer).hasClass('first')
- $(answer).insertAfter($(answer).next('div.answer'));
-
+ $(answer).insertAfter($(answer).next('div.answer'))
diff --git a/app/assets/javascripts/polls_admin.js.coffee b/app/assets/javascripts/polls_admin.js.coffee
index ef1dd44f1..9793c6aff 100644
--- a/app/assets/javascripts/polls_admin.js.coffee
+++ b/app/assets/javascripts/polls_admin.js.coffee
@@ -5,8 +5,8 @@ App.PollsAdmin =
change: ->
switch ($(this).val())
when 'vote_collection'
- $("select[class='js-shift-vote-collection-dates']").show();
- $("select[class='js-shift-recount-scrutiny-dates']").hide();
+ $("select[class='js-shift-vote-collection-dates']").show()
+ $("select[class='js-shift-recount-scrutiny-dates']").hide()
when 'recount_scrutiny'
- $("select[class='js-shift-recount-scrutiny-dates']").show();
- $("select[class='js-shift-vote-collection-dates']").hide();
+ $("select[class='js-shift-recount-scrutiny-dates']").show()
+ $("select[class='js-shift-vote-collection-dates']").hide()
diff --git a/app/assets/javascripts/prevent_double_submission.js.coffee b/app/assets/javascripts/prevent_double_submission.js.coffee
index 5f080ddfe..ea2888075 100644
--- a/app/assets/javascripts/prevent_double_submission.js.coffee
+++ b/app/assets/javascripts/prevent_double_submission.js.coffee
@@ -22,15 +22,15 @@ App.PreventDoubleSubmission =
initialize: ->
$('form').on('submit', (event) ->
- unless event.target.id == "new_officing_voter" ||
+ unless event.target.id == "new_officing_voter" ||
event.target.id == "admin_download_emails"
buttons = $(this).find(':button, :submit')
App.PreventDoubleSubmission.disable_buttons(buttons)
).on('ajax:success', (event) ->
- unless event.target.id == "new_officing_voter" ||
+ unless event.target.id == "new_officing_voter" ||
event.target.id == "admin_download_emails"
-
+
buttons = $(this).find(':button, :submit')
App.PreventDoubleSubmission.reset_buttons(buttons)
)
diff --git a/app/assets/javascripts/send_admin_notification_alert.js.coffee b/app/assets/javascripts/send_admin_notification_alert.js.coffee
index 8c1c928e5..d21e218d3 100644
--- a/app/assets/javascripts/send_admin_notification_alert.js.coffee
+++ b/app/assets/javascripts/send_admin_notification_alert.js.coffee
@@ -1,4 +1,4 @@
App.SendAdminNotificationAlert =
initialize: ->
$('#js-send-admin_notification-alert').on 'click', ->
- confirm(this.dataset.alert);
+ confirm(this.dataset.alert)
diff --git a/app/assets/javascripts/send_newsletter_alert.js.coffee b/app/assets/javascripts/send_newsletter_alert.js.coffee
index 3b06a30ff..e543140f1 100644
--- a/app/assets/javascripts/send_newsletter_alert.js.coffee
+++ b/app/assets/javascripts/send_newsletter_alert.js.coffee
@@ -1,4 +1,4 @@
App.SendNewsletterAlert =
initialize: ->
$('#js-send-newsletter-alert').on 'click', ->
- confirm(this.dataset.alert);
+ confirm(this.dataset.alert)
diff --git a/app/assets/javascripts/social_share.js.coffee b/app/assets/javascripts/social_share.js.coffee
index 823488fe8..820383e43 100644
--- a/app/assets/javascripts/social_share.js.coffee
+++ b/app/assets/javascripts/social_share.js.coffee
@@ -4,4 +4,4 @@ App.SocialShare =
$(".social-share-button a").each ->
element = $(this)
site = element.data('site')
- element.append("#{site}")
\ No newline at end of file
+ element.append("#{site}")
diff --git a/app/assets/javascripts/sortable.js.coffee b/app/assets/javascripts/sortable.js.coffee
index 1af543f6a..e280801c2 100644
--- a/app/assets/javascripts/sortable.js.coffee
+++ b/app/assets/javascripts/sortable.js.coffee
@@ -2,8 +2,8 @@ App.Sortable =
initialize: ->
$(".sortable").sortable
update: (event, ui) ->
- new_order = $(this).sortable('toArray', {attribute: 'data-answer-id'});
+ new_order = $(this).sortable('toArray', { attribute: 'data-answer-id' })
$.ajax
url: $('.sortable').data('js-url'),
- data: {ordered_list: new_order},
+ data: { ordered_list: new_order },
type: 'POST'
diff --git a/app/assets/javascripts/stats.js.coffee b/app/assets/javascripts/stats.js.coffee
index 7fcdfb00a..5bfa0a525 100644
--- a/app/assets/javascripts/stats.js.coffee
+++ b/app/assets/javascripts/stats.js.coffee
@@ -3,7 +3,7 @@
buildGraph = (el) ->
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
App.Stats =
diff --git a/app/assets/javascripts/suggest.js.coffee b/app/assets/javascripts/suggest.js.coffee
index de42fd998..3fbfa8a73 100644
--- a/app/assets/javascripts/suggest.js.coffee
+++ b/app/assets/javascripts/suggest.js.coffee
@@ -9,7 +9,7 @@ App.Suggest =
callback = ->
$.ajax
url: $this.data('js-url')
- data: {search: $this.val()},
+ data: { search: $this.val() },
type: 'GET',
dataType: 'html'
success: (stHtml) ->
diff --git a/app/assets/javascripts/table_sortable.js.coffee b/app/assets/javascripts/table_sortable.js.coffee
index 331f794a4..b3840a982 100644
--- a/app/assets/javascripts/table_sortable.js.coffee
+++ b/app/assets/javascripts/table_sortable.js.coffee
@@ -20,4 +20,3 @@ App.TableSortable =
table.append rows[i]
i++
return
-
\ No newline at end of file
diff --git a/app/assets/javascripts/tag_autocomplete.js.coffee b/app/assets/javascripts/tag_autocomplete.js.coffee
index be27cd81c..283573d6b 100644
--- a/app/assets/javascripts/tag_autocomplete.js.coffee
+++ b/app/assets/javascripts/tag_autocomplete.js.coffee
@@ -11,24 +11,24 @@ App.TagAutocomplete =
source: (request, response) ->
$.ajax
url: $('.tag-autocomplete').data('js-url'),
- data: {search: App.TagAutocomplete.extractLast( request.term )},
+ data: { search: App.TagAutocomplete.extractLast( request.term ) },
type: 'GET',
dataType: 'json'
success: ( data ) ->
- response( data );
+ response( data )
minLength: 0,
search: ->
- App.TagAutocomplete.extractLast( this.value );
+ App.TagAutocomplete.extractLast( this.value )
focus: ->
- return false;
+ return false
select: ( event, ui ) -> (
- terms = App.TagAutocomplete.split( this.value );
- terms.pop();
- terms.push( ui.item.value );
- terms.push( "" );
- this.value = terms.join( ", " );
- return false;);
+ terms = App.TagAutocomplete.split( this.value )
+ terms.pop()
+ terms.push( ui.item.value )
+ terms.push( "" )
+ this.value = terms.join( ", " )
+ return false;)
initialize: ->
- App.TagAutocomplete.init_autocomplete();
\ No newline at end of file
+ App.TagAutocomplete.init_autocomplete()
diff --git a/app/assets/javascripts/tree_navigator.js.coffee b/app/assets/javascripts/tree_navigator.js.coffee
index 385d1bbbd..406b156f6 100644
--- a/app/assets/javascripts/tree_navigator.js.coffee
+++ b/app/assets/javascripts/tree_navigator.js.coffee
@@ -34,4 +34,3 @@ App.TreeNavigator =
link.parents('ul').each ->
$(this).show()
$(this).siblings('span').removeClass('closed').addClass('open')
-
diff --git a/app/assets/javascripts/valuation_budget_investment_form.js.coffee b/app/assets/javascripts/valuation_budget_investment_form.js.coffee
index d79ff600e..a76a43b9e 100644
--- a/app/assets/javascripts/valuation_budget_investment_form.js.coffee
+++ b/app/assets/javascripts/valuation_budget_investment_form.js.coffee
@@ -29,4 +29,4 @@ App.ValuationBudgetInvestmentForm =
initialize: ->
App.ValuationBudgetInvestmentForm.showFeasibilityFields()
App.ValuationBudgetInvestmentForm.showFeasibilityFieldsOnChange()
- false
\ No newline at end of file
+ false
diff --git a/app/assets/javascripts/valuation_spending_proposal_form.js.coffee b/app/assets/javascripts/valuation_spending_proposal_form.js.coffee
index fa0bc2106..47f7e0563 100644
--- a/app/assets/javascripts/valuation_spending_proposal_form.js.coffee
+++ b/app/assets/javascripts/valuation_spending_proposal_form.js.coffee
@@ -29,4 +29,4 @@ App.ValuationSpendingProposalForm =
initialize: ->
App.ValuationSpendingProposalForm.showFeasibilityFields()
App.ValuationSpendingProposalForm.showFeasibilityFieldsOnChange()
- false
\ No newline at end of file
+ false
diff --git a/coffeelint.json b/coffeelint.json
deleted file mode 100644
index c69c63f10..000000000
--- a/coffeelint.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "coffeescript_error": {
- "level": "error"
- },
- "arrow_spacing": {
- "name": "arrow_spacing",
- "level": "warn"
- },
- "no_tabs": {
- "name": "no_tabs",
- "level": "error"
- },
- "no_trailing_whitespace": {
- "name": "no_trailing_whitespace",
- "level": "warn",
- "allowed_in_comments": false,
- "allowed_in_empty_lines": true
- },
- "max_line_length": {
- "name": "max_line_length",
- "value": 140,
- "level": "warn",
- "limitComments": true
- },
- "line_endings": {
- "name": "line_endings",
- "level": "ignore",
- "value": "unix"
- },
- "no_trailing_semicolons": {
- "name": "no_trailing_semicolons",
- "level": "error"
- },
- "indentation": {
- "name": "indentation",
- "value": 2,
- "level": "error"
- },
- "camel_case_classes": {
- "name": "camel_case_classes",
- "level": "error"
- },
- "colon_assignment_spacing": {
- "name": "colon_assignment_spacing",
- "level": "warn",
- "spacing": {
- "left": 0,
- "right": 1
- }
- },
- "no_implicit_braces": {
- "name": "no_implicit_braces",
- "level": "ignore",
- "strict": true
- },
- "no_plusplus": {
- "name": "no_plusplus",
- "level": "ignore"
- },
- "no_throwing_strings": {
- "name": "no_throwing_strings",
- "level": "error"
- },
- "no_backticks": {
- "name": "no_backticks",
- "level": "error"
- },
- "no_implicit_parens": {
- "name": "no_implicit_parens",
- "level": "ignore"
- },
- "no_empty_param_list": {
- "name": "no_empty_param_list",
- "level": "warn"
- },
- "no_stand_alone_at": {
- "name": "no_stand_alone_at",
- "level": "ignore"
- },
- "space_operators": {
- "name": "space_operators",
- "level": "warn"
- },
- "duplicate_key": {
- "name": "duplicate_key",
- "level": "error"
- },
- "empty_constructor_needs_parens": {
- "name": "empty_constructor_needs_parens",
- "level": "ignore"
- },
- "cyclomatic_complexity": {
- "name": "cyclomatic_complexity",
- "value": 10,
- "level": "ignore"
- },
- "newlines_after_classes": {
- "name": "newlines_after_classes",
- "value": 3,
- "level": "ignore"
- },
- "no_unnecessary_fat_arrows": {
- "name": "no_unnecessary_fat_arrows",
- "level": "warn"
- },
- "missing_fat_arrows": {
- "name": "missing_fat_arrows",
- "level": "ignore"
- },
- "non_empty_constructor_needs_parens": {
- "name": "non_empty_constructor_needs_parens",
- "level": "ignore"
- }
-}