2019-11-02 00:06:25 +01:00
|
|
|
const FetchStatus = function () {
|
2018-03-09 22:04:07 +01:00
|
|
|
|
2019-11-02 00:06:25 +01:00
|
|
|
const self = {};
|
2018-03-09 22:04:07 +01:00
|
|
|
|
2019-11-02 00:06:25 +01:00
|
|
|
let loading_older = false;
|
|
|
|
let loading_newer = false;
|
|
|
|
let found_oldest = false;
|
|
|
|
let found_newest = false;
|
|
|
|
let history_limited = false;
|
2018-03-09 22:04:07 +01:00
|
|
|
|
|
|
|
self.start_older_batch = function () {
|
|
|
|
loading_older = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
self.finish_older_batch = function (opts) {
|
|
|
|
loading_older = false;
|
|
|
|
found_oldest = opts.found_oldest;
|
2018-12-13 00:53:35 +01:00
|
|
|
history_limited = opts.history_limited;
|
2018-03-09 22:04:07 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
self.can_load_older_messages = function () {
|
|
|
|
return !loading_older && !found_oldest;
|
|
|
|
};
|
|
|
|
|
2020-06-13 12:26:36 +02:00
|
|
|
self.has_found_oldest = function () {
|
|
|
|
return found_oldest;
|
|
|
|
};
|
|
|
|
|
2018-12-13 00:53:35 +01:00
|
|
|
self.history_limited = function () {
|
|
|
|
return history_limited;
|
|
|
|
};
|
|
|
|
|
2018-03-09 22:04:07 +01:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2018-05-03 19:44:11 +02:00
|
|
|
self.has_found_newest = function () {
|
|
|
|
return found_newest;
|
|
|
|
};
|
|
|
|
|
2018-03-09 22:04:07 +01:00
|
|
|
return self;
|
|
|
|
|
|
|
|
};
|
2019-10-25 09:45:13 +02:00
|
|
|
module.exports = FetchStatus;
|
2018-05-28 08:04:36 +02:00
|
|
|
window.FetchStatus = FetchStatus;
|