The only usage of mw-ui-button is inside the SpecialMobileWatchList
class in MobileFrontend. Thus we needlessly load as
a render blocking CSS on all page views
multi-line and two-line are likewise only used inside
MobileSpecialPageFeed.php
mobile.special.styles is loaded on all Special pages
so let's load this instead here. This also allows us to use
the element on other special pages in future.
Change-Id: I2b363543d0356a18194a9d08922428a6cb944797
When a user is allowed to make edits, show a normal edit button. When a
user cannot make edits, show the locked button.
This patch refactors edit button presentation logic into a new function,
updateEditPageButton(), which consistently updates the UI for both
enabled and disabled states. Additionally, in cases where the old code
only displayed the button via `$caEdit.removeClass( 'hidden' )`, the new
code now updates the state appropriately which is a functional change.
Finally, this patch sprinkles in some TODOs for future minor refactors
that were identified while creating this patch.
Bug: T190834
Change-Id: I083e91f0328cc057541ad42a27aae31b32b3d050
* Use box-sizing:border-box when adding textarea padding - before
the right side of the textarea did not align with the right side of
the bell icon. Now it does.
* Fix specificity of rule hiding cancel link and "editing help" which
appear at the bottom of the form.
* Fix height of noJS textarea (70vh)
* Remove some unnecessary extra margins and padding (the minor edit
and watch this page checkboxes will now show on the same line)
* Update specificity for oo-ui-fieldLayout-body so that it does not
apply to the summary form.
Change-Id: I8d3d61fdc51934a6ef0885cde94dac1e8c5e33ca
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
The link change overrides link colors in last modified,
talk button and main menu. This approach was obviously flawed.
Rather than enter a specificity
war let's instead limit the styles to links which do not have
an href. Volker you were right...
* Revert "Last modified links should not be progressive blue"
This reverts commit bc045b78a2.
* Revert "Do not style links without href attribute"
This reverts commit daa6ad5145.
* Apply a not selector for links
Certain links (including links inside navboxes) render
links to themselves - for example the navbox on the San
Francisco article (provided it is not removed by
wgMFRemovableClasses)
These links should be visually distinguished from normal links.
The not selector has support from IE9 onwards and given our browser
matrix and the low impact of if this fallback fails this is a perfectly
acceptable usecase.
Bug: T181472
Change-Id: I61b05e3c223f2ba5314aecdf26b8a0ee8caa6524
This regression was due to I9f842ae09751d299716d752328f747269597fbdb
Updated specifity of selector.
Additional change:
* Update comment per feedback from TheDj
Bug: T181472
Change-Id: I9534cce5f240009c9013b75e1367776519b00d81
Do not conditionally render the table of contents. Note: the underlying
condition, MFTOC, appears to still be used by MobileFormatter so it was
unchanged.
Bug: T189699
Change-Id: I7088ccad75c2a8504bf435418d7dd62238b2135d
The block reason in the block message has escaped HTML. This
HTML should be rendered to the user.
Bug: T190901
Change-Id: Icda7c5d0c76aff7c22f3a6735d880a5ee49338ff
Certain links (including links inside navboxes) render
links to themselves - for example the navbox on the San
Francisco article (provided it is not removed by
wgMFRemovableClasses)
These links should not look like links as they are not
clickable so should be visually distinguished.
Support for attribute selectors goes way back to IE7
and in the case of IE6, links will still render correctly
falling back to the browser default stylesheet
Bug: T181472
Change-Id: I9f842ae09751d299716d752328f747269597fbdb
This should have been removed back in 2015.
See I0ef5c2d5a9019355aa3a158f9e489df02975e0af
Gallery styles come from mediawiki.page.gallery.styles
Bug: T190215
Change-Id: I87713164e1c3906b341a4fb17be424307f8fa428
Replacing id CSS selector by lower specific class selector.
Bug: T187808
Depends-on: I7f3a9df7f9fd1178986112b5265b1ae7c991d5b7
Change-Id: Ib1a874b644e80a26ff415003684f6ce54fd2b7e6
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
After having aligned vast majority of color variables to WikimediaUI
color palette and/or transformed to use central variables, these
seem abandoned leftovers.
Change-Id: Ic20b445975e920259c808b7a20c6100575c99f82
* Remove CSS rule updating the padding of issue-notice
(this is no longer necessary after
I1b880c46fa3debfc5b68d8b416ca642cca98ce7e which defines its own padding
for the element)
* Overlay title is updated to read "Page issues"
Bug: T187916
Change-Id: I7e41d6f03c4cf9fa7563f2f608eec5be89c04a31
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
MinervaNeue should be solely responsible for controlling the flow of its
own UI. This patch puts the responsibility for changing the add category
dialog state when a category has successfully been added onto
MinervaNeue.
Bug: T173539
Related: Ic61ac46e21f510e5b168d7d98b68a59429eb7044
Change-Id: I5010d5ad1a27f09c1c5b0b4188dcec445cc3229f
Passing in a new currentPageTitle option to TalkSectionAddOverlay.
Since `title` param has spaces instead of underscores,
`pageTitle` also gets spaces by using `M.getCurrentPage().title`
instead of mw.config.get( 'wgPageName' )
Bug: T184273
Change-Id: I68a46e512fde0c6c15e888bd3b57da21417b1085
This was removed in Ia3fb34250714fe4ccb10c32a7027fda167e06a16
It is no longer referenced anywhere.
Bug: T187222
Change-Id: I14d486d962cfd1e4277a82d78084a785093d679d
In T182162 these were removed incorrectly. They should only have
been partially removed.
Bug: T187222
Change-Id: Ia3fb34250714fe4ccb10c32a7027fda167e06a16
This is redundant.
page.getLeadSectionElement() will return null if the main page
is special casing and sections have not been wrapped.
Removing this check also allows toggling to work on pages where
users want to treat main pages like any other page.
Bug: T177337
Change-Id: Ic52fd1c9f6cc4f727ca52c871f29c76997e47f1d
$wgResourceLoaderLESSVars is deprecated. Let's not use it anymore.
Change-Id: If28ab6884668700bc46533c8e2c377f17e6be696
Depends-On: Ib9f843147db4473ce5590741e0fb490384b0007e
Bug: T171365
A horizontal line shows in popup previews in the MinervaNeue skin
just above the setting icon due to a css rule that affect all footer
elements. Removing this effect to apply only for the MN skin.
Bug: T184560
Change-Id: Idb0c40c3fc24e4ec2d32cb2de9520952448da77a
Template pages do not run the MobileFormatter
(see MFMobileFormatterNamespaceBlacklist).
As a result page.getLeadSectionElement() will
return null
When this happens do not change the edit icon to point
to section 1. Instead give them the non-JS editor.
After this patch, the feature remains as:
* Page with lead section get the JS edit overlay for section 0
* Page without lead section but with other sections gets the JS overlay
editor for section 1
* Pages that didn't run through MobileFormatter don't modify the edit
link and just link to the fallback editor (useful for Template pages
at this moment)
Bug: T172948
Change-Id: Icee96e12f62ec13a1cbd3169c687fa4b3af70754
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
I used the fix provided by TheDJ and tested out locally
on Firefox 57 and Chrome latest, but I couldn't test out
any grade C browser as on Linux it's really hard to find
such an outdated browser like Internet Explorer on Windows.
Bug: T168716
Change-Id: I8e03610e4eb3c93b80bb757592c2fb3079a68412
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
I used the fix provided by TheDJ and tested out locally
on Firefox 57 and Chrome latest, but I couldn't test out
any grade C browser as on Linux it's really hard to find
such an outdated browser like Internet Explorer on Windows.
Also, I am unsure whether it will work in production
with the example article from the task, wasn't able
to recreate the article fully on my local devwiki.
Bug: T168716
Change-Id: Ied7c15f7a254228c23111df79da44d6167f1baac
Adjust tagline margin per Nirzar:
https://phabricator.wikimedia.org/T180095#3801719
Note, this will enable the tagline everywhere.
Change-Id: I3bce2a3472ab2e53261965c953572f35cc740eed
Bug: T180095
Correct some options names and make minor adjustments to the
constructor function
Bug: T181348
Change-Id: Ia9fe9d2923b895d3dc530280e3987e27c88d3282
(cherry picked from commit 89909ccf53)
Replacing `#9aa0a7` with standard subtle `#999` print color.
Also clarfiying LESS variable naming and removing unused variable
`@printBorderColorLight`.
Change-Id: I2c1b36099935aa99d63a3316b3a107a23ffa0afd
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
On Special:MobileOptions we want to make the form take up the full
width but pad the fields in the form
(per https://phabricator.wikimedia.org/T180095#3795514)
This change is harmless but is necessary as soon as we port
the page to OOjs UI (I70f68df9d2d305126444319b05675702af75de87)
Bug: T180095
Change-Id: I1dda3eb4d0e7ebbec544dc0f5763b079e38f5cc8
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
Align SVG markup across Foundation products by:
- unifying XML declaration,
- adding `width` and `height` attributes where missing,
- removing all unnecessary `g` group elements where applicable,
- putting attributes in order,
- removing unnecessary ids and
- unifying whitespace.
Bug: T178867
Change-Id: I6860c9259553e0e41f7656f9e98534db8e02bbc2
The Popups extension uses a footer element so these rules clash with
that and probably other extensions.
To avoid this restrict the element to the skin.
Change-Id: Iac3aa8e600969a0feb0abeee745cd26592a594fd
As discussed on ticket the download button only appears
to work on Google Chrome on mobile browsers.
Bug: T179529
Bug: T179914
Change-Id: I8bbda8d5a8aa42dd23773fea424c1a70e31d6f85
Currently appears unstyled, so in lieu of some styles it would be
better to hide that for the time being and revisit later.
Change-Id: If0f4f02868b1344746affcec5116c325c612d145
Fontchanger code now runs on all skins under the `mobile` target.
All the code will now live in MobileFrontend meaning developers
can operate inside one code base.
Depends-On: I857cfe2d9be9fe49c04c860bc234384c787239b2
Change-Id: I2759455cb6d7ddf13798e94452cb74baf502bafe
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 talk page JavaScript progressively enhances an
existing button in the page.
Remove the frontend logic and rely entirely on whether
the button is in the page or not.
Additional change:
* The browser tests incorrectly suggest a user needs
5 edits to be able to use the talk feature. This is not
true. They just need to be logged in. Update that logic.
Bug: T167728
Change-Id: Iacedea30bdd0775b3d785db5b143abafd7a18b39
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
max-width should actually be one smaller than the threshold
Additional changes:
* Also rename to @width-breakpoint-mobile and
rename @width-breakpoint-desktop for desktop variable in
anticipation of T171365
Bug: T176286
Change-Id: Ia37bceb46a6b780f473828ff38749543bdfcc9f6
The locked edit icon will now show on protected pages.
Additional changes:
* userpage and userNormal was not minified. This has been fixed.
Bug: T174105
Change-Id: I0ef9c4cf3ea6cd1c550023fdf99581b665b459b2
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
They also show up on pages that do not exist.
e.g. https://en.m.wikipedia.org/wiki/Teldenia_ruficostawww
Not showing this box provides a confusing experience - a blank
body.
Change-Id: I335a7804bd77df42a23bee569ce52afcfa59a6de
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 improves the hatnote styling on pages such as Iran.
* Remove italics
* Color changes
* Padding changes
Bug: T173600
Change-Id: I50a49d5be3b7e21042dc0415371b3bc94c5ddcf3
We no longer need to keep this as a separate entry point now we do not
feature flag our print styles
Please enter the commit message for your changes. Lines starting
Change-Id: I6bf12980aa929e84f239931beb0a505809231830
Routine maintenance - all FIXME statements suggest these can
be removed. W00t!
Depends-On: Iee059a6605cf12a073954378f49ddc721a7e016a
Change-Id: I645dca1fa4d9e80d506e907b0be78a5aef0e2f12
Aligning remaining SVGs to WikimediaUI color palette.
Also:
- Aligning markup to each other, among others adding XML declaration
throughout or removing unnecessary `standalone=no` attribute.
- Optimizing with SVGO without prettified markup. Savings of up to
17% of file size.
Bug: T146799
Bug: T172850
Change-Id: I54a21932fd5df64b7716ac66a90de5af73776c23
There is no lead section (as this is defined by MobileFormatter)
when toggling is not available.
This is defined even if there is no lead content.
Bug: T172948
Change-Id: I5999792296872ce62c399d003e7179153446700d
Since we are fiddling with the default display of table's we need
to declare background of captions explicitly to avoid glitchy
behaviour.
Bug: T170344
Change-Id: I0797d346315c87861075f273baac5acf4e9998cb
When using an LTR wiki in an RTL language, Infobox labels are aligned to the
right, meanwhile they are to be left-aligned.
Added Hack to assign info boxes properly when using RTL languages on LTR wiki
Bug: T161399
Change-Id: I1defc994bf128815e3a2f19cda11c439ab2a6cce
When I456714086d2548b2e10cceb2a05f7a0fadf94a3b is merged we will
be able to use an icon on the user page. Ensure the icon continues
to be centered in the screen.
Bug: T143264
Change-Id: I3acfb964a8ef8e7680b2f9d485b90302daeaca9d
Do not allow editing via JavaScript on non-wikitext content models
For these pages ?action=edit will be used
Bug: T173800
Change-Id: Ic62a0c1397ab8a6a59e5382c2999b63b3c60a19f
This is handled by MobileFrontend now, just as it should do.
We rely on skinStyles where possible.
Depends-On: I665f6fe60939475249786fdc951149c38473fda6
Bug: T173597
Change-Id: I0fe9efcf98bbd8e188d91a29d4cfda897d47808d
Replacing abandoned `@colorGray13` (`#ddd`) with
appropriate variable `colorGray12` (`#c8ccd1`) from WikimediaUI
color palette, which is used for borders elsewhere.
Bug: T146799
Bug: T172850
Change-Id: Id529d79901aab32d30e2b50820b59a84bd9b3693
Removing unnecessary Less vars, which are not in use any more.
Also slightly modifying code comment for better code style.
Change-Id: I6e2417561afb03225eaca99ea93135f975a51593
The page actions have been brought down to the next line for all screen sizes
in Ie9ba7df0a0f052948d46b6a9b14a3bbcef2b99fe. There's no need to reserve the
space now.
Bug: T171608
Change-Id: I24d54124049895eee38da8de553b7dc15976235a
Replacing abandoned `@colorGray13` (`#ddd`) with
appropriate variable from WikimediaUI color palette and
remove unneeded `@chromeContentSeparator` var, which is
just used once and not in place with `.header` anyways.
Additional changes:
* Also aligning `border` values to each other.
Bug: T146799
Bug: T172850
Change-Id: Ia9a1736b1ea5fa080b4673038b2c23ddce90f135
Also include a elements here, as a elements without href, as is used
in some places in Minerva, does not have a pointer by default.
Bug: T145493
Change-Id: I08d9176e55ec298c9d423d391b6fb4ed5e9df5e7
The main page in the Minerva skin is not editable so this code is
just cruft. T89559 no longer applies.
Change-Id: Ifcd30be0d4e328b056cc7fcfb714c9783b62c913
Per discussion in T172078 let's relax these rules so navbox shows
up in the desktop mode of the site.
Note: this will not impact the mobile site as navboxes are stripped
from the HTML.
Bug: T172078
Change-Id: I59d229d75dbcb790eb75dc4b838b2afafd2f3980
The config variable `MFNamespacesWithoutCollapsibleSections` controls
namespaces where section collapsing is disabled. In those namespaces
page is not divided into sections marked with `.mf-section-X` classes.
If that's the case the edit button edits the first section, which is
the whole page.
Bug: T157995
Change-Id: I3ec353575529c1fb11a33fc35c9886cf232e327f
The `getLeadSectionElement` method of `Page` may return a `null`. Do
not try to access the `text` method of the returned object if it's
`null`.
Bug: T157995
Change-Id: Ia752fa52d1b09a307dc4b803a6b7e1bdcfe7f867
This brings Parsoid styles when viewed in Minerva consistent with
MediaWiki parser output styles.
You can verify this with:
https://gerrit.wikimedia.org/r/#/c/368287/
Bug: T171727
Change-Id: If4bd7671a99aefdf074061dd1d5b0bac93620e9e
* Add global View and Page
* Remove inheritdoc statements for globals - docs
cannot be inherited from a class defined in another repo
Note:
you'll need to `gem install jsduck` for this to work
Bug: T170639
Change-Id: Idb3a6e9edbd45889047e7904561b84033569a689
stylelint is part of config, but not run by default
Also update to 0.4.1, it is the current default in many wmf extensions
Change-Id: I55f81489182628c088e362e081417514e252e6d6
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