Commit Graph

223 Commits

Author SHA1 Message Date
Jessica McKellar 1adb10d1ae Allow copying and pasting from zephyrs without triggering a compose.
(imported from commit f98a14155904dda11d85ed81acee783494377e4d)
2012-09-28 15:27:39 -04:00
Waseem Daher ecfed97bc6 Attempt at restyling personals for more emphasis.
(imported from commit 28adc1c6144632bf973272b096a22d8315648502)
2012-09-28 13:32:59 -04:00
Jessica McKellar f2b808a976 Now that mouseover doesn't select, show_email needs to take an ID.
(imported from commit dfa737e78da0772e99fda34318ed879896fb5655)
2012-09-28 10:59:39 -04:00
Jessica McKellar 9cbdbc4893 Don't update the selected zephyr on mouseover.
But do keep the pointer on the screen as you scroll, and smoothly
scroll all the way up to the top or all the way down to the bottom.

(imported from commit 6acad2a16339ee5eeeebd62a853000c21e4b7152)
2012-09-28 10:59:38 -04:00
Keegan McAllister 3429e77178 Don't display the "Loading..." indicator if the user has no messages
(imported from commit a050218ccde3b82c570a9373cbab5e3fb22abcde)
2012-09-27 16:15:10 -04:00
Keegan McAllister 20240d869c Rename get_updates_longpoll to get_updates
(imported from commit 15635904584b324bdfa1414caea12c3bc4ce54c8)
2012-09-27 15:46:36 -04:00
Keegan McAllister 9323abddd9 Don't jump the pointer if the user already selected a message during load
(imported from commit 69a3f11059ee4764f1625df7774ff611fff99537)
2012-09-26 17:53:06 -04:00
Keegan McAllister 35dcc04822 Add an interim "Loading..." indicator
We will probably re-style this eventually.

Also, the animation freezes during template rendering.  And the HTML is a "give
up and use tables" situation.

(imported from commit 847374b616dc7ce909834f23d5ed9522aa457254)
2012-09-26 17:11:00 -04:00
Keegan McAllister 1e02fc140b Make add_messages do everything relating to message adding
Now that it's only called from get_updates_longpoll, we don't need to break out
specific parts that are only needed there.

(imported from commit 60d1cb25d0044ed1b2325d977b869617587e6a0f)
2012-09-26 17:11:00 -04:00
Keegan McAllister 017c5e87bd Update autocomplete only once per batch
...not up to three times per message.

(imported from commit 1da13c0bc1311627f1bcdce6719097836d9616ca)
2012-09-26 17:11:00 -04:00
Keegan McAllister 21d76b3398 Don't send instance_list in index.html
It gets populated from the zephyrs we receive in the initial get_updates_longpoll.

(imported from commit 83c773d211ea323233a986ccf12fd797236c08a5)
2012-09-26 17:11:00 -04:00
Keegan McAllister 12e458df80 Get initial messages from get_updates_longpoll
(imported from commit 2bb9c51409735abe23bad758338b13121aea4c99)
2012-09-26 17:10:59 -04:00
Keegan McAllister ee75f7ae8d get_{next,prev}_visible: Handle undefined argument
(imported from commit 07956fb7595e8c39fd052aaf0a16df4c3e574f8d)
2012-09-26 17:10:59 -04:00
Tim Abbott df01b016cb Display short_names rather than email addresses for huddles.
(imported from commit 6509305f1b0ee90cfe5c93c74e03350a557a0cc5)
2012-09-26 15:32:35 -04:00
Keegan McAllister bec1b55930 Use switch/case in respond_to_zephyr
(imported from commit 4afef9103075a00772f3c0e29d634a28cb5d5b5a)
2012-09-26 15:25:46 -04:00
Keegan McAllister d8714ae3ff Use switch/case in add_zephyr_metadata
(imported from commit f5a2357a4359d3e16d22a0c561561c5f54b16538)
2012-09-26 15:25:45 -04:00
Tim Abbott d374312509 Use email address for huddle display recipients.
This fixes replying to huddle messages.

(imported from commit 8e6f9ce7d690c926b19c50016ec972d767428994)
2012-09-26 13:24:08 -04:00
Jessica McKellar f60e9de1f2 Linkify URLs in zephyrs.
(imported from commit df7e355648d2c4d6319de049933547ed96402fd8)
2012-09-26 10:33:33 -04:00
Jessica McKellar 455b9863d5 Always clear compose inputs on New Message.
(imported from commit 7c32f8bdc2366695c488563698c282d2f25b65a1)
2012-09-25 13:39:23 -04:00
Jessica McKellar 14ceb7e888 Add hotkeys for composing a new message and toggling betweeen message types.
(imported from commit 5778b12d204f803a4c46b0f32ec19d9410108b36)
2012-09-25 13:00:43 -04:00
Jessica McKellar 810229288b Track and be able to return to your high water mark.
(imported from commit 52a1ce8c84ad3f4eea16b7abaf075ebffc794c9a)
2012-09-25 10:04:34 -04:00
Keegan McAllister 613e042b7c Get rid of current_view_predicate
Use 'narrowed' for the same role.  (Functions are always true-ish in
Javascript.)

Also, don't add messages to the narrowed table if not narrowed (my bad).

(imported from commit 31707d39abb97472a36d3816c62482e39e732fdc)
2012-09-24 18:42:04 -04:00
Keegan McAllister 877954aa55 Render all new zephyrs with a single template invocation
(imported from commit 13803e0e96901d129d4aefcd5fde63548deb4dc0)
2012-09-24 17:45:52 -04:00
Keegan McAllister 934e3461df Split add_to_table into preprocessing, templating, and postprocessing
(imported from commit ef17ff33f4496fcf619170bda1a46f14734d3e43)
2012-09-24 17:45:52 -04:00
Keegan McAllister 6fb5fc57ce Change bad CSS class names
(imported from commit 962f91a593b4ca65bd7aae7d71117fc159c2627a)
2012-09-24 17:45:52 -04:00
Keegan McAllister 6ccf3818d6 Rename add_to_tables -> add_to_table
It only adds to one table.

(imported from commit 7c106331527ceaa056b23214be3c981029c9c005)
2012-09-24 17:45:52 -04:00
Keegan McAllister ad0bed506a Add messages in batches
Not immediately useful, but it will help us speed up templating later.

(imported from commit 48cd554b322eede506b0cbcd4b26ef427cb2c804)
2012-09-24 17:45:52 -04:00
Keegan McAllister 40ac817f4e More JSLint options
(imported from commit a5b7aea68de5403c3f9deb7220f05102de971747)
2012-09-24 17:45:51 -04:00
Keegan McAllister 4793cee888 Switch to Handlebars templating
Benchmarks [1] show it's much faster than ICanHaz, though we will have to work
to realize those gains.

[1] http://jsperf.com/jquery-template-table-performance/77

(imported from commit b037a6f15e27fd49af88f814ff949811dbcd48f2)
2012-09-24 17:45:51 -04:00
Keegan McAllister b21d197418 Factor out same_sender too
(imported from commit 831a24817cd4669507bac9797abf30d644c6a3d9)
2012-09-24 15:43:28 -04:00
Keegan McAllister 67349eca33 Factor out the test for whether two messages have the same recipient
(imported from commit a8cc4858d1eb7933c437adb0dd4c9a612c40e389)
2012-09-24 15:43:28 -04:00
Jessica McKellar d6a6516687 Have the pointer stay in view as you page up/down.
(imported from commit 72b58f30d82b103542f53ebeff2363407c4997b6)
2012-09-24 14:14:37 -04:00
Keegan McAllister 2a96542e9a Clean up do_narrow calls
(imported from commit 51a694e3dbe7310127580e50fbac0a796f1b09c2)
2012-09-24 13:55:30 -04:00
Keegan McAllister 32f806c032 Save the current view "original message" implicitly in closures
There's no need to pass this around separately and store it in a global
variable.

(imported from commit bb464b1c87fcc9e97aa85a7d139186d4a7169674)
2012-09-24 13:41:22 -04:00
Keegan McAllister 0379d828e1 Don't store into zephyr_dict in get_updates_longpoll
add_message already does this.

(imported from commit 77e6ebf7c02794f6d4e0e9f8a42ecedc44d0402a)
2012-09-24 11:58:37 -04:00
Keegan McAllister 07e1314462 Rename initial_zephyr_array -> zephyr_array
We keep adding stuff to it in get_updates_longpoll.

(imported from commit be33421c9df16191112e5bcc7c4a476080d52859)
2012-09-24 11:58:37 -04:00
Keegan McAllister 2605f29988 Rename get_zephyr -> get_zephyr_row
Now that the primary data store is not these DOM elements.

(imported from commit c8f5b24ea1baf2ed69278fb0e8658a3bf0a85cd0)
2012-09-24 11:41:26 -04:00
Jessica McKellar 703a1cd6d9 Add error handling for subscription AJAX requests.
(imported from commit 9ed019da01aaa85302000ad62441b85786c2c528)
2012-09-24 10:16:22 -04:00
Keegan McAllister 4c45baa045 Refactor hotkey narowing
(imported from commit d1559cbe3505090085229271bdb7bc69060e43b2)
2012-09-21 17:55:16 -04:00
Keegan McAllister a3fcf3417d Move get_{next,prev,first,last}_visible into a sensible order
(imported from commit 80697ba55c1fb9bf52a4fffd2f15471b8892f07c)
2012-09-21 17:55:16 -04:00
Keegan McAllister f3ee3fa6eb Simplify get_{next,prev,first,last}_visible
Now that we have two tables, the adjacent zephyrs will always be visible.

(imported from commit a1ac000bfba32faea109d1b35a84fdd30ccc4891)
2012-09-21 17:54:11 -04:00
Keegan McAllister a53cbc9f36 Move hotkeys into a new file
(imported from commit a589cd4623c4707122d5d5936aa0bc555c38557a)
2012-09-21 17:52:02 -04:00
Waseem Daher f1aa17cf1d Change some URLs associated with subscriptions.
Put all the 'API'-ish URLs in the /json/ namespace so that
/subscriptions and /subscriptions/add, etc. can be real
user-facing URLs if we want them to be.

(imported from commit 1455a32d27e44547ab1874b6289243cb40c85dde)
2012-09-21 17:36:29 -04:00
Keegan McAllister f4483832b2 Force select_zephyr when narrowing even if id has not changed
Fixes a bug where the pointer would vanish.

(imported from commit 0ed950fbc3d5a8673b0bc62556f426cccb5a6459)
2012-09-21 17:33:00 -04:00
Tim Abbott 76c1dfc1ed Make home and end go to first and less messages, respectively.
(imported from commit f85b811f51227cd1ae113c119a430381230d141c)
2012-09-21 17:13:07 -04:00
Waseem Daher 230e725446 Allow spaces in classnames.
(imported from commit 9ef71240ee5e6e0ed9ca0b50d9461b539538b437)
2012-09-21 17:09:46 -04:00
Tim Abbott 919ddfdc31 Send recipient_id values to client and track them there.
(imported from commit 77446f7a226d8a26a287e069d08f28e4beb0b2e3)
2012-09-21 16:57:04 -04:00
Tim Abbott 12013cd7b7 Fix collapsing of huddle messages.
(imported from commit 31391a278f5fe70ab56379bf7cc3fad2d0663007)
2012-09-21 16:44:30 -04:00
Waseem Daher 5a164f19c2 Clean up subscription functions.
Now that 'manage_subscriptions' only removes subscriptions,
let's name it that. Also, since both functions now only
act on one subscription at a time, use them in the singular.

(imported from commit 52cfc7b36eb1533da7aec1bc3a6e460151a56da8)
2012-09-21 16:30:29 -04:00
Waseem Daher a27edbce7d Restyle subscriptions page.
(imported from commit 41339c5af38ae5ea4801fc1e23b7184c277145f3)
2012-09-21 16:04:44 -04:00