initIssueAutoCompletion = -> $issueField = $(@) $projectField = $issueField.closest('form').find("[name*='[project_id]']") $issueField.autocomplete source: (request, response) -> $.ajax url: hourglassRoutes.hourglass_completion_issues(project_id: $projectField.val()), dataType: 'json', data: request success: response minLength: 1, autoFocus: true, response: (event, ui) -> $(event.target).next().val('') select: (event, ui) -> event.preventDefault() $issueField .val(ui.item.label) .next().val(ui.item.issue_id) .trigger('change') $projectField.val(ui.item.project_id).trigger('changefromissue') if $projectField.val() isnt ui.item.project_id focus: (event, ui) -> event.preventDefault() updateActivityField = ($activityField, $projectField) -> $selected_activity = $activityField.find("option:selected") $.ajax url: hourglassRoutes.hourglass_completion_activities() data: project_id: $projectField.val() success: (activities) -> $activityField.find('option[value!=""]').remove() for {id, name, isDefault} in activities do -> $activityField.append $('