Commit graph

28 commits

Author SHA1 Message Date
skomerko
395dbaa5c6
WebUI: Replace getElement with querySelector
All `getElement` instances (Mootools) were changed to `querySelector`.

PR #22082.
2024-12-31 21:31:46 +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
skomerko
14684c8c83
WebUI: Use vanilla JS to create elements
All elements are now created using createElement() method:
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement

PR #21975.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2024-12-15 03:31:44 +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
2d1c4fc809
WebUI: use native event listeners for keyboard events
PR #21924.
2024-12-02 13:41:19 +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
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
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
skomerko
87644441ad
WebUI: Add context menu to search tabs
PR #21516.
2024-10-07 22:04:29 +08:00
skomerko
449ca96e28
WebUI: Add 'Engine' column to Search table
This PR adds 'Engine' column to Search table.
I also fixed inconsistent naming and renamed 'Search engine' column to 'Engine URL'.

PR #21397.
2024-09-30 18:05:17 +08: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
Chocobo1
1179fc3de3
WebUI: prevent passing wrong parameter
The `event` object will be passed as the first parameter to the event handler. So wrap the
event handler with a closure to prevent `event` leaking to other functions.
2024-08-17 14:02:13 +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
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
2d9e3b3330
WebUI: use native functions for event handling
PR #21147.
2024-08-07 22:00:54 +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
b67495464d WebUI: Add ability to toggle alternating row colors in tables 2024-07-28 11:34:52 +02: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
Thomas Piccirello
9d87a813b2
Use enabled search plugins by default in WebUI
PR #20969.
Closes #20558.
2024-06-24 20:45:14 +03: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
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