Commit graph

1154 commits

Author SHA1 Message Date
Ed Sanders 4a4997a8e5 Remove unused eslint rule
Change-Id: I702749b60aaaf5528af28ce44fb73f586f256105
2024-10-22 15:34:55 +01:00
Simon Legner 9eb3439d1b Hide next/prev buttons when there is only one image
In addition, prefer `this.ui` over passing `ui` as method argument.

In addition, hide the next/prev buttons while loading.

Bug: T77877
Change-Id: I316687f1a180605c6014e93d963ce9e5fd325850
2024-10-21 18:58:06 +02:00
Ebrahim Byagowi 81abf7ba8b Increase specificity to avoid rare white boxes
This increases specificity of the mw-mmv-button to make
sure it wins over '.cdx-button:enabled' and
'.cdx-button.cdx-button--fake-button--enabled' that right
now sometimes fail due to load order.

Bug: T374373
Change-Id: I402aa0761615eeb0e080bb6087e0de778b6f493a
2024-10-19 06:07:11 +00:00
Simon Legner fb4e80a1b1 Move HtmlUtils from mmv.bootstrap to mmv module
HtmlUtils is used for stripping HTML code. This is the responsibility of the individual UI components.

More specifically, MultimediaViewerBootstrap.processParsoidThumb no longer strips HTML code. Various UI components were already calling HtmlUtils.htmlToTextWithLinks. Only the error case in MultimediaViewer.loadImage newly needs HTML stripping applied.

Bug: T65504
Change-Id: If24b9c220a6ec43f35251a4ec6a716fd4ba03df6
2024-10-17 22:51:20 +00:00
Simon Legner fe5687b6ef MMV options dialog: remove leftover code
Follow-Up: I707ef2c0b6b8d4d13c05182078b82ddc99e32d12
Bug: T77349
Change-Id: I2693cd36ec390e0ca059030d264276492ed0a2fe
2024-10-17 09:31:51 -07:00
jenkins-bot d882ec8a93 Merge "Merge MultimediaViewer bootstrap modules" 2024-10-16 23:38:19 +00:00
jenkins-bot 525d333998 Merge "Back button doesn't close MediaViewer if the URL has a fragment with "/"" 2024-10-16 23:33:49 +00:00
Simon Legner 630a45a3ba Merge MultimediaViewer bootstrap modules
There is no need for them to live in separate modules and they bloat the size of our ResourceLoader startup module unnecessarily.

Bug: T77349
Change-Id: Ieb830486a280e607cad3be6418c46db9c6477491
2024-10-16 23:20:46 +00:00
jenkins-bot e49c6d8e58 Merge "Fix warning icons on dark mode" 2024-10-16 23:10:20 +00:00
Simon Legner 81c47fb174 Fix warning icons on dark mode
Use @background-color-warning-subtle, @border-color-warning for the warning box.
Use @color-base for the warning icon.

Bug: T374871
Change-Id: I9a90d2d3a1b58d92fac7aca67660c76bc117b249
2024-10-16 15:36:23 -07:00
jenkins-bot 029f84c5ec Merge "Use browser provided URL object instead of mw.Uri" 2024-10-14 15:53:36 +00:00
Simon Legner a12565e8aa Back button doesn't close MediaViewer if the URL has a fragment with "/"
Bug: T361612
Change-Id: I1a516dbe62bd3a8c621a148c3fb36111128a57ef
2024-10-13 14:12:58 +02:00
Simon Legner 161adf921d Drop "About Media Viewer" link
Bug: T376972
Change-Id: I85a308afe7c805a147bfcc5e9adf0293378859f1
2024-10-13 08:46:50 +02:00
Ebrahim Byagowi 32a575f739 Use browser provided URL object instead of mw.Uri
Bug: T374314
Change-Id: I7de5ac9ba2de70e5a3a84fca1608c64ea1cd1aaf
2024-10-11 17:22:40 +02:00
jenkins-bot fc75d3aabe Merge "Remove MMV options dialog in favour of Special:Preferences" 2024-10-11 00:23:53 +00:00
Simon Legner e3badef708 Remove MMV options dialog in favour of Special:Preferences
MMV options dialog only allows to disable/enable MVV. Rely on Special:Preferences instead. Strips more than 2kB off the bundlesize.

Bug: T77349
Change-Id: I707ef2c0b6b8d4d13c05182078b82ddc99e32d12
2024-10-08 20:56:04 +02:00
Simon Legner f3786ff249 Make next/prev buttons jump to first/last image when viewing last/first image
Bug: T77877
Change-Id: I10f4d1b51b909ac8683afbd21f9529254a25ff37
2024-10-08 20:35:52 +02:00
Simon Legner 3c11f01c5f Make remaining functions in Config class static
Bug: T77349
Change-Id: I40d3ccd34df20943b33c3923fabbd0b59a94e5ae
2024-08-11 12:03:30 +02:00
Simon Legner 01437fd521 Replace wgMultimediaViewer with config.json packageFiles
Practically, the variable wgMultimediaViewer is not used inside user common.js, see https://global-search.toolforge.org/?q=wgMultimediaViewer

Ref: https://www.mediawiki.org/wiki/ResourceLoader/Package_files
Bug: T77349
Change-Id: Ib086c6184f76ca2dbeb701f79c3b18b336ff5433
2024-08-11 11:34:46 +02:00
Simon Legner d698b8b006 Use mw.storage.get/set/remove directly
Bug: T77349
Change-Id: I5b670ed617c8359f28029cf117cfda26b635e871
2024-08-11 09:56:43 +02:00
Simon Legner 8c4186962e Use mw.Api.prototype.saveOption directly
Bug: T77349
Change-Id: I531995fd2224705a612c0f1aef8cfc545c8b4228
2024-08-11 09:48:49 +02:00
Simon Legner 6309f26238 Use mw.config directly
Bug: T77349
Change-Id: I1dff714af371a8e605f35a2ac198f4eecad28cb8
2024-08-11 09:47:04 +02:00
Simon Legner 2602867d7c Use mw.user directly
Bug: T77349
Change-Id: Ib0901b88e9d85a7544bbce386a37a56b45955ec3
2024-08-11 09:28:38 +02:00
Simon Legner aa2951f436 Use mw.storage directly
Bug: T77349
Change-Id: I8a494f20b4d9f4930fa89681857990416c0e840c
2024-08-10 14:39:31 +02:00
jenkins-bot f27c355342 Merge "Make thumbnail bucket widths configurable using wgMediaViewerThumbnailBucketSizes" 2024-08-09 17:01:07 +00:00
Simon Legner 64e0cfeab5 Make thumbnail bucket widths configurable using wgMediaViewerThumbnailBucketSizes
Bug: T269987
Change-Id: Ib1b590c5c6fe353a86ac1527d19617975113ff8a
2024-08-09 15:56:48 +02:00
Simon Legner 85968f2022 Fix commons icon on commons
Regression of: Ia4388fe4d5e1d6112a992e826453cd5799a6a4b4

Bug: T77349
Change-Id: I5c987e3794eeb031f4a4019d5999bbc34fc19a6d
2024-08-09 12:30:20 +00:00
Timo Tijhof 70375cac12 tests: Change use of unrelated Map to mw.Map
This partially reverts commit 07ba0e43a9, which changed the test to
inject an ES6 Map rather than a mw.Map, which diminishes the value of
the test, including risk of false positive since that isn't what
the code actually accepts. See also T353076.

Change-Id: I4877d0d9820dfff42996ddbd4c9e26573d84d19c
2024-07-28 23:43:53 +01:00
jenkins-bot 4670e09260 Merge "Remove small piece of dead code from mmv.bootstrap.js" 2024-07-18 21:49:43 +00:00
jenkins-bot 4aeadfab12 Merge "Use much more precise original size for ratio calculations" 2024-07-18 21:49:42 +00:00
thiemowmde 4a37c70c95 Use much more precise original size for ratio calculations
Nowadays our HTML contains data-file-width="…" and data-file-height="…"
attributes. Previously this code was using <img width="…" height="…">
from the tiny thumbnail to calculate the aspect ratio. But this is
only a rough estimate and can be off by a significant amount of
pixels. Example:

Original image size: 4000 x 2100
Thumbnail in the article: 220 x 116
Available canvas height: 630
When using the thumbnail's size: 1195 x 630
When using the original size: 1200 x 630

I still use the old thumbnail size as a fallback just to be sure.
It's possible this is unreachable code by now. But it doesn't hurt
to keep it.

Change-Id: Iabd89762b09523249375bcbc7e4a573ef974e02e
2024-07-15 12:00:53 +02:00
thiemowmde ac2e3c4cbb Remove dead code from 2014 related to fullscreen pre-loading
This is disabled since 2014. See Ic145c8a for a longer explanation.

Bug: T66135
Change-Id: If0a1564676a25ba3ed2bcae099db77ec8fd3bae3
2024-07-15 11:59:20 +02:00
thiemowmde 92d400b9d6 Remove small piece of dead code from mmv.bootstrap.js
Calling .eq( 0 ) on a jQuery set that's known to contain only a
single element is pointless and doesn't do anything. .eq() is
documented to reduce the set to a single element.

Change-Id: I3f3a08d65a0490771e0282408e8c4711f3772c99
2024-07-15 11:45:10 +02:00
Ebrahim Byagowi 6fd605d4b2 Fix icons in RTL by using an element instead of ::after
Codex icons are auto-mirrored for RTL scripts but a pseudo-element
causes the auto-mirror selector to have incorrect order and that
builtin auto-mirror functionality of codex icons to not get trigged.

This change fixes it by adding a span to each icon so auto-mirror
can target an actual element instead of ::after pseudo-elements.

Bug: T369659
Change-Id: Ib5f9793a8ad10980d2742d1046c59306c943f960
2024-07-11 20:07:46 +03:30
Taavi Väänänen 1ea305b03b Fix dark mode issues with an extended 'Permission details' box
Fixes the shadows and borders that come with an extended 'Permission
details' box to use Codex tokens that support dark mode. To test this
out, view any image from Commons with a VRT permissions template (for
example [[File:Gordon_Highlander_steam_locomotive.jpg]]).

Bug: T369531
Change-Id: Ie2873b2ef2836c5b7ac2ded860dc2404f293f119
2024-07-08 16:16:15 +00:00
jenkins-bot afe1c08d2f Merge "ThumbnailInfo: support multi lingual SVG" 2024-07-04 19:30:11 +00:00
Simon Legner 4672f2eb57 ThumbnailInfo: support multi lingual SVG
Bug: T208564
Change-Id: Icf082ca0dc94bc4739fd31b795de76f8a0083b70
2024-07-01 22:49:10 +02:00
jenkins-bot dfc3818bdc Merge "Rename whitelist to allowlist" 2024-07-01 20:48:02 +00:00
Simon Legner f58526901f Remove obsolete MultimediaViewerBootstrap.statusInfoDialog
Bug: T77349
Change-Id: I4814dfe57d05c547c24f22e2516be795670c27bf
2024-07-01 19:51:42 +00:00
jenkins-bot 111916cf08 Merge "MMV: Set body background and theme-color" 2024-07-01 15:34:16 +00:00
Simon Legner c872e64988 Rename whitelist to allowlist
Bug: T277952
Change-Id: I67ce70df18d9f9c86579cedcb63aa63685156b09
2024-06-27 20:50:08 +00:00
Derk-Jan Hartman 1b12172bb0 MMV: Set body background and theme-color
When opening the viewer set the body background and the theme-color
to match the background of the viewer. This provides a better
experience for (esp. mobile) browsers.

theme-color has to be overriden, as it can be inferred from the top
of the browser window, but images can be all kinds of colors, so it
is better to be explicit.

Bug: T368659
Change-Id: I313745a31bf17eef612dd89630b1bbc4cb57fd45
2024-06-27 21:25:01 +02:00
Derk-Jan Hartman 1833ce7f14 Metadatapanel: Improve spacing between license links
The license links listed on the right are vertically pretty tight
next to eachother. Add some line-height to make them more readable.

Bug: T365192
Change-Id: Idd0e3d845188178656017ac3158b0a3451c24294
2024-06-27 21:09:20 +02:00
Derk-Jan Hartman 2a8b140ed3 MMV square buttons
- Use square cdx icon only buttons
- gray transparent brackground
- opaque background on hover, active, focus
- Some fixes to the positioning and offsets of buttons and dialogs
- Move the dialogs to be in the same container as the buttons
  This is better for accessibility but also fixes the z-index issue

Bug: T365192
Change-Id: Idbc2a309fbca15bd528aaed7ca9bed584487c4f3
2024-06-26 20:28:38 +02:00
jenkins-bot 3ac5c2e650 Merge "LightboxImage.originalWidth needs to be a property" 2024-06-21 00:39:00 +00:00
jenkins-bot 9fbea4233b Merge "Remove obsolete property LightboxImage.filePageLink" 2024-06-18 19:04:53 +00:00
jenkins-bot 33cb6e5ef2 Merge "Remove obsolete class IwTitle" 2024-06-14 20:40:09 +00:00
Simon Legner bc63438a16 Remove obsolete fields imageDisplayedCount and metadataDisplayedCount
Bug: T77349
Change-Id: Ie553107c33f24b26571ebd93e2458b4878c09f3b
2024-06-13 22:25:03 +02:00
Simon Legner a951a360d5 Remove obsolete property LightboxImage.filePageLink
Bug: T77349
Change-Id: I9c4fa491cb6bdc2668c6d21cc314c5290847bbc1
2024-06-13 22:17:00 +02:00
Simon Legner 8ecfc1aa7d LightboxImage.originalWidth needs to be a property
mmv.displayPlaceholderThumbnail overrides this value using ImageInfoProvider.

Bug: T64039
Follow-Up: Ic7c5889064492fc88dae33271b635c5327b091e1
Change-Id: I08d024f81336a76439f51b7684446f8725ddb905
2024-06-13 21:48:09 +02:00