Compare commits
4 Commits
5a1cd5634a
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
91df15309a
|
|||
|
b3636f2710
|
|||
|
6e410f04a1
|
|||
|
b74a4d8462
|
@@ -53,8 +53,12 @@ class trdom_servermanager extends EventTarget {
|
||||
server.refreshTorrentList();
|
||||
}
|
||||
|
||||
addServer(name, url, user, pass) {
|
||||
this.#registerServer(name, {'rpcurl': url, 'auth': `Basic ${btoa(`${user}:${pass}`)}`});
|
||||
addServer(name, url, user = null, pass = '') {
|
||||
let initdata = {rpcurl: url};
|
||||
if (user != null) {
|
||||
initdata.auth = `Basic ${btoa(`${user}:${pass}`)}`
|
||||
}
|
||||
this.#registerServer(name, initdata);
|
||||
this.#saveServers();
|
||||
}
|
||||
|
||||
@@ -136,7 +140,43 @@ class trdom_servermanager extends EventTarget {
|
||||
switch (e.currentTarget.getAttributeNS('trweb', 'servermanagerbutton')) {
|
||||
case 'add':
|
||||
e.stopPropagation();
|
||||
window.alert('Server add form isn\'t implemented');
|
||||
let addName = window.prompt('Enter name for the new server');
|
||||
if (addName != null) {
|
||||
if (addName == '') {
|
||||
window.alert('No name was provided, aborting');
|
||||
}
|
||||
else {
|
||||
if (this.#servers[addName] != null) {
|
||||
window.alert('Server with the provided name already exists, aborting');
|
||||
}
|
||||
else {
|
||||
let addUrl = window.prompt('Enter server URL', 'http://localhost:9091/transmission/rpc');
|
||||
if (addUrl != null) {
|
||||
if (addUrl == '') {
|
||||
window.alert('No URL provided, aborting');
|
||||
}
|
||||
else {
|
||||
let addUser;
|
||||
let addPass;
|
||||
addUser = window.prompt('Enter username, leave empty of not required');
|
||||
if (addUser == null) {
|
||||
return;
|
||||
}
|
||||
if (addUser == '') {
|
||||
addUser = null;
|
||||
}
|
||||
else {
|
||||
addPass = window.prompt(`Enter password for user ${addUser}`);
|
||||
if (addPass == null) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.addServer(addName, addUrl, addUser, addPass);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'block':
|
||||
e.stopPropagation();
|
||||
|
||||
@@ -37,7 +37,7 @@ class trserver extends EventTarget {
|
||||
removeServerListButton(name) {
|
||||
if (this.#elements.serverlist.buttons[name] != null) {
|
||||
this.#elements.serverlist.row.removeChild(this.#elements.serverlist.buttons[name]);
|
||||
this.#elements.serverlist.buttons[name] = null;
|
||||
delete this.#elements.serverlist.buttons[name];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
14
js/trweb.js
14
js/trweb.js
@@ -113,17 +113,9 @@ class trweb {
|
||||
this.#dom_servermanager.addServer(name, url, user, pass);
|
||||
}
|
||||
|
||||
/*removeServer(name) {
|
||||
delete this.#dom_servermanager.getServers()[name];
|
||||
|
||||
for (const [hash, entry] of Object.entries(this.#knownTorrents)) {
|
||||
entry.element.removeChild(entry.element_server[name]);
|
||||
delete entry.servers[name];
|
||||
delete entry.element_server[name]
|
||||
}
|
||||
|
||||
this.#dom_servermanager.saveServers();
|
||||
}*/
|
||||
removeServer(name) {
|
||||
this.#dom_servermanager.removeServer(name);
|
||||
}
|
||||
}
|
||||
|
||||
var trinstance = new trweb('trcontainer', null, null, function(msg) {console.info(`TRWEB: ${msg}`)});
|
||||
|
||||
Reference in New Issue
Block a user