blob: 1b2caaf1d9303d588da9bcd7ae3144a8dd924498 (
plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
class csx.Views.My.Profiles.ShowView extends Marionette.ItemView
template: JST["templates/my/profiles/show"]
ui:
name: '#user_name'
email: '#user_email'
city: '#user_city'
website: '#user_website'
facebook: '#user_facebook'
twitter: '#user_twitter'
save_button: '#save-button'
cancel_button: '#cancel-button'
status: '#status-message'
modelEvents:
'invalid': 'displayError'
events:
"submit #profile-form": "save"
"keyup input": "refreshStatus"
'click #cancel-button': 'cancel'
save: (event) ->
event.preventDefault()
event.stopPropagation()
@disableSaveButton()
@model.save(null,
success: @savedSuccessfully
error: @couldNotSave
)
savedSuccessfully: (profile) =>
@disableSaveButton()
@ui.status.removeClass('hide')
@ui.status.removeClass('alert-danger')
@ui.status.html("Saved!")
couldNotSave: =>
console.log('fudge')
enableSaveButton: ->
@ui.save_button.removeAttr('disabled')
disableSaveButton: ->
@ui.save_button.attr('disabled', 'disabled')
displayError: ->
@disableSaveButton()
@ui.status.addClass('alert-danger')
@ui.status.removeClass('hide')
@ui.status.html(@model.validationError)
refreshStatus: ->
@ui.status.addClass('hide')
@enableSaveButton()
@model.set('name', @ui.name.val())
@model.set('email', @ui.email.val())
@model.set('city', @ui.city.val())
@model.set('website', @ui.website.val())
@model.set('facebook', @ui.facebook.val())
@model.set('twitter', @ui.twitter.val())
@model.isValid()
cancel: ->
@enableSaveButton()
|