diff --git a/app/assets/javascripts/issues.js b/app/assets/javascripts/issues.js deleted file mode 100644 index 719d2c176c1361c7feccc66af57165c607a27914..0000000000000000000000000000000000000000 --- a/app/assets/javascripts/issues.js +++ /dev/null @@ -1,80 +0,0 @@ -function initIssuesSearch() { - var href = $('#issue_search_form').attr('action'); - var last_terms = ''; - - $('#issue_search').keyup(function() { - var terms = $(this).val(); - var milestone_id = $('#milestone_id').val(); - var status = $('#status').val(); - - if (terms != last_terms) { - last_terms = terms; - - if (terms.length >= 2 || terms.length == 0) { - $.get(href, { 'f': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) { - $('#issues-table').html(response); - }); - } - } - }); -} - -/** - * Init issues page - * - */ -function issuesPage(){ - initIssuesSearch(); - $("#update_status").chosen(); - $("#update_assignee_id").chosen(); - $("#update_milestone_id").chosen(); - - $("#label_name").chosen(); - $("#assignee_id").chosen(); - $("#milestone_id").chosen(); - $("#milestone_id, #assignee_id, #label_name").on("change", function(){ - $(this).closest("form").submit(); - }); - - $('body').on('ajax:success', '.close_issue, .reopen_issue', function(){ - var t = $(this), - totalIssues, - reopen = t.hasClass('reopen_issue'); - $('.issue_counter').each(function(){ - var issue = $(this); - totalIssues = parseInt( $(this).html(), 10 ); - - if( reopen && issue.closest('.main_menu').length ){ - $(this).html( totalIssues+1 ); - }else { - $(this).html( totalIssues-1 ); - } - }); - - }); - - $(".check_all_issues").click(function () { - $('.selected_issue').attr('checked', this.checked); - issuesCheckChanged(); - }); - - $('.selected_issue').bind('change', issuesCheckChanged); -} - -function issuesCheckChanged() { - var checked_issues = $('.selected_issue:checked'); - - if(checked_issues.length > 0) { - var ids = [] - $.each(checked_issues, function(index, value) { - ids.push($(value).attr("data-id")); - }) - $('#update_issues_ids').val(ids); - $('.issues_filters').hide(); - $('.issues_bulk_update').show(); - } else { - $('#update_issues_ids').val([]); - $('.issues_bulk_update').hide(); - $('.issues_filters').show(); - } -} diff --git a/app/assets/javascripts/issues.js.coffee b/app/assets/javascripts/issues.js.coffee new file mode 100644 index 0000000000000000000000000000000000000000..d68fbcabb473151580cc255b38a3e4a035b0956c --- /dev/null +++ b/app/assets/javascripts/issues.js.coffee @@ -0,0 +1,64 @@ +@initIssuesSearch = -> + href = $("#issue_search_form").attr("action") + last_terms = "" + $("#issue_search").keyup -> + terms = $(this).val() + milestone_id = $("#milestone_id").val() + status = $("#status").val() + unless terms is last_terms + last_terms = terms + if terms.length >= 2 or terms.length is 0 + $.get href, + f: status + terms: terms + milestone_id: milestone_id + , (response) -> + $("#issues-table").html response + +### +Init issues page +### +@issuesPage = -> + initIssuesSearch() + $("#update_status").chosen() + $("#update_assignee_id").chosen() + $("#update_milestone_id").chosen() + $("#label_name").chosen() + $("#assignee_id").chosen() + $("#milestone_id").chosen() + $("#milestone_id, #assignee_id, #label_name").on "change", -> + $(this).closest("form").submit() + + $("body").on "ajax:success", ".close_issue, .reopen_issue", -> + t = $(this) + totalIssues = undefined + reopen = t.hasClass("reopen_issue") + $(".issue_counter").each -> + issue = $(this) + totalIssues = parseInt($(this).html(), 10) + if reopen and issue.closest(".main_menu").length + $(this).html totalIssues + 1 + else + $(this).html totalIssues - 1 + + + $(".check_all_issues").click -> + $(".selected_issue").attr "checked", @checked + issuesCheckChanged() + + $(".selected_issue").bind "change", issuesCheckChanged + +@issuesCheckChanged = -> + checked_issues = $(".selected_issue:checked") + if checked_issues.length > 0 + ids = [] + $.each checked_issues, (index, value) -> + ids.push $(value).attr("data-id") + + $("#update_issues_ids").val ids + $(".issues_filters").hide() + $(".issues_bulk_update").show() + else + $("#update_issues_ids").val [] + $(".issues_bulk_update").hide() + $(".issues_filters").show()