Commit graph

317 commits

Author SHA1 Message Date
Stephen Niedzielski 10024b641e Hygiene: fix DownloadIcon function typing
Change-Id: I421332acae4ace9d0bb7cfcd4b31d9f4581c3e34
2018-07-11 13:39:55 -05:00
jdlrobson 596e405807 Tie issues to sections
Parse all issues inside a page, and load them into the issues overlay.

In group A, given issues inside later sections are hidden, it will not be possible
to navigate to these new overlay screens. In group A, lead section issues will continue
to only show lead section issues.

Changes:
* The /issues route is replaced by the more specific /issues/all and
/issues/{section num}, issues are stored in an "allIssues" module object.
* Begin using constants for namespaces for better readability
* Drop width 100% - this breaks display on tablet devices of issues within
sections
* Improve createBanner documentation to explain different treatments
* Set the issues overlay header inside initPageIssues when setting up
the route.

Bug: T197932
Change-Id: I21470648a61d57cfa4befceec596cf0f6e2110ec
2018-07-11 09:47:46 -07:00
jenkins-bot d5ae991522 Merge "Hygiene: update JSDoc boxed and JQuery types" 2018-07-10 23:00:40 +00:00
jenkins-bot 61bc884204 Merge "Talk page 'issues' are not subject to A/B test" 2018-07-10 22:57:29 +00:00
jdlrobson 70e4e9e85a Cleanup: Last modified active color should be loaded via JS
.active class is added via JS by skins.minerva.scripts
skins.minerva.base.styles is loaded as render blocking
Thus this css rule can be moved safely to a non-render blocking place

Change-Id: Ie8bab826ebc0785e24bb85600de261372c429434
2018-07-10 22:45:24 +00:00
jenkins-bot 80b41c0170 Merge "Hygiene: Document why selectors are needed" 2018-07-09 22:07:08 +00:00
jdlrobson 20e3bbd28f Don't render blank issues
If an extracted issue has no text, do not render it

Bug: T199005
Change-Id: I18047492e891285ed3af113200d2909e178b8224
2018-07-09 21:33:13 +00:00
jdlrobson 34e1a80318 Talk page 'issues' are not subject to A/B test
Bug: T199005
Change-Id: Ib5f60fc5c2157d0b10e39209f5ce4ff56d745eee
2018-07-09 14:24:29 -07:00
jdlrobson 795c0abf06 Hygiene: Document why selectors are needed
This rule has a lot of selectors (note the fix me)
It's not clear what each of them are needed for so make that
clearer in the code.

Change-Id: I80f07118977f465b7d09efad28f94917dd962a3d
2018-07-05 23:54:52 +00:00
jenkins-bot 48e6e4c6ac Merge "Links should not be clickable in mobile page issue element" 2018-07-05 18:26:02 +00:00
jdlrobson a8ed9380ea Do not restrict images to 320px at tablet resolution
Instead max them to the threshold.
Note restricting them is a problem on pages
like en:Ulaanbaatar - in particular the panoramas
inside the "Urga and the Kyakhta trade" section

Change-Id: I28636c62d3545632d3b025b29d154136a81d8218
2018-07-05 18:05:07 +00:00
Stephen Niedzielski 56dabf0af3 Links should not be clickable in mobile page issue element
Bug: T198115
Change-Id: I18c393d5676084e0be3ba12fa267765593368615
2018-07-04 13:43:11 -05:00
Stephen Niedzielski 874d9c9e3b Hygiene: update JSDoc boxed and JQuery types
From TypeScript's do's and don'ts:[0]

  Don’t ever use the types Number, String, Boolean, or Object. These
  types refer to non-primitive boxed objects that are almost never used
  appropriately in JavaScript code.

Although Minerva only uses JSDocs at this time which seemingly doesn't
care about casing[1], we should endeavor to use the proper return types.

This patch lowercases typing to indicate primitive / boxed type as
appropriate.[2] As a special case, function types are uppercased for
compatibility with TypeScript type checking.

Also, JQuery types are of type "JQuery". The global JQuery object's
identifier is "jQuery". This patch uppercases J's where appropriate.

Lastly, replace unsupported type "Integer" with "number" and a comment.

[0] https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html#general-types

[1] https://github.com/jsdoc3/jsdoc/issues/1046#issuecomment-126477791

[2] find resources tests -iname \*.js|
    xargs -rd\\n sed -ri '
      s%\{\s*(number|string|boolean|object|null|undefined)%{\L\1%gi;
      s%\{\s*function%{Function%g;
      s%\{\s*jquery%{JQuery%gi;
      s%\{\s*integer\s*\}%{number} An integer.%gi
    '

Change-Id: I6cbac15940e4501aee7ede8f421b77ffd027170d
2018-07-03 11:10:12 -05:00
Jan Drewniak c10c3f011e Increasing specificity of '.center' class
Bug: T193595
Change-Id: Id365952881118bc3587fe8a0c897892e61f41df1
2018-06-28 22:21:05 +02:00
jenkins-bot 6037e61bc9 Merge "Revert "Suppress display of wikitext editor on action=edit"" 2018-06-22 19:23:37 +00:00
Bartosz Dziewoński 645ffa46f8 Revert "Suppress display of wikitext editor on action=edit"
This reverts commit b8c0e4ff30.

Bug: T196915
Bug: T197834
Change-Id: I875854ab65f8b76929285938d2dbaa996caf3546
2018-06-22 19:11:13 +00:00
jenkins-bot f75590a85b Merge "Update: link icons for standard density displays and CSS" 2018-06-21 22:42:47 +00:00
Stephen Niedzielski 5d938aa9e8 Update: link icons for standard density displays and CSS
The previous lot of link icons look great on high DPI displays but not
as nice as they could on standard resolution displays. According to
Volker, this is because the SVG paths must appear on integer coordinates
and scale up instead of down. The new assets have been designed with
this consideration in mind.

Also, workaround redundant CSS by adding commenting out the "unvaried"
black SVG background-image selector, selectorWithoutVariant.

Bug: T190549
Bug: T197909
Change-Id: Id341d383018a436401541e82cc75d826688eaaae
2018-06-21 17:11:46 -05:00
jenkins-bot efa17f210d Merge "Localise "learn more" and warning icon to issues" 2018-06-20 15:52:42 +00:00
jdlrobson f943abd854 Localise "learn more" and warning icon to issues
This is currently showing up on sisterbox templates e.g.
the one on Category:Beekeeping

Bug: T197728
Change-Id: Idaf4aeb4a9efb668e5c06e19ce1eddace121e741
2018-06-20 08:37:00 -07:00
jenkins-bot d5cd6950b0 Merge "Suppress display of wikitext editor on action=edit" 2018-06-20 09:45:57 +00:00
jenkins-bot 041eaadcb5 Merge "Mobile page issues - visual styling changes" 2018-06-19 22:13:31 +00:00
jdlrobson a231525112 Mobile page issues - visual styling changes
Changes:
* Introduce Jan's beautifully documented $wgMinervaABSamplingRate
Set to 1 to A/B test 50% of the population
* Split out ambox template styles into a separate file referenced
by hacks.less
* Update cleanuptemplates setup script to consider two buckets

Test pages:
* Shqiponja_Partizane
* World_War_II_in_Albania
* Liberation_of_Tirana
* French_Consulate
* Abd_ar-Rahman_IV
* M109_howitzer
* Aimoin
* Transport_in_Brazil
* Transport_in_Cape_Verde

Bug: T191303
Change-Id: I8d11e655ccb847b7999e64dda57b225ad8b1c23a
2018-06-19 14:11:19 -07:00
jdlrobson 2e7e7d3259 Only render table of contents on pages with a table of contents
Bug: T193517
Change-Id: I0ed0255280f525d7726d2e09ceab15a76e2d6026
2018-06-19 18:18:03 +00:00
eranroz 8ca00225dd Fixing alignment of infoboxes for RTL/LTR
Explicitly set align to left on LTR wikis, and same for RTL wikis.
(tested in en wiki with ?uselang=he and he wiki with ?uselang=en)

Bug: T161399
Change-Id: Ic70acf2c56b52fe52eaac021581617342e3ae74f
2018-06-17 22:14:11 +03:00
Stephen Niedzielski 3485269be1 Update: add internal and revise external link icons
Bug: T190549
Change-Id: Iad7fdc2f2a730fa8874487c0d83355f21a0bf7ea
2018-06-15 12:31:42 -05:00
jenkins-bot df9551bf12 Merge "Allow editor access to the full page's wikitext" 2018-06-14 18:45:56 +00:00
David Lynch b8c0e4ff30 Suppress display of wikitext editor on action=edit
As I6c7e3443756fd72749964d1eda37e3d123b201b3 gives full-page editing on
action=edit, suppress the display of the original wikitext editor so there's
not a flash of a different editor before the overlay appears. Provide a
fallback so that in cases of no-JS the wikitext editor can still be reached.

Bug: T196915
Change-Id: I7dd3de984ead4d70e977e5607bb07606d341db54
2018-06-14 11:57:18 -05:00
Jan Drewniak 7617174d40 A/B test bucketing wrapper for page issues AB.
Provides a class that initiates AB-test bucketing and registers
as a MF module. Activates the reading depth test for users who are bucketed
in either buckets "A" or "B".

Does not add event-logging or visual style changes for page issues AB test.

Bug: T193584
Change-Id: If8504a35059c6d1b056cef063a595b1c2ffd351a
2018-06-13 15:43:08 -07:00
Stephen Niedzielski 0b043fbaa7 Fix: don't truncate the article title
Header overflow was truncated in MobileFrontend commit 1655d5233 which
added the language switcher button that appears below the title. This no
longer appears to be required even for articles with lengthy titles.
Perhaps because the language switcher button exceeds the page content
margin, it was thought to be necessary.

Bug: T194544
Change-Id: I4e25e7b03df65803cd553b412881eb565ded9b10
2018-06-13 13:51:44 -05:00
David Lynch 2d930cedbb Allow editor access to the full page's wikitext
Make a new route which uses `#/editor/all` to trigger loading the full page's
text in the editor, rather than defaulting to the first section. This isn't
exposed through the UI, but will be what's used when intercepting action=edit
links, which already loaded the full page's wikitext in the non- overlay
editor.

Bug: T196915
Change-Id: I6c7e3443756fd72749964d1eda37e3d123b201b3
2018-06-12 11:55:37 -05:00
jenkins-bot a0dfcf4e75 Merge "Add "center" layout rules based on mediawiki.skinning in core." 2018-06-06 12:33:55 +00:00
Jan Drewniak 81ef4caaa7 Add "center" layout rules based on mediawiki.skinning in core.
Bug: T193595
Change-Id: I2fa991c68786be95a82132ff720ed6e61074bc99
2018-06-06 11:46:40 +00:00
jenkins-bot 92a6e01791 Merge "Provide gender parameter" 2018-06-06 08:22:36 +00:00
Piotr Miazga 52e8e93020 Provide gender parameter
Bug: T194868
Change-Id: I20fb6aee13c6bf7bc66bf3cae9560548a336e04d
2018-06-05 16:40:11 +02:00
David Lynch e91295a5ea Fix action!=edit opening the editor
Bug: T196150
Change-Id: I5bd4b5ce231f5269676d0706e6762f33f6faa344
2018-06-04 10:20:22 -05:00
Baha ee9ec00234 Don't turn off listening to reference clicks
For event logging purposes we need to be able to listen to reference and
backlink clicks. Clicks on these elements were disabled before this patch.

Although clicking on backlinks was disabled, it wasn't working properly
as the user could click on those links and be taken to the reference.
Thus this piece of code has been removed.

Bug: T191086
Change-Id: Idbaa39523a35f3b649f521be05c83255aa2b1396
2018-05-31 20:10:31 +00:00
jenkins-bot e08d4a4af4 Merge "Edit infobox style to properly position captions" 2018-05-30 09:54:26 +00:00
Timo Tijhof 64134bd8a6 Remove minerva.less from global import path
Use local imports instead given all relevant files are within the
same repository, and don't vary by configuraion.

Bug: T140807
Depends-On: If3edac9a35b346af0320c12f70c0d978a6346201
Change-Id: Ife3cc345a63aff452e93accbe0a593fbaa358732
2018-05-29 12:19:00 +00:00
Jan Drewniak 03a7b57a20 Edit infobox style to properly position captions
Bug: T193881
Change-Id: Ie20dafc0fbf02d654cd9ac137f51ef1436ca97f1
2018-05-24 14:19:58 +02:00
David Lynch ea0ef071a2 Intercept desktop editor links
Make ?veaction=edit/editsource and ?action=edit trigger the appropriate mobile
editing mode.

Bug: T185729
Change-Id: I2275b011d2b3c03462e3c1711d3135ce672596e8
2018-05-20 12:41:21 +02:00
jdlrobson f7e8df65b2 Merge profile icon with user-avatar icon
Both are the same but different variants - so use the variants
ResourceLoader module to keep this modules consistent in color
and form.

Change-Id: Ib75e1ff741fa46ad9698e89c4433b6edbad4d376
2018-05-08 23:35:44 +00:00
David Barratt f51cf7db7b
Use a Drawer for Block Notices
When a user is blocked, the toast message provides insufficent information to
the user. To provide more information, as well as a better design, the block
message will be moved into a drawer.

Bug: T165535
Change-Id: Ib025db3a8a4d1fd7bd05b69f9b5326943288372f
Depends-On: I926918d0bd7f2176f188a2154dc5e99f6a8a7ad1
2018-05-08 13:20:00 -04:00
jdlrobson ddc1e2a30d Content area needs a z-index
The content area is the sibling of the overlay.
For the overlay to overlay it and its children it
must explicitly setting a z-index

additional changes:
* Move UI styles from skins.minerva.mainMenu.styles
to their more logical place (note skins.minerva.mainMenu.styles
is loaded via JavaScript unncessarily)

Bug: T193444
Depends-On: I7c0d02f073a2fe165a6027e3c6d1455e22c1b563
Change-Id: I8be31c7daf254e22ccaed81704cbcd2b638c54f6
2018-05-03 18:01:51 +00:00
jenkins-bot a44370b2b0 Merge "Regression: Avoid reflows on lazy image placeholders" 2018-04-30 18:13:17 +00:00
jdlrobson e7e1aa8229 Regression: Avoid reflows on lazy image placeholders
Now we are applying width: 100% to all placeholders we are causing
significant reflows for the entire page.

Restrict altering the height on only real images which can be distorted
by dimensional changes

Bug: T191893
Change-Id: I982d928273dc3b6f30974f2401760d5d44ce4b82
2018-04-30 10:53:03 -07:00
Jan Drewniak 0374ef64a0 Display content beside infobox instead of below.
Removing CSS rules that that push content below infoboxes.

Bug: T189688
Change-Id: I59736720b36f251c49a27a2dd7f5343d58629992
2018-04-30 17:33:08 +00:00
jenkins-bot 10c672acba Merge "Removing aqua-colored tap highlight color for links on android" 2018-04-30 16:46:11 +00:00
jenkins-bot deef073013 Merge "Change strategy for undoing '.content table' overrides" 2018-04-27 18:53:59 +00:00
Timo Tijhof 1fd6ce6db2 Change strategy for undoing '.content table' overrides
This is effectively a no-op for Minerva itself, but
automatically fixes a bunch of bugs, such as the
lack of centerring on WikiHiero elements.

Bug: T184221
Change-Id: I0af4df2391be1fab3c93fcbfea6624074fc96414
2018-04-27 18:40:14 +00:00
Jan Drewniak 65bd3bfbea Removing aqua-colored tap highlight color for links on android
Bug: T189627
Change-Id: I303b007dd1885115bbc85ff4edad7a812a721a26
2018-04-26 15:58:54 +02:00
jenkins-bot db26e58e1e Merge "Remove unused CSS code" 2018-04-25 22:43:07 +00:00
jdlrobson 026b1ff305 Remove unused CSS code
Remove:
* no-edit-js
* .content_block

Document existence of Parsoid selector
* mw-ref

Change-Id: I0cb695dd437f9e070d57adf60170788dd2047137
2018-04-25 15:16:05 -07:00
jdlrobson b7e1ef4468 Restrict lazy thumbnail placeholder width
Follow up to Ibbba75fcb978b3b049f4cb100f39146d39ebf6af
Bug: T191893

Change-Id: I62a11322ea236498cec464735e741aea173b4c63
2018-04-24 15:34:24 -07:00
jdlrobson a03f159e55 Size restrict images inside noscript tags
Bug: T191893
Change-Id: Ibbba75fcb978b3b049f4cb100f39146d39ebf6af
2018-04-23 13:42:31 -07:00
jdlrobson 1f7de003ef Restrict gallery styles to only pages which need it
The mediawiki.page.gallery.styles module is only loaded
when needed, yet inside hacks.less we load gallery
styles unconditionally.

The hacks.less file is also only meant for css that overrides
template styles, so it didn't belong there anyway.

Change-Id: I4afc91ad7f67ae66544708d25541b3e8dd247873
2018-04-13 17:26:46 -07:00
jdlrobson 86238c64c2 Restore last modified active link color
In I7abdbac4d2d16b931e2b110fcebf0dfc82146753 I accidentally
removed the active link color (I meant to /move/ it from the
critical path since it requires JavaScript)

Change-Id: Ie86c3c9d03a0ed130a86c50bb548c9b47db6def6
2018-04-13 10:19:31 -07:00
jenkins-bot 612f9b4357 Merge "Only load notification icon (bell) CSS for logged in users" 2018-04-12 16:54:29 +00:00
jdlrobson 2e453edd23 Only load notification icon (bell) CSS for logged in users
* The notification-count style is only needed if you are logged
in. Given a small percentage of our users are logged in, we
load a lot of render blocking css unnecessarily.
* The bell icon is not needed for anonymous users so pull that
out from skins.minerva.icons.images which is loaded for all users
into a module only used by logged in users (skins.minerva.icons.loggedin)
* Simplify the user-button rule - it is overly specific - probably for
historic reasons.

Additional changes:
* Simplify isAuthenticated helper

Change-Id: Ia72e7e45d276e8aac1ff5471bf6158705c7b5f99
2018-04-12 09:27:01 -07:00
jdlrobson f9ac17d94d Remove unused css rules
* language-selector can only appear in secondary actions so only
load rule on Main page
* .no-js-only not used in MobileFrontend or Minerva
* Remove last-modified-bar rules from ui.less that are repeated
inside footer less file
* #mw-mf-last-modified id is no longer used post-footer rewrite
* CSS rules for .mw-mf-banner are defined in Zero extension
* mw-mf-image-replacement is no longer needed after we turned off
the option to disable images in the mobile site

Change-Id: I7abdbac4d2d16b931e2b110fcebf0dfc82146753
2018-04-12 09:24:44 -07:00
jenkins-bot 1648c7752e Merge "multi-line, two-line and mw-ui-button-group only loaded where needed" 2018-04-12 15:57:46 +00:00
jdlrobson d228b2cbd7 multi-line, two-line and mw-ui-button-group only loaded where needed
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
2018-04-11 21:50:53 +00:00
jdlrobson 19ceaea732 span.mw-ui-icon is defined in core
Depends-On: I3d1ed6e4a165f48244e760752342c712047a07d8
Change-Id: Ifc576bbb6ec461ed30b01ae27f02620fdf8105c1
2018-04-11 13:50:03 -07:00
Stephen Niedzielski b106ed3219 Fix: update edit button lock style state
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
2018-04-09 17:40:00 +00:00
Ed Sanders f4658a4d0e Fixes for action=edit page styling
* 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
2018-04-05 23:13:49 +00:00
Jan Drewniak da7f08ad09 Use OverlayManager for SearchOverlay
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
2018-04-05 15:23:36 +02:00
jdlrobson 8dad1703af Special handling for links without href attribute
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
2018-03-29 15:58:09 -07:00
jenkins-bot 121958bea1 Merge "Block reason messages escape HTML" 2018-03-29 21:34:34 +00:00
jdlrobson ac1ffdb5f1 Restore search placeholder text
Bug: T190939
Change-Id: Ic42ed495b54f153c93ee32ac250dfe5d9233d1cb
2018-03-28 20:00:55 +00:00
jenkins-bot 75cfd47acb Merge "Last modified links should not be progressive blue" 2018-03-28 19:12:00 +00:00
jdlrobson bc045b78a2 Last modified links should not be progressive blue
This regression was due to I9f842ae09751d299716d752328f747269597fbdb
Updated specifity of selector.

Additional change:
* Update comment per feedback from TheDj

Bug: T181472
Change-Id: I9534cce5f240009c9013b75e1367776519b00d81
2018-03-28 19:00:35 +00:00
Stephen Niedzielski e8b4559f5b Fix: always show table of contents
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
2018-03-28 13:36:17 -05:00
David Barratt 6bea4324c6
Block reason messages escape HTML
The block reason in the block message has escaped HTML. This
HTML should be rendered to the user.

Bug: T190901
Change-Id: Icda7c5d0c76aff7c22f3a6735d880a5ee49338ff
2018-03-28 12:36:43 -04:00
jdlrobson daa6ad5145 Do not style links without href attribute
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
2018-03-26 10:44:52 -07:00
jdlrobson 922f4a09e4 Remove unnecessary file for gallery styles
This should have been removed back in 2015.
See I0ef5c2d5a9019355aa3a158f9e489df02975e0af
Gallery styles come from mediawiki.page.gallery.styles

Bug: T190215
Change-Id: I87713164e1c3906b341a4fb17be424307f8fa428
2018-03-20 22:12:04 +00:00
Volker E 759590873b Replace #toc selector by .toc
Replacing id CSS selector by lower specific class selector.

Bug: T187808
Depends-on: I7f3a9df7f9fd1178986112b5265b1ae7c991d5b7
Change-Id: Ib1a874b644e80a26ff415003684f6ce54fd2b7e6
2018-03-20 01:49:43 +00:00
jdlrobson cfd5fbbde8 Add icons for all the types of issues
More hackery!
This adds some tests and ensures that our own icons are mapped to the
existing template icons.

Bug: T187916
Change-Id: I49073f22995c6730369235d6039939915ba2079c
2018-03-15 15:02:05 -07:00
jdlrobson eaa2692da0 Use jsdoc for generating Minerva documentation
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
2018-03-15 15:01:41 -07:00
Volker E 19d9a6367b Replace abandoned color variables
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
2018-03-14 17:53:56 -07:00
jdlrobson 0100dc33a4 CSS tweaks to issue overlay
* 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
2018-03-14 17:54:50 +00:00
jdlrobson 888129478b Generalise search trigger mechanism
Allow content to trigger it.

Bug: T189316
Change-Id: Ie9a66b001b3ea4f79e465747b80b181df948cd34
2018-03-12 20:49:25 +00:00
jdlrobson 71bf8604ab Move error handling inside Minerva
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
2018-03-08 20:03:22 +00:00
Stephen Niedzielski 41a43c5ce1 Hygiene: remove window.location use from overlays
Bug: T173539
Depends-On: I158dd7883be2846cf0d48bbd7e89fe2cd64a57d3
Change-Id: I87741667ca06cc701e5265aff13ba0492501de26
2018-03-07 17:13:59 -06:00
Stephen Niedzielski 27bc7e7212 Chore: move window.location use to client
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
2018-03-06 08:35:48 -06:00
Jan Drewniak 3b83933b57 Removing tap-highlight override for iOS
Bug: T188043
Change-Id: I78558b0badc3ecdaf4eb99ab1ed2a17fac3dd9e1
2018-03-01 19:04:13 +00:00
jenkins-bot eb8b6d492f Merge "Hygiene: move CategoryAddOverlay window use to client" 2018-03-01 18:22:53 +00:00
Stephen Niedzielski 9431e9a6e3 Hygiene: move CategoryAddOverlay window use to client
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
2018-03-01 18:17:34 +00:00
Jan Drewniak aa7e20f8c3 Passing currentPageTitle option to TalkSectionAddOverlay
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
2018-02-28 21:08:00 +00:00
jdlrobson 3bfc4c7f48 Remove unused userpage icon from repo
This was removed in Ia3fb34250714fe4ccb10c32a7027fda167e06a16
It is no longer referenced anywhere.

Bug: T187222
Change-Id: I14d486d962cfd1e4277a82d78084a785093d679d
2018-02-15 08:36:44 -08:00
jdlrobson 196fb20836 Restore Minerva specific userpage styles for all user pages
In T182162 these were removed incorrectly. They should only have
been partially removed.

Bug: T187222
Change-Id: Ia3fb34250714fe4ccb10c32a7027fda167e06a16
2018-02-13 16:14:54 -08:00
jenkins-bot 45e3f024e0 Merge "Remove main page toggle check" 2018-02-12 19:22:54 +00:00
jdlrobson 6ab5944b09 Pages that do not exist cannot have issues
Bug: T185359
Change-Id: I4d2adcd31d31761c178cbb8df8db696f654a795d
2018-02-08 22:09:49 +00:00
jdlrobson b0970a4a7e Remove main page toggle check
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
2018-02-07 09:10:47 -08:00
jdlrobson 4389b67989 Explicitly use LESS variable for breakpoint defined in mediawiki ui
$wgResourceLoaderLESSVars is deprecated. Let's not use it anymore.

Change-Id: If28ab6884668700bc46533c8e2c377f17e6be696
Depends-On: Ib9f843147db4473ce5590741e0fb490384b0007e
Bug: T171365
2018-02-06 22:23:32 +00:00
jdlrobson 3047f3e0fa Merge remote-tracking branch 'gerrit/master' into specialpages
Change-Id: I1bc48ac546865f515df65e9d7f0c75e7f5c6d684
2018-02-01 11:35:11 -08:00
jdlrobson 326ec90cd5 Disable download button on Chrome like browsers
Add Dolphin, Opera and Maxthon to whitelist

Bug: T182059
Change-Id: I39bf9d016aba189016b2ce5b42a2e95b58cb33ce
2018-02-01 10:59:18 -08:00
jdlrobson 6b801b8c5c Console recruit message has been moved to MobileFrontend
Change-Id: I48eb8ac7471f7e17ed10ac326230cf2ffed467d1
Depends-On: I3ee0c34139ec658566e8d324a3c8c28a80e930fd
2018-02-01 00:48:13 +00:00
jenkins-bot af9db025df Merge "Remove horizontal line from popups preview in MinervaNeue skin" 2018-01-30 19:18:58 +00:00
Alangi Derick 3c81e0c717 Remove horizontal line from popups preview in MinervaNeue skin
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
2018-01-30 20:06:42 +01:00
jenkins-bot fcc759ee19 Merge "Fix editing of non-mobile-formatted pages" 2018-01-29 21:05:31 +00:00
jdlrobson 6cdcc8ddfa Fix editing of non-mobile-formatted pages
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
2018-01-29 20:56:31 +00:00
jdlrobson 1e56e46724 Fix download icon spinner
Regression, introduced in
I6e474562ba5f2c704364c9d7b49f982f7bab8a18

Bug: T182162
Change-Id: I56464d42e437a94b2008338b00f49b4e0b086561
2018-01-29 20:08:04 +00:00
jdlrobson c5d09c0288 Prefix icons in Minerva
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
2018-01-19 15:30:03 -08:00
jdlrobson fe3ac29fe7 Merge branch 'master' into 'specialpages'
Change-Id: I167f03477fd79e5ea0c7fa5cdf5df71bb8da31c2
2018-01-19 11:00:55 -08:00
jenkins-bot 80f51c4d5d Merge "Fix infobox styles to work well with multiple column infobox rows" 2018-01-17 20:04:02 +00:00
Piotr Miazga 4ca5666c06 Show Download button only on Android >= 5 & Chrome >= 41
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
2018-01-16 22:15:07 +01:00
David Sn 5d46c576bb Fix infobox styles to work well with multiple column infobox rows
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
2018-01-16 17:19:39 +00:00
Piotr Miazga 3c4f3a0ddd Send events when user taps download icon
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
2018-01-11 18:50:31 +00:00
jdlrobson 09a1f98ab3 Merge remote-tracking branch 'origin/master' into HEAD
Change-Id: Ia1a520d983be096e29cfe725f619be0423f9d110
2018-01-08 16:37:44 -08:00
jdlrobson a807fd6fed Avoid OOUI/download icon nameclash
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
2018-01-04 20:47:42 +00:00
Jdlrobson fc54446a40 Revert "Fix infobox styles to work well with multiple column infobox rows"
This reverts commit b3dc650f15.

Change-Id: I18b4cfd30d0703844748a2b4fb934f5824537970
2018-01-02 22:02:12 +00:00
jdlrobson 6598c1e7c3 Merge branch 'master' into HEAD
Change-Id: I220fbc57ee20d2a6717b39dba809401de2207ce0
2018-01-02 13:21:27 -08:00
David Sn b3dc650f15 Fix infobox styles to work well with multiple column infobox rows
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
2017-12-23 00:35:06 +00:00
jdlrobson 1146cef6b1 Optimise Special:MobileOptions for tablet display
Bug: T180095
Change-Id: I0ef0ce914a360848f8f66b39c40588f3fa04647c
2017-12-05 14:20:11 -08:00
jdlrobson c986db6c0e Always render taglines unconditionally and update styles
Adjust tagline margin per Nirzar:
https://phabricator.wikimedia.org/T180095#3801719

Note, this will  enable the tagline everywhere.

Change-Id: I3bce2a3472ab2e53261965c953572f35cc740eed
Bug: T180095
2017-12-05 00:27:11 +00:00
jenkins-bot 01d6c5ed21 Merge "Pages with only forms should take up entire page" into specialpages 2017-11-30 18:35:21 +00:00
jdlrobson 7c34b47993 Fix broken QUnit test
Correct some options names and make minor adjustments to the
constructor function

Bug: T181348
Change-Id: Ia9fe9d2923b895d3dc530280e3987e27c88d3282
(cherry picked from commit 89909ccf53)
2017-11-30 18:29:02 +00:00
Volker E eaeea5dd5e Replace unique color with standard subtle print color
Replacing `#9aa0a7` with standard subtle `#999` print color.
Also clarfiying LESS variable naming and removing unused variable
`@printBorderColorLight`.

Change-Id: I2c1b36099935aa99d63a3316b3a107a23ffa0afd
2017-11-30 17:44:25 +00:00
jdlrobson eaa4dae5af Disable download button in all namespaces except main
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
2017-11-29 20:29:12 +00:00
jdlrobson b6e91de90e Pages with only forms should take up entire page
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
2017-11-29 19:58:09 +00:00
jdlrobson 89909ccf53 Fix broken QUnit test
Correct some options names and make minor adjustments to the
constructor function

Bug: T181348
Change-Id: Ia9fe9d2923b895d3dc530280e3987e27c88d3282
2017-11-28 11:46:55 -08:00
jdlrobson 9826055afc Clear spinner after window.print
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
2017-11-27 12:33:14 -08:00
jdlrobson b05da8d49d Load all images during print action
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
2017-11-21 15:27:36 -08:00
Volker E 8497d6d259 Unify SVG markup
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
2017-11-14 21:44:40 +00:00
Ed Sanders 8dd2544c0e Copy external link numbering from content.parsoid.less
Change-Id: I308d06ada35e63d81db8d034717f650d54aafc78
2017-11-13 19:20:29 +00:00
jenkins-bot 5a4b645cd7 Merge "Restrict footer styles to skin footer" 2017-11-13 19:04:14 +00:00
jdlrobson 14ddb0a742 Restrict footer styles to skin footer
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
2017-11-10 20:06:03 -08:00
jdlrobson 7697c262db Limit download button to Google Chrome
As discussed on ticket the download button only appears
to work on Google Chrome on mobile browsers.

Bug: T179529
Bug: T179914
Change-Id: I8bbda8d5a8aa42dd23773fea424c1a70e31d6f85
2017-11-09 21:11:02 +00:00
jdlrobson 256606f672 Style kbd and samp elements as monospace
Bug: T175709
Change-Id: I0c11fbfe3fab0a0bc9fcea429970861b10643182
2017-11-07 22:59:09 +00:00
jdlrobson b843fb2312 Switch to outside list style
Bug: T150377
Change-Id: Ic5b90ab8e369d113f0f46c8c5d7b7a63951bcbd4
2017-11-02 10:56:51 -07:00
jdlrobson a7ab80335a Reveal edit icon and style top level headings on desktop Minerva
Bug: T179356
Change-Id: I414040658eeb8a24d41f6496dd634ef47e3e9952
2017-11-01 18:54:44 +00:00
jenkins-bot 326ff8ec78 Merge "Hide table of contents temporarily on Minerva desktop" 2017-10-31 01:59:40 +00:00
jdlrobson 006dfaaa12 Hide table of contents temporarily on Minerva desktop
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
2017-10-30 18:11:32 -07:00
jdlrobson 58729578ae BetaOptin now managed by MobileFrontend
Depends-On: I83dc2165081332453cd6fc586ae7a3ba04bd3416
Change-Id: I11200f0ff90b359e363ea7a95bf4f3b9e92a67b4
2017-10-30 17:23:41 -07:00
jdlrobson d3318a9f85 Remove MobileFrontend's font changing code from Minerva
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
2017-10-30 19:11:16 +00:00
jdlrobson 5cb46fe9d2 Hygiene: Minerva owns PointerOverlay
The only usage is inside Minerva so we will move this module here.

Change-Id: If6859f0c8f855c6b116b254c58a6814f54b7c36d
2017-10-30 18:00:02 +00:00
jenkins-bot accb0c6609 Merge "Minerva owns BacktoTopOverlay" 2017-10-26 20:40:18 +00:00
jdlrobson 038103299a Minerva owns BacktoTopOverlay
Not used in MobileFrontend so it is moved here from that repo.
t r
Change-Id: I97e6010026daf4c6610bcfbedf140fb2a45b1130
2017-10-26 16:34:16 -04:00
jdlrobson 12b49a70ad Notification icon should not show NaN for persian Wikipedia
Bug: T172755
Change-Id: I2884c8daed3fe0e0d05c746ec6319956b7426957
2017-10-26 20:27:12 +00:00
jdlrobson 571895b754 Disable print button on iOS
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
2017-10-23 16:06:25 -04:00
jdlrobson 45a1b3b423 Add feature flagged DownloadIcon
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
2017-10-23 18:12:20 +00:00
jdlrobson b93b7eda7c Render add discussion button in PHP not JS
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
2017-10-16 22:35:11 +00:00
jdlrobson 8729f0b654 Hygiene: Minerva uses skin instance defined by MobileFrontend
The global events for resize and throttled will also be defined
inside MobileFrontend.

Depends-On: I8503c26bd064ae0d203f95a35031468c7c678ac1
Bug: T173454
Change-Id: I00d361ad504ab90f2bf80a53a7c76269f1116207
2017-10-11 23:43:57 +00:00
jenkins-bot 1c0d0d5f3c Merge "Minerva is responsible for loading tablet modules in tablet mode" 2017-10-11 22:57:43 +00:00
jdlrobson c04c58a4d7 Minerva is responsible for loading tablet modules in tablet mode
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
2017-10-11 15:41:46 -07:00
jdlrobson 88a0baeb6d Hlist tweaks (size and color)
* Font size should be relative to context
* Only apply linkColor to links in footer

Bug: T169315
Change-Id: Ibb25d8b63e4efaf8b2bc4c28e3bac95a6a16db86
2017-10-09 16:40:01 +00:00
jdlrobson 8de58c546e Avoid clashes with MediaWiki:Common.css for hlist rules
Impacts footer and main menu

Bug: T173507
Change-Id: Ie519550c0657c2314ecccaca1d65ecf99d0a3f5f
2017-10-06 15:58:50 -07:00
jdlrobson 734ac36f1e Correct feature phone threshold detection
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
2017-10-04 13:51:19 -07:00
jdlrobson 2e8ea6219f Update SVGs for page actions and restore locked edit icon behavior
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
2017-09-29 13:20:39 +00:00
jenkins-bot 9bb62a254d Merge "Collapse amboxes in edit view" 2017-09-28 16:11:43 +00:00