Steve Howell
a0dadfd40a
Widgetize topic_list.set_count().
...
This change makes most of the logic on set_count() live
on our per-stream topic list widget. We can find the
jQuery object directly now rather than using the
complicated iterate_to_find() method.
2016-11-01 19:30:41 -07:00
Steve Howell
b7b6fedf12
Widgetize activate_topic() in topic_list.js.
...
The activate_topic() function now lives on the object created
by build_widget().
2016-11-01 19:30:41 -07:00
Steve Howell
8c9488a904
Add topic_list.build_widget().
...
This gets us closer to a component model for topic lists.
2016-11-01 19:30:41 -07:00
Steve Howell
eacaa37754
Make update_count_in_dom() be private in topic_list.js.
...
I also moved the function in the file to be nearer to other
non-stream specific functions.
2016-11-01 19:30:41 -07:00
Steve Howell
aca6ba182e
Render topic list items individually.
...
This is a precursor to being able to find topic list
items without the complexity of iterate_to_find().
2016-11-01 19:30:41 -07:00
Steve Howell
148e1e6add
subs: Avoid duplicate prepend_subscriber() call.
...
We don't want to prepend new subscribers to our list of
subscribers in the settings page when they hit enter; we
want to wait till we get the event from the server.
This is a fairly new regression that was added when we
live-updated peer subscriber changes.
2016-11-01 14:01:29 -07:00
Steve Howell
a126be3db6
Call add_in_realm() when loading people from page_params.
2016-11-01 13:55:48 -07:00
Steve Howell
d70ac2fc0d
Remove obsolete code for page_params.people_list.
...
The only module that uses people_list now is people.js, and that's
only during the page load process.
2016-11-01 13:55:48 -07:00
Steve Howell
758c040558
Make stream-invite typeahead more dynamic and accurate.
...
The typeahead for inviting users to an existing stream now
uses a function, not a static list, and it now only shows
users from your realm.
2016-11-01 13:55:48 -07:00
Steve Howell
aadc198510
Make PM typeaheads more dynamic.
...
We now set source as a function, not a static list, and we grab
persons from people.get_all_persons() instead of page_params.
2016-11-01 13:55:48 -07:00
Steve Howell
40ec0189e4
Use people.get_all_persons() in at-mention typeaheads.
...
This is more robust than using page_params.people_list.
2016-11-01 13:55:48 -07:00
Steve Howell
06d7012113
Use people.get_all_persons() for search_suggestion.js.
...
This is better than using page_params.people_list, which may
go out of sync when live updates happen.
2016-11-01 13:55:48 -07:00
Steve Howell
2d945d7296
Add people.get_realm_persons().
2016-11-01 13:55:48 -07:00
Steve Howell
aa07b32d58
Add people.get_all_persons().
2016-11-01 13:55:48 -07:00
Tim Abbott
1bc9be7aed
subs: Fix stream privacy changes not working after renaming.
...
This fixes and issue where the change_stream_privacy template had its
own duplicate copy of the data-stream-name attribute, which wasn't
updated when streams were renamed.
Fixes #2016 .
2016-10-28 16:42:32 -07:00
Tim Abbott
6927a9bdc4
subs: Update subscription settings data when renaming streams.
2016-10-28 16:41:54 -07:00
Tim Abbott
0185764be7
subs: Fetch stream name from data-stream-name.
2016-10-28 16:12:50 -07:00
Tim Abbott
9507ed8a05
subs: Move show_settings_for earlier in file.
2016-10-28 16:10:59 -07:00
Tim Abbott
c10fd243f1
subs: Rename subscriber_count class to subscriber-count.
...
Also remove the unused subscriber-count-row class.
2016-10-28 16:07:28 -07:00
Tim Abbott
c0a774ef8c
subs: Remove use of $-based variable names.
2016-10-28 16:07:02 -07:00
Tim Abbott
b8304c3359
subs: Find elements using the new data-stream-id value.
...
This is preparation for no longer having the subscription inside the
subscription_row object.
2016-10-28 16:06:40 -07:00
Tim Abbott
3727ea6fb0
subs: rename .subscription_description to .description.
2016-10-28 14:47:23 -07:00
Tim Abbott
dd2fab9374
subs: Rename data-subscription-id to data-stream-id.
2016-10-28 14:47:23 -07:00
Tim Abbott
66e2632809
subs: Rename .subscription_name to .stream-name.
2016-10-28 14:47:22 -07:00
Tim Abbott
f18d53d46a
subs: Rename .subscription_row to .stream_row.
...
The new name is clearer, since we show these rows for streams whether
or not you're subscribed.
2016-10-28 14:25:00 -07:00
Steve Howell
eb64b32bc8
Fix "subjects" in JS comments. Say "topics" instead.
2016-10-28 13:52:25 -07:00
Steve Howell
5fd71a6381
Rename var in sidebar_subject_list.handlebars.
...
s/subjects/topics/
2016-10-28 13:52:25 -07:00
Steve Howell
dba3ed3d90
Rename variables in topic_list.build_list().
...
(s/subjects/topics/ in a couple places)
2016-10-28 13:52:25 -07:00
Steve Howell
78861d4e01
Rename recent_subjects to recent_topics.
2016-10-28 13:52:25 -07:00
Steve Howell
0a4579711d
Add stream_data.get_recent_topics().
...
This removes the last remaining references to
stream_data.recent_subjects() outside of stream_data.js.
2016-10-28 13:52:25 -07:00
Steve Howell
6a54dfc127
Remove recent_subjects from node tests.
...
We now use stream_data.populate_stream_topics_for_tests(),
which hides some of the implementation details of initializing
the data structure.
2016-10-28 13:52:25 -07:00
Steve Howell
8acdf718bc
Move process_message_for_recent_topics() to stream_data.js.
2016-10-28 13:52:25 -07:00
Steve Howell
c799ac3126
Extract stream_data.is_active().
2016-10-28 13:51:21 -07:00
Steve Howell
ecbd77d8a5
Flip conditional in stream_list.add_sidebar_li().
2016-10-28 13:51:21 -07:00
Steve Howell
15602ee6bb
Stop using /json/streams on the client.
...
We no longer need to fetch streams from the server when
we render the settings page.
The name populate_and_fill() may not be a great name any
more.
2016-10-28 13:44:46 -07:00
Steve Howell
10bc093375
Stop using server data to draw "Manage Streams".
...
We have all the data we need on the client side.
2016-10-28 13:44:46 -07:00
Steve Howell
9d4debd1eb
Live-update added/removed subscribers.
2016-10-28 13:43:09 -07:00
Tim Abbott
01f0be27a7
subs: Combine another set of settings show handlers.
2016-10-27 22:24:40 -07:00
Tim Abbott
426f2b0405
subs: combine some settings show handlers.
2016-10-27 22:22:28 -07:00
Tim Abbott
3fd94cc58a
subs: s/subrow/sub_row/ in variable names.
2016-10-27 22:19:30 -07:00
Tim Abbott
12331e2596
subs: Extract show_subscription_settings.
2016-10-27 22:06:56 -07:00
Tim Abbott
30c654f83f
templates: Fix stack traces throwing handlebars errors.
...
This fixes the fact that we weren't using `throw` correctly, and also
the "handlerbars" typo.
Fixes #2143 .
2016-10-27 22:06:56 -07:00
Steve Howell
f98e605840
Extract topic_list.set_click_handlers().
2016-10-27 15:49:25 -07:00
Steve Howell
8ebf48793c
minor: Remove copy/pasted comment.
2016-10-27 15:49:25 -07:00
Steve Howell
9de7551f4f
Extract topic_list.rebuild().
...
This was pulled from rebuild_recent_topics(), which still
exists to wrap passing in the stream_li parameter.
2016-10-27 15:49:25 -07:00
Steve Howell
f7e6cfc892
Extract topic_list.build_list().
...
This used to be stream_list._build_subject_list(). The code
didn't change except for one s/subject/topic fix.
2016-10-27 15:49:25 -07:00
Steve Howell
8783a0e51d
Move remove_expanded_topics() to topic_list.js.
2016-10-27 15:49:25 -07:00
Steve Howell
9b6b743a1a
Move get_topic_filter_li to topic_list.js.
...
This also brought along:
iterate_to_find (copied, see large comment explaining why)
activate_topic (extracted from a one-liner)
set_count (formerly stream_list.set_subject_count)
For get_topic_filter_li, we now pass in stream_li instead of
stream to decouple parent/child responsibilities between the
components.
Also, I made some s/subject/topic/ fixes.
2016-10-27 15:49:25 -07:00
Steve Howell
4f38cfdc7f
Extract topic_list.update_count_in_dom().
...
This creates the new topic_list.js module, and the first
function that we extract is topic_list.update_count_in_dom().
This function needed to be decoupled from some non-topic-list
stuff which was overly complicated.
2016-10-27 15:49:25 -07:00
Steve Howell
65a2f012d4
Simplify pin/unpin code path.
...
I make server_events slimmer by not handling a specific
property when subs.update_subscription_properties() should
do all the dispatching (and mostly did).
And then since update_subscription_properties() has
a "sub" already, I can call directly to stream_list code
and remove a function from subs.js. Since I lose the
wrapper function in subs.js, I rename the stream_list
function as part of this commit.
The only code that gets slightly heavier here is that
we have two lines in the 'pin_to_top' case instead of one.
2016-10-25 23:29:15 -07:00