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
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
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
- 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
Content has been generated using the following command and .mailmap from mediawiki/core:
$ git log --format='%aN <%aE>' | sort | uniq --count | sort --reverse --numeric-sort
Change-Id: I107d75032b1ff57d2718db6f74958e0ea8bfecb2
When opening the media viewer, we immediately display a black frame,
as we wait for the dependencies etc to load.
Add a codex indeterminate progress bar to this phase as we wait, so
the user has feedback that something is happening.
Bug: T77230
Change-Id: Ibba98150ac2e8034fbfcd586309632704cf0b606
Repo was only used in two locations:
1. StripeButtons.set for `isCommons` - can be replaced by `descriptionUrl.includes('//commons.wikimedia.org/')`
2. EmbedFileFormatter.getSiteLink (unused)
Furthermore:
- Simplify StripeButtons (we only have one button)
- Unwrap info objects consisting of `ImageModel` and `Repo`
- Remove unused EmbedFileFormatter.getSiteLink
- Inline EmbedFileFormatter.getCaption and EmbedFileFormatter.getLinkUrl
- Fix JSDoc type `ImageModel`
Reduces mmv bundle size from 28012 to 27246.
Bug: T77349
Change-Id: Ia4388fe4d5e1d6112a992e826453cd5799a6a4b4
Initialise the corresponding dialogs upon first use by deferred loading of the mmv.ui.reuse module. Reduces code size of the main mmv module.
Bug: T77349
Change-Id: I672419e1a8af47d192843f7e7a4a038c0d8da2a3
- Instantiate LightboxImage object in mmv.bootstrap
- Add LightboxImage.position field: relative position of this image to others with same file
- Add optional routing suffix /:position
Bug: T64039
Change-Id: Ic7c5889064492fc88dae33271b635c5327b091e1
This module contains the restriction icons. The main mmv module shrinks from 196.88kB to 174.97kB.
Bug: T77349
Change-Id: I78d16b487f5272a8f779f3484c883d113db1878b
Simon has done extensive work modernizing the multimedia viewer
extension so I think he should be recognized by a credit.
Change-Id: Ie094a933d2fcfa57784014c3ff0e71d6c6eb9945
UI interactions should always provide some visual feedback,
and the mw.widget version of this triggered a notification.
Bug: T340258
Change-Id: I1f9850541d23e362c2cd73c3797d1f03bcfc7ca1
- Use Codex styles for mmv.ui.reuse
- Replace unofficial component dropdown with Codex Select and Button
components.
- Drop OOUI dependencies
Bug: T340258
Change-Id: I539d1b5f0d7e3c02f767807da57324ea6a36ad5b
This change requires a soft dependency on extension MobileFrontend
in project integration/config in file zuul/parameter_functions.py.
Change-Id: I4e0c8185804a22c57f94dceae3c998e13afa3cfc
User-options related classes are being moved to the MediaWiki\User\Options namespace in MediaWiki Core; reflect that change here.
Bug: T352284
Depends-On: I9822eb1553870b876d0b8a927e4e86c27d83bd52
Change-Id: If63fb03b90f797a38a07f0d88f663e25cac75770
Avoid creating of Title object to get the "fixed special name" (which is
the localized name) and compare that against the local name of the
current page, just use the SpecialPageFactory to get the canonical name
(which is the english internal name, not the english visible name) and
compare against the list of canonical allowed pages (adjust the existing
list to the canonical names, that are "old" names in different cases)
Change-Id: Ia6f6574bf6e65c75f8977ff016feda6ecdca3776
The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.
Bug: T271019
Change-Id: I57dac8d590b5afa7524000d93c8477a10148c052