Follows-up f59962e4a3.
wgUserLanguage contains the user interface language of the current
user. mw.language.data can contain several languages.
Also apply encodeURIComponent() to the parameter.
Change-Id: Ifaf5dc4be3fb8f87fbf1513866bcc68648c36ab1
Convert button-like interface elements in MMV from <a> and <div>
elements to <button> elements. Also add tabindex attribute in one
case for keyboard accessibility.
Bug: T161612
Change-Id: I37fb862f82099decd59ca7bb0beeb69b24584bb4
As we already allow visual markup in captions, I see no reason to not
whitelist sup and sub. These elements are even allowed in the
displaytitle whitelist for articles, so seems appropriate to have them
for media captions as well.
Bug: T186844
Change-Id: I4339ee85d139301770a4e15650c9dc0d64c136cd
Removing arbitrary close confirmation color treatment with green.
We don't feature such treatment anywhere else, nor are we planning
to do. Let's remove it.
Bug: T50067
Change-Id: Ia597a51cd9c5ca057720c720b1e3
Align SVG markup across Foundation products by:
- unifying XML declaration,
- removing unnecessary `standalone="no"` attribute as it's default,
- removing unnecessary `enable-background` attribute as it got removed
from standard
- removing all SVG editor metadata
- adding `width` and `height` attributes where missing,
- removing all `g` group elements except where necessary for transforms,
- putting attributes on `path`,
- removing unnecessary ids and
- unifying whitespace.
Also
- changing 'expand' and 'gear' icon colors to resemble general button style,
- while at this renaming 'gear_gray' to 'gear' including CSS reference,
- slightly adapt remaining colors to WikimediaUI color palette and
- deleting unused, unreferenced icon files.
Saving up to 79% file size before gzipping.
Bug: T178867
Change-Id: I9e54a3a972903811f5205def05397383f3484d63
Media Viewer tries to detect the file name from the thumbnail name.
That can break for the main image of a file page, which is normally
a preview (ie. a normal thumbnail) but for unhandled types it can
be some asset (such as a PDF icon).
Bug: T137477
Change-Id: Ie6b23d7ef213087971b320460129910f2efd248e
Adds setWarning(<element>,...) and clearWarning() to mw.mmv.ui.Dialog.
These functions can be used to display a warning ribbon with the given
text in the reuse dialogs, typically when the copyright status of the
file is problematic (e.g. non-free or tagged with {{wrong licence}}).
Bug: T76030
Bug: T71389
Bug: T71557
Change-Id: I7c477c810d391578ec64635357eda97a85ab2954
This is an old library that is broken in Chrome 61.
Rather than updating it we can just use $(window).scrollTop/Left
which works in all the browsers we currently support.
Fix MPSP.toggle to return a promise, instead of a deferred
(although this return value is not used yet).
Bug: T173618
Change-Id: Iaec56debbb808bd95cf65c1ebfe22bdf0116da68
Opera 12.10 supported unprefixed animations, gradients, transforms &
transitions. See http://www.opera.com/docs/changelogs/unified/1210/
Removing support for Opera 12.0x versions.
Change-Id: Id0e0afef1ab6ebda373d63b9c91c7ee731dafb7b
Depends-on: Ie8edbcd7f85c713ea2156706ea3a3a7b423d8d9d
Meanwhile I also updated a few places where a non-string was
passed to/expected from localStorage - this could’ve led to
inconsistencies because localStorage stringifies everything.
And I also removed CP.canSetMediaViewerEnabledOnClick, which
was no longer used anywhere except for a test case.
Bug: T137777
Change-Id: I21ad4ba15ca751bb03e5e2c523d09a45c0444ccf
This heavily relied on deferreds getting resolved synchroneously,
which (for .then) is no longer the case with jQuery 3.
There's also a difference in how chained .then's get resolved,
and $.when no longer propagates notify().
The changes in here are basically:
* fix use of $.when, manually passing along notify()
* use .then in some places, instead of .done, .fail, .progress
* fix progress bar hiding in setupProgressBar, which assumed sync
* fixed tests, mostly by using fake timers to give async stuff a
chance to execute
Bug: T164473
Change-Id: Ib51ddd8bc6254a477861588fb16f57565353afe1
This heavily relied on deferreds getting resolved synchroneously,
which (for .then) is no longer the case with jQuery 3.
There's also a difference in how chained .then's get resolved.
These tests did not wait for the deferreds to get resolved async,
so that had to change. Worse even: some functionality was tested
by assuming a handler would not be called (= the test in that
handler would not be called), which didn't make the test run,
because we never even waited for it to be called.
The changes in here are basically:
* make mmv.bootstrap.js correctly use .then instead of .done & fail
* let mmw.bootstrap.test.js tests wait for unresolved async promises
* check call counts instead of running tests inside of callbacks
* limit use of fake timer to the 1 test that needs it (it interferes
with async, which otherwise don't get resolved)
Bug: T164473
Change-Id: I3ca4f786890ad1646f71fe336afdb61e5c3b01c7
* Buttons are semantically better.
* Neither <div> nor <button> elements can have the 'alt' attribute
so switching to 'title' instead.
Reverts parts of I6ea62124018b1a0ec5110bb500f690cb2368f102.
Bug: T58471
Change-Id: I991b40d3387f8d6dd7cdad8ccc5cc9660b9f139a
Aligning to WikimediaUI style guide by replacing colors with
standard color palette equivalents, merging close colors
(ex: `#E6E6E6` & `#eee` become `#eaecf0` ) and slightly increase
contrast on a few to meet WCAG 2.0 level AA criteria.
Also:
- following other code bases like MobileFrontend or OOjs UI in
using `border-radius` property instead of obsolete mixin
- removing non-existing browser vendor prefixes in mixins
- removing non-used Less variables
- bringing CSS/Less code closer to coding standards and
- simplifying Less code where applicable
Change-Id: Icb936e14ff613471ea1da6df6341ec1b0543cfaf
In addition:
* .mw-mmv-reuse-copy => .mw-mmv-dialog-copy because it's not just a
reuse dialog thing anymore
* Adjust margin between attribution textbox and attribution option
widget to stay consistent with reuse dialog UI
Bug: T77295
Change-Id: I79abdc1a3c10f0a8c3ecb6f4d444a601595a903f
Clipboard icon adapted from modules/tools/images/pasting.svg from the
ContentTranslation extension.
Also adjusts some margins to better separate embed code box from embed
options
Bug: T77295
Change-Id: Ic7a11eab6ecc767ad4d80b94a7b62578d535d047
Replacing colors with ones from current WCAG 2.0 level AA compliant
color palette. Also improving SVG files by svgo optimization where
easily applicable and cleaning up some minor Less shortcomings.
Bug: T149769
Change-Id: I3d46c95a61112ba808c6ec664a95c94e9cb42c5e
Previously, the clickable text in the generated HTML credit lines
was the entire link to the article. This is shortened to a localized
version of "Link".
Bug: T119686
Change-Id: I708f65a85bfa26c264cdd06a265096027266240c
* don't do the slow lookup for closest caption unless there are
multiple captions
* don't clone when there is no need to change the caption
Might give wrong result when selecting a thumbnail which is in a
multi-image template and has no caption but some other image
in the same template has; that seems hard to avoid.
Bug: T141714
Change-Id: Iacebd44ab9dd469d0c95b94e90faa90d579caaa3
No longer needed as MediaWiki is no longer serving JavaScript to IE8
users.
I noticed some possible candidates for removal in the less files as well
but left those alone as this task seems specific to JavaScript.
Bug: T123443
Change-Id: Ibf6d551798ff03a227b46dcb55bcf31899dad974
Remove `constructive` extension of button and remove it with more
generalized `.mw-ui-progressive` class and rely on progressive color.
Also make use of central mediawiki.UI's variable.less file.
Bug: T136209
Change-Id: I22f365419c41dd888824dbfeb4b3c995713ac5a5
Some of the code encountered accessed mw.config directly,
I cleaned that up by migrating to mmv.Config, which is an
abstraction added to avoid peeking at mw.config directly.
Bug: T132064
Change-Id: I2a95ba703e6c7f46296f8e435bceec769dceebf9
When exit button is clicked in the full screen mode, the lightboxinterface
detaches itself but the "jq-fullscreen-change.lip" even is never fired.
This leads to issues as described in T74843 and similar.
Bug: T74843
Change-Id: Id3a68844fd2405fcf289741d54b0602c8e337a3d
Drop the title and site name. Use a shortened URL
created using the pageID for the curid query parameter.
Add pageID property to mmv.model.Image, using value already
fetched from an existing API request.
Bug: T119686
Depends-On: I0f00b986e6095bdb9b8d6af6fbc5b01995227e02
Change-Id: I9189f00bfbf7639974d66cf1921773855a77a865
On not-MMV -> not-MMV hash changes the bootstrap class has set
up and immediately torn down the overlay. Besides slowing things
down, this broke TOC navigation on Chrome in an ugly way.
Add a special case to skip the overlay loading when the new hash
does not contain #/media. This is a quick-and-dirty fix; the whole
loading and hash handling could use a rewrite.
Bug: T119854
Change-Id: I5494903dfe778e533773ff142fdf756475c2df32
These text fields contain file names and license informations that tend
to contain very loooooooooong words. These make the field hard to use
and hard to read, especially when the browser decides to add a horizontal
scroll bar to the already pretty short text field. Some browsers do a
proper word wrap by default, others may not. I suggest to add this
explicitely.
Bug: T69835
Change-Id: I3f32270c1c0310e83288b5f4e260feb474006297
Make it more gender-neutral and better-looking:
- No necktie
- A frame around the icon similar to the frame of a photograph
Change-Id: I05ec5a5a546b19f08ac9a6ab1470b769025e076b
This makes sure that MediaViewer works correctly when content
is changed via frontend code (such as a VisualEditor edit or
an AJAX preview).
Bug: T97010
Bug: T110493
Change-Id: I9c57af281ed7f416521d80512f95a79150ce13a2
When cookies are disabled in Firefox, merely referencing window.localStorage is
enough to cause Firefox to throw a SecurityError exception. (See the referenced
bug for reproduction instructions.) This causes MMV to fail to start.
Bug: T109110
Change-Id: I28399cf8b63328ee34316b785f2d091f6f052224
Currently, if VisualEditor saved an edit, it replaces the current content
with the new content, which removes all already added event listeners, e.g.
on thumbs, added by MMV.
Add a new hook handler to the postEdit JavaScript hook to re-add all event
handlers to the thumb images to cover this case and enable MMV on a page
after a finished VE edit.
Bug: T97010
Change-Id: Ic1ee0b52265363978640358510cab89db4de2bb8
Bug with history.pushState in Edge fixed in Win10 build 10240;
Dave Storey is asking us to remove the workaround to keep our
code pure and them honest ;)
Reverts I6ea4d367
Bug: T104381
Change-Id: I5f53416dda7c31662330dc5ec67e1bbea55dace7
Having many modules makes the startup module in the head
unnecessarily longer. Things should only be in their own
module if they're going to be loaded on demand on their
own or are a shared dependency of separate modules that
are.
This change brings down the amount of modules declared by
Media Viewer from 53 to 8. The ones that remain are
mostly things loaded on demand.
Bug: T103706
Change-Id: I5b0d29209599285b93217e96def818e641646c73