lilia
1bb480f6ea
DRY up a common view pattern
...
Define a Whisper.View base class that automatically parses and renders
templates and attributes defined by the subclass. This saves us a good
number of lines of code as well as some marginal memory overhead, since
we are no longer saving per-instance copies of template strings.
2015-03-05 15:36:35 -08:00
lilia
85b4643e9b
Fixes #161
...
The first message sent to a new contact was throwing 'Unknown Group'.
This was because we didn't wait for the initial save to sync the `type`
attribute to indexedDB. Instead, don't trigger the conversation to open
until it has finished saving.
2015-02-13 12:57:19 -08:00
lilia
2de682ef7b
Don't create a group without a name
2015-02-12 13:21:17 -08:00
lilia
4422582ab7
Fixup opening existing private conversations
2015-02-12 13:21:17 -08:00
lilia
200981e022
Avoid adding empty-string numbers to recipients
2015-02-12 13:21:17 -08:00
lilia
3a099657e6
Untangle select vs open events
2015-02-12 13:21:17 -08:00
lilia
9087918500
Don't add new convos to inbox until a message is sent
2015-02-12 13:21:16 -08:00
lilia
af49ad9b90
Dry up new contact init and handling
2015-02-12 13:21:16 -08:00
lilia
63d232dedb
Draw attention to invalid numbers
2015-02-12 13:21:16 -08:00
lilia
746e6530b9
WIP pill view for selected recipients
2015-02-12 13:21:16 -08:00
lilia
9e245e67e0
Fix double-opening exsisting conversations from typeahead
2015-02-12 13:21:15 -08:00
lilia
d435ff003b
Improve typeahead contact selector experience
...
Store and match on various phone number formats. Still not perfect, as
occasionally all the models are returned for a non-matching query.
2015-02-11 17:38:01 -08:00
lilia
acc2c6f536
Sort contact selector by title
2015-02-11 17:38:01 -08:00
lilia
a00632c728
Hook up group creation flow UI
...
Checkboxes add and remove members as well as exposing the group update
ui. The conversation window is opened after saving the group.
2015-02-11 17:38:01 -08:00
lilia
b3e32a2642
Only load contacts (not groups) in the typeahead
2015-02-11 17:38:01 -08:00
lilia
2f93fb9fbc
Remove unneeded comparator
...
This collection is just an in-memory indexer used for typeaheads. For
display, the matching models are added to a separate collection. Thus,
the order of the elements in the typeahead collection does not matter.
2015-02-11 17:38:01 -08:00
lilia
87cd3f5053
Save and open new contact on click
2015-02-11 17:38:00 -08:00
lilia
d26dc8c7e6
Move openConversation handler to InboxView
...
Removes the background page ref to inbox which should fix view tests.
Prep for handling new contact creation.
2015-02-11 17:38:00 -08:00
lilia
80ce2d95e0
Sort contacts by name in compose flow
2015-02-11 17:38:00 -08:00
lilia
fedfdcdd7e
Style elements for compose flow
2015-02-11 17:37:59 -08:00
lilia
5762724709
Don't show new contact unless input may be a phone number
2015-02-11 17:37:59 -08:00
lilia
4ee4872b27
Stop matching typeahead against group members
...
It feels a little weird when you can't see the matching member. Would
consider putting this back in if we display the member list in the
contact list item view.
2015-02-11 17:37:59 -08:00
lilia
613dc3bedd
Start on support for messaging a brand new contact
2015-02-11 17:37:59 -08:00
lilia
d3d84f3124
Let typeahead surface groups with matching members
2015-02-11 17:37:59 -08:00
lilia
e149650d94
Refactor typeahead into new conversation view
2015-02-11 17:37:58 -08:00
lilia
f6376c0fa2
Rename event
...
'open' seems a better name for an event that triggers the open function.
2015-01-17 22:33:55 -10:00
Emily Chao
e74cba8a92
Restyled country dropdown
...
Added jquery plugin that allows for flags and country codes to be
displayed in a user-friendly way, on top of the existing phone view
2015-01-15 15:24:36 -10:00
Emily Chao
5d3020b9ed
Refactor phone number input view
...
Moves validation logic to its own view to be shared on index and options
pages.
2015-01-15 11:51:32 -10:00
lilia
fd3a72d435
Destroy all globals
...
Well, not *all* globals..
2014-11-24 19:25:03 -08:00
lilia
ced295a630
Move message and conversation storage to IndexedDB
...
Getting up and running with IndexedDB was pretty easy, thanks to
backbone. The tricky part was making reads and writes asynchronous.
In that process I did some refactoring on Whisper.Threads, which
has been renamed Conversations for consistency with the view names.
This change also adds the unlimitedStorage permission.
2014-11-24 19:25:03 -08:00
lilia
b9859ad9d4
Add some license headers
2014-11-13 15:53:57 -08:00
lilia
aa937ae1d1
Add attachment inputs to new conversation form
...
Fixes reference error to 'map' on undefined attachments list.
2014-11-03 17:51:57 -08:00
lilia
78166365c7
Fix new message number validation
2014-10-22 16:07:16 -07:00
lilia
6e2a85ccf1
wip new message phone number validation
2014-10-22 12:05:33 -07:00
lilia
81e4af5827
Move phonenumbery utils to libphonenumber object
...
Slowly whittling away at helpers.js...
2014-10-13 22:49:39 -07:00
lilia
ef066ea9d2
Make conversations open when they are created
2014-09-04 00:21:18 -07:00
lilia
b9640a54bd
Move new convo stuff to its own file
2014-08-31 18:02:39 -07:00