Browse Source

Merge pull request #9959 from Chocobo1/strict

Use Javascript strict mode
adaptive-webui-19844
Mike Tzou 6 years ago committed by GitHub
parent
commit
25cefee0f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/webui/www/private/addtrackers.html
  2. 2
      src/webui/www/private/confirmdeletion.html
  3. 2
      src/webui/www/private/download.html
  4. 4
      src/webui/www/private/downloadlimit.html
  5. 2
      src/webui/www/private/filters.html
  6. 7
      src/webui/www/private/installsearchplugin.html
  7. 2
      src/webui/www/private/newcategory.html
  8. 2
      src/webui/www/private/preferences.html
  9. 74
      src/webui/www/private/preferences_content.html
  10. 2
      src/webui/www/private/properties_content.html
  11. 2
      src/webui/www/private/rename.html
  12. 36
      src/webui/www/private/scripts/client.js
  13. 4
      src/webui/www/private/scripts/contextmenu.js
  14. 10
      src/webui/www/private/scripts/download.js
  15. 276
      src/webui/www/private/scripts/dynamicTable.js
  16. 2
      src/webui/www/private/scripts/misc.js
  17. 41
      src/webui/www/private/scripts/mocha-init.js
  18. 2
      src/webui/www/private/scripts/progressbar.js
  19. 4
      src/webui/www/private/scripts/prop-files.js
  20. 2
      src/webui/www/private/scripts/prop-general.js
  21. 4
      src/webui/www/private/scripts/prop-trackers.js
  22. 4
      src/webui/www/private/scripts/prop-webseeds.js
  23. 5
      src/webui/www/private/search.html
  24. 3
      src/webui/www/private/searchplugins.html
  25. 2
      src/webui/www/private/setlocation.html
  26. 2
      src/webui/www/private/shareratio.html
  27. 4
      src/webui/www/private/transferlist.html
  28. 2
      src/webui/www/private/upload.html
  29. 4
      src/webui/www/private/uploadlimit.html
  30. 2
      src/webui/www/public/login.html

2
src/webui/www/private/addtrackers.html

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
<script src="scripts/lib/mootools-1.2-core-yc.js"></script>
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script>
'use strict';
window.addEvent('domready', function() {
var setLocationKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',

2
src/webui/www/private/confirmdeletion.html

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
<script src="scripts/lib/mootools-1.2-core-yc.js"></script>
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script>
'use strict';
var hashes = new URI().getData('hashes').split('|');
window.addEvent('domready', function() {
$('cancelBtn').focus();

2
src/webui/www/private/download.html

@ -135,6 +135,8 @@ @@ -135,6 +135,8 @@
</div>
</form>
<script>
'use strict';
var encodedUrls = new URI().getData('urls');
if (encodedUrls) {
var urls = [];

4
src/webui/www/private/downloadlimit.html

@ -22,8 +22,10 @@ @@ -22,8 +22,10 @@
<div class="clear"></div>
</div>
<script>
'use strict';
var hashes = new URI().getData('hashes').split('|');
setDlLimit = function() {
var setDlLimit = function() {
var limit = $("dllimitUpdatevalue").value.toInt() * 1024;
if (hashes[0] == "global") {
new Request({

2
src/webui/www/private/filters.html

@ -23,6 +23,8 @@ @@ -23,6 +23,8 @@
</div>
<script>
'use strict';
var categoriesFilterContextMenu = new CategoriesFilterContextMenu({
targets: '.categoriesFilterContextMenuTarget',
menu: 'categoriesFilterMenu',

7
src/webui/www/private/installsearchplugin.html

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
width: 100%;
line-height: 2em;
}
</style>
<div id="installSearchPluginContainer">
@ -20,7 +21,7 @@ @@ -20,7 +21,7 @@
<input type="text" id="newPluginPath" placeholder="QBT_TR(URL or local directory)QBT_TR[CONTEXT=PluginSourceDlg]" autocorrect="off" autocapitalize="none" />
<div style="margin-top: 10px; text-align: center;">
<button id="newPluginCancel" onclick="closeSearchWindow('installSearchPlugin');">QBT_TR(Cancel)QBT_TR[CONTEXT=PluginSourceDlg]</button>
<button id="newPluginOk" onclick="newPluginOk();">QBT_TR(Ok)QBT_TR[CONTEXT=PluginSourceDlg]</button></div>
<button id="newPluginOk" onclick="newPluginOk();">QBT_TR(Ok)QBT_TR[CONTEXT=PluginSourceDlg]</button>
</div>
</div>
</div>
@ -32,7 +33,7 @@ @@ -32,7 +33,7 @@
var installSearchPluginKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',
events: {
'enter': function (e) {
'enter': function(e) {
// accept enter key as a click
new Event(e).stop();
@ -59,7 +60,7 @@ @@ -59,7 +60,7 @@
data: {
sources: path,
},
onRequest: function(){
onRequest: function() {
closeSearchWindow('installSearchPlugin');
}
}).send();

2
src/webui/www/private/newcategory.html

@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script src="scripts/misc.js?locale=${LANG}"></script>
<script>
'use strict';
var newCategoryKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',
events: {

2
src/webui/www/private/preferences.html

@ -25,6 +25,8 @@ @@ -25,6 +25,8 @@
</div>
<script>
'use strict';
// Tabs
MochaUI.initializeTabs('preferencesTabs');

74
src/webui/www/private/preferences_content.html

@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
<tr>
<td>
<input type="checkbox" id="temppath_checkbox" onclick="updateTempDirEnabled();" />
<label for="temppath_checkbox" >QBT_TR(Keep incomplete torrents in:)QBT_TR[CONTEXT=OptionsDialog]</label>
<label for="temppath_checkbox">QBT_TR(Keep incomplete torrents in:)QBT_TR[CONTEXT=OptionsDialog]</label>
</td>
<td>
<input type="text" id="temppath_text" />
@ -95,7 +95,7 @@ @@ -95,7 +95,7 @@
<tr>
<td>
<input type="checkbox" id="exportdir_checkbox" onclick="updateExportDirEnabled();" />
<label for="exportdir_checkbox" >QBT_TR(Copy .torrent files to:)QBT_TR[CONTEXT=OptionsDialog]</label>
<label for="exportdir_checkbox">QBT_TR(Copy .torrent files to:)QBT_TR[CONTEXT=OptionsDialog]</label>
</td>
<td>
<input type="text" id="exportdir_text" />
@ -104,7 +104,7 @@ @@ -104,7 +104,7 @@
<tr>
<td>
<input type="checkbox" id="exportdirfin_checkbox" onclick="updateExportDirFinEnabled();" />
<label for="exportdirfin_checkbox" >QBT_TR(Copy .torrent files for finished downloads to:)QBT_TR[CONTEXT=OptionsDialog]</label>
<label for="exportdirfin_checkbox">QBT_TR(Copy .torrent files for finished downloads to:)QBT_TR[CONTEXT=OptionsDialog]</label>
</td>
<td>
<input type="text" id="exportdirfin_text" />
@ -814,15 +814,17 @@ @@ -814,15 +814,17 @@
<div style="text-align: center; margin-top: 1em;"><input type="button" value="QBT_TR(Save)QBT_TR[CONTEXT=HttpServer]" onclick="applyPreferences();" /></div>
<script>
'use strict';
// Downloads tab
var WatchedFoldersTable = new HtmlTable($("watched_folders_tab"));
updateTempDirEnabled = function() {
var updateTempDirEnabled = function() {
var isTempDirEnabled = $('temppath_checkbox').getProperty('checked');
$('temppath_text').setProperty('disabled', !isTempDirEnabled);
};
addWatchFolder = function() {
var addWatchFolder = function() {
var new_folder = $('new_watch_folder_txt').getProperty('value').trim();
if (new_folder.length <= 0) return;
@ -842,7 +844,7 @@ @@ -842,7 +844,7 @@
$('new_watch_folder_other_txt').setProperty('value', text);
};
changeWatchFolderSelect = function(item) {
var changeWatchFolderSelect = function(item) {
if (item.value == "other") {
item.nextElementSibling.hidden = false;
item.nextElementSibling.value = 'QBT_TR(Type folder here)QBT_TR[CONTEXT=HttpServer]';
@ -855,7 +857,7 @@ @@ -855,7 +857,7 @@
}
};
pushWatchFolder = function(pos, folder, sel, other) {
var pushWatchFolder = function(pos, folder, sel, other) {
var myinput = "<input id='text_watch_" + pos + "' type='text' value='" + folder + "'>";
var disableInput = (sel != "other");
var mycb = "<div class='select-watched-folder-editable'>"
@ -875,7 +877,7 @@ @@ -875,7 +877,7 @@
$('cb_watch_txt_' + pos).setProperty('value', other);
};
getWatchedFolders = function() {
var getWatchedFolders = function() {
var nb_folders = $("watched_folders_tab").getChildren("tbody")[0].getChildren("tr").length;
var folders = new Hash();
for (var i = 0; i < nb_folders; ++i) {
@ -895,17 +897,17 @@ @@ -895,17 +897,17 @@
return folders;
};
updateExportDirEnabled = function() {
var updateExportDirEnabled = function() {
var isExportDirEnabled = $('exportdir_checkbox').getProperty('checked');
$('exportdir_text').setProperty('disabled', !isExportDirEnabled);
};
updateExportDirFinEnabled = function() {
var updateExportDirFinEnabled = function() {
var isExportDirFinEnabled = $('exportdirfin_checkbox').getProperty('checked');
$('exportdirfin_text').setProperty('disabled', !isExportDirFinEnabled);
};
updateMailNotification = function() {
var updateMailNotification = function() {
var isMailNotificationEnabled = $('mail_notification_checkbox').getProperty('checked');
$('src_email_txt').setProperty('disabled', !isMailNotificationEnabled);
$('dest_email_txt').setProperty('disabled', !isMailNotificationEnabled);
@ -919,39 +921,39 @@ @@ -919,39 +921,39 @@
}
};
updateMailAuthSettings = function() {
var updateMailAuthSettings = function() {
var isMailAuthEnabled = $('mail_auth_checkbox').getProperty('checked');
$('mail_username_text').setProperty('disabled', !isMailAuthEnabled);
$('mail_password_text').setProperty('disabled', !isMailAuthEnabled);
};
updateAutoRun = function() {
var updateAutoRun = function() {
var isAutoRunEnabled = $('autorun_checkbox').getProperty('checked');
$('autorunProg_txt').setProperty('disabled', !isAutoRunEnabled);
};
// Connection tab
updateMaxConnecEnabled = function() {
var updateMaxConnecEnabled = function() {
var isMaxConnecEnabled = $('max_connec_checkbox').getProperty('checked');
$('max_connec_value').setProperty('disabled', !isMaxConnecEnabled);
};
updateMaxConnecPerTorrentEnabled = function() {
var updateMaxConnecPerTorrentEnabled = function() {
var isMaxConnecPerTorrentEnabled = $('max_connec_per_torrent_checkbox').getProperty('checked');
$('max_connec_per_torrent_value').setProperty('disabled', !isMaxConnecPerTorrentEnabled);
};
updateMaxUploadsEnabled = function() {
var updateMaxUploadsEnabled = function() {
var isMaxUploadsEnabled = $('max_uploads_checkbox').getProperty('checked');
$('max_uploads_value').setProperty('disabled', !isMaxUploadsEnabled);
};
updateMaxUploadsPerTorrentEnabled = function() {
var updateMaxUploadsPerTorrentEnabled = function() {
var isMaxUploadsPerTorrentEnabled = $('max_uploads_per_torrent_checkbox').getProperty('checked');
$('max_uploads_per_torrent_value').setProperty('disabled', !isMaxUploadsPerTorrentEnabled);
};
updatePeerProxySettings = function() {
var updatePeerProxySettings = function() {
var isPeerProxyTypeSelected = $('peer_proxy_type_select').getProperty('value') != "none";
$('peer_proxy_host_text').setProperty('disabled', !isPeerProxyTypeSelected);
$('peer_proxy_port_value').setProperty('disabled', !isPeerProxyTypeSelected);
@ -977,19 +979,19 @@ @@ -977,19 +979,19 @@
updateForceProxySettings();
};
updateForceProxySettings = function() {
var updateForceProxySettings = function() {
var isForceProxyEnabled = (!$('force_proxy_checkbox').getProperty('disabled')) && ($('force_proxy_checkbox').getProperty('checked'));
$('upnp_checkbox').setProperty('disabled', isForceProxyEnabled);
$('lsd_checkbox').setProperty('disabled', isForceProxyEnabled);
};
updatePeerProxyAuthSettings = function() {
var updatePeerProxyAuthSettings = function() {
var isPeerProxyAuthEnabled = $('peer_proxy_auth_checkbox').getProperty('checked');
$('peer_proxy_username_text').setProperty('disabled', !isPeerProxyAuthEnabled);
$('peer_proxy_password_text').setProperty('disabled', !isPeerProxyAuthEnabled);
};
updateFilterSettings = function() {
var updateFilterSettings = function() {
var isIPFilterEnabled = $('ipfilter_enabled_checkbox').getProperty('checked');
$('ipfilter_text').setProperty('disabled', !isIPFilterEnabled);
$('ipfilter_trackers_checkbox').setProperty('disabled', !isIPFilterEnabled);
@ -997,7 +999,7 @@ @@ -997,7 +999,7 @@
};
// Speed tab
updateSchedulingEnabled = function() {
var updateSchedulingEnabled = function() {
var isLimitSchedulingEnabled = $('limit_sheduling_checkbox').getProperty('checked');
$('schedule_from_hour').setProperty('disabled', !isLimitSchedulingEnabled);
$('schedule_from_min').setProperty('disabled', !isLimitSchedulingEnabled);
@ -1007,7 +1009,7 @@ @@ -1007,7 +1009,7 @@
};
// Bittorrent tab
updateQueueingSystem = function() {
var updateQueueingSystem = function() {
var isQueueingEnabled = $('queueing_checkbox').getProperty('checked');
$('max_active_dl_value').setProperty('disabled', !isQueueingEnabled);
$('max_active_up_value').setProperty('disabled', !isQueueingEnabled);
@ -1016,14 +1018,14 @@ @@ -1016,14 +1018,14 @@
updateSlowTorrentsSettings();
};
updateSlowTorrentsSettings = function() {
var updateSlowTorrentsSettings = function() {
var isDontCountSlowTorrentsEnabled = (!$('dont_count_slow_torrents_checkbox').getProperty('disabled')) && $('dont_count_slow_torrents_checkbox').getProperty('checked');
$('dl_rate_threshold').setProperty('disabled', !isDontCountSlowTorrentsEnabled);
$('ul_rate_threshold').setProperty('disabled', !isDontCountSlowTorrentsEnabled);
$('torrent_inactive_timer').setProperty('disabled', !isDontCountSlowTorrentsEnabled);
};
updateMaxRatioTimeEnabled = function() {
var updateMaxRatioTimeEnabled = function() {
var isMaxRatioEnabled = $('max_ratio_checkbox').getProperty('checked');
$('max_ratio_value').setProperty('disabled', !isMaxRatioEnabled);
@ -1033,34 +1035,34 @@ @@ -1033,34 +1035,34 @@
$('max_ratio_act').setProperty('disabled', !(isMaxRatioEnabled || isMaxSeedingTimeEnabled));
};
updateAddTrackersEnabled = function() {
var updateAddTrackersEnabled = function() {
var isAddTrackersEnabled = $('add_trackers_checkbox').getProperty('checked');
$('add_trackers_textarea').setProperty('disabled', !isAddTrackersEnabled);
};
// Web UI tab
updateHttpsSettings = function() {
var updateHttpsSettings = function() {
var isUseHttpsEnabled = $('use_https_checkbox').getProperty('checked');
$('ssl_key_textarea').setProperty('disabled', !isUseHttpsEnabled);
$('ssl_cert_textarea').setProperty('disabled', !isUseHttpsEnabled);
};
updateBypasssAuthSettings = function() {
var updateBypasssAuthSettings = function() {
var isBypassAuthSubnetWhitelistEnabled = $('bypass_auth_subnet_whitelist_checkbox').getProperty('checked');
$('bypass_auth_subnet_whitelist_textarea').setProperty('disabled', !isBypassAuthSubnetWhitelistEnabled);
};
updateAlternativeWebUISettings = function() {
var updateAlternativeWebUISettings = function() {
var isUseAlternativeWebUIEnabled = $('use_alt_webui_checkbox').getProperty('checked');
$('webui_files_location_textarea').setProperty('disabled', !isUseAlternativeWebUIEnabled);
};
updateHostHeaderValidationSettings = function() {
var updateHostHeaderValidationSettings = function() {
var isHostHeaderValidationEnabled = $('host_header_validation_checkbox').getProperty('checked');
$('webui_domain_textarea').setProperty('disabled', !isHostHeaderValidationEnabled);
};
updateDynDnsSettings = function() {
var updateDynDnsSettings = function() {
var isDynDnsEnabled = $('use_dyndns_checkbox').getProperty('checked');
$('dyndns_select').setProperty('disabled', !isDynDnsEnabled);
$('dyndns_domain_text').setProperty('disabled', !isDynDnsEnabled);
@ -1068,7 +1070,7 @@ @@ -1068,7 +1070,7 @@
$('dyndns_password_text').setProperty('disabled', !isDynDnsEnabled);
};
registerDynDns = function() {
var registerDynDns = function() {
if ($('dyndns_select').getProperty('value').toInt() == 1) {
window.open("http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html", "NO-IP Registration");
}
@ -1077,21 +1079,21 @@ @@ -1077,21 +1079,21 @@
}
};
generateRandomPort = function() {
var generateRandomPort = function() {
var min = 1024;
var max = 65535;
var port = Math.floor(Math.random() * (max - min + 1) + min);
$('port_value').setProperty('value', port);
};
time_padding = function(val) {
var time_padding = function(val) {
var ret = val.toString();
if (ret.length == 1)
ret = '0' + ret;
return ret;
};
loadPreferences = function() {
var loadPreferences = function() {
var url = 'api/v2/app/preferences';
new Request.JSON({
url: url,
@ -1362,7 +1364,7 @@ @@ -1362,7 +1364,7 @@
}).send();
};
applyPreferences = function() {
var applyPreferences = function() {
var settings = new Hash();
// Validate form data
// Downloads tab

2
src/webui/www/private/properties_content.html

@ -152,6 +152,8 @@ @@ -152,6 +152,8 @@
</div>
<script>
'use strict';
torrentPeersTable.setup('torrentPeersTableDiv', 'torrentPeersTableFixedHeaderDiv', null);
var selectedTab = $(getLocalStorageItem('selected_tab', 'PropGeneralLink'));
if (selectedTab)

2
src/webui/www/private/rename.html

@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script src="scripts/misc.js?locale=${LANG}"></script>
<script>
'use strict';
var renameKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',
events: {

36
src/webui/www/private/scripts/client.js

@ -22,10 +22,12 @@ @@ -22,10 +22,12 @@
* THE SOFTWARE.
*/
torrentsTable = new TorrentsTable();
torrentPeersTable = new TorrentPeersTable();
searchResultsTable = new SearchResultsTable();
searchPluginsTable = new SearchPluginsTable();
'use strict';
var torrentsTable = new TorrentsTable();
var torrentPeersTable = new TorrentPeersTable();
var searchResultsTable = new SearchResultsTable();
var searchPluginsTable = new SearchPluginsTable();
var updatePropertiesPanel = function() {};
@ -322,7 +324,7 @@ window.addEvent('load', function() { @@ -322,7 +324,7 @@ window.addEvent('load', function() {
if (!categoryList)
return;
var childrens = categoryList.childNodes;
for (var i in childrens) {
for (var i = 0; i < childrens.length; ++i) {
if (childrens[i].id == selected_category)
childrens[i].className = "selectedFilter";
else
@ -643,20 +645,20 @@ window.addEvent('load', function() { @@ -643,20 +645,20 @@ window.addEvent('load', function() {
var addSearchPanel = function() {
new MochaUI.Panel({
id : 'SearchPanel',
title : 'Search',
header : false,
padding : {
top : 0,
right : 0,
bottom : 0,
left : 0
id: 'SearchPanel',
title: 'Search',
header: false,
padding: {
top: 0,
right: 0,
bottom: 0,
left: 0
},
loadMethod : 'xhr',
contentURL : 'search.html',
loadMethod: 'xhr',
contentURL: 'search.html',
content: '',
column : 'searchTabColumn',
height : null
column: 'searchTabColumn',
height: null
});
};

4
src/webui/www/private/scripts/contextmenu.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var lastShownContexMenu = null;
var ContextMenu = new Class({
//implements
@ -404,7 +406,7 @@ var CategoriesFilterContextMenu = new Class({ @@ -404,7 +406,7 @@ var CategoriesFilterContextMenu = new Class({
var SearchPluginsTableContextMenu = new Class({
Extends: ContextMenu,
updateMenuItems: function () {
updateMenuItems: function() {
var enabledColumnIndex = function(text) {
var columns = $("searchPluginsTableFixedHeaderRow").getChildren("th");
for (var i = 0; i < columns.length; ++i)

10
src/webui/www/private/scripts/download.js

@ -21,10 +21,12 @@ @@ -21,10 +21,12 @@
* THE SOFTWARE.
*/
'use strict';
var categories = {};
var defaultSavePath = "";
getCategories = function() {
var getCategories = function() {
new Request.JSON({
url: 'api/v2/torrents/categories',
noCache: true,
@ -44,7 +46,7 @@ getCategories = function() { @@ -44,7 +46,7 @@ getCategories = function() {
}).send();
};
getPreferences = function() {
var getPreferences = function() {
new Request.JSON({
url: 'api/v2/app/preferences',
method: 'get',
@ -71,7 +73,7 @@ getPreferences = function() { @@ -71,7 +73,7 @@ getPreferences = function() {
}).send();
};
changeCategorySelect = function(item) {
var changeCategorySelect = function(item) {
if (item.value == "\\other") {
item.nextElementSibling.hidden = false;
item.nextElementSibling.value = "";
@ -96,7 +98,7 @@ changeCategorySelect = function(item) { @@ -96,7 +98,7 @@ changeCategorySelect = function(item) {
}
};
changeTMM = function(item) {
var changeTMM = function(item) {
if (item.selectedIndex == 1) {
$('savepath').disabled = true;

276
src/webui/www/private/scripts/dynamicTable.js

@ -31,6 +31,8 @@ @@ -31,6 +31,8 @@
**************************************************************/
'use strict';
var DynamicTableHeaderContextMenuClass = null;
var ProgressColumnWidth = -1;
@ -1402,164 +1404,164 @@ var TorrentPeersTable = new Class({ @@ -1402,164 +1404,164 @@ var TorrentPeersTable = new Class({
});
var SearchResultsTable = new Class({
Extends: DynamicTable,
initColumns: function () {
this.newColumn('fileName', '', 'QBT_TR(Name)QBT_TR[CONTEXT=SearchResultsTable]', 500, true);
this.newColumn('fileSize', '', 'QBT_TR(Size)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('nbSeeders', '', 'QBT_TR(Seeders)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('nbLeechers', '', 'QBT_TR(Leechers)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('siteUrl', '', 'QBT_TR(Search engine)QBT_TR[CONTEXT=SearchResultsTable]', 250, true);
this.initColumnsFunctions();
},
initColumnsFunctions: function () {
var displayText = function (td, row) {
var value = this.getRowValue(row);
td.set('html', escapeHtml(value));
}
var displaySize = function(td, row) {
var size = this.getRowValue(row);
td.set('html', friendlyUnit(size, false));
}
var displayNum = function (td, row) {
var value = escapeHtml(this.getRowValue(row));
td.set('html', (value === "-1") ? "Unknown" : value);
}
Extends: DynamicTable,
this.columns['fileName'].updateTd = displayText;
this.columns['fileSize'].updateTd = displaySize;
this.columns['nbSeeders'].updateTd = displayNum;
this.columns['nbLeechers'].updateTd = displayNum;
this.columns['siteUrl'].updateTd = displayText;
},
getFilteredAndSortedRows: function () {
var containsAll = function(text, searchTerms) {
text = text.toLowerCase();
for (var i = 0; i < searchTerms.length; ++i) {
if (text.indexOf(searchTerms[i].toLowerCase()) === -1)
return false;
}
initColumns: function() {
this.newColumn('fileName', '', 'QBT_TR(Name)QBT_TR[CONTEXT=SearchResultsTable]', 500, true);
this.newColumn('fileSize', '', 'QBT_TR(Size)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('nbSeeders', '', 'QBT_TR(Seeders)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('nbLeechers', '', 'QBT_TR(Leechers)QBT_TR[CONTEXT=SearchResultsTable]', 100, true);
this.newColumn('siteUrl', '', 'QBT_TR(Search engine)QBT_TR[CONTEXT=SearchResultsTable]', 250, true);
return true;
};
this.initColumnsFunctions();
},
var getSizeFilters = function() {
var minSize = (searchSizeFilter.min > 0.00) ? (searchSizeFilter.min * Math.pow(1024, searchSizeFilter.minUnit)) : 0.00;
var maxSize = (searchSizeFilter.max > 0.00) ? (searchSizeFilter.max * Math.pow(1024, searchSizeFilter.maxUnit)) : 0.00;
initColumnsFunctions: function() {
var displayText = function(td, row) {
var value = this.getRowValue(row);
td.set('html', escapeHtml(value));
}
var displaySize = function(td, row) {
var size = this.getRowValue(row);
td.set('html', friendlyUnit(size, false));
}
var displayNum = function(td, row) {
var value = escapeHtml(this.getRowValue(row));
td.set('html', (value === "-1") ? "Unknown" : value);
}
if ((minSize > maxSize) && (maxSize > 0.00)) {
var tmp = minSize;
minSize = maxSize;
maxSize = tmp;
}
this.columns['fileName'].updateTd = displayText;
this.columns['fileSize'].updateTd = displaySize;
this.columns['nbSeeders'].updateTd = displayNum;
this.columns['nbLeechers'].updateTd = displayNum;
this.columns['siteUrl'].updateTd = displayText;
},
return {
min: minSize,
max: maxSize
}
};
getFilteredAndSortedRows: function() {
var containsAll = function(text, searchTerms) {
text = text.toLowerCase();
for (var i = 0; i < searchTerms.length; ++i) {
if (text.indexOf(searchTerms[i].toLowerCase()) === -1)
return false;
}
var getSeedsFilters = function() {
var minSeeds = (searchSeedsFilter.min > 0) ? searchSeedsFilter.min : 0;
var maxSeeds = (searchSeedsFilter.max > 0) ? searchSeedsFilter.max : 0;
return true;
};
if ((minSeeds > maxSeeds) && (maxSeeds > 0)) {
var tmp = minSeeds;
minSeeds = maxSeeds;
maxSeeds = tmp;
}
var getSizeFilters = function() {
var minSize = (searchSizeFilter.min > 0.00) ? (searchSizeFilter.min * Math.pow(1024, searchSizeFilter.minUnit)) : 0.00;
var maxSize = (searchSizeFilter.max > 0.00) ? (searchSizeFilter.max * Math.pow(1024, searchSizeFilter.maxUnit)) : 0.00;
return {
min: minSeeds,
max: maxSeeds
}
if ((minSize > maxSize) && (maxSize > 0.00)) {
var tmp = minSize;
minSize = maxSize;
maxSize = tmp;
}
var filteredRows = [];
var rows = this.rows.getValues();
var searchTerms = searchPattern.toLowerCase().split(" ");
var filterTerms = searchFilterPattern.toLowerCase().split(" ");
var sizeFilters = getSizeFilters();
var seedsFilters = getSeedsFilters();
var searchInTorrentName = $('searchInTorrentName').get('value') === "names";
if (searchInTorrentName || filterTerms.length || (searchSizeFilter.min > 0.00) || (searchSizeFilter.max > 0.00)) {
for (var i = 0; i < rows.length; ++i) {
var row = rows[i];
if (searchInTorrentName && !containsAll(row.full_data.fileName, searchTerms)) continue;
if (filterTerms.length && !containsAll(row.full_data.fileName, filterTerms)) continue;
if ((sizeFilters.min > 0.00) && (row.full_data.fileSize < sizeFilters.min)) continue;
if ((sizeFilters.max > 0.00) && (row.full_data.fileSize > sizeFilters.max)) continue;
if ((seedsFilters.min > 0) && (row.full_data.nbSeeders < seedsFilters.min)) continue;
if ((seedsFilters.max > 0) && (row.full_data.nbSeeders > seedsFilters.max)) continue;
filteredRows.push(row);
}
}
else {
filteredRows = rows;
return {
min: minSize,
max: maxSize
}
};
filteredRows.sort(function (row1, row2) {
var column = this.columns[this.sortedColumn];
var res = column.compareRows(row1, row2);
if (this.reverseSort == '0')
return res;
else
return -res;
}.bind(this));
var getSeedsFilters = function() {
var minSeeds = (searchSeedsFilter.min > 0) ? searchSeedsFilter.min : 0;
var maxSeeds = (searchSeedsFilter.max > 0) ? searchSeedsFilter.max : 0;
return filteredRows;
},
if ((minSeeds > maxSeeds) && (maxSeeds > 0)) {
var tmp = minSeeds;
minSeeds = maxSeeds;
maxSeeds = tmp;
}
setupTr: function (tr) {
tr.addClass("searchTableRow");
return {
min: minSeeds,
max: maxSeeds
}
}
});
var SearchPluginsTable = new Class({
Extends: DynamicTable,
var filteredRows = [];
var rows = this.rows.getValues();
var searchTerms = searchPattern.toLowerCase().split(" ");
var filterTerms = searchFilterPattern.toLowerCase().split(" ");
var sizeFilters = getSizeFilters();
var seedsFilters = getSeedsFilters();
var searchInTorrentName = $('searchInTorrentName').get('value') === "names";
if (searchInTorrentName || filterTerms.length || (searchSizeFilter.min > 0.00) || (searchSizeFilter.max > 0.00)) {
for (var i = 0; i < rows.length; ++i) {
var row = rows[i];
if (searchInTorrentName && !containsAll(row.full_data.fileName, searchTerms)) continue;
if (filterTerms.length && !containsAll(row.full_data.fileName, filterTerms)) continue;
if ((sizeFilters.min > 0.00) && (row.full_data.fileSize < sizeFilters.min)) continue;
if ((sizeFilters.max > 0.00) && (row.full_data.fileSize > sizeFilters.max)) continue;
if ((seedsFilters.min > 0) && (row.full_data.nbSeeders < seedsFilters.min)) continue;
if ((seedsFilters.max > 0) && (row.full_data.nbSeeders > seedsFilters.max)) continue;
filteredRows.push(row);
}
}
else {
filteredRows = rows;
}
initColumns: function () {
this.newColumn('fullName', '', 'QBT_TR(Name)QBT_TR[CONTEXT=SearchPluginsTable]', 175, true);
this.newColumn('version', '', 'QBT_TR(Version)QBT_TR[CONTEXT=SearchPluginsTable]', 100, true);
this.newColumn('url', '', 'QBT_TR(Url)QBT_TR[CONTEXT=SearchPluginsTable]', 175, true);
this.newColumn('enabled', '', 'QBT_TR(Enabled)QBT_TR[CONTEXT=SearchPluginsTable]', 100, true);
filteredRows.sort(function(row1, row2) {
var column = this.columns[this.sortedColumn];
var res = column.compareRows(row1, row2);
if (this.reverseSort == '0')
return res;
else
return -res;
}.bind(this));
this.initColumnsFunctions();
},
return filteredRows;
},
initColumnsFunctions: function () {
var displayText = function (td, row) {
var value = this.getRowValue(row);
td.set('html', escapeHtml(value));
}
setupTr: function(tr) {
tr.addClass("searchTableRow");
}
});
this.columns['fullName'].updateTd = displayText;
this.columns['version'].updateTd = displayText;
this.columns['url'].updateTd = displayText;
this.columns['enabled'].updateTd = function(td, row) {
var value = this.getRowValue(row);
if (value) {
td.set('html', "Yes");
td.getParent("tr").addClass("green");
td.getParent("tr").removeClass("red");
}
else {
td.set('html', "No");
td.getParent("tr").addClass("red");
td.getParent("tr").removeClass("green");
}
};
},
var SearchPluginsTable = new Class({
Extends: DynamicTable,
setupTr: function (tr) {
tr.addClass("searchPluginsTableRow");
initColumns: function() {
this.newColumn('fullName', '', 'QBT_TR(Name)QBT_TR[CONTEXT=SearchPluginsTable]', 175, true);
this.newColumn('version', '', 'QBT_TR(Version)QBT_TR[CONTEXT=SearchPluginsTable]', 100, true);
this.newColumn('url', '', 'QBT_TR(Url)QBT_TR[CONTEXT=SearchPluginsTable]', 175, true);
this.newColumn('enabled', '', 'QBT_TR(Enabled)QBT_TR[CONTEXT=SearchPluginsTable]', 100, true);
this.initColumnsFunctions();
},
initColumnsFunctions: function() {
var displayText = function(td, row) {
var value = this.getRowValue(row);
td.set('html', escapeHtml(value));
}
});
this.columns['fullName'].updateTd = displayText;
this.columns['version'].updateTd = displayText;
this.columns['url'].updateTd = displayText;
this.columns['enabled'].updateTd = function(td, row) {
var value = this.getRowValue(row);
if (value) {
td.set('html', "Yes");
td.getParent("tr").addClass("green");
td.getParent("tr").removeClass("red");
}
else {
td.set('html', "No");
td.getParent("tr").addClass("red");
td.getParent("tr").removeClass("green");
}
};
},
setupTr: function(tr) {
tr.addClass("searchPluginsTableRow");
}
});
/*************************************************************/

2
src/webui/www/private/scripts/misc.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
/*
* JS counterpart of the function in src/misc.cpp
*/

41
src/webui/www/private/scripts/mocha-init.js

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
it in the onContentLoaded function of the new window.
----------------------------------------------------------------- */
'use strict';
/* Define localStorage object for older browsers */
if (typeof localStorage == 'undefined') {
window['localStorage'] = {
@ -29,12 +31,43 @@ function getLocalStorageItem(name, defaultVal) { @@ -29,12 +31,43 @@ function getLocalStorageItem(name, defaultVal) {
return val;
}
var saveWindowSize = function() {};
var loadWindowWidth = function() {};
var loadWindowHeight = function() {};
var showDownloadPage = function() {};
var globalUploadLimitFN = function() {};
var uploadLimitFN = function() {};
var shareRatioFN = function() {};
var toggleSequentialDownloadFN = function() {};
var toggleFirstLastPiecePrioFN = function() {};
var setSuperSeedingFN = function() {};
var setForceStartFN = function() {};
var globalDownloadLimitFN = function() {};
var StatisticsLinkFN = function() {};
var downloadLimitFN = function() {};
var deleteFN = function() {};
var startFN = function() {};
var pauseFN = function() {};
initializeWindows = function() {
var startFN = function() {};
var autoTorrentManagementFN = function() {};
var recheckFN = function() {};
var reannounceFN = function() {};
var setLocationFN = function() {};
var renameFN = function() {};
var torrentNewCategoryFN = function() {};
var torrentSetCategoryFN = function() {};
var createCategoryFN = function() {};
var editCategoryFN = function() {};
var removeCategoryFN = function() {};
var deleteUnusedCategoriesFN = function() {};
var startTorrentsByCategoryFN = function() {};
var pauseTorrentsByCategoryFN = function() {};
var deleteTorrentsByCategoryFN = function() {};
var copyNameFN = function() {};
var copyMagnetLinkFN = function() {};
var copyHashFN = function() {};
var setPriorityFN = function() {};
var initializeWindows = function() {
saveWindowSize = function(windowId) {
var size = $(windowId).getSize();
localStorage.setItem('window_' + windowId + '_width', size.x);

2
src/webui/www/private/scripts/progressbar.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var ProgressBar = new Class({
initialize: function(value, parameters) {
var vals = {

4
src/webui/www/private/scripts/prop-files.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var is_seed = true;
var current_hash = "";
@ -350,5 +352,5 @@ var updateTorrentFilesData = function() { @@ -350,5 +352,5 @@ var updateTorrentFilesData = function() {
loadTorrentFilesData();
};
fTable = new filesDynTable();
var fTable = new filesDynTable();
fTable.setup($('filesTable'));

2
src/webui/www/private/scripts/prop-general.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var clearData = function() {
$('time_elapsed').set('html', '');
$('eta').set('html', '');

4
src/webui/www/private/scripts/prop-trackers.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var trackersDynTable = new Class({
initialize: function() {},
@ -230,7 +232,7 @@ var removeTrackerFN = function(element) { @@ -230,7 +232,7 @@ var removeTrackerFN = function(element) {
}).send();
};
torrentTrackersTable = new trackersDynTable();
var torrentTrackersTable = new trackersDynTable();
torrentTrackersTable.setup($('trackersTable'), torrentTrackersContextMenu);
new ClipboardJS('#CopyTrackerUrl', {

4
src/webui/www/private/scripts/prop-webseeds.js

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
'use strict';
var webseedsDynTable = new Class({
initialize: function() {},
@ -105,5 +107,5 @@ var updateWebSeedsData = function() { @@ -105,5 +107,5 @@ var updateWebSeedsData = function() {
loadWebSeedsData();
};
wsTable = new webseedsDynTable();
var wsTable = new webseedsDynTable();
wsTable.setup($('webseedsTable'));

5
src/webui/www/private/search.html

@ -56,6 +56,7 @@ @@ -56,6 +56,7 @@
line-height: 1.5em;
float: right;
}
</style>
<div id="searchResults">
@ -201,7 +202,7 @@ @@ -201,7 +202,7 @@
var searchKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',
events: {
'enter': function (e) {
'enter': function(e) {
// accept enter key as a click
new Event(e).stop();
@ -453,7 +454,7 @@ @@ -453,7 +454,7 @@
$('searchResultsTableContainer').style.display = "block";
// sort plugins alphabetically
var allPlugins = searchPlugins.sort(function(pluginA, pluginB){
var allPlugins = searchPlugins.sort(function(pluginA, pluginB) {
var a = pluginA.fullName.toLowerCase();
var b = pluginB.fullName.toLowerCase();
if (a < b) return -1;

3
src/webui/www/private/searchplugins.html

@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
#searchPlugins_content {
height: 100%;
}
</style>
<div id="searchPluginsContainer">
@ -90,7 +91,7 @@ @@ -90,7 +91,7 @@
Enabled: enablePlugin,
Uninstall: uninstallPlugin
},
offsets : calculateContextMenuOffsets()
offsets: calculateContextMenuOffsets()
});
searchPluginsTable.setup('searchPluginsTableDiv', 'searchPluginsTableFixedHeaderDiv', searchPluginsTableContextMenu);
updateSearchPluginsTable();

2
src/webui/www/private/setlocation.html

@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script src="scripts/misc.js?locale=${LANG}"></script>
<script>
'use strict';
var setLocationKeyboardEvents = new Keyboard({
defaultEventType: 'keydown',
events: {

2
src/webui/www/private/shareratio.html

@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
<script src="scripts/lib/mootools-1.2-more.js"></script>
<script src="scripts/misc.js?locale=${LANG}"></script>
<script>
'use strict';
var UseGlobalLimit = -2;
var NoLimit = -1;

4
src/webui/www/private/transferlist.html

@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
</div>
<script>
'use strict';
//create a context menu
var torrentsTableContextMenu = new TorrentsTableContextMenu({
targets: '.torrentsTableContextMenuTarget',
@ -61,7 +63,7 @@ @@ -61,7 +63,7 @@
UploadLimit: function(element, ref) {
uploadLimitFN();
},
ShareRatio : function (element, ref) {
ShareRatio: function(element, ref) {
shareRatioFN();
},

2
src/webui/www/private/upload.html

@ -122,6 +122,8 @@ @@ -122,6 +122,8 @@
</fieldset>
</form>
<script>
'use strict';
var submitted = false;
$('uploadForm').addEventListener("submit", function() {

4
src/webui/www/private/uploadlimit.html

@ -22,8 +22,10 @@ @@ -22,8 +22,10 @@
<div class="clear"></div>
</div>
<script>
'use strict';
var hashes = new URI().getData('hashes').split('|');
setUpLimit = function() {
var setUpLimit = function() {
var limit = $("uplimitUpdatevalue").value.toInt() * 1024;
if (hashes[0] == "global") {
new Request({

2
src/webui/www/public/login.html

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
<link rel="stylesheet" type="text/css" href="css/login.css" />
<script src="scripts/lib/mootools-1.2-core-yc.js"></script>
<script>
'use strict';
window.onload = function() {
$('username').focus();
$('username').select();

Loading…
Cancel
Save