Commit Graph

388 Commits

Author SHA1 Message Date
JC Brand
2d08916ce7 Remove the keyPressed method from ChatRoomView and reuse the one on ChatBoxView 2013-03-24 17:49:42 +02:00
JC Brand
337a3c2bdb Remove ChatRoom model and instead re-use normal ChatBox model. 2013-03-24 17:44:47 +02:00
JC Brand
eaf39165ae Use scrollDown and make sure newly created chatboxes are scrolled down 2013-03-24 17:23:13 +02:00
JC Brand
d27c69d7b9 Set up the roster earlier
and do the fetching and sorting when the view is initialized
2013-03-24 17:09:49 +02:00
JC Brand
d985b7ae27 More bugfixes.
Specifically handle the case where a chatbox was destroyed, and then opened again.
We still have the view, so we reuse it.
2013-03-24 14:01:55 +02:00
JC Brand
efad677f16 JSLint 2013-03-24 12:53:29 +02:00
JC Brand
b495f83745 Now also remove openControlBox 2013-03-24 12:36:40 +02:00
JC Brand
d0b9761d20 More work to remove the need for collection-view anti-pattern.
Remove createChatBox from chatboxesview and move the message received listener to chatboxes
2013-03-24 12:34:41 +02:00
JC Brand
9d89779bee Remove openChat and showChat from chatboxes view and use events instead 2013-03-24 12:05:13 +02:00
JC Brand
974aa02605 Remove unused method 2013-03-24 11:49:22 +02:00
JC Brand
75cb595d50 Move roster change listener to a seprate method.
Move render, show and message fetching from ChatBoxesViews to ChatBoxView
2013-03-24 11:48:12 +02:00
JC Brand
1e3427adcf Try to make more use of events
and get rid of using chatboxesview to control chabox views
2013-03-24 11:18:26 +02:00
JC Brand
a1b7eed7ac That must be !prebind 2013-03-22 17:43:51 +02:00
JC Brand
7a90876ad7 Fixed again for the non-prebinding usecase. 2013-03-22 17:43:00 +02:00
JC Brand
cfd60be3e3 CSS tweaks 2013-03-22 17:42:47 +02:00
JC Brand
c8def35af8 Remove xmppchat.ClientStorage, it's not being used anymore 2013-03-22 15:12:11 +02:00
JC Brand
6fe5ac7224 Messages are now also saved and retrieved via backbone.localStorage 2013-03-22 15:02:33 +02:00
JC Brand
b4aada0155 Don't wrap contact names 2013-03-22 13:22:27 +02:00
JC Brand
9dd2f98841 Bugfix.
Couldn't save messages because localStorage wasn't activated for xmppchat.Messages
2013-03-22 13:17:37 +02:00
JC Brand
0f1f438266 Fixes for the case where a user binds to an existing connection
- Previous changes broke for the use-case with Plone, where the user
  doesn't log in manually.
- These changes probably broke the manual log-in use case again, but
  the design is now a bit cleaner and it won't be too hard to fix.
- Chatboxes are now also stored in backbone.localStorage \0/
2013-03-22 10:37:21 +02:00
JC Brand
6f25bfefb8 Cleanup 2013-03-22 08:47:43 +02:00
JC Brand
26cc218ca4 Syntax fixes 2013-03-22 08:34:28 +02:00
JC Brand
fba9bcfde6 ChatBoxes are now saved and fetched from backbone.localStorage.
Also made some initial changes to save/fetch messages from
backbone.localStorage
2013-03-22 08:22:04 +02:00
JC Brand
48e4ed271e Big refactoring.
Removed ControlBox model, and instead only create ChatBox models inside
ChatBoxes collection (the Controlbox is now also a ChatBox).

This enables us to use backbone.localStorage for saving open chatboxes (saving
and fetching currently not implemented).

createChatBox now doesn't return a ChatBoxView instance anymore. In the case
where a view was needed (to append a message), we create the message on the
ChatBox and let the view update via an event trigger. This is much more Backbonic ;)

Also created a Message model. This will most likely enable us to in the future also
store messages via backbone.localStorage.
2013-03-21 14:11:45 +02:00
JC Brand
2fe7164df6 Add errbacks for getVCard 2013-03-21 12:29:59 +02:00
JC Brand
2ae4fabb4d Show ellipsis when contact name is too long 2013-03-21 12:29:15 +02:00
JC Brand
ee3da4e40e Show the controlbox toggle by default.
Also, make sure RosterItems localstorage is user specifici
2013-03-21 11:43:35 +02:00
JC Brand
df931af213 Re-implement the login dialog as part of the controlbox. 2013-03-21 10:54:41 +02:00
JC Brand
9f437cbc2c Remove dependency on underscore 2013-03-21 10:54:09 +02:00
JC Brand
e9916ec912 Cache vCard retrieval.
We still need a cache invalidation mechanism. Currently PEP event notifications look most promising.
http://xmpp.org/extensions/xep-0163.html
http://xmpp.org/extensions/xep-0292.html#self-pubsub
2013-03-20 11:34:54 +02:00
JC Brand
219089d261 Specify Chatboxes collection's contained models 2013-03-19 10:45:18 +02:00
JC Brand
f28e20dc41 Call render on the roster if an item is removed, to clear headings. 2013-03-15 07:22:37 +02:00
JC Brand
4eae6ae2aa Bugfix.
User wasn't being removed from the roster if their buddy unsubscribed.
2013-03-15 07:17:49 +02:00
JC Brand
7f26ddbee6 Bugfix.
User wasn't being removed from the roster if their buddy unsubscribed.
2013-03-15 07:12:08 +02:00
JC Brand
15093e7795 Call render on the roster if an item is removed, to clear headings. 2013-03-15 06:59:35 +02:00
JC Brand
a28b17bb14 Make sure the roster is shown when a user subscribes 2013-03-15 06:48:28 +02:00
JC Brand
e5c4491946 Bugfix.
When a user has no contacts, a subscribing contact doesn't appear (due to the roster being hidden).
2013-03-15 06:46:49 +02:00
JC Brand
a1f5c31967 Remove last vestiges of jquery-ui 2013-03-12 14:31:46 +02:00
JC Brand
8bdd973ffc Remove jquery.ui and underscore.string 2013-03-12 12:22:41 +02:00
JC Brand
728bdff12b Add backbone.localStorage.js 2013-03-12 12:22:32 +02:00
JC Brand
b7e191f2b7 Handle removal of roster items from the cache.
- Also, use the browser's confirm dialog, to remove the dependency on jquery.ui
2013-03-12 10:56:50 +02:00
JC Brand
db158876b2 Add initial support for caching roster items to localstorage
- Uses Backbone.localStorage
- Unsubscribing/removing contacts from this cache is not yet tested/implemented
2013-03-12 09:42:33 +02:00
JC Brand
112c8c612e More presencing and chat status fixes.
- Try to clear up the confusion between presence_type (i.e type attr) and
  chat_status (i.e <show> element).
- Properly set chat status and custom status message.
2013-03-06 11:42:53 +02:00
JC Brand
d3c7c04571 Remove hardcoded values 2013-03-06 11:40:15 +02:00
JC Brand
7f4206e9b2 Update changes 2013-03-05 22:59:30 +02:00
JC Brand
49fd8a7ecd Fix presence exchange.
- Added 'show' element
- 'busy' must be 'dnd'
2013-03-05 22:57:05 +02:00
JC Brand
dfc1b73d11 Refactor some code out of the presenceHandler.
Also, don't hide the controlbox in the beginning, no need to.
2013-03-05 19:18:40 +02:00
JC Brand
1966d5ab56 Fix RosterHandler through proper closure. 2013-03-05 18:35:06 +02:00
JC Brand
bd5269c232 Various fixes, see below:
- Don't do an ajax call when a user wants to subscribe. We wanted to get the
  user's fullname, but this is now handled via vCards
- openChat is now only for roster items. Call showChat for controlbox and
  createChatRoom for rooms.
2013-03-05 10:15:48 +02:00
JC Brand
8f697923f2 Replace another server call with VCard.
This time when a message is received for the first time.
2013-03-05 09:33:29 +02:00