Chocobo1
3ebd15d408
WebUI: simplify code
2024-05-27 23:00:30 +08:00
Chocobo1
64dfb7e122
WebUI: iterate over own properties only
2024-05-27 23:00:03 +08:00
Chocobo1
b07afa3ea9
WebUI: use assignment operator shorthand
2024-05-27 22:58:47 +08:00
Chocobo1
24a1537cdd
WebUI: prefer arrow function in callbacks
2024-05-27 22:57:28 +08:00
Chocobo1
55bff4f07a
WebUI: enforce usage of const whenever possible
2024-05-27 22:56:51 +08:00
Chocobo1
cb90b6769c
WebUI: enforce string quotes coding style
2024-05-27 22:50:17 +08:00
Thomas Piccirello
6d073771ca
WebUI: Restore previously used tab on load
...
This PR restores the users previously used tab (Transfer, Search, RSS, etc.) when the WebUI is reloaded.
PR #20705 .
2024-05-27 20:51:02 +08:00
Chocobo1
6231208ddf
WebUI: add linting for regular expressions
...
And applies to following suggestions:
* Use case-insensitive flag `i`
* Use `\w` for matching characters
* Sort the regex flags
2024-05-04 15:01:03 +08:00
ducalex
42b87963fd
Add date column to the built-in search engine
...
Adds a date column to the built-in search engine to show when a torrent was published/uploaded on the engine site.
When a plugin wants to show a date, it can now add a `pub_date` entry to its result dict. The value format is a unix timestamp (an integer representing seconds since epoch).
Plugins with no date support will keep working.
PR #20703 .
2024-04-29 21:10:24 +03:00
Chocobo1
d65d8558d6
Merge pull request #20728 from Chocobo1/webui_state
...
WebUI: clean up code
2024-04-29 12:58:14 +08:00
luzpaz
d3315f7cc7
WebUI: Fix inconsistent naming between (Done/Progress) column
...
Closes #20602 .
PR #20700 .
2024-04-27 14:43:47 +08:00
Chocobo1
1c7ecb7371
WebUI: migrate away from MooTools deprecated functions
...
https://mootools.net/core/docs/1.6.0/Core/Core#Deprecated-Functions
2024-04-21 16:55:30 +08:00
Chocobo1
4945ed576a
WebUI: enforce strict comparison operators
2024-04-21 16:44:15 +08:00
Chocobo1
75e2ae2fa0
WebUI: clean up code
...
Use proper function for finding match.
Use strict comparison operators.
2024-04-19 16:13:27 +08:00
Chocobo1
d7cded54e4
WebUI: enforce parentheses around operators
...
PR #20696 .
2024-04-15 12:50:07 +08:00
Chocobo1
6c82d5e305
WebUI: fix wrong peer number
...
PR #20695 .
2024-04-15 12:42:47 +08:00
Thomas Piccirello
e697d40382
WebUI: Improve table scrolling and selection on mobile
...
This PR improves touch interaction with table rows that have a context menu. Previously, those rows couldn't be selected or scrolled on mobile. Additionally, this PR modifies the context menu to appear when the user removes their finger/touch, rather than the current behavior of appearing mid-touch. This allows us to only display the context menu if the user's finger remains on the same element, which should significantly reduce erroneous context menu triggering.
Closes #19819 .
Closes #19820 ,
Closes #19823 .
PR #20639 .
2024-04-09 14:33:10 +08:00
Aliaksei Urbanski
f37d0c486c
Add the Popularity metric
...
PR #20180 .
2024-04-01 21:23:08 +03:00
Thomas Piccirello
8e6515be2c
WebUI: Fix error when category doesn't exist
...
This prevents hitting a TypeError when the category stored in localstorage does not exist. The behavior for a nonexistent category now mirrors that of a nonexistent tag or filter - no option is selected and no torrents are shown.
Closes #20623 .
PR #20638 .
2024-04-01 20:15:30 +08:00
Thomas Piccirello
4967f977c5
WebUI: Improve accuracy of trackers list
...
This PR fixes various accounting issues with the trackers list. Removing a torrent would not update the trackers list, nor would removing a tracker from a torrent. And removing a tracker with a shared host but unique url (e.g. example.com/1 and example.com/2) would erroneously remove the tracker's host from the list.
Closes #20053 .
Closes #20054 .
PR #20601 .
2024-03-29 15:43:49 +08:00
Thomas Piccirello
eb9e98a4b3
WebUI: Add support for running concurrent searches
...
This PR adds support for running multiple concurrent searches in the Web UI. This is already supported in the GUI as well as by the Web API. Behavior mimics the GUI as closely as possible.
All filters and sorting are preserved per-tab, allowing you to apply unique filters and sorts to each of your searches. Row selection is also preserved across tab navigation.
Closes #12840 .
PR #20593 .
2024-03-29 15:05:43 +08:00
Thomas Piccirello
489bacd766
WebUI: Conditionally show filters sidebar
...
This fixes a bug where the filters sidebar would always be displayed when switching back to the Transfers tab.
Closes #19257 .
PR #20600 .
2024-03-26 12:41:47 +08:00
thalieht
5d1c249606
Use Start/Stop instead of Resume/Pause
...
PR #20532 .
---------
Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru >
2024-03-25 19:11:04 +03:00
HamletDuFromage
5c67c5a77d
Add regex toggle for WebUI torrent filtering
...
PR #20566 .
2024-03-24 13:44:57 +08:00
Chocobo1
15697f904d
Add a small delay before processing the key input of search boxes
...
PR #20465 .
Closes #20025 .
Closes #20235 .
2024-02-27 12:57:55 +08:00
Chocobo1
46e8ee50c8
Allow to set custom suffix to window title
...
This is to allow users to differentiate qbt instances when there are multiple running.
PR #20429 .
Closes #17905 .
2024-02-27 12:41:12 +08:00
Chocobo1
e1fa7e01c6
Remove unneeded polyfill
...
All browsers already have native support for it.
2024-02-25 20:17:56 +08:00
Chocobo1
bb8a012b1c
Revise cache internals
...
Now cache initialization and `get()` is less costly to use and it shifts the weight to `set()`.
PR #20430 .
2024-02-18 14:16:00 +08:00
Chocobo1
63c9b6388e
Rename to WebUI
...
PR #20428 .
2024-02-18 13:58:44 +08:00
Chocobo1
e31b553807
Stop sync requests after qbt has been shutdown
2024-02-14 03:38:09 +08:00
Chocobo1
1afb3ff433
Add support for dark theme
2024-02-14 03:38:09 +08:00
Chocobo1
16a91f26fb
Simplify code
2024-02-14 03:38:09 +08:00
Chocobo1
963a7faab8
Migrate to Cache for commonly used data
...
Previously it was abusing the `localStorage` and now it is storing data in memory (per session).
2024-02-14 03:38:09 +08:00
Chocobo1
d06d5b923a
Cache program preferences
...
So that qbt can just use the data from memory which is vastly faster than waiting for a response
over the net.
2024-02-14 03:38:09 +08:00
Chocobo1
8ef99b336c
Remove 'no cache' directive for POST requests
...
The response for POST request is only cachable under a specific condition and
qbt doesn't use it.
https://developer.mozilla.org/en-US/docs/Glossary/Cacheable
2024-02-11 23:28:44 +08:00
Chocobo1
f7e9ff0fb0
Clean up functions in global scope
2024-02-11 23:28:44 +08:00
Chocobo1
9b64d50660
Conditionally hide settings in Advanced Options
2024-02-11 23:28:44 +08:00
Chocobo1
5fe5c333b5
Rename file
2024-02-11 23:28:44 +08:00
Chocobo1
9bfb447dd3
Improve WebUI responsiveness
...
This migrates Category and Tag to `Map` type from `Object` type. And done some algorithm and data structure optimization.
PR #20297 .
2024-01-27 22:04:39 +08:00
Chocobo1
00372dd559
Use natural sorting in WebUI
...
Also change case sensitivity to the default of 'sort' mode.
PR #20264 .
2024-01-15 13:12:36 +08:00
Chocobo1
6918316a3d
Switch to new method for checking own properties
...
The new method is an intended replacement for previous one as suggested by MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2024-01-15 13:12:12 +08:00
Chocobo1
2edb1a0765
Improve WebUI responsiveness
...
Related: #20249 .
2024-01-15 13:12:12 +08:00
Chocobo1
54bcabeca4
Leave the fields empty when value is invalid
...
This follows GUI behavior.
2024-01-08 15:13:02 +08:00
David
e69f857828
Allow to remember torrent content files deletion in WebUI
...
Add a 'remember choice' button to the WebUI Torrent Deletion dialog that sets the default file deletion setting. The setting is shared with GUI, so if you set it in WebUI and open the Qt app, the 'delete files' checkbox will match WebUI (checked or unchecked).
PR #20150 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-01-08 14:39:51 +08:00
d47081
9d90141c29
Add dark theme for WebUI
...
Closes #19844 .
PR #19901 .
---------
Co-authored-by: d47081 <localhost>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2023-12-12 12:23:40 +08:00
Chocobo1
86d5d13ce6
Migrate away from deprecated functions
...
Those functions are deprecated in mootools.
2023-11-27 13:29:54 +08:00
brvphoenix
9fde5634f1
Fix JS memory leak
...
The memory leak can be reproduced easily by opening two web pages of qbittorrent so that the WebUI pages are updated with full_update = true. If you have a large number of torrents, such as 100 torrents, you can observe a rapid increase in memory usage.
This is caused by the incorrect usage of dispose and empty methods in the js codes and none of them garbage collect the elements. If event listeners are added to the DOM elements, those DOM elements will not be garbage collected at all event if they are not referenced or out of the scope, which will cause memory leaks. If some elements are expected to be removed, the correct way is to use destroy method instead.
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-dispose-elementdispose
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-empty-elementempty
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-destroy-elementdestroy
Closes #19034 .
PR #19969 .
2023-11-25 13:50:45 +08:00
Chocobo1
b67da4bebe
Use natural sort for categories
...
PR #19920 .
2023-11-12 17:11:39 +08:00
thalieht
30d9978c97
Add copy comment functionality to the torrent list's context menu
...
PR #19846 .
Closes #18890 .
2023-11-07 12:42:31 +03:00
xavier2k6
f067ab1692
WebUI: Add "Moving" filter to side panel
...
PR #19870 .
2023-11-06 16:23:59 +03:00