Commit graph

925 commits

Author SHA1 Message Date
Timo Tijhof 0f092b6cb3 tests: Minor clean up of mmv.ui.metadataPanel.js and other tests
* Declare variables inline, as per the current code conventions.

* Use `assert.true()` or `assert.false()` in a few places.

* Clarify some test names and simplify some surrounding code.

Change-Id: Id0bca942e34564b9c011e89c0b2298cbb4f8a582
2022-05-13 22:13:01 +01:00
Timo Tijhof 5e1dece304 tests: Make mmv.ui.metadataPanel.js pass with non-English locale
My browser is configured with en-GB as its locale. This meant that
when qqx was passed down, it fell back to my browser's default locale
and thus made the tests fail, as the expected data was set against
lang=en.

Ironically, MMV actually prefers the en-GB date format, and outside
tests even replaces 'en' with 'en-GB' when formatting dates in the
user interface. It was only in the tests that it asserted the 'en'
format that would otherwise never be used by MMV.

Ironically, the reason my locale is affecting the test is because
we switched from hardcoded lang=en to hardcoded lang=qqx which is
meant to disable any influence from localisation. However, when
passed to browser-native Intl API, qqx is not valid and thus
caused us to not have a hardcoded 'en' but a completely variable
UI language based on the developer's browser settings.

Bug: T250045
Change-Id: I94ad25cc7060ac5e9db41c6b6767aa9fd687a0db
2022-05-13 21:49:51 +01:00
stang 52f2d40c8e Add word-break rule for mw-mmv-image-links to prevent overflow
image-links section may overflow if file has a long filename,
and a horizontal scroll bar may appear. Add a
"word-break: break-word" rule to prevent it from happening.

Bug: T305328
Change-Id: Ief395b66525b686fdcd7dec0909775065240a724
2022-04-03 15:55:52 +00:00
Sébastien Beyou a10359e6e6 Replace deprecated jQuery.throttle/debounce
This requires MediaWiki 1.38 for mw.util.throttle.

Bug: T213426
Change-Id: I3f689eea837ef72de9ab7afb68578093eab8db20
2022-02-10 13:22:52 +01:00
Iniquity 5803ea79eb Remove discussion and help links from footer
Bug: T133899
Change-Id: Ide631cd8bd98ff5084a8c406515c53b8a0cb033a
2022-02-06 01:15:02 +00:00
James D. Forrester 7dbee90cce Avoid ableist language in comments and test names
Change-Id: I55047f95da7c05f631f4009cbe25d8515dd937f1
2021-12-09 19:48:17 -05:00
Volker E f074ab467b Replace obsolete LESS box-shadow() mixin
With unprefixed property.

Change-Id: I2b4117e6dd7082d544e09969441e5a5f912f7d1d
2021-09-11 02:31:19 -07:00
seddon b007aaa741 Err: param required cant be empty/0 ThumbnailWidth
Bug: T277893
Change-Id: I5b440be10aa30527270515f6921596b8000a9f83
2021-08-25 20:34:32 +00:00
Ostrzyciel c38a65410a Link to local description page if present
Currently for files from foreign repositories, the "More details"
button always points to the foreign description page, regardless of
whether a local description page exists. That is a bit unintuitive,
as the local description page often contains additional info (like
categories) that may be useful for the user.

This patch changes the behavior of the button to link to a local
description page if available.

Change-Id: I7db609a4dda42f28ef913ad6d4256fb5adabeb89
2021-06-20 07:24:00 +00:00
Volker E 3205e72ad8 build: Replace 'grunt-svgmin' with npm based 'svgo' & re-crush SVGs
Replacing 'grunt-svgmin' with 'svgo' v2.3.0.
Also
- replacing all Grunt based tasks with npm equivalents. 'build' has
before just been for SVG minification and that's the same now in npm.
- changing to JS based '.svgo.config.js'
- re-crushing all SVGs. Note that 'link-hover.svg' and 'link.svg' have
been optimized with reduced precision. All other changes are resulting
from updated SVGO.

Bug: T278656
Change-Id: Ie895edb4e88336ffc56f570b8f80bf7d1e331894
2021-04-12 13:01:59 -07:00
Volker E 1a5aa67c08 styles: Remove obsolete vendor prefixed properties
Bug: T278670
Change-Id: I5640e4539598de8e9ae2d4e5172a5ae41b570ce3
2021-03-29 02:19:27 -07:00
jdlrobson d9925de6d5 Catch malformed URIs
Malformed URIs are difficult to filter due a lack of normalization
across browsers. This is our top error message with over 300 instances.

Catching this would reduce logspam and make our client error logging
much more usable.

Bug: T268060
Change-Id: If1c345af704df82f16c7ef1ecbf63862c1fbee77
2021-03-04 09:12:47 -08:00
Cormac Parle ecbb6856cf url-encode page uri before starting the view duration timer
Bug: T268060
Change-Id: I956f745786fe41b2c62c8ee6d13d91d9dc89bda5
2020-12-10 12:22:15 +00:00
AronDemian 72636057d8 [cleanup] Fix eslint (new version) warnings
Bug: T245930
Change-Id: I7a62e5a0a90ce0f4e4385afdae1e57722bc9ac82
2020-11-02 02:58:31 +01:00
diwanshu885 5271e7a08d Wrap the mw.Uri creation in a try-catch block
Bug: T261799
Change-Id: Ibaf027917f34d0591b7ebc669d9fbaff2f0bb442
2020-10-20 00:21:07 +05:30
Ed Sanders bfdcd8dbf1 eslint: Update eslint-config-wikimedia to 0.16.2
Change-Id: I0c35ed9b5ab00952124cb0e5c6c48fbc0d734f60
2020-06-26 12:14:27 +01:00
Ed Sanders d554d7f426 Docs: Fix whitespace
Change-Id: I98dc12787f68bd8db60e5a5bcb9366daf9f2f6b8
2020-06-26 11:21:04 +01:00
Volker E 9d2f7de650 Amend Base10 color from #222 to #202122
Amending Base10 to slightly darker `#202122` to fulfill WCAG
requirements in connection to Accent50.
Also adding it as WikimediaUI Base equivalent variable for
future replacement.
Also removing variables not in use any more.

Bug: T248393
Change-Id: I6fb5c288cfeb2bd3c786c2f5ab771074203b8fc0
2020-04-20 13:50:10 -07:00
Volker E d5aad3a260 Add file extension to LESS imports
Similar to how other extensions have been amended.

Change-Id: Ic9905fe166507739cd687f5aa2f44a0625b9746b
2020-04-17 21:13:01 -07:00
Volker E 02c0fd738f Rename 'mmv.globals.less' to 'mmv.variables.less' following naming pattern
Renaming 'mmv.globals.less' to 'mmv.variables.less' following naming
pattern of other extensions like MobileFrontend, Echo or Flow.

Change-Id: I376c3fd1463ed225e214f165943576f3e3c7df39
2020-04-17 21:05:58 -07:00
jenkins-bot 7b3e5b5093 Merge "Maintenance: npm -s run lint:fix caught some missed empty lines and spaces." 2020-02-27 18:48:55 +00:00
AronDemian c73a73a203 Maintenance: npm -s run lint:fix caught some missed empty lines and spaces.
Bug: T245930
Change-Id: I338069768111963a25531fc3996f6031b76dc4ee
2020-02-27 06:50:49 +01:00
James D. Forrester cf26ef2e1a metadataPanel.formatDate: Account for timezoneness
As MDN says, new Date( dateString ) is strongly discouraged, for
exactly this reason. Oy.

Bug: T243160
Change-Id: Ib71b16185f5bd1cd522535716b6e36d2699678cd
2020-02-24 15:16:00 -08:00
Matthias Mullie ca1364928c Move mmv-close event trigger higher up in lightboxinterface/unattach
This avoids a bug with Firefox's automatic scroll restoration logic,
which seems to always jump to the top of the page upon closing MMV.

Bug: T229484
Change-Id: Ia4261ce268df4d8fb07b4813a6ae72ad88728e91
2020-01-15 00:50:13 +00:00
Umherirrender 6a6d17b999 build: Remove unneeded exclude from .eslintrc.json
This reverts parts of commit bb26bc47b4.

Change-Id: I108e2f39713fb95f4b00dabd495e27f4bd5af90a
2020-01-08 19:51:42 +00:00
jenkins-bot 5c931b5d2e Merge "Increase timout for browser cache hits from 10ms to 100ms" 2019-11-28 18:13:34 +00:00
Thiemo Kreuz 550d01d231 Increase timout for browser cache hits from 10ms to 100ms
At the moment, the blur effect is shown all the time when flipping back
and forth between images that have already been loaded. I believe the
code just does not have enough time to get it's job done. Even if it was
a cache hit, the very low limit of only 10ms results in all actions being
considered "long running", and the blur effect been shown.

Given the animation takes 300ms, using a very low threshold like 10ms
seems unfair. Something like 1/2 of the animation time seems more
appropriate.

Change-Id: I8d655be3830fef3f363a0942ac64c932c1e8f7f7
2019-11-28 03:44:31 +00:00
Volker E 44d39ad807 Remove obsolete color
Removing obsolete color, the list items needs to inherit WikimediaUI
palette color `#222` from `.mw-mmv-post-image` instead.

Change-Id: I70354470e0571b6eb8276a3e47167c507b4d717c
2019-10-13 09:40:55 -07:00
Krinkle bfc93418c8 Merge "Remove @embed where it needlessly delays loading of the UI" 2019-09-27 16:19:42 +00:00
jenkins-bot dd4f996ae4 Merge "Revert "Clicking on the black wrapper should close MVV"" 2019-09-23 19:16:59 +00:00
Esanders 24fcde2546 Revert "Clicking on the black wrapper should close MVV"
This reverts commit c7c8059a0a.

Bug: T133900
Bug: T231895
Change-Id: I0583487249ca4bb29bf68fb218a3ddf2251893e7
2019-09-23 18:51:33 +00:00
James D. Forrester e75c8f3fb4 mmv: Don't try to use internal (now removed) ext property of mw.Title
Bug: T232521
Change-Id: I8af85efc2b7ff84f81a72b39986ce3eb356eac69
2019-09-10 12:57:33 -07:00
Timo Tijhof 70b0cbb727 Remove @embed where it needlessly delays loading of the UI
* mmv.ui.canvas / error-media-icon.svg:
  Used when the media file fails to load (e.g. due to an intermittent
  issue with the user's network connection). Rarely displayed,
  and the space is reserved (no FOUC). Seems fine to display
  slightly later within that use case (or not at all, if offline)
  to make the MMV interface itself load faster overall.

Bug: T121730
Change-Id: I760f46c920c3d1f3da2cb385d8cfd81951b628e5
2019-09-02 01:24:56 +00:00
libraryupgrader 5410aa9150 build: Updating eslint-utils to 1.4.2
* https://npmjs.com/advisories/1118

Additional changes:
* Added .eslintcache to .gitignore.

Change-Id: I9b6420e70ec7f4568b707371c731a8db56f6e34a
2019-08-24 12:16:21 +00:00
jenkins-bot b351d1b5fc Merge "build: Update devDependencies" 2019-08-01 02:15:32 +00:00
Ed Sanders 18a154b989 build: Update devDependencies
Change-Id: I46f5317976ef9f818e30b0c81018e83800535389
2019-07-31 22:59:13 +01:00
Ed Sanders f4d6c9f37e Remove useless .opacity mixin
Change-Id: Icff7c01aba4a647d23bae1925b725bddc555c762
2019-07-29 17:56:43 +01:00
Ed Sanders 0cda0f8706 Drop CSS hacks for unsupported browsers (IE<11, ancient Firefox)
Bug: T184543
Change-Id: Ibd07ecd545f9b69f4dd3adb2b371b4d87ca4098b
2019-07-29 15:33:58 +01:00
jenkins-bot ec72d6284d Merge "Chrome does not revert title to article title" 2019-07-29 14:20:14 +00:00
Simon Legner c7c8059a0a Clicking on the black wrapper should close MVV
Bug: T133900
Change-Id: I0f05a3b16cdbef9a64a3d5cb4982525460e3b002
2019-07-09 17:21:10 +00:00
jenkins-bot 989af50dcf Merge "Make the download/share buttons actual links for right/middle click" 2019-06-15 22:09:38 +00:00
Simon Legner a663d2884c Chrome does not revert title to article title
The issue seems to be related with the chronology of the document.title
update and the history.pushState/replaceState call.

Bug: T225387
Change-Id: Ifcd11d5efb3ba64d88b137eccb4b9c763d043004
2019-06-11 11:50:44 +02:00
Fomafix f89d7dc878 Remove "window." for location and setTimeout
The JavaScript in core also don't use "window." for these browser
properties and methods.

Change-Id: I344573fd7ef0e73c252779b4e59a53168d16574f
2019-06-10 12:46:58 +02:00
Fomafix 7e03aa58a5 Use mw.log.error instead of window.console.error
mw.log.error is always present and calls console.error if available.

Change-Id: I6337ce7f0b6fef2933b067cda7097037cf757d7b
2019-06-10 12:22:19 +02:00
jenkins-bot 0d4d5096b1 Merge "Replace moment.js with Date.toLocaleString" 2019-05-31 21:14:00 +00:00
Simon Legner 682873dd2d Replace moment.js with Date.toLocaleString
Bug: T224626
Change-Id: Ib312821d2c72c2570cec29153557fd44e4db2bf7
2019-05-31 21:56:45 +02:00
jenkins-bot 1e704eec51 Merge "Fix unresponsive download button" 2019-05-31 16:52:51 +00:00
Simon Legner 1a00347c49 Fix unresponsive download button
Some handlers were not correctly unregistered when performing
`unattach`. Thus, `Dialog.handleOpenCloseClick` could be fired more than
once resulting in the dialog been opened and closed immediately
afterwards.

Bug: T186461
Change-Id: I0c3c79644a10d7201ef198f4a4d381c10db4c3af
2019-05-28 23:11:18 +02:00
Simon Legner e77393744d Fix routing after repeatedly opening/closing
Steps to reproduce:
1. click on image, 2. press Esc, 3. click on image, 4. press Esc

Expected results: page is visible again
Actual results: navigation to previous page happens

Change-Id: Idd1b6612971b8ea258bb55982e3241986ad1a54d
2019-05-28 22:37:00 +02:00
jenkins-bot a4e63f623c Merge "Adopt mediawiki.router" 2019-05-28 15:14:50 +00:00
Simon Legner b1ade19388 Adopt mediawiki.router
Bug: T77258
Change-Id: Id4df92b0ebed3fb4f4b9269862c952f3968bf957
2019-05-26 19:46:38 +02:00
Ed Sanders 394b893c7d Use upstream CopyTextLayout in share/embed/download panels
Results in small UI changes, but allows us to delete a lot
of code duplication.

Depends-On: I9049f5a1c0d88680fc4a174e390dd08e27c0eee2
Change-Id: Iebe7bdc8a026b929a35e823d8107d90e7bb62b82
2019-05-23 20:01:36 +01:00
jenkins-bot 4f9b3eff8a Merge "Enlarge click regions of all icons in the main UI" 2019-05-20 11:08:08 +00:00
jenkins-bot bc666cb1e7 Merge "Show the hand mouse cursor on all "copy to clipboard" icons" 2019-05-20 10:07:48 +00:00
Thiemo Mättig 8b647c09e7 Make the download/share buttons actual links for right/middle click
Bug: T71469
Change-Id: Ib9dca98a70a056e93e252ba1d08479be509e7a18
2019-05-20 09:05:10 +00:00
Thiemo Kreuz 873a88e654 Enlarge click regions of all icons in the main UI
Before, the icons on the right all had a 24x24px click region, exactly
as big as the icon. There was no wiggle room. You had to be very precise.
This patch adds a padding that can be clicked as well, 14px left and
right, but no additional padding top and bottom (this might be an
additional change for another patch).

I made sure the positions of all icons are 100% as before.

Change-Id: I1618681b5ab714cb4cfc789dc6d501ec30643bc0
2019-05-19 19:00:27 +00:00
jenkins-bot fb40e5b09f Merge "Do not clone CSS class names as well" 2019-05-19 13:12:18 +00:00
Thiemo Kreuz 6d042d7fa6 Show the hand mouse cursor on all "copy to clipboard" icons
All other icons show the pointer (a.k.a. hand) mouse cursor, except
this one. I believe this is just a mistake.

Change-Id: Id48f65273be0ea81e7c10f0b222430cc85f815a5
2019-05-19 14:57:56 +02:00
Thiemo Kreuz 26fbcd6095 Do not clone CSS class names as well
What MultiMediaViewer does is re-using the small thumbnail <img> that
is already present on the page, cloning it, blowing the size up, and
using it as a "placeholder thumbnail". The moment the bigger image
finished loading, it replaces the placeholder.

The issue here is that the cloning includes class names like the
<img class="thumbimage"> on every [[File:…|thumb]] image. This shows a
gray border. The cloned DOM node in MultiMediaViewer shows this gray
border around the placeholder for a short time. This can be distracting.

Change-Id: Ie83427fab478b6568731b9a0b1f7dbbcc6d5b0fb
2019-05-19 10:44:21 +00:00
Simon Legner e1caa0f65e Fix typos in code/comments
No functional change.

Change-Id: I6447aefe8fdd39642d613f55ad0a5537f64dcb9d
2019-05-19 10:17:44 +00:00
Thiemo Mättig f8bf849430 Allow partial selection in text fields
Really, why should this be forbidden? These onclick handlers do waaaaay
to much. They do not only block what they should block, they block way
more stuff, like resizing the textarea and interacting with it in any
way that involves the mouse. This is not the intention of this code.
I'm sorry to say that, but this code is the equivalent of "disable
right click to prevent stealing images" on 1990s web pages. Please,
please let's not do this. Let the user do what he expectes and is used
to do.

Bug: T110579
Change-Id: Ia89faea678606d5c382539f726e2edaa745c904e
2019-05-10 14:33:08 +02:00
James D. Forrester c6008c7844 build: Be more aggressive in fixing old bad JS code style
Change-Id: I7f734f1440a4a3216e774d2bddbc39b34f4125d2
2019-02-20 19:28:25 +00:00
James D. Forrester 1b21470703 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I66788a2c1fa59b617abd13b7c8e8fb59ad74130c
2019-02-20 19:22:21 +00:00
Ed Sanders 92157f6b05 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: Icd89819ef38142e55c0bd4cc8dbb73745123f9f6
2019-02-06 01:56:53 +00:00
Ed Sanders a518cb03a5 build: Update eslint-config-wikimedia to 0.9.0
Change-Id: I92ed1f7093cfaed47f0372f9cb063fe4e65b4f55
2019-01-03 13:47:16 +00:00
jenkins-bot f45953cb15 Merge "build: Use stylelint-config-wikimedia v0.9.0 and make pass" 2018-11-30 01:08:06 +00:00
Volker E 8e94e95f7b build: Use stylelint-config-wikimedia v0.9.0 and make pass
Change-Id: I1359fb4d78aee9d37b67c13464e31e035d3435a5
2018-11-29 10:34:00 -08:00
Volker E a23084a360 build: Follow 'svgmin' step option best-practices
Changing indentation to tabs and use `multipass` option correctly.
Follow-up to I09660b9d49cfdc4.

Change-Id: Ic69532ad165c34aab97888328c7bef6e6c578491
2018-11-28 18:32:16 -08:00
James D. Forrester 90ada228cd eslint: Drop 'dot-notation' rule
Bug: T210552
Change-Id: I09660b9d49cfdc450efe0273736abd4730da5e77
2018-11-28 10:46:41 -08:00
flutters 2fad4daa43 SVG files display at max resolution
When an svg file is requested, returns the 1024px file and displays at
max possible size

Bug: T71237
Change-Id: I797794d1f9b1aa66cbb9bd9fec57274554292fb1
2018-11-26 20:37:34 +00:00
Ed Sanders 1ded292f83 Remove obsolete aliases from closures
Bug: T208951
Change-Id: Ice695dfb489974faa23ba19d74cf17b06e3f6075
2018-11-12 16:33:24 +00:00
Volker E a92bbbaa5f Update user avatar icon
Updating user avatar icon to overhauled standard WikimediaUI icon.
Also:
- Using new icon default size instead of `80 x 80 px`. Icon is
  resized by `background-size` in both applications anyways.
- Renaming 'user*' to 'user-avatar' for consistency across projects.

Bug: T123810
Change-Id: Ifb2027694af8f619663f00f4c50891772ee64746
2018-10-10 23:29:01 -07:00
Kunal Mehta c50794c3f2 Don't use deprecated jquery.hidpi module
Using window.devicePixelRatio directly means we won't be supporting Windows 8
and/or IE 10 & 11. But that seems intentional based on 828f6d6ac9db.

Bug: T206099
Change-Id: I53dbce0a8ddc69c4edfd4d10f98031aa4f7cd20a
2018-10-08 20:15:18 -07:00
jenkins-bot a0f3ccba4e Merge "Use improvements of jQuery 3.3" 2018-09-23 18:24:41 +00:00
jenkins-bot efa37ccd29 Merge "Use a for loop instead of Array.prototype.find" 2018-09-22 17:59:12 +00:00
Fomafix 170d10848b Use a for loop instead of Array.prototype.find
Array.prototype.find is part of ES6 and not supported by older browser.

This change is a follow-up of 965b496850.

Bug: T205162
Change-Id: I0954c42a37668b0eb46c3e864a2e13152a6dc68a
2018-09-22 14:41:56 +00:00
Fomafix 30bae884e6 Use improvements of jQuery 3.3
Replace
  .removeClass( classes.join( ' ' ) )
by
  .removeClass( classes )

Since jQuery 3.3 .addClass(), .removeClass() and .toggleClass()
supports arrays. [1]

[1] https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/

Change-Id: Icd8eb2eb228c7612f028cc399d29826908e2ae39
2018-09-19 21:17:06 +02:00
Ed Sanders 053d1a9d8b build: Update linters
Change-Id: Ie6e85abdc0714adf4d89e515967bf2ab4c393215
2018-09-13 22:13:56 +01:00
Fomafix 965b496850 Replace jQuery by native JavaScript
Change-Id: I8ae88f9f569be61902e19f89c687b0188a7c099c
2018-09-11 21:15:07 +02:00
Zoranzoki21 007e161a76 Fix "the the" typo in mmv.provider.GuessedThumbnailInfo.js file
Bug: T201491
Change-Id: I752c08b5ec625555b03e199a800a6d1fb0c0738b
2018-08-27 20:20:32 +00:00
Fomafix 4320ab4c8e Use wgUserLanguage instead of the first key from mw.language.data
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
2018-08-01 18:16:04 +00:00
Timo Tijhof 5c9faa580e Move files to their own directory per module
Bug: T193826
Change-Id: I925b1c7be2dbbb50994ed9f1ef12b5978ba175ff
2018-07-30 15:15:25 +02:00
Matthias Mullie 4627adb9b1 Fix mw.storage typehint
Change-Id: I758ca9375c479098edae98a78c1ee9170df7afc2
2018-07-28 17:14:32 +00:00
Ed Sanders dec9c6321c build: Enable more qunit lint rules
Where appropriate, convert assert.ok to assert.strictEqual.

Change-Id: I098ade9928958e8c2d36de221361d89b5c70ec35
2018-06-06 12:18:24 -07:00
jenkins-bot d07aad8b3e Merge "Avoid jQuery event aliases" 2018-05-11 22:05:26 +00:00
Ed Sanders 9ad112910c Avoid jQuery event aliases
Use #on for event binding and #trigger for event firing.

Change-Id: I75ca1cfac8419204399e27941c9f424664b56113
2018-05-11 18:46:50 +00:00
Ed Sanders 6fe5419a03 Fix documentation of title argument
Change-Id: I49120797833e73d8be4523b4b778ad4570cb4c98
2018-04-24 15:28:02 +01:00
hunter 0db6e39991 Fix buttons in Multimedia Viewer to be semantic
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
2018-04-17 00:58:04 +00:00
Volker E d101b0e095 Replace abandoned border-color with WikimediaUI palette one
Change-Id: I9ec58af9d5832485ee2e0e811027e0363a2fb4d5
2018-03-14 15:29:11 -07:00
Prateek Saxena b6136712a4 Use findSelectedItem instead of getSelectedItem
Bug: T76630
Depends-on: I0f1d9c1f31efcc10d3647103548770d2101050d9
Change-Id: Id81bbe7b0daf104484272e05730e16f495cfd0e1
2018-02-27 15:34:10 +00:00
Derk-Jan Hartman 340e7680a1 MMV: Allow <sub> and <sup> in captions
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
2018-02-09 10:34:53 +01:00
jenkins-bot 1657e4241e Merge "Use saveOption from 'mediawiki.api.options'" 2018-02-09 00:18:05 +00:00
Volker E b81f6393aa Remove special color treatment of close icon on confirmation
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
2018-02-05 15:29:29 +05:30
Fomafix 61581fa905 Use saveOption from 'mediawiki.api.options'
Change-Id: I33a60cbaf10f5d53a4e49f335ce8f16d108f9dfb
2018-02-03 16:37:21 +01:00
jenkins-bot cfdd3cc79a Merge "Bring SVGO optimization to build step" 2018-01-25 01:49:53 +00:00
jenkins-bot 0d0b4cdf81 Merge "Unify SVG markup" 2018-01-25 01:35:12 +00:00
Volker E d1f416278a Bring SVGO optimization to build step
Enabling SVGO automation with conservative plugin set, among those:
- disable cleanupIDs, removeDesc, removeTitle, removeViewBox &
  removeXMLProcInst and
- don't use multipass,
- enable removeRasterImages and sortAttrs

Bug: T185596
Change-Id: Ic13afb6e1cbc4d26af7a100cb7a916619fb4158e
2018-01-24 00:27:53 -08:00
Volker E 268e1406d4 Unify SVG markup
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
2018-01-23 23:59:28 -08:00
Volker E 8a8d8277af Use “OOUI” as unified name in code comments
Bug: T182360
Change-Id: I20e85bf4d5ef55797b5be59ae1772f791d504ade
2018-01-17 00:16:54 -08:00
Gergő Tisza db3975fb1a Fix title detection on file pages
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
2017-11-27 14:23:51 +01:00
Ed Sanders 42b577bae9 build: Update linters
Change-Id: I7262fb369df0428c39adaf55128b83f019afb4c0
2017-10-31 18:42:04 +00:00
Gergő Tisza bbe174bca8 Display warning for licence/attribution problems
Bug: T76030
Bug: T71389
Bug: T71557
Change-Id: I38c1548a0de6cfd3a48db7efd7502a99f168d4a5
2017-09-28 15:34:30 +02:00
Gergő Tisza eca337e62f Add functions to display/remove a warning in the dialogs
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
2017-09-28 12:45:17 +00:00
Ed Sanders 2156f3f485 Remove jquery.scrollTo library
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
2017-09-14 12:45:46 +01:00
Volker E 692b2b2f15 Remove obsolete vendor prefixed at-rules
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
2017-07-31 21:48:24 +02:00
Prateek Saxena a66c36750c Replace TextInputWidget (multiline) with MultilineTextInputWidget
Bug: T170275
Change-Id: I88a4dabbd2894a9ddacc55e8fcdedb141480be2b
2017-07-12 13:58:35 +05:30
jenkins-bot 17485a4989 Merge "Replace all direct localStorage interaction by mw.storage" 2017-07-05 14:11:00 +00:00
Matthias Mullie 31c93b79fa Fix buttons fadeOut when coming back from fullscreen
Bug: T164410
Change-Id: I4275c15733b10cff68a20b19e5fb195a88fafebf
2017-06-07 17:09:01 +02:00
Matthias Mullie 3e5ad4c83a Replace all direct localStorage interaction by mw.storage
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
2017-06-02 11:52:34 +02:00
Ed Sanders 2264e5fdec build: Update eslint to 0.4.0 and make a pass
Change-Id: I444cfd511121a0547901ed87c9aedd410e7920bd
2017-05-17 11:30:45 +01:00
Ed Sanders 9514e3107a Code lint: Throw errors, no strings
Change-Id: I4bb4de96a5e61b67b7a4c8f16a22f67f53cb034f
2017-05-17 11:28:53 +01:00
Matthias Mullie 5bc3a2d90e Fix mmv.logging.PerformanceLogger qunit tests
Bug: T164473
Change-Id: I6ae5c0170bf12fb076ddc505299ceeb7b9c292e8
2017-05-16 16:54:43 +02:00
Matthias Mullie 93f1c9f79e Fix mmv qunit tests
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
2017-05-16 16:51:52 +02:00
Matthias Mullie d204ecc99a Fix mmv.bootstrap qunit tests
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
2017-05-16 16:48:20 +02:00
Prateek Saxena 45110a7090 Use <button> instead of <div>
* 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
2017-03-22 12:06:15 +05:30
Volker E 7157729ae8 Align to WikimediaUI style guide and code cleanup
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
2017-03-02 15:55:01 -08:00
Phantom42 3f855b5785 Fix displaying images with uppercase extension.
Bug: T154862
Change-Id: Ib74066340a869a49036215a6ea1df39daa17890c
2017-01-25 01:20:09 +02:00
Phantom42 3a0ed7b4a0 Fix displaying of transparent background
Fix checker background is not showed after resizing browser window.

Bug: T155913
Change-Id: Icc9236474d595c19566e294967a156865a3a1d31
2017-01-22 02:54:13 +02:00
Prateek Saxena f285a576b7 bootstrap: isAllowedThumb: Don't allow slideshow gallery thumbnails
Bug: T140595
Change-Id: Ia0e230c7649c399d0a43acacf55ff72db9bc0e8e
2017-01-19 14:49:54 +05:30
Ed Sanders d7ea64137c build: Replace jshint/jscs with eslint
Change-Id: I423add157245353031e36b7e44fee7ace7c753c7
2017-01-10 10:24:39 -08:00
Fomafix 8869af6eed Replace $( document ).ready(...) by $(...)
In jQuery 3 $(document).ready(...) is deprecated.
https://jquery.com/upgrade-guide/3.0/#deprecated-document-ready-handlers-other-than-jquery-function

Change-Id: Iddec938b358388db11203b4b604928ecdcb3abe2
2017-01-06 16:04:56 +01:00
Geoffrey Mon fc84b8e125 Copy button for attribution text in download dialog
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
2016-12-28 11:35:02 -05:00
jenkins-bot 569598cf6a Merge "Add button to select and copy share/embed text to clipboard" 2016-12-26 08:25:38 +00:00
Geoffrey Mon a907339f89 Add button to select and copy share/embed text to clipboard
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
2016-12-25 23:59:47 -05:00
Geoffrey Mon aa0b9d81c6 Add alt text attributes to all of the lightbox buttons
* Re-adds next/prev i18n msgs (removed in 532819)
* Adds alt attributes to close, fullscreen, options, next, prev,
  download, and reuse buttons

Bug: T58471
Change-Id: I6ea62124018b1a0ec5110bb500f690cb2368f102
2016-12-13 17:32:16 +00:00
jenkins-bot 1d323eac3f Merge "Replace colors with overhauled WCAG 2.0 compliant palette" 2016-11-21 21:38:55 +00:00
jenkins-bot b82ff2df77 Merge "Make performance statsv call sampled" 2016-11-21 10:38:36 +00:00
Gilles Dubuc a149b63b05 Make performance statsv call sampled
Bug: T149168
Change-Id: I5614d1eec1834c1d694a5bf71d5ca05ec29ad354
2016-11-19 03:31:20 +00:00
Volker E 9291a0d6e2 Replace colors with overhauled WCAG 2.0 compliant palette
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
2016-11-19 03:31:16 +00:00
Fomafix 84b260587e Remove double spaces
Change-Id: I00d5cdf7aec91ec56117d395866c464e385f6dd9
2016-11-19 03:31:06 +00:00
Andrew H 0c3b0a5056 Shorten clickable link text in HTML credit lines
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
2016-09-26 17:07:09 -07:00
jenkins-bot 0716876c6d Merge "Make embed text short URL into a link in HTML mode" 2016-08-11 19:19:19 +00:00
Gergő Tisza 4518f8f27d Speed up caption collection
* 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
2016-08-01 17:00:08 -07:00
Gergő Tisza 8b8dfe4633 Make embed text short URL into a link in HTML mode
Bug: T138142
Change-Id: Ide6d9b164cdcbafacf08631536cadb04a45ce3dd
2016-08-01 15:17:25 -07:00
jenkins-bot 7c559a7250 Merge "build: Introduce stylelint and make pass" 2016-07-19 21:02:27 +00:00
jenkins-bot b5f0de95b7 Merge "build: Introduce jshint & jscs and make a pass" 2016-07-19 21:02:24 +00:00
Ed Sanders e7ff2ba8b6 build: Introduce stylelint and make pass
Change-Id: I6f97359c6f34f2e5687ce91ab9926c493e613bf5
2016-07-19 13:51:05 -07:00
Ed Sanders b46529d1b2 build: Introduce jshint & jscs and make a pass
These replace the hard-coded jshint task in CI.

Change-Id: Id14eec1ecba4ceae735ffd10f9114233a580302f
2016-07-19 13:48:06 -07:00
jenkins-bot d8984a6ab8 Merge "Limit image search to content firing event" 2016-07-19 14:44:39 +00:00
Ed Sanders db6c74a232 Limit image search to content firing event
Bug: T140574
Change-Id: I3c504c09b2b382e094ab2be1fa388efa7ec827b1
2016-07-19 11:33:53 +01:00
jenkins-bot 4bdf893422 Merge "Make Parsoid HTML selectors more specific" 2016-07-18 15:56:45 +00:00
Ed Sanders 8c7a33429c Make Parsoid HTML selectors more specific
'figure img' matches images in captions.

Follow-up to d3131db19e.

Bug: T140574
Change-Id: I1ee50846191c9de19ca35d9bd40eb2d3001cf7f5
2016-07-18 15:53:42 +00:00
Ed Sanders 14d9297eb1 Check Title.newFromImg produced a valid title with an extension
Bug: T140574
Change-Id: Ia818cebd47b3bce03befc547e5e435cb8b1f2996
2016-07-18 13:34:24 +01:00
jenkins-bot b66336ade0 Merge "Filter HTML from some attributes" 2016-07-12 20:52:27 +00:00
jenkins-bot 9fbbabfe3e Merge "Add HtmlUtils.makeLinkText utility function" 2016-07-12 20:52:25 +00:00
jenkins-bot c4da4c7ca1 Merge "Remove IE8 JS compatibility hacks/workarounds" 2016-07-12 20:42:11 +00:00
Ed Sanders d3131db19e Fix selectors to match Parsoid DOM-spec images
Bug: T62014
Change-Id: I03ee3912aab8aad5ae1e2db3be1a6d3a25d03fef
2016-07-09 17:49:35 +01:00
Michael Holloway 94476eb918 Remove IE8 JS compatibility hacks/workarounds
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
2016-06-29 00:02:46 -04:00
Gergő Tisza 3c71b85c84 Filter HTML from some attributes
Bug: T138142
Change-Id: Ie5048b38ed397ce852d3f9145a63fe4f52930da9
2016-06-19 15:23:45 +00:00
Gergő Tisza dba273ac31 Add HtmlUtils.makeLinkText utility function
Change-Id: I2697c2d865dc8dd23883a59ca0c38229c2e7b6e9
2016-06-19 17:22:52 +02:00