b27f285a |
Xmpp.Views.Contacts ||= {}
class Xmpp.Views.Contacts.ContactView extends Backbone.View
template: JST["backbone/templates/contacts/contact"] |
52ef7688 |
tagName: 'li'
className: 'clear user' |
b27f285a |
|
6a6ccd01 |
events:
'click': 'startChat' |
b27f285a |
initialize: () ->
_.bindAll(this)
|
e2e90aca |
# Patrim nejakemu zoznamu |
52ef7688 |
@parentList = @attributes['listView'] |
b27f285a |
|
52ef7688 |
@model.on('change', @updateContact, this)
updateContact: (contact) ->
@model = contact |
b27f285a |
@render()
render: ->
contact = @model.toJSON() |
52ef7688 |
$(@el).html(@template(contact)) |
6a6ccd01 |
return this
|
e2e90aca |
belongsToActiveList: ->
@parentList.activeGroup == true
|
6a6ccd01 |
startChat: (event) -> |
e2e90aca |
if @belongsToActiveList()
return
who = App.Models.me |
6a6ccd01 |
withWhom = @model
App.debug ['opening chat with: ', who.get('jid'), withWhom.get('jid')]
chat = App.Collections.chats.find(who, withWhom)
if (! chat)
# App.debug ['not found in opened chats, creating new', chat]
chat = new Xmpp.Models.Chat(who: who, withWhom: withWhom)
App.Collections.chats.add(chat)
App.Views.tabbar.addOrSelect(chat) |
e2e90aca |
App.Collections.contacts.moveToInactiveList('all')
App.Collections.contacts.moveToActiveList(withWhom) |
6a6ccd01 |
# @openChat(chat)
openChat: (chat) ->
|