/
job_prospect.js.coffee
47 lines (37 loc) · 1.35 KB
/
job_prospect.js.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class JobOrg.Views.JobProspect extends Backbone.View
template: JST['job_prospects/job_prospect']
tagName: 'tr'
events:
'click input[value="Delete"]': 'removeJobProspect'
'click input[value="Edit"]': 'editJobProspect'
initialize: ->
@model.on('destroy', @unrenderJobProspect, this)
@model.on('save', @rerenderJobProspect, this)
render: ->
$(@el).html(@template(job_prospect: @model))
this
removeJobProspect: (event, job_prospect) ->
event.preventDefault
@model.destroy()
editJobProspect: (event, job_prospect) ->
event.preventDefault()
$('form#new_job_prospect').hide()
$('form#edit_job_prospect').show()
$('#edit_job_prospect_company').val(@model.get('company'))
$('#edit_job_prospect_position').val(@model.get('position'))
$('#edit_id').val(@model.get('id'))
handleError: (job_prospect, response) ->
if response.status == 422
errors = $.parseJSON(response.responseText).errors
for attribute, messages of errors
for message in messages
$('.alert-error').text("#{attribute} #{message}.")
$('.alert-error').show()
$('.alert-success').hide()
$('.alert-warning').hide()
$('.alert-notice').hide()
rerenderJobProspect: ->
$(@el).html(@template(job_prospect: @model))
this
unrenderJobProspect: ->
$(@el).remove()