Commit graph

601 commits

Author SHA1 Message Date
jenkins-bot 7a5e15527e Merge "Inline trivial single-use method in the Revision class" 2023-12-07 10:52:32 +00:00
thiemowmde 33b9ee0e14 Drop another chunk of code duplication from SliderView
Change-Id: I9c258454b2ed34208950efa113fed32ce4d0e0be
2023-11-29 13:15:08 +01:00
thiemowmde fdf34e4dfb Various tiny clean-ups
Notable:
* Arrays shouldn't be initialized like this. Instances will actually
  share the same array object. Luckily this was dead code anyway
  because it's re-done in the constructor.
* $timeOffset is already guaranteed to be an int.

Change-Id: Ib0a2b0f39ee368fcef4756281099d519d470eb44
2023-11-29 12:58:51 +01:00
thiemowmde eda9022d51 Inline trivial single-use method in the Revision class
This utility method doesn't really belong here. This does at least
reduce the surface area. Now it's only a single method instead of
two.

Change-Id: I21fbb4e4922f2cc3bc3e23c457b5ceeb216f3ab4
2023-11-29 12:55:18 +01:00
thiemowmde c634608057 Add fail-safe to SliderView.revisionsClickHandler
Turns out we can run into this failure situation even if everything
goes according to plan. It is possible to click just one pixel outside
of the valid range, e.g. on the very right corner right next to the
last bar. This is supposed to not do anything anyway, and correctly
doesn't do anything from the user's perspective. But it shows up as a
failure in the JavaScript console.

Bug: T352169
Change-Id: I12c9cce90970be36667ba1b721afd38a13a063c9
2023-11-29 12:50:34 +01:00
WMDE-Fisch 6482107b14 build: Update linter libs
* "eslint-config-wikimedia": "0.26.0"
* "grunt-eslint": "24.3.0"
* "grunt-stylelint": "0.19.0"
* "stylelint-config-wikimedia": "0.16.1"

Including auto fixes.

Change-Id: I24374dad734fca734f9c5e25cfa5b5380ad24c46
2023-11-24 10:14:15 +01:00
jenkins-bot b0e365ae0a Merge "Revert "partly drop dependency from RevisionListView"" 2023-11-15 15:23:40 +00:00
thiemowmde ac0096b23b Revert "partly drop dependency from RevisionListView"
This is a manual revert of I06b8af8. Turns out the list of revisions
(and with that the maximum size calculated from the list of revisions)
changes during the lifetime of the view. It must be recalculated.
Maybe not as often. But this is an optimization for a later patch.

Change-Id: Id1dce5566a9041396bcf72df7e4936be0e53188a
2023-11-14 17:40:52 +01:00
jenkins-bot c853426760 Merge "Move tooltip events to the tooltip creation" 2023-11-09 09:17:16 +00:00
WMDE-Fisch f77502f526 Move tooltip events to the tooltip creation
Change-Id: I0de2aa4fabde1d4a063373de26336ccf6c8bda5e
2023-11-09 09:10:37 +01:00
WMDE-Fisch fc4cef8c8d Add RevisionClickHandler only to new elements
When expanding the slider to newer or older revisions the handler
for revision clicks should only be added to the new revisions.

Change-Id: If590996d27dc75cbdfc931e9649418f875c3869d
2023-11-07 13:08:46 +01:00
jenkins-bot a4f6201e3b Merge "Remove redundant checks for .offset() !== undefined" 2023-11-07 11:32:53 +00:00
jenkins-bot 0debea3f8b Merge "Consolidate highlights and tooltip creation" 2023-11-07 10:00:04 +00:00
thiemowmde d2b03abe43 Remove redundant checks for .offset() !== undefined
We added this more as an experiment because we couldn't reliably
figure out what makes later .offset() calls fail. After looking into
the actual jQuery source code I realized the only way .offset() can
return undefined is when .length is zero. Which means the two checks
are redundant and one can be removed.

In case an element is not attached to the document an object with
{ top: 0, left: 0 } is returned.

Bug: T342556
Change-Id: I6265fd27b3102a9cfe853a9c0e11063b76cf0b7b
2023-11-06 22:14:58 +01:00
WMDE-Fisch 56b886a76b Don't try to draw lines when the slider is not fully loaded
Bug: T342556
Change-Id: Ibacc149214c23310f70b8efec19d6693a4d79c06
2023-11-03 11:11:30 +01:00
WMDE-Fisch 08fe283ba7 Give this context to removeColoredColumnBorders
Otherwise the `this` to call addColoredColumnBorders() inside of
that function is unkown when triggering the callback.

Can be verified working when collapsing the slider on master vs
this patch.

Regression introduced in Icffe9551d633470ccec1b63ea570e138db48dee8

Change-Id: I653db133688d7678d0cb3b80936c7e9a7ebebd1f
2023-11-03 10:34:42 +01:00
WMDE-Fisch 5550fc74da Consolidate highlights and tooltip creation
This is a first step in restructuring and consolidating the
highlight and tooltip creation. I use revision focus to communicate
the state when a revision is highlighted and shows a tooltip.

There's still stuff to untangle but I want to keep the diffs small.

Change-Id: I0b169042837a2c3bb825c23368e7e8a485694eb5
2023-10-26 20:37:54 +02:00
jenkins-bot 68a6403052 Merge "Mark private methods with @private tags" 2023-10-26 12:22:38 +00:00
jenkins-bot ff56357289 Merge "Partly drop dependency from RevisionListView to RevisionList" 2023-10-26 12:21:38 +00:00
thiemowmde 2c0532033e Mark private methods with @private tags
I might have missed some. These are easy to validate and I wanted to
start somewhere.

Change-Id: I8e4c2de884439f3793738a5270749ff663bbda1f
2023-10-26 14:05:12 +02:00
jenkins-bot e5919d1da6 Merge "Cleanup minor code duplication/complication in various places" 2023-10-26 12:01:11 +00:00
jenkins-bot 43b185fdbe Merge "Drop custom forEach loop in favor of native Array.find()" 2023-10-26 12:01:09 +00:00
thiemowmde 0d8158de5c Partly drop dependency from RevisionListView to RevisionList
It turns out the view class doesn't really do anything with the
RevisionList object. All it does it manually iterating the array of
revisions. But it doesn't call anything from the RevisionList class.
With a single exception.

Warning: This doesn't mean the RevisionList class is pointless. It's
critical because this is where the relativeSize fields are calculated.

Bug: T224971
Change-Id: I06b8af815bb6f931355d68aa511070fb34b08156
2023-10-26 13:58:59 +02:00
thiemowmde 3f0aae5e73 Cleanup minor code duplication/complication in various places
Change-Id: Icffe9551d633470ccec1b63ea570e138db48dee8
2023-10-26 13:46:16 +02:00
thiemowmde 3a9abded84 Clamp slider position when using the browser's back button
Steps to reproduce:
* Make the browser window very narrow so that RevisionSlider can't
  show the maximum number of gray bars.
* Go to a page with many revisions, open the RevisionSlider, and pin
  it.
* Click the "Older edit" navigation link.
* Now make the browser window larger. Note how RevisionSlider will
  have more space to show more gray bars.
* Use the browser's back button.

The pointer positions will jump to a random position.

The problematic code is in DiffPage.initOnPopState() where a "state"
object from the browser history is used to not only restore the
position of the blue and yellow pointers, but also the relative
starting position of the slider (the position you can manually change
with the large left/right arrow buttons). The way this relative
position is calculated depends on the number of revisions that fit
on a screen, which depends on the the available screen width. The
problem is that these numbers change after the state was recorded in
the browser history.

It might be that this patch still does not solve the issue in all
possible situations. But it already makes it behave much better.

Bug: T349208
Change-Id: If8e89457232061698c3821cae2d0aab3f7778b26
2023-10-25 15:03:44 +02:00
jenkins-bot cdf7a4af52 Merge "Replace loop with native Array.indexOf() in RevisionListView" 2023-10-24 10:54:50 +00:00
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
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
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
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
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 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
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
thiemowmde e4c55ae5de Reduce code duplication in RevisionList class
Two almost identical pieces of code, both adding revisions to the
list.

There is a 3rd one that prepends revisions. I leave this untouched
for now.

Change-Id: I4798c8c2d6e0f9b70f7ea0dc20bb271514c03350
2023-08-25 17:48:51 +02:00
jenkins-bot a925f7957f Merge "Remove obsolete IE9 safe guard" 2023-08-25 14:52:25 +00:00
WMDE-Fisch cd90d01977 Append tooltip to focused pointer to allow tabbing into it
When the user uses the keyboard to interact with the slider, the
revisions can changed by moving the pointers with the arrorw keys.

In that case the pointers have keyboard focus. To allow tabbing
into the popup from that position, the tooltip needs to follow the
pointer in the DOM. That's what's done in this patch.

Bug: T341872
Change-Id: I75ef7c32fb105526552eac387ff5a5bda8eefe1b
2023-08-25 14:45:24 +00:00
WMDE-Fisch 690156b47c Trigger popup creation on pointer focus
Bug: T341872
Bug: T341874
Change-Id: Ia881bcccfe879f48275e896a186b257d270d88b0
2023-08-25 16:43:22 +02:00
thiemowmde 53281f2b7e Remove unused jQuery.fadeTo() calls
This is a little weird. It looks like this was never actually
animated. The time was always 0.

Change-Id: Ibd476bc3bfb05840959db9e51c411d3b12cebd90
2023-08-25 16:20:55 +02:00
thiemowmde 9f2f774cc4 Remove obsolete IE9 safe guard
Change-Id: I350cc395cb0ab673699cda03f6da19c9470ee7bb
2023-08-25 16:19:14 +02:00
jenkins-bot 72ef3975c7 Merge "Drop wikitext comment in favor of parsedcomment" 2023-08-25 13:54:56 +00:00
jenkins-bot 8ce1f474eb Merge "Don't re-create tooltip when it's already there" 2023-08-25 13:53:50 +00:00
WMDE-Fisch 8c4b9b963a Don't re-create tooltip when it's already there
It took me a while to come up with a solution for this, but there
are several things that seem to trigger the showTooltip method a
bit to often.

Tooltips can be triggered either by the handlers that deal with
mouseenter and mouseleave events that also trigger revision high-
lighling. But tooltips can also be triggered when you use the
keyboard or the mouse while dragging sliders.

The mechanics on what's highlighted and what's triggering a popup
are a bit weiridly setup and there could probably be a major re-
factoring done to make things clear ( for example the show popup
method also highlights the revision but the highlight revision
mehtod does not ). I had a quick approach to fix that, but it's
not too easy.

Another issue is, that some events fire off a delayed popup close
mechanism. So the solution here reads like:

If you are triggered to show a popup, and that popup exists
already, stop the delayed popup close mechanism and bail out.

Bug: T341872
Change-Id: I2646a69cccd549af902d57fdf4ff6fb0e94cbe64
2023-08-25 15:35:06 +02:00
thiemowmde 3d93003dcc Drop wikitext comment in favor of parsedcomment
The plain wikitext comment is apparently not used for anything,
anywhere. It was for some reason used for an "is empty" check. But
we can do the same with the `parsedcomment`. I checked and an empty
comment doesn't result in something non-empty like `<div></div>`, but
stays as an empty string.

Change-Id: Iedc5898b7b0f82231328ab3e0e46b1461ca845b1
2023-08-25 14:42:32 +02:00
thiemowmde 5863e5e73b Make use of jQuery.append() accepting multiple arguments
Change-Id: Ibfd285aeef411f16ba6486fa60114439227b7e6e
2023-08-25 14:39:39 +02:00
thiemowmde 040f6c28ae Fix left/right cursor key handler also acting on all other keys
This code was designed for the left/right cursor keys. But it
currently triggers on all keys. This causes confusing behavior when
tabbing through the UI. This code also triggers on tab/shift+tab,
which can be visibly seen when the wrong popup opens. It also
triggers on enter, which feels like it's intentional, but is nore a
happy accident.

Especially note how the buildTabbingRulesOnKeyUp handler directly
below does the exact same: It only acts on left/right, but no other
key.

We intentionally keep the existing (even if bogus) behavior for the
enter key. To be replaced with something better in a later patch.

Bug: T341874
Change-Id: I75aac4ea3a66a69a44756159c8a98acdc6e74b01
2023-08-25 11:36:22 +02:00
thiemowmde 6b4894c4fb Replace numeric key codes with OO.ui.Keys constants
Bug: T341874
Change-Id: I5393ecfea28938b6d9f79efd80e00ee7d76dfbf0
2023-08-25 10:41:44 +02:00
jenkins-bot f204bfe708 Merge "Replace switch with a map in util class" 2023-08-25 07:20:46 +00:00
jenkins-bot 03235ac917 Merge "Remove unused hasNoTags helper method" 2023-08-25 07:20:45 +00:00
thiemowmde dd9e9e25b4 Remove some self = this indirections that are not needed
Change-Id: I2c267e036a1b8ad395019b1aa3dcb29c21b9b251
2023-08-24 11:36:15 +00:00
thiemowmde a045c78b3d Remove unused hasNoTags helper method
Change-Id: I31b08328d8582bd75c6e972cfbfac7b555455015
2023-08-24 11:29:18 +02:00
thiemowmde 8eff7a7455 Replace switch with a map in util class
Change-Id: If569e34f032ecda261f7970d5ef1e59efc55d56c
2023-08-24 10:59:26 +02:00
Adam Wight b900446572 Migrate JS to ES6
Reintroduces IIFE closures in test files because variables were
declared in the global namespace, and "const" now causes hard errors.

Bug: T339323
Change-Id: I69e9d7a29591137f185f3e5ab02dea590ec4dff6
2023-06-23 08:01:31 +02:00
jenkins-bot 9219f80a65 Merge "Dramatically simplify a forEach loop" 2023-06-15 15:57:47 +00:00
thiemowmde fdc1b1212a Dramatically simplify a forEach loop
I'm not sure why it was done like this. It looks like we can skip
both the extra conditional as well as the extra function scope.

Change-Id: I9aebd17bece0b9a573fc1f9697e79b759741751e
2023-06-15 12:16:59 +02:00
thiemowmde 3ca3013522 Add overflow-x: clip to minimize impact of resize issues
This is certainly not an actual fix for anything. But it makes any
resize issue look much less broken and much more bearable. I think it
is helpful to have this extra safety in place even after we properly
fixed the issue.

Bug: T336729
Change-Id: I724ede9cda120f18c4b7ee3ebf7bb41c0541819e
2023-06-15 12:15:56 +02:00
WMDE-Fisch 7b385ee3ef Skip user setting for unnamed users
Bug: T326908
Change-Id: I6421ad020db98d258c45d1f50d211d38b5c6f3a9
2023-05-24 06:13:56 +00:00
Fomafix 6c0d10ddbe Use .empty().append( $jQueryObject ) instead of .html( $jQueryObject )
According to https://api.jquery.com/html/ a jQuery object is not
supported in .html() although is works.

The .empty() is needed to avoid multiple sliders on resize.

Change-Id: I0ce4748e95529dbe27f82d6fd0aa2433bfda4375
2023-04-22 19:16:31 +00:00
Fomafix 65d1dfefbf Use document.body instead of 'body' as jQuery selector
Change-Id: I2e74d31b61f5f46d1bbb1a0283a7468af9c4e856
2023-04-21 08:52:25 +00:00
Fomafix c86df62861 Use mw.msg( ... ) instead of mw.message( ... ).text()
Change-Id: If954018fdfa5a3609bf48e92de9013b05c485f93
2023-04-21 06:36:08 +00:00
Umherirrender e00aa9f599 stylelint: Enable selector-pseudo-element-colon-notation
Via stylelint --fix

Change-Id: Ic1625ae755233e172cc6db734dc21ed2c5b377d8
2023-03-30 00:42:20 +02:00
libraryupgrader 88f6eccd11 build: Updating npm dependencies
* eslint-config-wikimedia: 0.22.1 → 0.24.0
* grunt: 1.5.3 → 1.6.1
* stylelint-config-wikimedia: 0.13.0 → 0.14.0
  The following rules are failing and were disabled:
  * selector-pseudo-element-colon-notation

Change-Id: Ic78a5aa7fca2d917054eb26b5c8d46c008870484
2023-03-22 21:18:23 +00:00
Umherirrender e62fbf5581 build: Remove unneeded inline stylelint-disable-next-line
The error is suppressed in the .stylelintrc.json file and
does not need inline suppression

Change-Id: I476534fdcd521a2884a6be3b7c8ac5c9d1826ef1
2023-03-21 22:53:26 +01:00
thiemowmde f7a171e14d Fix and add missing JSDoc type hints in SliderView class
Mostly motivated by the missing @type tag.

Also make the syntax more compact. This is significantly easier to
read, I would like to argue.

Change-Id: If5cea5ff66ed345df16a2b417f0db4c56db347c9
2022-11-22 14:32:33 +01:00
Thiemo Kreuz 3faf7ff34c Fix broken initial state when old/new revision id are swapped
This might not be the best possible solution, but it improves the
current, obviously broken situation a lot. At the moment one of the
dots is drawn outside of the slider, even if the revision it should
point at is part of the slider. Turns out the revisions shown on the
slider are loaded in multiple steps. The first step misses one of the
revisions when their order is swapped. When the missing revision is
added later it's already to late.

Bug: T168609
Change-Id: I10d15d04d981c87d35b2431080182fb5e3eb2b2b
2022-09-09 11:18:10 +02:00
Ed Sanders 4ed783c2e7 Remove unnecessary vendor prefixes
Change-Id: I1777f850595b3163e47e353aa02194ba838aebeb
2022-07-19 17:23:08 +01:00
jenkins-bot 643f4d7a27 Merge "Modernize and simplify smaller pieces of code in API module" 2022-06-22 19:36:03 +00:00
Thiemo Kreuz fd9b17633b Modernize and simplify smaller pieces of code in API module
Change-Id: Ic3f65516a76b0e4f03013587b164a56ad3785185
2022-06-22 13:11:52 +00:00
jenkins-bot bc9a5d7d84 Merge "Replace html paragraph tags in i18n" 2022-03-28 13:27:39 +00:00
Mortal303 9dc6fa7fb2 Replace html paragraph tags in i18n
Removed the HTML in the tutorial message and used linebreaks(\n\n) in i18n/en.json file,
replaced .html( mw.message( '…' ).…() ) with .text( mw.msg( '…' ) ) in modules/ext.RevisionSlider.HelpDialog.js
and added 'white-space: pre-wrap' in class '.mw-revslider-column-text' in file modules/ext.RevisionSlider.less
without affecting the front end of the page.

Bug: T267128
Change-Id: Iaf8b1819ca3139c18fb65cfca1c0b2120abb10f4
2022-03-21 15:49:07 +05:30