Huge rewrite

Auto-refresh and sort are disabled for now
This commit is contained in:
2025-10-09 15:42:31 +02:00
parent b2f155c0b4
commit cabc0fbaf1
7 changed files with 350 additions and 168 deletions

View File

@@ -1,21 +1,30 @@
"use strict";
class trtorrent {
class trtorrent extends EventTarget {
#element = document.createElement('div');
getElement() {
get element() {
return this.#element;
}
#hash;
#name = '## NAME NOT SET ##';
#name;
get name() {
return this.#name == null ? this.#hash : this.#name;
}
set name(value) {
this.#name = value;
nukeChildren(this.element.element_name);
this.element.element_name.appendChild(document.createTextNode(this.name));
}
#element_server = {};
#serverControls = {};
addControl(srv, control) {
this.#element_server[srv] = control;
this.#element.appendChild(control.getElement());
this.#serverControls[srv] = control;
this.#element.appendChild(control.element);
control.addEventListener('torrent-updated', this);
}
getControl(srv) {
return this.#element_server[srv];
return this.#serverControls[srv];
}
#servers = {};
@@ -38,10 +47,16 @@ class trtorrent {
}
}
break;
case 'torrent-updated':
if (this.#name == null) {
this.name = e.detail.torrentInfo.name;
}
break;
}
}
constructor(hash) {
super();
this.#hash = hash;
// set up DOM structure