Files
dss/static/js/app/views/user/userProfileView.coffee
2014-02-10 20:21:54 +00:00

51 lines
2.1 KiB
CoffeeScript

define ['app', 'utils', 'moment', 'marionette', 'vent', 'app.lib/editableView', 'models/user/userItem',
'text!/tpl/UserProfileView', 'ace-editable', 'wysiwyg'],
(App, utils, moment, Marionette, vent, EditableView, UserItem, Template)->
class UserProfileView extends EditableView
template: _.template(Template)
events:
"click #follow-button": -> vent.trigger("user:follow", @model)
"click #follow-button-login": -> vent.trigger("app:login", @model)
initialize: =>
@listenTo(@model, 'change:is_following', @render)
templateHelpers:
humanise: (date)->
moment(date).fromNow()
onDomRefresh: ->
console.log("UserProfileView: initialize")
$.fn.editable.defaults.mode = "inline"
$.fn.editableform.loading = "<div class='editableform-loading'><i class='light-blue icon-2x icon-spinner icon-spin'></i></div>"
$.fn.editableform.buttons = "<button type=\"submit\" class=\"btn btn-info editable-submit\"><i class=\"fa fa-check fa-white\"></i></button>" + "<button type=\"button\" class=\"btn editable-cancel\"><i class=\"fa fa-times fa-white\"></i></button>"
#editables
if utils.isMe(@model.get("id"))
@setupImageEditable
el: $("#avatar", @el)
url: "/ajax/upload_avatar_image/"
chooseMessage: "Choose profile image"
$("#about", @el).editable
mode: "inline"
type: "wysiwyg"
name: "about"
wysiwyg: {}
css: {'max-width': '300px'}
success: (response, newValue) =>
console.log("Update model with new value")
@model.save 'description', newValue, patch: true
$(".usereditable").attr('class', if utils.isMe(@model.get("id")) then "editable editable-click" else "user-info")
onRender: ->
window.scrollTo 0, 0
UserProfileView