Enables the SearchOverlay to be shown/hidden by the
OverlayManager, instead of managing the routing itself.
A special route is added to hide the search overlay on pageload,
so that the overlay can always be closed with history.back()
Bug: T189212, T102946
Change-Id: I1eaad36fe4ceca2d6f3e3345d987e2b32634446d
More hackery!
This adds some tests and ensures that our own icons are mapped to the
existing template icons.
Bug: T187916
Change-Id: I49073f22995c6730369235d6039939915ba2079c
Given the level of documentation in this repo is extremely
low now seems a good as time as any.
The resulting documentation is a vast improvement on before
grouping functions to an owner and introducing module names.
We can iterate on the documentation over time.
Bug: T138401
Change-Id: I9e787d40931d3d72a7037ce07d3ab0db8e72d825
ReferenceDrawer
Instead of doing this inside the ReferenceDrawer component
itself, we'll do this here.
To be backwards compatible we check the value is truthy.
When I5a7b23f60722eb5017a85c68f38844dd460f8b63 is merged
this can be removed.
For NotificationBadge we pass the onError option which
is now available and allows us to clean up the NotificationBadge
Change-Id: I47db11fa945a05f3b2a9a43c3cf053ca489a38fa
Move window.location manipulation from ImageOverlay view to MinervaNeue.
Also, don't leave a hanging empty URL fragment when closing the overlay.
Bug: T173539
Related: I292c0578716ff56e0e069aa8006f840025d78a88
Change-Id: I56ba9217aa9cd4e0a925c623060022392e3021c7
Changes:
* MinervaUI will now prefix any icons with `minerva`
* Update definitions in skin.json, retaining selectors for cached
HTML for icons that are rendered via PHP.
* In I9021c53c2c04bdd7ce395eed33d89986acbfea6d watch and watched
and arrow are moved to MobileFrontend so are removed from the RL module
skins.minerva.icons.images.scripts as they are not
used directly in this repo. user and anonymous are no longer used
so also removed.
* Presentation of userpage now belongs to MobileFrontend. Icons
are styles were moved there in depends on. They are retained in
skin.json to support cached HTML as user pages are subject to
cache. They can be removed in a week.
* In code review we noticed the anonymous icon was badly named. We
rename to login. No caching implications.
* Main menu icons are now prefixed with minerva rather than mf to
reflect where they come from.
Depends-On: I9021c53c2c04bdd7ce395eed33d89986acbfea6d
Bug: T182162
Change-Id: I93264024f4915fc910c792b1905b89cdc6b8b546
Changes:
- moved DownloadButtton checks & initialization to separate function
- introduced supportedNamespaces variable for better readability
- reorganized huge if(){} statement to set of smaller if's with
nice comments why this configuration is not supported
- introduced getAndroidVersion and getChromeVersion helper functions
- added check to not allow Android < 5 or Chrome < 41
- added unit tests
Bug: T182059
Change-Id: Ib5064459ee56aed68179389f37b4bc3b5c2c4492
To track "download" button interactions we have to notify
EventLogging that button was clicked. The easiest approach is
to use mw.track() and then in WikimediaEvents subscribe to the
`minerva.downloadAsPdf` events and track page impressions.
Bug: T181297
Change-Id: Iecbebe37c165dda3f26af47906662f6e5a81321d
Short term fix to ensure icon doesn't change
when oo-ui is loaded.
Prefix with 'mf-' (we do this in main menu) to avoid nameclashes
Bug: T182162
Change-Id: Ia6ceb620ed2710d97387a326b74f1a02236cd0d0
The MinervaDownloadIcon config option is replaced with a
more specific wgMinervaDownloadNamespaces config option.
If the list is empty then the download button will not be
shown.
Since the download icon is enabled everywhere in production now
this is good as it means Minerva reflects the production value.
Bug: T181152
Change-Id: Id78c1de9e8e9013530106bc0d45d3cf0297897b5
Looks like window.print may block so keep the spinner until
it's finished execution.
This may or may not fix the larger issue being discussed in the bug
but is harmless so why not.
Bug: T181261
Change-Id: I927d4bc8c96d74c14463f71b7ce6dec62618a485
When the print button is clicked, load all images from the page
before calling window.print
Add a timeout to make sure the user doesnt wait too long.
Change-Id: Ie922d239f9c5b5757237dc10b673fb500ff203ad
Depends-on: Id7f21606be3db22fe8dfde2db675f9905547cfea
Bug: T180058
As discussed on ticket the download button only appears
to work on Google Chrome on mobile browsers.
Bug: T179529
Bug: T179914
Change-Id: I8bbda8d5a8aa42dd23773fea424c1a70e31d6f85
As documented on the ticket, iOS does not provide PDF functionality
via print.
iOS 11 provides PDF generation but the resulting PDF is unreadable for
our content and missing styles (see T177215#3700576) and we do not know
of any way to invoke that just yet.
Bug: T177215
Change-Id: I7e195ae067625c7865dccee31fa7a2c3c0ee57e5
Shortcut for print. Disabled by default and controlled by
wgMinervaDownloadIcon
Note that with lazy images enabled, images will not appear
in the printed article. This can be easily addressed inside
the onClick function in a later patchset with a few modifications
to the Skin class.
Currently the flag when enabled will show on all browsers. There
are some open questions on the ticket about how we want to limit
the feature. This shouldn't block review or merging.
Bug: T177215
Change-Id: I49f1736870c743990b3fb9916247e07a597b2f59
The global events for resize and throttled will also be defined
inside MobileFrontend.
Depends-On: I8503c26bd064ae0d203f95a35031468c7c678ac1
Bug: T173454
Change-Id: I00d361ad504ab90f2bf80a53a7c76269f1116207
Since Minerva is the only skin which does this kind of thing, it
was premature to add this logic to the Skin module.
By forcing Minerva to do this itself, we allow MobileFrontend to
be responsible for creating a Skin without having to know about
what that skin may want to load in tablet mode.
(see I8503c26bd064ae0d203f95a35031468c7c678ac1)
Bug: T173454
Change-Id: I32e2b4a10799a06138bfee08abc6769a6b96004d
In edit mode various amboxes are shown which push the editor area
below the fold.
We solved this problem already for "page issues" in normal page views
so we should apply the same solution here.
"Editing help" message will show under the heading. When clicked
information will show in an overlay.
Change-Id: Ia6e478f289267d22adc55532221cba2aae16ff36
This wires the interaction between the skin and the main menu
into the initialisation script.
Change-Id: I4fac234cb9ead7e99dc52f72819cd4a3c715de1c
Depends-On: Ife64c87716a0f56b55a030a3e4224075af3c6d8c
* Remove deprecated module definitions
* Remove unnecessary check for Minerva skin (this is only
ever run by Minerva skin)
* Move overlayManager to place it is first used
* Make Skin::getMainMenu method redundant
Change-Id: I17ea52172e7fae0a8f0e06b8418c7ed5bb01ef64
This is programmatic output from python3 scripts/migrate.py
This will result in a Minerva skin dependent on MobileFrontend.
Post merge we will rename message keys to have minerva- prefix
Bug: T166748
Change-Id: Iff1f7e63e796cc5d4a6d2ab0370e0c33248d2fce