mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
refactor: Extract stream_popover_sub().
Part of this change moved a click handler from subs.js to popover.js.
This commit is contained in:
@@ -36,6 +36,18 @@ var list_of_popovers = [];
|
|||||||
}
|
}
|
||||||
}($.fn.popover));
|
}($.fn.popover));
|
||||||
|
|
||||||
|
|
||||||
|
function stream_popover_sub(e) {
|
||||||
|
// TODO: use data-stream-id in stream list
|
||||||
|
var stream_name = $(e.currentTarget).parents('ul').attr('data-name');
|
||||||
|
var sub = stream_data.get_sub(stream_name);
|
||||||
|
if (!sub) {
|
||||||
|
blueslip.error('Unknown stream: ' + stream_name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return sub;
|
||||||
|
}
|
||||||
|
|
||||||
function show_message_info_popover(element, id) {
|
function show_message_info_popover(element, id) {
|
||||||
var last_popover_elem = current_message_info_popover_elem;
|
var last_popover_elem = current_message_info_popover_elem;
|
||||||
popovers.hide_all();
|
popovers.hide_all();
|
||||||
@@ -861,54 +873,64 @@ exports.register_click_handlers = function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.toggle_home', function (e) {
|
$('body').on('click', '.toggle_home', function (e) {
|
||||||
var stream_name = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
var sub = stream_data.get_sub(stream_name);
|
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
subs.toggle_home(sub);
|
subs.toggle_home(sub);
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.narrow_to_stream', function (e) {
|
$('body').on('click', '.narrow_to_stream', function (e) {
|
||||||
var stream = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
narrow.by('stream', stream, {select_first_unread: true, trigger: 'sidebar popover'});
|
narrow.by('stream', sub.name,
|
||||||
|
{select_first_unread: true, trigger: 'sidebar popover'}
|
||||||
|
);
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.compose_to_stream', function (e) {
|
$('body').on('click', '.compose_to_stream', function (e) {
|
||||||
var stream = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
compose.start('stream', {stream: stream, trigger: 'sidebar stream actions'});
|
compose.start('stream', {stream: sub.name, trigger: 'sidebar stream actions'});
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.mark_stream_as_read', function (e) {
|
$('body').on('click', '.mark_stream_as_read', function (e) {
|
||||||
var stream = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
unread_ui.mark_stream_as_read(stream);
|
unread_ui.mark_stream_as_read(sub.name);
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.pin_to_top', function (e) {
|
$('body').on('click', '.pin_to_top', function (e) {
|
||||||
var stream_name = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
var sub = stream_data.get_sub(stream_name);
|
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
subs.toggle_pin_to_top_stream(sub);
|
subs.toggle_pin_to_top_stream(sub);
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('body').on('click', '.open_stream_settings', function (e) {
|
$('body').on('click', '.open_stream_settings', function (e) {
|
||||||
var stream = $(e.currentTarget).parents('ul').attr('data-name');
|
var sub = stream_popover_sub(e);
|
||||||
popovers.hide_stream_sidebar_popover();
|
popovers.hide_stream_sidebar_popover();
|
||||||
|
|
||||||
window.location.hash = "#subscriptions";
|
window.location.hash = "#subscriptions";
|
||||||
// the template for subs needs to render.
|
// the template for subs needs to render.
|
||||||
|
|
||||||
subs.onlaunch("narrow_to_row", function () {
|
subs.onlaunch("narrow_to_row", function () {
|
||||||
$(".stream-row[data-stream-name='" + stream + "']").click();
|
$(".stream-row[data-stream-name='" + sub.name + "']").click();
|
||||||
}, true);
|
}, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("body").on("click", ".popover_sub_unsub_button", function (e) {
|
||||||
|
$(this).toggleClass("unsub");
|
||||||
|
$(this).closest(".popover").fadeOut(500).delay(500).remove();
|
||||||
|
|
||||||
|
var sub = stream_popover_sub(e);
|
||||||
|
subs.sub_or_unsub(sub);
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
});
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
var last_scroll = 0;
|
var last_scroll = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -1292,17 +1292,6 @@ $(function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("body").on("click", ".popover_sub_unsub_button", function (e) {
|
|
||||||
$(this).toggleClass("unsub");
|
|
||||||
$(this).closest(".popover").fadeOut(500).delay(500).remove();
|
|
||||||
|
|
||||||
var stream_name = $(e.target).data("name");
|
|
||||||
var sub = stream_data.get_sub(stream_name);
|
|
||||||
exports.sub_or_unsub(sub);
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopPropagation();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#zfilt").on("click", ".stream_sub_unsub_button", function (e) {
|
$("#zfilt").on("click", ".stream_sub_unsub_button", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|||||||
Reference in New Issue
Block a user