From 89a8e07217d24d1c51f674c8e68c052560c8d896 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 31 Mar 2021 01:23:05 +0800 Subject: [PATCH] Revise folder monitoring functions in WebUI Closes #14241. --- src/webui/www/private/views/preferences.html | 77 ++++++-------------- 1 file changed, 24 insertions(+), 53 deletions(-) diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index d2b28f90f..77e9f6b1b 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -127,22 +127,6 @@ - - - - -
- - - Add -
- - - @@ -1290,30 +1274,10 @@ $('temppath_text').setProperty('disabled', !isTempDirEnabled); }; - const addWatchFolder = function() { - const new_folder = $('new_watch_folder_txt').getProperty('value').trim(); - if (new_folder.length <= 0) return; - - const new_other = $('new_watch_folder_other_txt').getProperty('value').trim(); - if (new_other.length <= 0) return; - - const new_select = $('new_watch_folder_select').getProperty('value').trim(); - - const i = $('watched_folders_tab').getChildren('tbody')[0].getChildren('tr').length; - pushWatchFolder(i, new_folder, new_select, new_other); - - // Clear fields - $('new_watch_folder_txt').setProperty('value', ''); - const elt = $('new_watch_folder_select'); - elt.setProperty('value', 'watch_folder'); - const text = elt.options[elt.selectedIndex].innerHTML; - $('new_watch_folder_other_txt').setProperty('value', text); - }; - - const changeWatchFolderSelect = function(item) { - if (item.value == "other") { + const changeWatchFolderSelect = (item) => { + if (item.value === "other") { item.nextElementSibling.hidden = false; - item.nextElementSibling.value = 'QBT_TR(Type folder here)QBT_TR[CONTEXT=HttpServer]'; + item.nextElementSibling.value = 'QBT_TR(Type folder here)QBT_TR[CONTEXT=ScanFoldersModel]'; item.nextElementSibling.select(); } else { @@ -1323,16 +1287,19 @@ } }; - const pushWatchFolder = function(pos, folder, sel, other) { + const addWatchFolder = (folder = "", sel = "default_folder", other = "") => { + const pos = $('watched_folders_tab').getChildren('tbody')[0].getChildren('tr').length; const myinput = ""; - const disableInput = (sel != "other"); + const disableInput = (sel !== "other"); const mycb = "
" + "" - + "
"; + + "" + + "Add" + + ""; watchedFoldersTable.push([myinput, mycb]); $('cb_watch_' + pos).setProperty('value', sel); @@ -1341,9 +1308,13 @@ other = elt.options[elt.selectedIndex].innerHTML; } $('cb_watch_txt_' + pos).setProperty('value', other); + + // hide previous img + if (pos > 0) + $('addFolderImg_' + (pos - 1)).style.display = "none"; }; - const getWatchedFolders = function() { + const getWatchedFolders = () => { const nb_folders = $("watched_folders_tab").getChildren("tbody")[0].getChildren("tr").length; const folders = new Hash(); for (let i = 0; i < nb_folders; ++i) { @@ -1352,7 +1323,7 @@ const sel = $('cb_watch_' + i).getProperty('value').trim(); let other; - if (sel == "other") + if (sel === "other") other = $('cb_watch_txt_' + i).getProperty('value').trim(); else other = (sel === "watch_folder") ? 0 : 1; @@ -1663,19 +1634,19 @@ updateExportDirFinEnabled(); // Automatically add torrents from - let i = 0; - for (const folder in pref.scan_dirs) { - let sel; + for (const [folder, folderType] of Object.entries(pref.scan_dirs)) { + let sel = ""; let other = ""; - if (typeof pref.scan_dirs[folder] == "string") { - other = pref.scan_dirs[folder]; - sel = "other"; + if (typeof folderType === "number") { + sel = (folderType === 0) ? "watch_folder" : "default_folder"; } else { - sel = (pref.scan_dirs[folder] == 0) ? "watch_folder" : "default_folder"; + sel = "other"; + other = folderType; } - pushWatchFolder(i++, folder, sel, other); + addWatchFolder(folder, sel, other); } + addWatchFolder(); // Email notification upon download completion $('mail_notification_checkbox').setProperty('checked', pref.mail_notification_enabled);