mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 06:53:25 +00:00
pointer: Merge pointer.js into message_scroll.js.
Ths remaining code here is naturally message scrolling logic, and fits well into the existing file for handling that.
This commit is contained in:
@@ -107,7 +107,6 @@ zrequire('search_suggestion');
|
|||||||
zrequire('search');
|
zrequire('search');
|
||||||
zrequire('tutorial');
|
zrequire('tutorial');
|
||||||
zrequire('notifications');
|
zrequire('notifications');
|
||||||
zrequire('pointer');
|
|
||||||
zrequire('pm_conversations');
|
zrequire('pm_conversations');
|
||||||
zrequire('pm_list');
|
zrequire('pm_list');
|
||||||
zrequire('list_cursor');
|
zrequire('list_cursor');
|
||||||
|
|||||||
@@ -110,7 +110,6 @@ import "../info_overlay.js";
|
|||||||
import "../ui.js";
|
import "../ui.js";
|
||||||
import "../night_mode.js";
|
import "../night_mode.js";
|
||||||
import "../ui_util.js";
|
import "../ui_util.js";
|
||||||
import "../pointer.js";
|
|
||||||
import "../click_handlers.js";
|
import "../click_handlers.js";
|
||||||
import "../settings_panel_menu.js";
|
import "../settings_panel_menu.js";
|
||||||
import "../settings_toggle.js";
|
import "../settings_toggle.js";
|
||||||
|
|||||||
@@ -158,6 +158,26 @@ exports.initialize = function () {
|
|||||||
unread_ops.process_visible();
|
unread_ops.process_visible();
|
||||||
scroll_finish();
|
scroll_finish();
|
||||||
}, 50));
|
}, 50));
|
||||||
|
|
||||||
|
// Scroll handler that marks messages as read when you scroll past them.
|
||||||
|
$(document).on('message_selected.zulip', function (event) {
|
||||||
|
if (event.id === -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.mark_read && event.previously_selected !== -1) {
|
||||||
|
// Mark messages between old pointer and new pointer as read
|
||||||
|
let messages;
|
||||||
|
if (event.id < event.previously_selected) {
|
||||||
|
messages = event.msg_list.message_range(event.id, event.previously_selected);
|
||||||
|
} else {
|
||||||
|
messages = event.msg_list.message_range(event.previously_selected, event.id);
|
||||||
|
}
|
||||||
|
if (event.msg_list.can_mark_messages_read()) {
|
||||||
|
unread_ops.notify_server_messages_read(messages, {from: 'pointer'});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
// See https://zulip.readthedocs.io/en/latest/subsystems/pointer.html for notes on
|
|
||||||
// how this system is designed.
|
|
||||||
|
|
||||||
exports.initialize = function initialize() {
|
|
||||||
$(document).on('message_selected.zulip', function (event) {
|
|
||||||
if (event.id === -1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.mark_read && event.previously_selected !== -1) {
|
|
||||||
// Mark messages between old pointer and new pointer as read
|
|
||||||
let messages;
|
|
||||||
if (event.id < event.previously_selected) {
|
|
||||||
messages = event.msg_list.message_range(event.id, event.previously_selected);
|
|
||||||
} else {
|
|
||||||
messages = event.msg_list.message_range(event.previously_selected, event.id);
|
|
||||||
}
|
|
||||||
if (event.msg_list.can_mark_messages_read()) {
|
|
||||||
unread_ops.notify_server_messages_read(messages, {from: 'pointer'});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
window.pointer = exports;
|
|
||||||
@@ -471,7 +471,6 @@ exports.initialize_everything = function () {
|
|||||||
settings_sections.initialize();
|
settings_sections.initialize();
|
||||||
settings_toggle.initialize();
|
settings_toggle.initialize();
|
||||||
hashchange.initialize();
|
hashchange.initialize();
|
||||||
pointer.initialize();
|
|
||||||
unread_ui.initialize();
|
unread_ui.initialize();
|
||||||
presence.initialize(presence_params);
|
presence.initialize(presence_params);
|
||||||
activity.initialize();
|
activity.initialize();
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ EXEMPT_FILES = {
|
|||||||
'static/js/page_params.js',
|
'static/js/page_params.js',
|
||||||
'static/js/panels.js',
|
'static/js/panels.js',
|
||||||
'static/js/pm_list_dom.js',
|
'static/js/pm_list_dom.js',
|
||||||
'static/js/pointer.js',
|
|
||||||
'static/js/poll_widget.js',
|
'static/js/poll_widget.js',
|
||||||
'static/js/popovers.js',
|
'static/js/popovers.js',
|
||||||
'static/js/ready.js',
|
'static/js/ready.js',
|
||||||
|
|||||||
Reference in New Issue
Block a user