Commit graph

25 commits

Author SHA1 Message Date
Franciszek Stachura
6a83ae7661 web: refactor message banners & support mobile
We had an hardcoded mobile banner that was nice looking but couldn't
deal with all the content for the various banners we want to display.

Also, it was a separate element to the desktop one. Unify them as a
single element that adapts (as it should) to desktop or mobile
viewports.
2025-07-25 12:26:04 +02:00
Franciszek Stachura
2cf83f5f7b web: Add input reset button
I tried type="reset", but it reverts to initial value that is sometimes
set by the backend, instead of actually cleraing data.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/reset
2025-01-31 20:11:53 +01:00
Théo Lebrun
972fdd73e1 js: remove 301 redirect cache fix
This code was required because we messed-up in the past regarding
caching headers. This is not required anymore because the caching set
has expired, so no well behaving user-agent should have remains.

This represents something like 240k requests to the backend (not the
cache) over two weeks. Server load was minimal because generating those
responses is really fast.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2025-01-03 11:33:30 +01:00
Franciszek Stachura
44965fcbfa banner: Add functions for testing banner contents
See: cycleBanner
2024-12-04 11:18:53 +01:00
Franciszek Stachura
701d609c2a banner, js: Add dynamic message banner 2024-12-04 11:08:06 +01:00
Théo Lebrun
f7ed4e84fd js: simplify line range anchor parsing
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2024-11-12 10:19:00 +01:00
James Raphael Tiovalen
f2146891c9 js: Highlight line of code when start == end
Enable code highlighting when there is only 1 selected line of code.

Signed-off-by: James Raphael Tiovalen <jamestiotio@gmail.com>
2024-11-12 10:18:17 +01:00
Franciszek Stachura
9a09df90e9 js: Update range highlight on manual hash change 2024-11-06 17:19:11 +01:00
Franciszek Stachura
54bd3bc0a4 js: Refactor line range handling
Important changes that should make reading the diff easier:
* Script now only works on line numbers. Elements are queried when
  necessary
* handleLineRange was refactored into functions that only validate and
  return line number(s), it's now the callers responsibility to
  highlight the range
2024-11-06 17:19:11 +01:00
Franciszek Stachura
558f75e3f5 web: Parse range state from URL
Fixes #329
2024-11-06 17:19:11 +01:00
Franciszek Stachura
e8f8a2e7b4 js: Switch to strict mode in script.js
The script should be compatible with strict mode, and strict mode
prevents some annoying bugs. The most important, it prevents assigning
to an undeclared variable.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
2024-09-26 13:05:00 +02:00
Franciszek Stachura
ef1b83ad75 js: Move minor fixes into functions
Move the following to new functions:
* anchor offset handler
* 301 fix
* autoscrolling prevention

Hookup onload handler with addEventListener.

About autoscrolling prevention:

I'm not sure if this is still relevant. I'm unable to trigger this
behavior. I think it could be related to a some kind of a Chrome bug.

https://forum.jquery.com/portal/en/community/topic/chrome-bug-or-how-do-i-prevent-a-form-field-to-scroll-the-container-when-focused
https://stackoverflow.com/questions/49318282/how-to-prevent-autoscroll-to-focused-input
2024-09-26 13:05:00 +02:00
Franciszek Stachura
2f7b56a4d8 js: Refactor go-to-top handler
href # doesn't work... probably because the wrapper
2024-09-26 13:05:00 +02:00
Franciszek Stachura
61ca8e19f2 js: Refactor sidebar hamburger button script
Move hamburger menu handlers to a new setup function, called from
onload.
2024-09-26 13:04:57 +02:00
Franciszek Stachura
e333b33364 js: Refactor versions tree expand/collapse script
Move versions tree handlers to a new setup function, called from
onload.
2024-09-26 12:48:34 +02:00
Franciszek Stachura
b9817c412b js: Refactor tags filter
Move tag filter setup into a new function, refactor related functions
to avoid global variables. Set up tags filter from onload handler.
2024-09-26 12:48:34 +02:00
Franciszek Stachura
f3d43c380b web: Fix sidebar state if page loaded as mobile
Fixes the following bug:

1. Make sure show-menu == true
2. Open page in mobile mode
3. Reisze to widescreen

Sidebar will be hidden until page is reloaded.
2024-09-20 15:24:59 +02:00
Franciszek Stachura
32141d8e96 web: Fix mobile sidebar close with backdrop click 2024-09-20 15:22:47 +02:00
Franciszek Stachura
c8d088834d web: Make mobile sidebar state separate
...from desktop sidebar state.

Fixes #331
2024-09-20 14:33:01 +02:00
Franciszek Stachura
b2c3ab73e9 web: Fix highlighting when second select is before first 2024-09-11 15:40:57 +02:00
Franciszek Stachura
30933fea6a web: Highlight whole lines of code 2024-09-11 11:48:27 +02:00
Franciszek Stachura
3b4bcd852a web: Add javascript based range links
Click line anchor and another line anchor holding shift to
make a link to a range.
2024-09-11 11:48:27 +02:00
Franciszek Stachura
0e9ff63c15 web: Save sidebar state in local storage 2024-09-11 11:13:16 +02:00
Franciszek Stachura
ec37680f04 web: Add ability to hide sidebar on desktop layout
The sidebar is hidden by default
2024-09-11 11:13:13 +02:00
Franciszek Stachura
9e18f26aeb Restructure Elixir to avoid Python path hacks
* Move static files from http to a new directory
2024-08-27 11:33:18 +02:00
Renamed from http/script.js (Browse further)