Commit graph

1616 commits

Author SHA1 Message Date
thiemowmde 48173f59af Replace loop with native Array.indexOf() in RevisionListView
According to my tests this behaves the same as before.

Change-Id: I659146232b0237f6098960b53acb91e12c9e9647
2023-10-24 12:35:18 +02:00
WMDE-Fisch b5feef80a6 Only draw lines connecting the diff when it's availible
The offsetNotAvailable method is part of the class ever since it was
created in Iadf7793. It always only checked one of the two columns.
This confuses me, to be honest. The PointerLine class is meant to have
exactly two instances: One for the left (yellow) and one for the
right (blue) lines. There should be no reason the left reaches into
the right, and vice versa.

Bug: T342556
Change-Id: I31117b3a6bb73c397f7702cb3b162276de1a77ca
2023-10-24 12:09:45 +02:00
jenkins-bot 362ba6d890 Merge "Merge two jQuery calls in RevisionListView class" 2023-10-23 21:29:06 +00:00
jenkins-bot 0eaf05f33a Merge "Fix docs and avoid duplication in PointerView class" 2023-10-23 16:53:15 +00:00
thiemowmde 6178ba7936 Fix docs and avoid duplication in PointerView class
Change-Id: I82395995dadd3c7f7f8d7973c5e51cc367e11b5a
2023-10-23 18:38:18 +02:00
jenkins-bot 132a6bb0e8 Merge "Make .less code a little more compact" 2023-10-23 13:07:00 +00:00
thiemowmde cead74416e Merge two jQuery calls in RevisionListView class
I'm sure this does the same as before. Note that we don't care how
many elements are found. Only if at least one element is found.
Whichever is found first, we can stop searching then.

This is especially relevant when the first jQuery search doesn't
find anything. It scans the entire DOM tree (upwards) then.
Combining the two means the search can stop earlier.

Change-Id: I0903c58f87fb133135a7b0de273460ff80fb45ff
2023-10-23 14:48:50 +02:00
jenkins-bot 3baf83eb2e Merge "Fix certain history events being triggered multiple times" 2023-10-23 12:41:22 +00:00
thiemowmde 69f6410916 Make .less code a little more compact
The idea is to visually group things together that belong together.
This reduces duplication and hopefully makes the code easier to
read.

Change-Id: I609ee0eb5644de9c32984a3b2535652504e0e940
2023-10-23 14:31:09 +02:00
Translation updater bot 0ef4a22f2b Localisation updates from https://translatewiki.net.
Change-Id: Ic75d2931725abe870c2b3ad97028e310388d67f0
2023-10-23 09:51:19 +02:00
thiemowmde 990a9cc828 Fix certain history events being triggered multiple times
See T349208 for an explanation. It looks like the SliderView.render
function was written with the assumption that it's only triggered
once on construction time. But since T139101 it's triggered again
for every window resize event. This adds the same event handlers
over and over again to existing elements that aren't affected by
the SliderView.render function.

This will probably become even worse with I49878fd (T336729).

Please test this carefully. I'm not 100% sure this is the best
possible fix.

Bug: T349208
Change-Id: Iba22924b660f2709c0680aa6fbeb0feba92cfa76
2023-10-18 15:38:04 +02:00
Translation updater bot 4ca686ad57 Localisation updates from https://translatewiki.net.
Change-Id: Icb53bf5799e61d75920c004e3d8269c346611f30
2023-10-12 09:29:51 +02:00
Translation updater bot c03ce90843 Localisation updates from https://translatewiki.net.
Change-Id: Ib3fd3e833ab4a956041272dd0d08e3ac81aec9f6
2023-10-09 08:56:53 +02:00
thiemowmde d85496a2a8 Drop custom forEach loop in favor of native Array.find()
Plus a few minor code cleanups in the RevisionListView class.

Change-Id: I828eb92936e3a36a3794b38eac80ba50399ffaef
2023-09-30 11:52:20 +02:00
thiemowmde 6ad0647543 Fix bad use of jQuery.append with a text message
Calling .append() with a text message means jQuery will happily parse
it as HTML if it looks like HTML.

Found with the new x-xss debug feature.

Change-Id: I916f4dd8f530a8e88d34918a24fdfd28a86708f2
2023-09-30 11:45:51 +02:00
Translation updater bot d34f02db73 Localisation updates from https://translatewiki.net.
Change-Id: Ic11744185b62fa0ce3b2c22713e2f5082bba0c5d
2023-09-26 08:44:53 +02:00
Translation updater bot 5c77f198ef Localisation updates from https://translatewiki.net.
Change-Id: Id06e1ee6b976a3c1a59dffe1a012892e9c8b3f32
2023-09-25 08:46:54 +02:00
WMDE-Fisch fb3cf33e44 [build] Bump wdio-selenium to v2.3.0
Change-Id: Ib4056298f484b5def68699c0a9146324188df609
2023-09-22 14:22:26 +02:00
thiemowmde 75ea1a1e21 Add missing PHPUnit tests for hook handlers
Bug: T345620
Change-Id: I98283917644116da2a9668a5618bac086c863227
2023-09-21 12:47:39 +02:00
Translation updater bot 00f247d661 Localisation updates from https://translatewiki.net.
Change-Id: Ie7e31cba995bdbd1bbf307c9b5e10276026e53dc
2023-09-19 09:26:00 +02:00
thiemowmde 5bf6ad7ac0 Fix accidental use of Statsd implementation instead of interface
Really just a mistake.

Also make use of strict types while we are here. We can do this now
with our minimum PHP version.

Change-Id: Iab83a4c538b648f19a803442d1e839389f4d9cc4
2023-09-15 13:15:33 +02:00
jenkins-bot ea267c7240 Merge "Simplify tooltip and hover effect removal" 2023-09-05 16:24:31 +00:00
WMDE-Fisch 3140576347 Simplify tooltip and hover effect removal
There's no need and probably just minimal gain to use these methods
with a revision as input. We could always just cleanup all tooltips
or wrapper highlighting before we set a new one. Makes the code
much simpler.

Change-Id: I34594843ccafa83372c796ff8cca68c4d6b58e06
2023-09-05 17:19:35 +02:00
WMDE-Fisch de99612520 Rename tag/user highlighting to free up the term
While working on renaming and consolidating some methods I found
it puzzeling, that the generic "highlight" word is already taken
by the filter mechanism. So I made these things more specific.

I checked the global wiki search if any user referes to these to
override CSS. It seems nobody does, so the change should be save.

Change-Id: I47c149978b0527c2d9e91709ef9d704526d56101
2023-09-05 12:01:02 +00:00
jenkins-bot 23b2f811a2 Merge "Don't trigger hover or tooltips from a tooltip" 2023-09-04 09:35:43 +00:00
jenkins-bot 77792dfc12 Merge "Close popup when clicking enter" 2023-08-31 13:56:34 +00:00
jenkins-bot 122964ed7d Merge "Close tooltip when the focus moves away" 2023-08-31 08:56:18 +00:00
jenkins-bot 7a64be70c3 Merge "build: Update MediaWiki requirement to 1.41" 2023-08-31 05:24:20 +00:00
jenkins-bot e66f2f370b Merge "Remove grab cursor workarounds for older browsers" 2023-08-30 18:11:13 +00:00
WMDE-Fisch 41cb479b45 Remove grab cursor workarounds for older browsers
According to the compatiblity standards to give Grade A support
for modern browser versions not older than 3 years, we do not need
these workarounds anymore.

Change-Id: Ib1c42594b2c4077cabb010b8830a04ab10938a17
2023-08-30 18:05:10 +02:00
thiemowmde e65e19aa56 Make use of Codex LESS tokens where possible
Mostly motivated by the confusing border-radius.

Change-Id: I87c0fd6fbe86df765a41047a04a8d2a3c6516403
2023-08-30 17:54:59 +02:00
WMDE-Fisch 45b68b2942 Don't trigger hover or tooltips from a tooltip
Mousemove events seem to bubble up and can trigger unwanted hover
effects when the tooltip is appended to the pointer container.

This regression was introduced in the patch that supports tabbing
into the tooltips in I75ef7c32fb105526552eac387ff5a5bda8eefe1b

Bug: T341872
Change-Id: I975cc054a760f2da1d8ea37d10d9a5bf00bf3ae2
2023-08-30 14:40:13 +02:00
WMDE-Fisch e2bb3741e6 Close tooltip when the focus moves away
Adds two handlers to make sure the popup is closed when the focus
moves away from either the pointers or contents of the a popup.

Bug: T341874
Change-Id: Ia68fc5ffbb63b4a534c84987879499e06cd60238
2023-08-30 08:56:06 +02:00
jenkins-bot 3dcd9c3756 Merge "Remove obsolete per-skin CSS" 2023-08-29 15:47:18 +00:00
jenkins-bot 3b6eeb0be8 Merge "Restore highlightable-row CSS we accidentally removed" 2023-08-29 15:46:40 +00:00
thiemowmde 10931b6210 Remove obsolete per-skin CSS
This is obsolete since I75ef7c3 where we had to replace the
`font-size: 0.8em` with a fixed 13px.

Bug: T341872
Change-Id: I81603536dd930c6faee38c63aabe848203c42715
2023-08-29 17:29:20 +02:00
thiemowmde 6455955ea1 Restore highlightable-row CSS we accidentally removed
This was removed in I75ef7c3. Turns out it's needed for the
highlightable elements in the popups (e.g. when highlighting all
edits made by the same user). The text row in the popup gets a thin
gray border. This border needs some padding on the left.

The solution is to make the CSS selector more specific so it can
win over the problematic selector in Vector.

Bug: T341872
Change-Id: Ia029b92b5e049c60279b55177a62e03919dc55d8
2023-08-29 17:23:31 +02:00
thiemowmde 98e5730835 Remove more duplicate code in SliderView class
Change-Id: I4580047617cfadba04339c1f58d896507927ee73
2023-08-29 17:07:47 +02:00
Svantje Lilienthal 143dee9a1d Close popup when clicking enter
Bug: T341874
Change-Id: I8cafbc93a87d168a428b2e9e46a60ea812ae584c
2023-08-29 16:13:33 +02:00
jenkins-bot 24ca67ff10 Merge "Trigger popup creation on pointer focus" 2023-08-28 12:58:07 +00:00
jenkins-bot 89b7d1fcc2 Merge "Append tooltip to focused pointer to allow tabbing into it" 2023-08-28 12:50:16 +00:00
jenkins-bot b0efa18399 Merge "Generalize revision click handlers" 2023-08-28 12:50:14 +00:00
WMDE-Fisch cc37621ab9 Generalize revision click handlers
The pointer click and revision click handlers did almost the same
and the former was able to handle events from the latter. I merged
them and could then shortcut some code.

Change-Id: Id224b8d8da653110134cce0385da3a18cd073ecf
2023-08-28 11:47:21 +02:00
Translation updater bot bb2576d500 Localisation updates from https://translatewiki.net.
Change-Id: Ib87e08175573ec27a6210a4645617f073c7a8580
2023-08-28 09:30:54 +02:00
jenkins-bot b77b5dcbf8 Merge "Dramatically simplify duplicate code in the PointerLine class" 2023-08-28 06:45:23 +00:00
jenkins-bot 2e173563f8 Merge "Don't add keypress handler when not needed" 2023-08-28 06:21:01 +00:00
jenkins-bot 7857eb993d Merge "Reduce code duplication in RevisionList class" 2023-08-28 06:11:22 +00:00
thiemowmde fe8f8fa05d Don't add keypress handler when not needed
I'm not sure why it was done this way. Probably because it doesn't
make an actual difference from the user's perspective. My motivation
is: When we already called the code that auto-expands the
RevisionSlider UI then it doesn't make much sense to give the user
a keyypress handler that does the same a second time.

Possibly even related to T342556?

This patch also contains a few small, unrelated code cleanups.

Change-Id: I123e89d9d7dc3b1e33cf43831c679330d9dd1cdd
2023-08-28 06:10:06 +00:00
jenkins-bot a998e73f25 Merge "Remove unused jQuery.fadeTo() calls" 2023-08-28 05:58:48 +00:00
thiemowmde 2e8cfcba05 Dramatically simplify duplicate code in the PointerLine class
Turns out this code can only ever access a single underline: The one
it owns and can access via it's own this.$html property. One of the
two jQuery selectors always turned out empty, and calling .css() or
anything else on an empty jQuery collection just doesn't do anything.

This patch also contains a similar, but technically unrelated
cleanup in the init code.

Change-Id: Ic89b11971f51f5dcca67dcbd308f65310f48f0ec
2023-08-25 17:49:59 +02:00