Do sorting
It be slow
This commit is contained in:
@@ -9,7 +9,7 @@ class trdom_torrentmanager extends EventTarget {
|
||||
}
|
||||
|
||||
#element = document.createElement('div');
|
||||
getElement() {
|
||||
get element() {
|
||||
return this.#element;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,17 @@ class trdom_torrentmanager extends EventTarget {
|
||||
this.#element.classList.add('trweb_torrentlistview', 'container-fluid');
|
||||
}
|
||||
|
||||
#putToPlace(torrent) {
|
||||
let sortedTorrents = Object.values(this.#torrentDB).sort((a, b) => a.name.localeCompare(b.name));
|
||||
let previous = sortedTorrents.find((val, ind, arr) => val.name.localeCompare(torrent.name) > 0);
|
||||
if (previous == undefined) {
|
||||
this.element.appendChild(torrent.element);
|
||||
}
|
||||
else {
|
||||
this.element.insertBefore(torrent.element, previous.element);
|
||||
}
|
||||
}
|
||||
|
||||
handleEvent(e) {
|
||||
this.#log(6, `Handling event of type ${e.type}`);
|
||||
switch (e.type) {
|
||||
@@ -32,7 +43,9 @@ class trdom_torrentmanager extends EventTarget {
|
||||
if (this.#torrentDB[initHash] == null) {
|
||||
let torrentCreated = new trtorrent(initHash);
|
||||
this.#torrentDB[initHash] = torrentCreated;
|
||||
this.#element.appendChild(torrentCreated.element);
|
||||
torrentCreated.addEventListener('torrent-renamed', this);
|
||||
this.#putToPlace(torrentCreated);
|
||||
//this.#element.appendChild(torrentCreated.element);
|
||||
for (const [srv, control] of Object.entries(e.detail.torrentControls)) {
|
||||
torrentCreated.addControl(srv, control)
|
||||
}
|
||||
@@ -42,6 +55,9 @@ class trdom_torrentmanager extends EventTarget {
|
||||
window.alert('We be ded, check console');
|
||||
}
|
||||
break;
|
||||
case 'torrent-renamed':
|
||||
this.#putToPlace(e.target);
|
||||
break;
|
||||
case 'torrentserver-added':
|
||||
let addedServer = e.detail.serverObject;
|
||||
for (const [hash, torrent] of Object.entries(this.#torrentDB)) {
|
||||
|
||||
Reference in New Issue
Block a user