Steve Howell
53eea250d0
topic lists: Formalize that we only ever have one widget.
...
We now only keep zero or one widgets around in memory, and
we don't need jQuery magic any more to find the DOM elements
to remove.
2016-11-10 15:55:31 -08:00
Steve Howell
06816d19e6
topic lists: Call narrow.topic() in topic_list.js.
...
We no longer need stream_list.js to pass in the currently
active topic to us; we just call narrow.topic() for it.
2016-11-10 15:55:31 -08:00
Steve Howell
06fe4bc943
Rename subject_box to pm-box/topic-box.
...
I'm not crazy about the names pm-box and topic-box, but they
are less confusing now.
2016-11-05 15:03:29 -07:00
Steve Howell
8b7e9101ca
topic lists: Rename expanded_subjects -> topic-list.
2016-11-05 15:03:29 -07:00
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
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
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
f98e605840
Extract topic_list.set_click_handlers().
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