Use EventTarget
Getting torrent info from servers now uses Events instead of magic callbacks.
This commit is contained in:
14
js/trweb.js
14
js/trweb.js
@@ -34,7 +34,9 @@ class trweb {
|
||||
this.#logger = logger;
|
||||
}
|
||||
|
||||
this.#dom_servermanager = new trdom_servermanager(this.#loadcb, this.#savecb, this.#logcb, this.#registerServer)
|
||||
this.#dom_servermanager = new trdom_servermanager(this.#loadcb, this.#savecb, this.#logcb, this.#registerServer);
|
||||
|
||||
this.#dom_servermanager.addEventListener('torrent-update', this);
|
||||
|
||||
this.#guiFooter = document.createElement('div');
|
||||
this.#guiFooter.classList.add('trweb_footer');
|
||||
@@ -182,6 +184,16 @@ class trweb {
|
||||
this.#dom_servermanager.saveServers();
|
||||
this.setTimer();
|
||||
break;
|
||||
case 'torrent-update':
|
||||
let mergedTorrentInfo = this.#knownTorrents[e.detail.torrentHash];
|
||||
if (mergedTorrentInfo == null) {
|
||||
mergedTorrentInfo = this.#createTorrentEntry(e.detail.torrentHash);
|
||||
}
|
||||
mergedTorrentInfo.setStatus(e.detail.serverName, e.detail.torrentInfo);
|
||||
mergedTorrentInfo.name = e.detail.torrentInfo.name;
|
||||
|
||||
this.#updateTorrentDisplay(mergedTorrentInfo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user