Chocobo1
9c0475ebfa
WebUI: migrate to fetch API
...
This is the final part of it.
PR #22072 .
2024-12-29 15:44:28 +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
Chocobo1
f34787e6ba
WebUI: use correct property for selecting child elements
...
`firstChild` will select the first `Node` which is often not intended (it should be
`Element` instead).
2024-11-27 01:12:12 +08:00
Chocobo1
72cbc83569
WebUI: prefer arrow functions whenever applicable
...
Compared to plain function, arrow function is simpler to understand (without bindings to `this`, `arguments`, `super`) and to read.
Now, plain function will only be used when this object is required.
PR #21691 .
2024-11-01 04:17:41 +08:00
Thomas Piccirello
c3c91be578
WebUI: Clear properties panel when torrent no longer selected
...
PR #21654 .
2024-10-28 13:53:24 +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
81def39d8c
WebUI: Support managing web seeds
...
Closes #8475 .
PR #21055 .
2024-09-28 15:37:36 +08:00
skomerko
fda797cb76
WebUI: Improve properties panel
...
It is now possible to expand & collapse it by clicking directly on tabs, just like in GUI.
In addition, collapse state is saved and applied on page load.
Fixed one minor bug and now files search input is properly hidden even when panel is collapsed.
PR #21209 .
2024-08-24 14:09:10 +08:00
Chocobo1
5afeecbf18
WebUI: migrate away from inline HTML code
...
`innerHTML` & `outerHTML` setter will more or less evaluate the value which could be used to
inject malicious code. So replace them with safer alternatives.
PR #21163 .
2024-08-10 12:55:48 +08:00
Chocobo1
bf7e1516d5
WebUI: clear timer variable properly
...
In JS the timer handle pool is reused and therefore require careful handling of it.
2024-07-26 05:08:40 +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
24a1537cdd
WebUI: prefer arrow function in callbacks
2024-05-27 22:57:28 +08:00
Chocobo1
cb90b6769c
WebUI: enforce string quotes coding style
2024-05-27 22:50:17 +08:00
Chocobo1
4945ed576a
WebUI: enforce strict comparison operators
2024-04-21 16:44:15 +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
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
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI ( #15097 )
2021-06-25 20:44:23 +03:00
Chocobo1
e43a9de2f3
Make global functions immutable
2021-03-23 18:53:56 +08:00
Thomas Piccirello
1439bcc864
Move JavaScript code into explicit namespaces
...
This cleans up the global namespace by explicitly exporting shared values. All html and JavaScript files have been converted to use explicit exports except for client.js and mocha-init.js
2019-09-14 18:24:53 -07:00
Vasiliy Halimonchuk
fe0fb3a251
Refactor var to let/const or this
2019-07-23 13:31:43 +03:00
Chocobo1
f789df7edf
Add license header
2019-02-04 17:28:55 +08:00
Chocobo1
ba32525b45
Fix errors from using strict mode
2018-12-12 12:09:55 +08:00
Chocobo1
1cb065edc6
Use Javascript strict mode
2018-12-12 12:07:31 +08:00
Thomas Piccirello
1e6942e967
Fix minor JavaScript defects
2018-09-26 23:10:51 -04:00
Chocobo1
5ddbf9bba9
Replace post-increment with pre-increment
...
And post-decrement with pre-decrement.
2018-06-08 08:44:06 +08:00
Chocobo1
cf2c0bd47e
Apply formatting to Web UI files
2018-04-07 21:45:56 +08:00
Vladimir Golovnev (Glassez)
27d8dbf13b
Redesign Web API
...
Normalize Web API method names.
Allow to use alternative Web UI.
Switch Web API version to standard form (i.e. "2.0").
Improve Web UI translation code.
Retranslate changed files.
Add Web API for RSS subsystem.
2018-01-28 19:16:24 +03:00