Files
zulip/static/js/pointer.js
Tim Abbott 5321e8792d pointer: Move planned scroll logic to navigate.js.
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.
2020-06-18 12:55:59 -07:00

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;