Files
zulip/static/js/fetch_status.js
Steve Howell bcdd12773e Ignore new messages when lists are behind.
If individual messages arrive before we get the latest
messages from the server, they can create gaps in rendering,
and would often be offscreen anyway, so we just ignore them.
2018-03-28 09:12:25 -07:00

58 lines
1.3 KiB
JavaScript

var FetchStatus = function () {
var self = {};
var loading_older = false;
var loading_newer = false;
var found_oldest = false;
var found_newest = false;
self.start_initial_narrow = function () {
loading_newer = true;
loading_older = true;
};
self.finish_initial_narrow = function (opts) {
loading_newer = false;
loading_older = false;
found_oldest = opts.found_oldest;
found_newest = opts.found_newest;
};
self.start_older_batch = function () {
loading_older = true;
};
self.finish_older_batch = function (opts) {
loading_older = false;
found_oldest = opts.found_oldest;
};
self.can_load_older_messages = function () {
return !loading_older && !found_oldest;
};
self.start_newer_batch = function () {
loading_newer = true;
};
self.finish_newer_batch = function (opts) {
loading_newer = false;
found_newest = opts.found_newest;
};
self.can_load_newer_messages = function () {
return !loading_newer && !found_newest;
};
self.can_append = function () {
return found_newest;
};
return self;
};
if (typeof module !== 'undefined') {
module.exports = FetchStatus;
}