If the URL of the thumbnail has suspicious characters like ', " or \
return a <span> instead of trying to render a thumbnail.
Bug: T88171
Change-Id: Ide052ea2a7de166599d077a385a6e788bfa63302
Instead of replacing all instances of the title in the extract -
'$1<b>$2</b>$3'
We now put symbolic strings there which we use to split the string
and then make an array of text and <b> elements that get appended
to $contentbox.
Bug: T76378
Change-Id: I02222bbff84532f63cac67af1bf889c328ec6ff2
Use proven technology to create and compare URLs.
This will display popups also on anchored links again.
Change-Id: Ic010ca027017435f666782e709e641cf3bbb8767
Hotfix for Ie34064860a81c7866b8e8b86858d2e12a8a196f4
Still won't show up popups for anchored links, but dunno if intended.
Change-Id: I91a15153cb8bcae6d8ef2e5616855e4d45be6d78
Use the getUrl method to check that the <a> actually links
to the article that it has the title of. Only those elements
are returned by selectPopupElements.
Bug: T70039
Bug: T72512
Change-Id: Ie34064860a81c7866b8e8b86858d2e12a8a196f4
This is a subset of patch Ie340648. If reviewing and merging the much
larger other patch (it does much more things) is a problem, we can
merge this first, rebase the other one and have a much more focussed
discussion.
Change-Id: I4549fb1810c7dd36df8a70983d9508015c2bfadf
HTML5 allows <a> elements with no href="..." attribute. We do this in
Wikibase/Wikidata in a few places. Hovering these <a> elements causes
TypeErrors.
This is a hotfix. Please see Ie340648 for a much more advanced fix.
Change-Id: Ib20ef8348c964a6ba736d0fc76909fd4d496c11e
- Don't prevent the link click event.
- Check with the currentLink element rather than jQuery selectoin.
- Add click handler to images (used to be only extract).
- Stop the 'closePopup' if 'reset' has already been run.
Bug: T86378
Change-Id: I8748ecffe55954425656c5103fa9ddc99b6f3f72
This <div> had been sitting visible at the bottom of the page
and went unnoticed till it caused problems with the ContentTranslation
extension.
Hiding it using 'display: none;' causes issues with the masking
of the images, thus putting the div out of the view port.
Bug: T76718
Change-Id: I731128c827aa093e0ffab52dc378aea386b0bb3c
Currently .mwe-popups-extract keeps some empty space after the last
line. This shifts a little when zooming in causing part of the text
of the next line to be visible. Reducing this to have lesser extra
empty space solves the problem.
Bug: 73551
Change-Id: I968fca23fe2de04cb3f73ba4e7d4f676fbf88536
When zooming in the border of the div is visible over the :after
pseudo element.
- Update top and bottom triangle mixins to include @extra argument
- Update pseudo elements to use the new mixin and position them
correctly according the extra size
Bug: 73550
Change-Id: I05b9c74a675c69e407c4c78771504f447da754c5
Hovercards is currently at 5 z-index which causes
it to be rendered behind the compact personal bar.
Changing this also effects the border triangles and
masked SVGs, thus incrementing them too.
Bug: 72882
Change-Id: Ib3c889c748a9c919754d8281e68fd0664db7c408
This was happening due to:
* Stale CSS selector
* Incorrect margin values
Also added missing triangle pokey for a particular
orientation of the hovercard.
Bug: 71872
Change-Id: Ic4986f9cee2a92b29548ef21f9bec3f2c2117e98
This code has not been working because processAllPopups does
not execute. Test the change with:
https://en.wikipedia.org/wiki/User:Prtksxna/common.js
Bug: 62952
Change-Id: I3c8b5590b89693743c85c006fc0ee0a50e8b8342
The script depends on a title being present in title attribute. So
skip links without title attributes (which were getting empty
attributes due to the implementation of removeTooltips) and bail on
trying to open a preview for links without a title.
Bug: 67728
Change-Id: I4cc744bea10af34741681f11e03d77b3d53e3a3b
removeBracketsFromText doesn't count it tracks nesting level, and
brackets are [] not (). Minor detail.
Change-Id: I8f42b1ccae5233d7b6062bb311eced6ef3085d4a
Per discussion on the bug, the current values of 150ms/100ms cause a
lot of unintended actions.
Bug: 64234
Change-Id: I6fe2d89ad97630ec5c7f47d3e3b9b71d7cfc5d3f
In combination with other gadgets the error
TypeError: re.query is undefined
can occur because the request contains titles:'' and the response is [].
Change-Id: I46d02e7c48a55cd9af20fd7ef729b4d26f69a8c0
Casees:
1) Hello (and welcome)
2) Hello )and welcome(
3) (Hello (and) welcome)
The current RegExp only takes care of (1). The new code should
take care of all the cases.
Bug: 65138
Change-Id: I39f38beed0cf612067d6fc61b18295d1d38fcc22
These links were not ignored due to a typo. This also threw an error,
because these links produced query.interwiki and not in query.pages.
Change-Id: I3b5c5b900209323e3e72b41e3b02e90f1f53b4eb
Instead of the current incomprehensible mixture of em's and px's.
This will help resolve other positioning bugs with relative ease.
Change-Id: I9d7659736489c461ab8c0f4aa660a3ce2846bd5d
The setting is called 'underline' and defaults to 'Skin or
browser default' (= 2). If set to 'Always' (= 1), which is what
I personally like and do, ;-) all text in hovercards is
underlined (and the underlines disappear if you hover the
hovercard, which is a bit tricky but possible).
This simple fix removes the dependency from the default style
(which only shows underlines on hover). I think this is the most
straightforward solution.
Change-Id: Ide54ffd1949a50184d8d2a680bf1a0d35e24d563
Increase the extract font-size. Also increase
the max-height of .mwe-popups-extract so that
the text does not get cut.
Bug: 63508
Change-Id: Icde0ca8af44e68cab71816f4c89fe9a68f66b472
The title here is not percent-encoded or anything, it's just text.
Calling decodeURI() can cause errors to be thrown if it doesn't happen
to be a valid URI.
Bug: 64236
Change-Id: Iee7c1db0c01cba405f0a2a03b0de58e9edb9a171
Previously we would wait 150ms if the data was cached,
or 50ms + [API request time] if it was not.
Using some promise magic to achieve this without decreasing
performance. The behavior of sendRequest() was changed a bit.
Bug: 64235
Change-Id: Ibe6e1a5f4ac02f538dac686476ac95ba506a1a86
The old version would iterate over all links on the page (try that on
[[Barack Obama]]), the new one should be optimized by the browser and
poly-filled by jQuery if unavailable.
We can't do `:not(.extiw, .image, .new, .internal, [title=""])` –
while some browsers support it, CSS specification doesn't allow
compount selectors inside :not().
Change-Id: I0e4b18752905604ebf1b7f41a9b7ac2edd8b42e0
* Do not escape double-quotes in single-quotes string
* Remove repeated <defs/> tags, one is enough
* Reindent
Change-Id: I6a5b53384b8d5604bee11cb993d040282accf999
Browsers like Safari and IE9 alias <image> tags to <img>
tags and thus don't display hovercards correctly. By creating
the `image` in the svg namespace we solve this problem.
Bug: 62985
Change-Id: Iff92d59ea231d1208eea149cc8c182a5fe87701a
* Consistant whitespace after keywords
* Misc whitespace cleanup as per JS coding guidelines
https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript
* pass mw to IIFE and use the function arguments close to function body
( function ( $, mw ) {
...
}( jQuery, mediaWiki ) )
* Moved prefined moment to .jshintrc. Move browser:true too
Change-Id: If488974e8e5987916bc4043e4e70bb6c60472b30
Prevent popups from showing up when the mouse cursor accidentally
ends up hovering a link after scrolling.
Change-Id: I07a95d9eabdc22a045a97b07f98fb0d632a276c1
- Only text popups
- Portrait popups
- Landscape popups
Had to convert the landscape popup's img into an svg:image
too. 2 new SVG masks were made to take care of the flipped
states.
Change-Id: Ib30bb7f5ff9857f6a470b07db05ab50fb0ca8a5d
* Triangles using the border hack for the white part of the popups
* SVG clipPath on FF and Chrome, using SVG <image>
* Fallback to <img> on browsers with not SVG support
Change-Id: I3b1226051436652edbffe4642176c9a0e405243c