latestThreads property
List<ModeratorEntry>
get
latestThreads
Implementation
List<ModeratorEntry> get latestThreads {
//find stuff with updated stuff possibly
Map<int, List<int>> _sorta = {};
List<int> tim = [];
final rrp = _posts.toList().reversed;
for (var i in rrp) {
if (_data[i] == null) continue;
ModeratorEntry? p = _data[i];
if (_children[i] == null) {
if (_sorta[p!.perceivedTimestamp] == null) {
_sorta[p!.perceivedTimestamp] = [];
}
_sorta[p.perceivedTimestamp]!.add(i);
continue;
}
var ct = p!.perceivedTimestamp;
var cti = i;
for (var ii in _children[i]!) {
if (_data[ii] == null) continue;
ModeratorEntry? cp = _data[ii];
if (cp!.perceivedTimestamp > ct) {
ct = cp.perceivedTimestamp;
//cti = ii; keep ref to orig thread root
}
}
//cti is the index to latest on that thread now
if (_sorta[ct] == null) _sorta[ct] = [];
_sorta[ct]!.add(cti);
}
//sort by keys
var tl = _sorta.keys.toList();
tl.sort();
List<ModeratorEntry> _ll = [];
for (var i in tl.reversed) {
for (var ii in _sorta[i]!) {
_ll.add(_data[ii]!);
}
}
return _ll;
}