mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
Like the last commit, this is clearly a better home for this state, since all reads to the data object are in navigate.js already.
26 lines
938 B
JavaScript
26 lines
938 B
JavaScript
// 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;
|