Huge rewrite
Auto-refresh and sort are disabled for now
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user