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
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
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
f7e9ff0fb0
Clean up functions in global scope
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
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
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
xavier2k6
f067ab1692
WebUI: Add "Moving" filter to side panel
...
PR #19870 .
2023-11-06 16:23:59 +03:00
xavier2k6
0186f44bf4
Use appropriate icon for "moving" torrents in transfer list
...
PR #19821 .
2023-11-04 12:09:47 +03:00
AgentConDier
bf95eb50da
WebUI: Fix duplicate scrollbar on Transfer List
...
The overlay scrollbars introduced in Firefox 100 take up no space,
breaking the existing overflow detection.
Add an extra check for `scrollHeight != clientHeight` which is able to
detect an overflow independent of scrollbar style.
PR #19779 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2023-10-29 17:39:30 +08:00
Trim21
30badbf36e
WebUI: fix missing error icon
...
PR #19610 .
Closes #18737 .
2023-09-18 16:42:03 +03:00
Hanabishi
c394868f87
Implement Reannounce In
column
...
PR #19571 .
2023-09-09 08:12:43 +03:00
Chocobo1
6680fdda18
Fix typos
2023-06-26 16:45:44 +08:00
Chocobo1
5cea69472f
Use natural sort
2023-06-02 17:44:17 +08:00
Bartu Özen
b55d4b1733
WebUI: Implement subcategories
...
PR #18740 .
2023-04-02 11:02:22 +03:00
loligans
466314675c
WebUI: Add multi-file renaming
...
PR #18287 .
Closes #16239 .
2023-02-19 14:07:55 +03:00
sledgehammer999
10153f0063
Use previous color for pause icon for indicating status
...
Affects transfer list and status filters
Related to PR #18110
2023-01-27 18:45:07 +02:00
brvphoenix
0d376e7fd6
WebUI: Add log viewer
...
The javascript implementation of multi-select menu is from the source
https://github.com/PhilippeMarcMeyer/vanillaSelectBox . It is licensed
under the MIT License. Some minor fixes is made to pass the lint.
Co-authored-by: brvphoenix <30111323+brvphoenix@users.noreply.github.com>
Co-authored-by: ttyS3 <ttys3.rust@gmail.com>
PR #18290 .
2023-01-16 14:55:44 +03:00
Hanabishi
6a560016dd
Implement Peer ID Client
column for Peers
tab
...
PR #17940 .
2022-11-06 12:21:31 +08:00
Chocobo1
14e4bc7eea
WebUI: use proper comparison for numbers
...
Closes #17920 .
PR #17926 .
2022-10-25 12:46:02 +08:00
Chocobo1
d693f97a46
Use natural sort in WebUI
2022-08-27 13:55:04 +08:00
Chocobo1
ca274635d5
Make WebUI images self-contained
2022-08-27 13:55:04 +08:00
Nowshed H. Imran
748226be29
Rename Icons according to the actions
...
Fixes #17357 .
PR #17366 .
2022-07-31 13:31:38 +08:00
Nowshed H. Imran
199d770e15
Implement new icon/color theme
...
Co-authored-by: xavier2k6 <42386382+xavier2k6@users.noreply.github.com>
2022-06-09 18:18:14 +06:00
Chocobo1
dbfd6a2368
WebUI: enforce coding style
...
Actually, not all of them but some that can be enforced by eslint.
The changes are made by eslint with minor manual tweaking.
PR #17046 .
2022-05-18 11:37:05 +08:00
An0n
bf8d993743
Change Downloaded to Times Downloaded in trackers tab
...
PR #16677 .
2022-03-23 12:57:45 +08:00
Aleksandr Cupacenko
d2aad3a3ca
Rename content tab "Size" column to "Total Size"
...
Closes #7348 .
PR #16526 .
2022-02-27 12:48:11 +08:00
Tom Piccirello
7974b5a95c
Support sorting Web UI tables via touch ( #15205 )
2021-07-19 14:28:04 +08:00
AbeniMatteo
01d851440b
Add "Forced metadata downloading" state ( #15185 )
2021-07-17 21:33:14 +03:00
AbeniMatteo
e5943b64c1
Add filter "Checking" to side panel ( #15166 )
2021-07-16 14:08:10 +03:00
Thomas Piccirello
32f29e72c6
Support expanding/collapsing Web UI folders with arrow keys
2021-07-11 03:01:31 -07:00
Thomas Piccirello
e76bac4131
Support navigating Web UI tables with arrow keys
...
This allows navigating rows via up/down arrow keys.
2021-07-11 03:01:31 -07:00
Thomas Piccirello
8b94642ab1
Always set Web UI row id as a string
...
This helps ensure consistent behavior when performing rowId comparisons against strings.
2021-07-10 11:50:48 -07:00
Chocobo1
4dbf6af733
Simplify initialization statement
2021-07-07 13:20:13 +08:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI ( #15097 )
2021-06-25 20:44:23 +03:00
Chocobo1
121ff2b7be
Apply code formatting
2021-03-26 00:27:52 +08:00
Chocobo1
af85a8a340
Add necessary curly brackets
2021-03-26 00:27:52 +08:00
Chocobo1
5fe0e9395f
Don't use Object.prototypes builtins directly
...
See: https://eslint.org/docs/rules/no-prototype-builtins
2021-03-26 00:27:52 +08:00
Chocobo1
e43a9de2f3
Make global functions immutable
2021-03-23 18:53:56 +08:00
Chocobo1
901fca2d12
Remove wrong parentheses
...
Fix up 87ad8a1495
.
2021-03-23 17:09:24 +08:00
thalieht
d124041726
Allow >100 days in WebUI function "friendlyDuration"
...
Because it's not only used for ETA.
2021-03-20 15:36:08 +02:00
thalieht
560ecbc6c3
Add seeding time to the active time column in WebUI
...
Closes #14526
2021-03-19 15:29:08 +02:00
Chocobo1
0be2567d97
Don't use deprecated torrent state "allocating"
...
Closes #13737 .
2020-11-12 00:17:42 +08:00