Chocobo1
b0148ef36c
WebUI: enforce coding style
...
* WebUI: prefer `classList.toggle()` over other pattern
Addresses: https://github.com/qbittorrent/qBittorrent/pull/23231#discussion_r2328647152
* WebUI: prefer using built-in objects Constructor
* WebUI: combine function calls
PR #23261 .
2025-09-14 22:11:23 +08:00
Chocobo1
dffd27a879
WebUI: prefer range based for loop
...
Using `entries()` can also save the work of manually handling the index variable.
PR #23182 .
2025-08-31 21:54:48 +08:00
Chocobo1
6ac0c5a8b8
WebUI: prefer for loop over Array.forEach method
...
The `for` loop can do everything `forEach` can and doesn't need a closure.
2025-08-27 22:19:16 +08:00
Chocobo1
7a1a214f73
WebUI: prefer prefix increment operator
...
Adhere to coding style.
PR #23076 .
2025-08-12 19:02:59 +08:00
Thomas Piccirello
02892d1250
WebUI: Add new Add Torrent experience
...
This PR uses the new APIs from #21015 to provide a WebUI Add Torrent experience more closely matching the GUI's.
New functionality:
- View torrent size, date, infohash, files, etc.
- Reprioritize and ignore files before adding
- Specify tags when adding torrent
- Specify save path for incomplete torrent
Closes #20557 , closes #10997 , closes #12499 , closes #14201 , closes #15071 , closes #15718 , closes #16207 .
PR #21645 .
2025-08-09 18:34:38 +08:00
Thomas Piccirello
2b3ee59e25
WebUI: Fix broken CACHEID changes
...
This broke in #22945 .
PR #23025 .
2025-07-28 04:09:21 +08:00
Thomas Piccirello
c962a6b1d7
WebUI: Apply cache id to all loaded resources
...
This includes html files and js/css assets loaded via MooTools.
PR #22945 .
Closes #18712 .
2025-07-20 16:32:18 +08:00
Thomas Piccirello
0e0b1d0962
WebUI: Limit window sizes to viewport size
...
This change makes the WebUI easier to use on small screens (e.g. mobile). In cases where the window's default size is larger than the user's screen, the window will be resized appropriate (see example below). Every window has been tested for compatibility. The only windows that don't support this are the multi file rename window and the RSS Downloader window.
Closes #19813 .
PR #22919 .
2025-07-06 23:58:07 +08:00
Chocobo1
96f0eebc4e
WebUI: switch to lightweight clipboard library
...
The new library [1] will opt to the modern Clipboard API [2] when it is available. It will
fallback to the old method otherwise.
The new library is also smaller and without any bloat.
Note that the line `module.exports` is required to be removed/commented out. This is the only
patch required.
[1] https://github.com/feross/clipboard-copy
[2] https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API
PR #22792 .
2025-05-31 17:55:10 +08:00
bolshoytoster
a3d1ff0eb2
WebUI: Fix memory leak
...
See #22734 , there is a memory leak in the MooTools .destroy(), this replaces all uses of that with the browser native .remove().
This also overrides the MooTools Document.id function, which is used by $(id). The original function always allocates an ID to elements it selects, the override doesn't, and is also a little more efficient.
Closes #22734 .
PR #22754 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2025-05-25 15:41:52 +08:00
Chocobo1
ad4bdc0653
Merge pull request #22615 from Chocobo1/webui_eslint
...
* WebUI: disallow unnecessary semicolons
* WebUI: ensure consistent shorthand syntax
* WebUI: disallow async functions which have no await expression
* WebUI: remove unused variable
2025-04-28 20:20:57 +08:00
Chocobo1
70dbe9468a
WebUI: disallow unnecessary semicolons
2025-04-27 16:19:50 +08:00
skomerko
411ca0f668
WebUI: Use native function for selecting elements by ID
2025-04-23 19:55:04 +02:00
Chocobo1
5465605377
WebUI: fix dark mode in RSS entry viewer
...
Use `allow-same-origin` sandbox directive to allow fetching the parent CSS.
PR #22536 .
2025-04-12 17:54:55 +08:00
Chocobo1
f0b9a17566
WebUI: add headers to RSS entry viewer
...
Introduced Author, 'Open link' headers.
Note that the Author and 'Open link' are not mandatory fields in RSS/Atom feeds. So these
headers will only be displayed when the feed includes them.
PR #22503 .
2025-04-08 15:47:47 +08:00
skomerko
f58d6ae984
WebUI: Make context menu target selectors more precise
2025-02-15 10:59:56 +01:00
skomerko
9c2e698514
WebUI: Replace getElements & getChildren
...
This PR further reduces Mootools usage.
PR #22220 .
2025-02-04 17:08:18 +08:00
Chocobo1
1ee84033ec
WebUI: use template literals instead of string concatenation
...
PR #22177 .
2025-01-18 20:51:47 +08:00
Chocobo1
c622d50814
WebUI: use native API for accessing query string
...
PR #22141 .
2025-01-12 21:36:59 +08:00
Chocobo1
9c0475ebfa
WebUI: migrate to fetch API
...
This is the final part of it.
PR #22072 .
2024-12-29 15:44:28 +08:00
Chocobo1
7487cd7e6d
WebUI: disallow unnecessary quotes in property name
...
Those two forms are the same and from now on we enforce to one style.
PR #22051 .
2024-12-24 22:25:18 +08:00
skomerko
7080f85b59
WebUI: Replace Mootools class list manipulation methods
...
All `addClass()`, `removeClass()` and `hasClass()` instances were changed to use `classList` equivalent:
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
PR #21946 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com >
2024-12-08 16:12:57 +08:00
skomerko
c9c85eeb95
WebUI: Use event delegation to handle common table events
...
Event delegation is now used to handle basic table events.
2 minor fixes were added to match GUI behavior:
* Clicking on the table body deselects everything
* Table rows are now scrolled into view when using up/down arrows
PR #21829 .
2024-11-19 02:12:26 +08:00
Thomas Piccirello
dc30b9c2ec
WebUI: Improve table overflow handling
...
This PR relies on flexbox to ensure all WebUI tables are the correct height without overflowing. Table headers are now always visible and JS-based dynamic resizing is no longer needed.
PR #21652 .
2024-11-03 15:11:30 +08:00
skomerko
0704049026
WebUI: Apply box-sizing reset
...
Box-sizing: border-box is now applied globally. A lot of tiny changes were made but they were necessary to correct resulting inconsistencies. Everything should be pretty much as it was with just some minor exceptions.
Looks like this PR also indirectly fixed #21414 .
PR #21464 .
2024-10-12 14:22:07 +08:00
Thomas Piccirello
b1fd61af3a
WebUI: Handle folders when updating RSS feed url
...
Follow up to #21371 ([context](https://github.com/qbittorrent/qBittorrent/pull/21371#discussion_r1780908605 )).
PR #21437 .
2024-10-12 13:30:24 +08:00
Chocobo1
6bbedbea8a
WebUI: remove unused variable
...
PR #21500 .
2024-10-06 16:54:42 +08:00
Chocobo1
dc02a0fc56
WebUI: remove unused variables
...
PR #21432 .
2024-10-04 22:23:04 +08:00
Chocobo1
cebaedf485
WebUI: CSS/styling improvements
...
WebUI: CSS/styling improvements
2024-09-30 17:57:42 +08:00
Thomas Piccirello
50acb670b0
WebUI: Support updating RSS feed URL
...
PR #21371 .
Signed-off-by: Thomas Piccirello <thomas@piccirello.com >
2024-09-30 17:34:37 +08:00
skomerko
2952480f37
WebUI: Use correct text and background colors in RSS details view
2024-09-28 17:49:52 +02:00
skomerko
8b2d8f3afd
WebUI: Use Map instead of Mootools Hash in all dynamic tables
...
PR #21358 .
2024-09-28 15:46:16 +08:00
Chocobo1
29379232aa
WebUI: implement debounce behavior for resize events
2024-08-17 14:02:15 +08:00
skomerko
e069fbc37f
WebUI: Add missing icons
...
This adds missing icons to WebUI (in tabs, buttons, etc.).
PR #21162 .
2024-08-17 13:38:44 +08:00
Chocobo1
9df3ee0de8
WebUI: use native property to set styles
2024-08-10 14:26:10 +08:00
Chocobo1
49507ad670
Merge pull request #21123 from skomerko/webui-use-alternating-row-colors
...
WebUI: Add ability to toggle alternating row colors in tables
2024-08-04 17:16:01 +08:00
skomerko
aed103d06e
WebUI: Improve visibility of unread RSS articles
2024-07-28 11:35:01 +02:00
Chocobo1
6b52a04ff1
WebUI: avoid queuing up requests
...
`setInterval()` will always fire a new timeout regardless previous `updateRssFeedList()` has
completed or not. This patch will now wait for previous request to complete before another
timeout.
2024-07-25 14:20:57 +08:00
Chocobo1
c3b7dfa918
WebUI: omit closing on HTML void elements
...
https://developer.mozilla.org/en-US/docs/Glossary/Void_element#self-closing_tags :
>Self-closing tags (<tag />) do not exist in HTML.
2024-07-15 17:46:33 +08:00
Chocobo1
25dd6c72f7
WebUI: use the correct property for accessing text
...
In these instances we don't need the rendered result. So use the most efficient
property to access it: `.textContent`.
2024-07-15 17:09:16 +08:00
Chocobo1
9feefc8144
WebUI: avoid redundant re-initialization
...
PR #21012 .
2024-07-12 15:00:36 +08:00
Chocobo1
9c26e5d4d6
WebUI: access attribute/property natively
...
It is now clearer to see what property is being accessed.
Previously mootools library would re-map attribute/property to another.
PR #21007 .
2024-07-12 14:06:59 +08:00
Chocobo1
648dd9988d
WebUI: unify comment format
2024-06-11 02:17:10 +08:00
Chocobo1
bf4e0df386
WebUI: unify curly bracket usage
2024-06-07 02:51:35 +08:00
Chocobo1
64dfb7e122
WebUI: iterate over own properties only
2024-05-27 23:00:03 +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
Chocobo1
d7cded54e4
WebUI: enforce parentheses around operators
...
PR #20696 .
2024-04-15 12:50:07 +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