Commit graph

2766 commits

Author SHA1 Message Date
Thiemo Kreuz ac65bd3082 referencePreview: No event bubbling on inner child elements
This is relevant in case the HTML looks like this:
<… class="reference"><a><span>[</span>2<span>]</span></a></…>
The additional <span> cause many additional mouseover and mouseout
events. The code already tries to filter these duplicate events that
are all triggered on the same link, but gets confused, especially when
the multiple chains of events overlap each other in unexpected ways.
It's a timing issue. This change does not fix the fundamental issue,
but does make it much less painfull.

This patch also removes the > from the selector. This is in case the
HTML looks like this:
<… class="reference"><span><a>[2]</a></span></…>
The additional inner <span> would prevent any reference preview from
being shown.

Bug: T214693
Change-Id: If2554ba78072245c27a1f85c46f33e3c58582c1d
2019-05-09 13:23:45 +02:00
Thiemo Kreuz b3fb2b5867 referencePreview: Replace width: 0 with display: none
Before, the element is still part of the DOM, shows up in the debugger,
and consumes rendering time (probably close to zero, but still). After,
the element is gone.

Change-Id: I580fd89868b5a91118a8115d71d819824ff7f80c
2019-05-09 13:19:14 +02:00
jenkins-bot fe6c707da1 Merge "Show referencePreviews on click" 2019-05-08 16:00:02 +00:00
Translation updater bot 503184584a Localisation updates from https://translatewiki.net.
Change-Id: I74e847b56c7033724879a98baa3fe948f8bda6fc
2019-04-29 22:16:13 +02:00
WMDE-Fisch 1879a4d59e Show referencePreviews on click
Introducing the REFERENCE_CLICK action that will fetch and show the
preview for the clicked reference right away without any delay.

The main goal of the new chain of events introduced with the reference
click is showing the reference preview right away. The actions triggered
by the dwelling include delays in multiple parts of the process.

If there's a dwell action-chain in progress when the click action is
executed, the related promise ( that might still include steps with
delays ) and the reference preview is retrieved and shown right away
re-using the token. 

In the case where there's no dwell action running ( e.g. when the click
was triggered via touch ) we create a new token and start from scratch.

In either case we want to avoid, that multiple clicks trigger multiple
actions and abort early when there's already a click action in progress.

Bug: T218765
Change-Id: I073a93be2d17a21178aebe12267765f60a2811b9
2019-04-29 17:46:49 +00:00
Translation updater bot e18e92dbf9 Localisation updates from https://translatewiki.net.
Change-Id: I6b15463c03804756a6e925eaf83092f85b59dc1a
2019-04-26 22:28:12 +02:00
Thiemo Kreuz 3ca2709cfe Streamline code calculating fade-out bottom position
I actually tried to bring the animation for the "bottom" property back.
When finished, I realized this animation is done on *top* of the
horizontal scrollbar. This looks fancy, but is not what we want. We
need to keep animating the opacity.

This patch here contains a bit of refactoring that was left after I
went back animating the opacity.

Bug: T220200
Change-Id: Icf613f72f3baa3de86f8aa319667c8e8f16593fd
2019-04-26 18:14:30 +02:00
WMDE-Fisch d72ef0fa65 Avoid fade-out above horizontal scrollbars
The changes in the patch check if a horizontal scrollbar is present
and move the absolute positioned fade overlay above that scrollbar.

Since we cannot change the CSS of the :after element via JS a new div
element was introduced.

Bug: T220200
Change-Id: Ia69c9be0facaf3ecebdb9f76d36f7cb3412c0816
2019-04-26 18:02:06 +02:00
Thiemo Kreuz 8305eb8634 Minimize createStubTitle() helper method
Pretty much all usages of this function do *not* use the second
parameter to pass a page name prefixed with a namespace, but pass the
page name only.

This patch here removes the redundancy. The namespace prefix is now a
generated one, saying "Namespace <number>:…". It turns out no test
relies on this so far.

Bug: T220097
Change-Id: Ibd45d49c91e86a2647afe676a5e3bb07dfeab6ed
2019-04-26 07:45:13 -06:00
WMDE-Fisch 6c535739bf Use title.getNameText() to compare selflinks
config.get( 'wgTitle' ) returns the unnormalized title of the current
page while title.getName() gets the normalized title (e.g. with underscores ).

On pages with spaces in the check failed before this patch.

Bug: T220097
Change-Id: I58a532627bb27be030cbc553f1181a89109edd80
2019-04-26 13:58:08 +02:00
jenkins-bot f40cc718ce Merge "Use title and namespace id to check if link is current page" 2019-04-26 11:04:12 +00:00
jenkins-bot c334b7cdf7 Merge "Allow text selection on all fade-outs, not only on references" 2019-04-26 10:12:44 +00:00
jenkins-bot 61c91d7256 Merge "Don't block clicks on vertical scrollbar behind fade-out effect" 2019-04-26 10:12:42 +00:00
Umherirrender d7767ed7f5 Add phan
Change-Id: Ia56406f26ecf81d35f505d4a62a93615fcc718fd
2019-04-25 20:54:33 +02:00
Thiemo Kreuz 34cf1f0764 Allow text selection on all fade-outs, not only on references
The last line in all popups ends with a fade-out gradient to white.
The text in this last line can currently not be selected because it is
covered by this partially transparent container, and the container
consumes all mouse events.

This patch here moves the existing solution from "reference previews
only" (where this was a much more serious problem that on page
previews) to the top-level .less file that is for all popup types.
This is not strictly required, but I feel the code belongs there.

Bug: T220200
Change-Id: Iedf667ead453c9e72025d5fdc7af34756456e68a
2019-04-25 19:31:54 +02:00
Thiemo Kreuz 06cdb58d3e Don't block clicks on vertical scrollbar behind fade-out effect
This does not solve all two acceptance criteria mentioned in T220200:
* This will allow *interacting* with the scrollbar, no matter if it
  is partly covered by the fade-out effect.
* This still does not place the scrollbar in front of the fade-out
  effect. Very thin scrollbars are still very hard to see.

Bug: T220200
Change-Id: I394aea6a25c4b3923ad01e18328d42a5e50081f3
2019-04-25 19:26:25 +02:00
Translation updater bot 8df99c6b95 Localisation updates from https://translatewiki.net.
Change-Id: If7fce7c64aefcdbbc5a8b3729ed02cfa4d72e499
2019-04-23 22:46:03 +02:00
WMDE-Fisch 35aa05afee Use title and namespace id to check if link is current page
Bug: T220097
Change-Id: Ieffd6a02b4126f6713610e968d662516499d4998
2019-04-23 15:17:06 +02:00
Adam Wight 0acc8db529 Decode fragment, needed for multilingual named references
Named references may include non-ascii characters, so we decode the fragment before matching against reference IDs.

Bug: T220196
Change-Id: I63bba59fa8f0f6aa95aeadbb1f85745d480988bd
2019-04-23 11:39:30 +02:00
DannyS712 cd21c7a2f2 Convert mediawiki links from http to https
Bug: T189687
Change-Id: I87704d1df3698d38b594b54a59b4ed249acb592e
2019-04-19 00:02:49 +00:00
WMDE-Fisch f8562a89d6 svgmin optimizations on updated OOUI icons
Icons were updated in I8feea1b526ff85c4ffdee21ef42c616e72881e76 the
pre-commit svgmin optimizer does these minor changes in the two files.

Pushing these to avoid constantly changed but uncommited SVGs in the 
images directory when working.

Change-Id: Ib8a66df12dc692eb356a33815f5aade1983f625c
2019-04-18 19:21:48 +00:00
jenkins-bot 0067ef6dff Merge "Remove -o-linear-gradient for Opera 11.5, Opera Mobile 12" 2019-04-17 20:24:34 +00:00
Volker E 3fdd8fd7b8 Remove -o-linear-gradient for Opera 11.5, Opera Mobile 12
Removing obsolete vendor property specifically for old subversion
of Opera < 12.1, desktop and mobile.

Change-Id: Ia5f1e4d00dfd80c261b4c0e0e443c02b606e4109
2019-04-17 12:52:12 -07:00
jenkins-bot f24c478a67 Merge "Match callout border color to rest of popup" 2019-04-17 19:23:33 +00:00
jenkins-bot 459942a305 Merge "Update OOUI icons to latest versions" 2019-04-17 19:03:14 +00:00
Ed Sanders 98b421cc3a Match callout border color to rest of popup
Bug: T219585
Change-Id: Ic1d90842c10fb57916cd9ac996bb7d3383ca289e
2019-04-17 17:36:25 +00:00
Ed Sanders 78cbb02191 Update OOUI icons to latest versions
* web.svg was deprecated in favour of browser.svg.
* Update sad-face.svg based on OOUI speechBubble-ltr/rtl
* Apply preview-generic/disambiguation grey colour using CSS.

Change-Id: I8feea1b526ff85c4ffdee21ef42c616e72881e76
2019-04-17 12:11:08 +01:00
Translation updater bot e3211ae596 Localisation updates from https://translatewiki.net.
Change-Id: I0f9d890e1171137ba307a25c3c02bd220b79ecfd
2019-04-14 22:30:21 +02:00
jenkins-bot 515ed91475 Merge "Remove redundant wgPopupsShouldSendModuleToUser variable" 2019-04-12 17:09:56 +00:00
Translation updater bot bece8542eb Localisation updates from https://translatewiki.net.
Change-Id: Ic9128c3373762556e3ea6147a8b040f804f089ac
2019-04-12 08:32:20 +02:00
Translation updater bot 08b67e353d Localisation updates from https://translatewiki.net.
Change-Id: I4a778cb5c2405c40ebc364994b956dfe2ca8263c
2019-04-10 09:23:26 +02:00
Timo Tijhof 81b94eff0a Remove redundant wgPopupsShouldSendModuleToUser variable
It is set based on the same conditional that loads the code,
thus checking it inside the loaded code is a no-op and adds
extra HTML to the <head> that blocks text/layout rendering and
delays fetching of Popups JS.

Bug: T219342
Change-Id: I9c1f4b3861ce2cecb654eb0a78469a616730a40b
2019-04-09 18:31:35 +00:00
WMDE-Fisch 5a38638388 Fix module load script and remove pause
I just realized on another test set, that this is actually not implemented
in a way where it is working correctly. The return value of the browser.exectue()
is returned as part of an object and not directly. So the condition was always
true and the wait until did not really wait for anything.

As a result I'm quite confident the pause is not necessary.

Change-Id: I274bdee0b3c39c418a2b61881d56f89889c53485
2019-04-08 21:17:53 +02:00
WMDE-Fisch 79ee43fbeb Avoid exception when checking for loaded modules
The test would lead to an exception when 'mediaWiki' is not defined. The
exception would then also abort the whole execution so in this context it's
safer to use typeof with 'undefined'.

When the mediaWiki js base is loaded though, loader.getState() is guaranteed
to be available since it is part of the root module.

This also uses "mw" instead of "mediaWiki" for consistency in test.

Change-Id: I1262d0b5c4a1136f4d2294f125336e72118c6e2c
2019-04-08 19:51:11 +02:00
Translation updater bot 54702bff62 Localisation updates from https://translatewiki.net.
Change-Id: Ib03e8f474d6b81864f7177acdd31a2f451912a79
2019-04-08 08:39:14 +02:00
Translation updater bot 472b10e638 Localisation updates from https://translatewiki.net.
Change-Id: I29a3e248be5c09af55ce9aeb1821ecc5e3b28813
2019-04-05 22:27:35 +02:00
WMDE-Fisch b3a58a6dd3 Move browser tests loading steps to beforeEach
- test page loading and waiting for the scripts moved to beforeEach
- removed unnecessary abondonLink call
- removed unnecessary browser.pause()

Change-Id: I28eb7b9b48f105315bf41f7a41e5a1e6ec21cb2b
2019-04-05 15:56:16 +00:00
Translation updater bot c8a893fc42 Localisation updates from https://translatewiki.net.
Change-Id: I1c1f1def61a97c43cd1a525ff9c1be60431ddc7a
2019-04-04 14:54:28 +02:00
Translation updater bot ff818164d1 Localisation updates from https://translatewiki.net.
Change-Id: I3cf3214c3b67c18f7f4bf2bb8a784359ac27ceaa
2019-04-01 22:41:13 +02:00
jenkins-bot 6531459e1a Merge "Improving RTL support for the Storybook app" 2019-03-26 19:20:00 +00:00
Thiemo Kreuz 511c74bf72 Make sure to never trigger multiple events
I had to disable ESLint to be allowed to upload this patch. It starts
complaining about something in code I did not even touched. The error
message does not make any sense to me (something about globals being
forbidden in code where I can not spot anything that would be remotely
global).

Change-Id: I6d4b178a65126c4b81b87d99142a6cdc845ae5ee
2019-03-26 12:39:28 -06:00
Thiemo Kreuz 522f4aa8a2 Fix incomplete test coverage for referencePreview renderer
Two big chunks of code (the "click" and "scroll" event handlers) have
not been covered with QUnit tests before. I found this was not that
complicated and worth the effort.

Note we already have browser tests in place for these features. These
are still required because the scroll feature can not fully be tested
when the popup is not actually rendered on screen.

Bug: T214971
Change-Id: I58111489fe6c4bed65efec59f9fc4184c828b2b3
2019-03-26 16:54:17 +01:00
jenkins-bot 70ebaa221e Merge "Move test for escaped URLs into seperate check" 2019-03-26 13:25:11 +00:00
Translation updater bot 7132273215 Localisation updates from https://translatewiki.net.
Change-Id: I843620ce65099e5abd4b103466c97b2482b8ff6b
2019-03-26 08:45:13 +01:00
WMDE-Fisch de8f7a133c Move test for escaped URLs into seperate check
With this I want to pull apart testing two things at one, checking if the
URL is escaped and if it is put to the right position.

So this adds an explicit test, that makes sure that urls in the popup are
escaped safely and lets the big test become more general in that regard.

Bug: T214971
Change-Id: I09b5225a8370e8b1337b2cf6ca03ccb79b3a64aa
2019-03-25 16:24:26 +01:00
WMDE-Fisch 07318c3a33 Add test for dwelling reference links inside a reference preview
Bug: T214971
Change-Id: Ib2f782a67d85647a385f81d5d5fca89b221a9e22
2019-03-25 12:37:05 +00:00
WMDE-Fisch dc1625de64 Add tests for the reference preview fade effect
Bug: T214971
Change-Id: Ie59347e7f51d449900d3a107fd85b0753a14f449
2019-03-25 12:36:47 +00:00
WMDE-Fisch 2cff0a1a8e Simplify testpage setup for browser test
For the reference preview tests we extended that with a lot of stuff
that we do not really use in the tests atm. Lets only have stuff in there
that's really relevant for the tests.

Change-Id: I03c6e00445e9bfe48572fd1b19a7ef1ecd472f4e
2019-03-25 12:36:26 +00:00
Andrew Kostka 522829c43a Add a fade out to reference content
This will only be applied when the height of the content exceeds four
lines of text.

Bug: T217139
Change-Id: If15952c9886c23827873812bb63e8e3127776709
2019-03-25 13:30:52 +01:00
Jan Drewniak da369d09ae Improving RTL support for the Storybook app
- Adds CSSJanus support on a story-by-story basis for the Storybook app.
- Adds an extra RTL portrait thumbnail test-case.
- Adds an extra RTL 'thin' portrait thumbnail test-case.
- Removes the `createContextualFragment` wrapper from stories,
  as well as the wrapper divs.

Bug: T204627
Change-Id: I22195c6ddc73d69f15dc8e24c33b49ef28d9b0be
2019-03-25 11:19:15 +01:00