Commit graph

1158 commits

Author SHA1 Message Date
T. Bayer 287a2aafe9 Exclude redlink clicks from modalEditClicked event
This event is meant to track attempts to edit the page we are on,
but also happened to catch clicks on "see talk page" links, in
case that talk page doesn't exist yet.

Bug: T204073
Change-Id: I1a471f81cc9390fc9e8665a7a336cf2dd7a063ab
2018-09-18 13:37:34 -06:00
Bartosz Dziewoński 5e7b3994fd Move Parsoid output overrides to 'mediawiki.skinning.content.parsoid' skinStyles
We need to load these only when VisualEditor is loaded. This is
the best way to ensure that. They have been haphazardly placed
in different files.

The goal of this change is to move content styling for Minerva out of
mobile.editor.ve/minerva.less, and thus to be able to move this file
to mediawiki/extensions/MobileFrontend (T202978). But I spotted the
other places while working on that.

Moved as-is:
* skins.minerva.content.styles/links.less
* mobile.editor.ve/minerva.less

No longer needed:
* skins.minerva.content.styles/text.less
  Parsoid now uses <sup> tags for references rather than <span>,
  so the existing rules for <sup> tags are enough. See T45094,
  <https://www.mediawiki.org/wiki/Specs/HTML/1.6.0/Extensions/Cite>.

Was never needed:
* skins.minerva.content.styles/thumbnails.less
  The styles from the core module 'mediawiki.skinning.content.parsoid'
  are never loaded, so we don't need to override them.

Bug: T202978
Change-Id: I45e1cb89b65a41a29d2b1a361a79199745ccec14
2018-09-17 21:55:32 +00:00
Stephen Niedzielski ba17b11987 Hygiene: fix line length violators
Change-Id: Ie1619acf5f319dafc2c9dc612335c1208522dab8
2018-09-13 09:33:20 -06:00
jenkins-bot 3abd6ef9f0 Merge "build: Update linters" 2018-09-12 17:26:12 +00:00
Ed Sanders 04a2b27d7f build: Update linters
This exposes two broken tests:

* #setCount (Eastern Arabic numerals)
* clicking on the product of createBanner() should trigger a custom event

that were previously passing due to buggy assertions.

Change-Id: If18ad1ff9363fff65d3e347c01ce4bc0669b2a0e
2018-09-11 13:42:11 -07:00
jenkins-bot 5145bc1818 Merge "Fix formatPageIssuesSeverity" 2018-09-07 14:48:27 +00:00
jenkins-bot 6f7e652f32 Merge "Hygiene: Consistent error naming" 2018-09-07 14:17:22 +00:00
jdlrobson f14d9514c6 Fix formatPageIssuesSeverity
The page-issues reducer function that retrieves the severityLevels
for issues was incorrectly comparing two values in the multiple-issues
scenario.

Instead of comparing the severity of the current issue with the previous
value in the accumulator, it was comparing the current issue with the
previous issue in the original array, thus ignoring the
previous `maxSeverity` value in the accumulator.

Tests added and function refactored with more explicit variable names.

Bug: T203725
Change-Id: Ia4c15cbf0c2457d68a7381e8ed04c1a6b3ae65d1
2018-09-07 11:25:16 +02:00
jdlrobson c68f7ba09f Issues instrumentation: issuesClicked events should always send 1 sectionNumber
Erroneously in I6fd55c35b9e2ce35894259f36d1a50fb5dca5e43 for the old treatment
 we sent sectionNumbers for all issues in the page.

This is inconsistent with the issuesSeverity field above it
Add a clarifying inline comment.

Bug: T203050
Change-Id: Ib1fcda0c49a162cd7aca8ee8b3221236f724e1d7
2018-09-06 17:40:34 -07:00
jdlrobson e7f0cfd665 Hygiene: Consistent error naming
Rather than using err and error as variable, use error for consistency
Follow up to I07f01b4c025b2e5e4cbf88ec05e7c536442c62cc

Bug: T202026
Change-Id: I54165ff1f1b17284d8232c491244e1a98950d5e2
2018-09-06 21:04:53 +00:00
jenkins-bot 993e77e76b Merge "Correct the link for page issues in the old treatment." 2018-09-05 20:14:06 +00:00
jenkins-bot 002160ae9c Merge "page-issues sectionNumbers consistency on modalClose event" 2018-09-05 20:02:35 +00:00
jdlrobson dc6f707ea1 Correct the link for page issues in the old treatment.
createBanner was incorrectly always assigning the 'all' keyword
to the old page issues banner. Instead it should use the section
number in the function signature - as this decision of which issues
to show is made inside initPageIssues

For the old treatment, in the main namespace, we only show issues
in the lead section. When we use the 'all' keyword the visual is
the same, but it breaks the instrumentation requirement that
sectionNumbers and issuesSeverity should be the correct length

Note, for the talk and category pages treatment, we do not
log any events so the instrumentation doesn't matter here
and the 'all' keyword correctly targets all issues in the page
as before.

Bug: T203050
Change-Id: I63e45da05ca033fe282633f7fd59038a8e5d8c8d
2018-09-05 12:51:56 -07:00
Jan Drewniak 1a9bcd1e8a page-issues sectionNumbers consistency on modalClose event
For the page-issues modalClose event, the number of values for `sectionNumbers`
and `issuesSeverity` should be the same, since `sectionNumbers` should describe
the the section of each visible issue in the modal, not the section of the
modal itself.

Bug: T203050
Change-Id: Ic58c5940a6059e71aa3aeed26232afbe8faf1618
2018-09-05 21:29:53 +02:00
jenkins-bot 752557d88b Merge "Scope styling of kbd/samp/code/pre to content areas" 2018-09-04 21:33:30 +00:00
Ed Sanders 270fb18f2e Scope styling of kbd/samp/code/pre to content areas
Extensions may be using these tags and not want
these styles (especially the border).

Bug: T203474
Change-Id: I03a22cf6377002f968cabdcce9354e73354fb6b8
2018-09-04 21:08:12 +00:00
Timo Tijhof c1fe42fede Hygiene: Use early returns in a few places for special cases
When handling special cases that are logically distinct from
the function's main branch, it improves code quality (through
readability and maintainability) to place those first and with
an early return.

The has the benefit of the main return statement being easy to
find at the end of the function. (Not early and/or in a block).

It also means when working on the code, there is generally a
less complexity and fewer nesting levels, given that most code
is in the main branch. This makes is easier and quicker to verify
that code does what it should, as well as making it easy to
extend in the future. When considering to add code to end of a
function's main scope, it should relate to the function's main
branch by default, not a special case. For example, a getName()
method should not end with a top-level statement 'return false'
(unless it is a stub). Rather, one would expect it to end with
`return name`.

Change-Id: I1f3088f2409c82dd3bf757fc8fa27dc97ae2767b
2018-09-04 21:08:00 +00:00
jenkins-bot 34ead3f8c5 Merge "Client side error reporting for Minerva+MobileFrontend" 2018-08-30 22:40:19 +00:00
jdlrobson cd528e120b Client side error reporting for Minerva+MobileFrontend
This adds a client side error logger that will store errors
in EventLogging. We will use it to get a sense of the number
of errors inside mobile.

To enable make use of the new configuration variable
wgMinervaErrorLogSamplingRate = 1

Notes:
* the optional `meta` field will not be utilised by the generic
error handler.
* URI length is not trimmed for title. We will consider whether we need
to make any adjustments to the schema values during roll out.
** For stack trace, we limit the length by removing errorUrl (which is logged
separately)

Testing:
Add throw new Error('asasasa'); anywhere in your code and make
sure the code executes. It should trigger an Error event provided
that configuration has been updated.

Bug: T202026
Change-Id: I07f01b4c025b2e5e4cbf88ec05e7c536442c62cc
2018-08-30 14:35:27 -07:00
Jan Drewniak ce2826854b Add bottom margin to page issues
Bug: T202568
Change-Id: Iae5fe40ad8507b218594fe025dd6327ff37b753d
2018-08-30 19:22:49 +00:00
Jan Drewniak 815f3d99ee For page-issues pageLoaded and editClicked events, treat
"multiple issues" templates as one issue.

When logging the `issuesSeverity` and `sectionNumbers` field,
any issues that are part of a "multiple issues" template only send
one value.

Adds an `isMultiple` property to IssueSummary to determine which
issues are part of a multiple-issues template.

Bug: T203050
Change-Id: I7d55dfead72439df4accadcdc8623a080e1321c2
2018-08-29 13:59:20 -07:00
Jan Drewniak 2cbd57c2f3 Consistent sectionNumbers and issuesSeverity for page-issues.
The value of `sectionNumbers` should be the section number of each issue
Not the number of the sections that have issues.

Bug: T203050
Change-Id: I6fd55c35b9e2ce35894259f36d1a50fb5dca5e43
2018-08-29 13:45:55 -07:00
jenkins-bot 198276256e Merge "Avoid abrupt and jarring white flash in media viewer" 2018-08-28 19:42:04 +00:00
jdlrobson 0acfda1931 Don't send NaN as a value for sectionNumbers
The keyword "all" was being parsed as an integer incorrectly. To avoid this

Bug: T202940
Change-Id: I5553a4bb50cd7639c879f2c6e812fba25a216175
2018-08-28 18:26:09 +00:00
Zoranzoki21 6d877928f5 Fix common typos in code
Bug: T201491
Change-Id: I1b31983069a45ff6c0493f370596351a407f6a87
2018-08-27 20:54:16 +00:00
jenkins-bot 7fc910d0d8 Merge "Log sectionNumbers in PageIssues schema" 2018-08-27 20:43:50 +00:00
jenkins-bot 86a5913573 Merge "Don't send issuesSeverity given that's an event default" 2018-08-27 20:43:48 +00:00
Jan Drewniak ae19031f8e Log sectionNumbers in PageIssues schema
Adds logging for the sectionNumbers field in the PageIssues schema.

Additional changes:
* createBanner now requires section number to be a string - this ensures
consistency with how these are used.
* fix a bug which meant createBanner was being called with undefined
section number (due to table of contents)
* Fix some indents in some JSDoc blocks
* Change parameter in function signature from mixed type (int or string)
to explicit string
* update schema number

Depends-On: Ia2696b86c6855d7b46a3f668585377d106d7af23
Bug: T202098
Change-Id: I20511a77258ea245f3d6fe93ade238e5df397a71
2018-08-27 18:02:51 +00:00
jdlrobson ee36bcfccf Don't send issuesSeverity given that's an event default
An event only needs to send this field when overriding the
default. This line is thus unnecessary.

Change-Id: Ia1dfcac5dd25f36f5f4169daf6535fd66aedf754
2018-08-27 10:52:55 -07:00
jenkins-bot bad8347fb2 Merge "Make edit click handling consistent" 2018-08-27 13:34:50 +00:00
jdlrobson 60dd426ee6 Make edit click handling consistent
Previously, the main edit icon in the page actions was handled indirectly
by changing the URL and then routing the edit via detecting the hash
fragment has changed. On the other hand section edit links were hijacked
via a click handler. The latter is better as it doesn't modify the DOM,
which allows the editor to override the JavaScript behaviour. It's also
preferable as it doesn't interfere with EventLogging - this subtle difference
was supressing edits to the Edit and PageIssues schema.

Bug: T202786
Change-Id: I4175bc6f0ddda28397d185502d1839716d051c56
2018-08-27 13:23:27 +00:00
jdlrobson ba064c2013 Avoid abrupt and jarring white flash in media viewer
Previously, the image overlay would always be loaded asynchronously.
Given clicking left/right opens a new mediaviewer this left a jarring
white flash. By loading the image overlay synchronously after the first
has been loaded, we avoid this flash.

Note, the task does propose preloading and animating the images
but this is a much bigger change and deemed out of scope for this
particular task.

Additional change:
* Use a shared mw.Api instance for ImageOverlay and PageGateway

Bug: T197110
Change-Id: I28d06b34cdea4fedcd7fb754572191e904ecc81a
2018-08-23 22:55:15 -06:00
jdlrobson 0830e80c38 Hide section edit icons when unable to edit
When unable to edit, the edit icon at the top of the page serves
as the indicator that this is the case. In case of section edits
we hide them.

Bug: T197497
Change-Id: I23f196602ad64051426baf5090f0a6d6be941de8
2018-08-23 13:15:43 -07:00
jenkins-bot 62b92e1c59 Merge "On tablet, issues boxes shouldn't take up full screen" 2018-08-23 11:39:34 +00:00
jenkins-bot cd6ef504cf Merge "Make Deferreds promise compatible" 2018-08-22 22:33:52 +00:00
jdlrobson 3c494e0454 On tablet, issues boxes shouldn't take up full screen
Setting width to auto on the ambox itself will ensure section
issues are not pushed below infoboxes, while ensuring that due
to the tbody width 100% rule that they will take up full screen
where possible.

Bug: T202512
Change-Id: I2dd82f18f80012bd95ca271b97a163de918110c5
2018-08-22 14:55:11 -07:00
jdlrobson 56a10c40e0 Make Deferreds promise compatible
This patch updates the various usages of $.Deferred for loading
overlays in routes to be ES6 Promise compatible

Bug: T188937
Change-Id: I3fc24bf3471a99e7671d1191bdd46cb741286ee1
2018-08-22 14:27:48 -07:00
Stephen Niedzielski 73131b7b45 Hygiene: move page issue overlay to distinct file
Move page issue overlay specific code out of cleanuptemplates and into
PageIssueOverlay to clarify what code is specific to the page issues
modal screen and what's specific to the page itself.

Bug: T191528
Change-Id: I95821ccda84306ddd5d22b57ffbae8d13ca44408
2018-08-22 13:42:42 -06:00
jdlrobson 65f2e5ef51 getPageToken now defined in core
Bug: T201124
Depends-On: Id43e9d3f3e687133c98017d24c10c307a5a855a1
Change-Id: I2b519361dfa974acef918e00ffc1ae14e33e28f5
2018-08-21 20:33:35 +00:00
jdlrobson 7962ba87a5 Docs: Present classes rather than modules
Use classes rather than modules for the various Views inside
Minerva.

Change-Id: I849ae50e48c01012ba6713ec3bf5f1c836ef22bc
2018-08-20 16:43:41 -07:00
jdlrobson eea19f3e18 PageIssues should use new standard pageToken getter
Rather than inventing its own page token the PageIssues
schema will rely on the standard page token.

In future when I9bb18d47e36d2d99d812e5b47ea9516d3dff3a16 is
merged this will mean that PageIssues and ReadingDepth have
consistent page tokens.

Bug: T201124
Change-Id: I19fea41e04cd792423ea9d41a673563418b69726
2018-08-17 10:28:17 -07:00
jenkins-bot e9e7e8256b Merge "Hygiene: IssuesOverlay moved from MobileFrontend to Minerva" 2018-08-16 21:38:49 +00:00
jdlrobson 40eca4e3f3 Hygiene: IssuesOverlay moved from MobileFrontend to Minerva
The CleanupOverlay is moved to Minerva and renamed the
IssuesOverlay to be consistent with current terminology

The new IssuesOverlay is defined inside the module
skins.minerva.scripts to which it now belongs.

Additional changes:
* various file renames
* overlay-cleanup renames overlay-issues
* cleanuptemplates renamed issues.js
* Add a test stub file to avoid the need to load templates inside
the test environment

After this change, I75f47622d94e504688e04dfb2892540473817053
should be merged to avoid confusion.

Change-Id: I08945a324a6b878abe56efed1e988466085b3018
2018-08-16 14:06:12 -07:00
jenkins-bot 5d2eb53df6 Merge "Drop portal styles in Minerva" 2018-08-16 20:05:16 +00:00
jdlrobson 6a5b2e284d Allow subsection issues
Depends-On: Iaa35317cdd96a1ad306ab38dc3ab2f18cc7bb31f
Bug: T197932
Change-Id: I84649dc80192729934f7bbb23a8e78296717bf36
2018-08-16 11:51:10 -07:00
jdlrobson 6718bc4351 Drop issues on editor
T196150 disabled the fallback editor when JavaScript is available.
As a result the code for page issues on the editor screen is redundant.
This simplifies our code.

The css rules relating to editor
issues are retained, given they simplify the editor screen for mobile
devices.

Bug: T196150
Change-Id: I76d586414cdd8de533bb891b87d1e0b7efc20a68
2018-08-16 11:43:28 -07:00
jenkins-bot 44e59d625d Merge "Disable edit icon in read-only mode" 2018-08-15 21:06:39 +00:00
Stephen Niedzielski ac245a7d97 Hygiene: don't hardcode page issue header selector
When parsing page issues by header, use the MobileFrontend selector
symbol, Page.HEADING_SELECTOR, instead of hardcoding it. This selector
is configurable by the extension.

Bug: T191528
Change-Id: I7c9db38f9102bfef0a98784be32c7e4707d747e5
2018-08-15 19:40:49 +00:00
jdlrobson 26510442f0 Drop portal styles in Minerva
TemplateStyles exists now. Given portals make up a small % of our
content and I can't find any templates using these rules, let's drop
them and guide people to use TemplateStyles instead if anybody
complains.

Change-Id: I738180fa35c6c633791e4ec11ea4b01dd65154cc
2018-08-15 19:40:19 +00:00
Jan Drewniak a0071643d3 Disable edit icon in read-only mode
When a wiki is in read-only mode, the edit icon on articles should
not open an editor. Instead, it should be in a "disabled" state and
inform the user that the wiki is in read-only mode
( i.e. show the "apierror-readonly" message).

Bug: T197497
Change-Id: Iee1414c20bea3ca936fb807820e58e5ed566d008
2018-08-15 19:40:09 +00:00
jenkins-bot 1d63e15cec Merge "Hygiene: move page issues A/B test logging to file" 2018-08-15 00:49:45 +00:00
jdlrobson 1b2314f426 Correct search icon
In Ie5ec06152c418c4aa1b620b3d0a904cc9517e5d0 we merged two search
icons. On retrospect, these icons were not the same - one was bigger
than the other.
(see https://phabricator.wikimedia.org/T199000#4501790)

This change replaces the icon with the correct one.

Bug: T199000
Change-Id: Ieca1b4cc72bb782c15c0c53fe4721deb1ee041fc
2018-08-14 14:20:00 -07:00
Stephen Niedzielski 22b2f0fd7c Hygiene: move page issues A/B test logging to file
Refactor the page issues A/B test logging implementation to a distinct
new file that only has the responsibility of tracking.

T191528 is referenced in this commit as I was having difficulty
answering the feedback and bugs reported in the current implementation
without working through and restructuring the flow as I understood it.
This refactor is merely a byproduct artifact of that effort to focus on
the parsing and presentation responsibilities.

Bug: T191528
Change-Id: If547a0a67fbc9a532f834fe374abf668309e73df
2018-08-14 20:49:06 +00:00
Stephen Niedzielski a905b1c161 Hygiene: replace header and content divs
- Replace the header div with a header element and the content div with
  a main element. main and header elements are already shivved:
  https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/22dd581f10/resources/lib/html5shiv/html5shiv.js#234.

- Link the wiki header title / logo to the main page. Note: the link
  border around images is already omitted. The link is identical to the
  menu home button.

Bug: T198947
Change-Id: Id312638d86179e75bc670e72e5943f8c00232bbb
2018-08-10 20:44:14 +00:00
Stephen Niedzielski 061d155303 Hygiene: remove unused function AB.onABStart()
Callback usage was removed in I67fb6e448f6ecc97c89c1187e491ee05f7a312ef
so this function may be removed.

Bug: T191532
Change-Id: I88f0d6740c9e9615faba2e3c60772269c705f43e
2018-08-09 20:50:51 +00:00
Jan Drewniak f67c410859 Page Issues AB test event-logging instrumentation
Uses `mw.trackSubscribe` to create an intermediary data handler
named `wikimedia.PageIssuesAB` which extends event-logging data
before passing it to the eventLogging through `wikimedia.event.PageIssues`.

Event hooks are placed where appropriate and the `CleanupOverlay`
class is extended to capture events from within the page issues
modal.

Additional changes:
* Merge two identical on click event handlers for
.edit-page, .edit-link elements
* change pageIssueParser.maxSeverity to accept an array of severity levels
instead of an array of pageIssues objects

Depends-On: Ic84e4a3286220407863167e0f57cef1b13a72964
Bug: T191532
Change-Id: I67fb6e448f6ecc97c89c1187e491ee05f7a312ef
2018-08-09 20:30:12 +00:00
jenkins-bot d85d4328f9 Merge "Fix: add a few more POV templates to issue parser" 2018-08-09 18:30:50 +00:00
jenkins-bot b46f4a24c4 Merge "Correct blur position in tablet mode" 2018-08-09 17:32:11 +00:00
jdlrobson f178228a65 Correct blur position in tablet mode
Addresses problem where text reads like an incomplete sentence
on tablet, see https://phabricator.wikimedia.org/T197931#4475197

Bug: T197931
Change-Id: I71aba2c53570196f51c9e833b1a6d69b2dc983ad
2018-08-09 09:32:18 -07:00
Stephen Niedzielski 765a46c464 Fix: add a few more POV templates to issue parser
Bug: T191528
Change-Id: I777921798fee447dc3c954a585e418371e2866e8
2018-08-09 09:01:45 -05:00
jenkins-bot 88baff3515 Merge "Remove CSS overrides for quotebox from the hacks" 2018-08-09 00:25:44 +00:00
Stephen Niedzielski a6ba0f2c77 Fix: page issue icon type determination
The page issuer parser works with plain old Elements, not jQuery. Pass
in the expected type.

This addresses problems with the icon display for ambox templates relating
to balance (see https://phabricator.wikimedia.org/T191528#4465069)

Bug: T191528
Change-Id: Ie4a34087f9f1700342cc54a50cd3272fc9ea34ee
2018-08-08 17:09:03 -07:00
Derk-Jan Hartman d2ca7a0b48 Remove CSS overrides for quotebox from the hacks
Will now be enforced from TemplateStyles

Change-Id: Ia8b0dfe901cfc18f821a236c45bf39123f32779c
2018-08-07 22:38:50 +02:00
jenkins-bot 6c9f2c6ecb Merge "Set flex-direction for thumbnails to avoid overflow issues" 2018-08-02 13:00:25 +00:00
jdlrobson 22cc13bad2 Set flex-direction for thumbnails to avoid overflow issues
`flex-direction:column` causes the flex-child `a` to grow it's height
and sets its width to 'auto' which, like a block-element, makes it
occupy the "available" space.

Bug: T200518
Change-Id: I5af9d082e77dd4ca2d92460824977f085011e622
2018-08-02 12:16:43 +00:00
Stephen Niedzielski 477a044728 Fix: hide new page issues links on focus and tap
Change-Id: I355c5c4b4278071e89aa990a7644a0fb6e901dcb
2018-08-01 14:32:08 -05:00
jdlrobson 100b7951a2 Restore page issues
Follow up to I96808541d48be7869fed3bc30babb80866e139ec
which incorrectly wired up the page issues feature.

Bug: T200867
Change-Id: I7c3198f95dae1f7c5e0991dca651dd64949b3615
2018-08-01 11:34:20 +08:00
jdlrobson 9644e5372b Add tests for page issues code
Bug: T191532
Change-Id: I5291b51ec32ab95ff1ec41e50b84fea4567f28cb
2018-07-31 11:42:09 +00:00
jdlrobson 0ca42ee64e Hygiene: Separate cleanups library from initialisation
In order to write tests, we'd like to separate code without side
effects from code that executes it as part of setup.

This shuffles dependencies and makes page and overlayManager
parameters to the init function (injected dependencies)

Change-Id: I96808541d48be7869fed3bc30babb80866e139ec
2018-07-31 11:42:04 +00:00
jdlrobson 3d7007f6a5 Hygiene: Remove anonymous function and indent
The readability of cleanuptemplates is hurt by having an anonymous
function embedded inside.

This patch wraps initPageIssues with the jquery ready call and removes
the function wrapper and decreases the indent of its contents.

Purely stylistic change.

Change-Id: I44b2371add32780f96160e0075787a9ea7222f39
2018-07-31 11:41:59 +00:00
Jan Drewniak e27cbf2a49 Reading depth hook should send additional sampling bucket parameter
The hook that enables the Reading depth test should send an
additional paramter that specifies which test bucket the hook
being is calling from.

Bug: T191532
Change-Id: Ifd9f43220c476ece8a0c0cee46b62b58a717c616
2018-07-31 11:40:29 +00:00
jenkins-bot 4f907cd148 Merge "Remove fancy block info popups (move to MobileFrontend)" 2018-07-27 03:41:09 +00:00
jenkins-bot 68d1bc61f6 Merge "Limit editor text area styles to where they are needed" 2018-07-26 23:28:55 +00:00
Bartosz Dziewoński f114f81d42 Remove fancy block info popups (move to MobileFrontend)
We only used them for registered users, but MobileFrontend's
EditorOverlay code can use them for anonymous users as well.

Remove code for looking up block details in wgMinervaUserBlockInfo,
now we only care whether the user is blocked at all to display a
different icon. MobileFrontend looks up the same information via API
already.

Remove unused message 'mobile-frontend-editor-blocked-info-loggedin',
it was only used by non-fancy popups, which were removed in favor of
the new ones in f51cf7db7b.

Bug: T193754
Bug: T198765
Depends-On: I80564c3e6e2d0f4d7eae754f206780fb4054f254
Change-Id: I64be24845b4fee76d6b4a8e481a218f2160fced6
2018-07-26 23:44:28 +02:00
jdlrobson 28b9517dcb Limit page issues truncation to at least 2 lines
In the case of template {{dictdef}} the issue gets limited to one
line making it unreadable on mobile at certain resolutions due to the
learn more link taking up space that's available to the issue itself

As well as enforcing a max-height, enforce a height so that all issues
can have at least 2 lines to play with on all mobile screen resolutions

Bug: T197931
Change-Id: Icebdcf37d0f307dc82493c5ced53b632a6b09aea
2018-07-26 08:14:08 -05:00
Jan Drewniak a10bb49c01 Truncate page-issues to 2 lines of text.
Truncates ambox template styles to only show 2 lines of text.
"Learn more" link is placed on the same line as message text
and a fade is applied so that it doesn't overlap with the message text.

On table & larger layouts, the "learn more" link is placed on its
own line below the page-issue text.

Bug: T197931
Change-Id: Id607dea537c212298c02a0e1639aef2a786eb424
2018-07-26 08:14:08 -05:00
jdlrobson c7cb4ecee0 Limit editor text area styles to where they are needed
Currently we load textarea styles across all pages. However, in practice
textareas only show up in the edit page and inside our JavaScript overlays

To avoid loading these styles as rendering blocking CSS

Additional changes:
* Drop css reset for textarea so that textareas where unstyled
have sensible defaults. Note given the usage of OOUI and MediaWiki UI
this should be minimal/no disruption.
* For consistency intentionally change the padding of the non-js editor
to be consistent with other textareas
* The padding-left/padding-right rules currently override the default rule
so consolidate them into one single rule

Note:
* This will not break non-JavaScript editor mode as the module
mediawiki.action.edit.styles is loaded on that page as a render blocking
style.

Bug: T199000
Depends-On: I1ab170fc4089b0c8129a3e62ee78efad1c6709fa
Change-Id: I91743fdf1942a1b1b750422e973bf98fc4d106db
2018-07-26 10:35:16 +08:00
jdlrobson a3efca1582 Remove unnecessary skins.minerva.base.styles
* truncated-text is only used in MainMenu, last modified bar,
 a few special pages
Making this a mixin and limiting it to mobile.startup skinStyles
and mobile.special.styles thus makes sense
* cloaked-element is only ever added by Skin.js in mobile.startup
* position-fixed is only ever added by Skin.js

Change-Id: Iaf7061e9dda87eb25c963f8a281175af08f358e5
2018-07-26 01:18:00 +00:00
jenkins-bot 8276241e39 Merge "Move overlay-header styles to Overlay" 2018-07-25 14:00:47 +00:00
Stephen Niedzielski 9a7ee86fc1 Update: remove the internal link icons
Bug: T190549
Change-Id: I87c55d26d36eead60c0137e244bdcc09f4239a76
2018-07-25 10:55:39 +08:00
jdlrobson 8351c88c50 Move overlay-header styles to Overlay
.header > form matches no element on the page
all other selectors are linked to the mobile Overlay so should
be shipped along with those styles.

Remove .header-action rule, given that header-action's only appear
inside Overlays (Editor, Category and Talk)

A more generic rule already exists (.overlay .header-action > *)
for overlays that sets the min-height

Change-Id: I114fe80e50bb833e9e6bb0fb6b13c2e929244ddf
2018-07-25 02:45:34 +00:00
jenkins-bot ef63ced9b4 Merge "Match section issues to section number" 2018-07-24 23:03:18 +00:00
jenkins-bot 65728feb27 Merge "Don't ship 2 magnifying glass icons" 2018-07-24 18:14:19 +00:00
jdlrobson 775af007f0 Don't ship 2 magnifying glass icons
We already make use of the images 'name' key inside
skins.minerva.content.styles.images to define the full
CSS selector. We can use this approach to ship a single version of
the magnifying glass icon, rather than having 2 defined in both
skins.minerva.base.styles and skins.minerva.icons.images

Change-Id: Ie5ec06152c418c4aa1b620b3d0a904cc9517e5d0
2018-07-24 11:55:41 -06:00
jdlrobson fcaf244cc4 Hygiene: lazy loading animations do not need to be render blocking
The transition only happens when images are loaded via JavaScript
so limit the styles to a file loaded via JS NOT render blocking
CSS

Change-Id: I56661db13e7fbb400a05b13c369d8598df449297
2018-07-23 13:57:42 -05:00
jenkins-bot 4aba34a5ed Merge "Cleanup: Last modified active color should be loaded via JS" 2018-07-23 16:54:28 +00:00
jdlrobson 54af37c269 Match section issues to section number
The section number relates to the position of the corresponding heading
not the corresponding top level section.

This only changes the URL, not the functionality. sub section issues
will continue to be grouped along with other section issues.

Bug: T197932
Change-Id: I325a3b477f89c9cc24f13ca017f478a6b7e7b68e
2018-07-23 10:09:32 -05:00
Stephen Niedzielski d2f6c38fe7 Update: page issue icons
- Fix a bug where the all issues endpoint would incorrectly collect
  issues from all sections.

- Update the page issue iconography. This increases the size of the
  delivered code and images by 1743 B minified uncompressed according to
  mw.inspect() (from 16.4 KiB to 18.1 KiB).

- Add support for identifying page issue severity based on template CSS
  classes.

- For multiple issues templates, show the highest priority icon.

Bug: T191528
Change-Id: Ie0a4c83ec7cfb856ec581d058797109746e3cb99
2018-07-17 15:54:17 -05:00
jdlrobson 99bc9d8c55 Enforce lowercase jsdoc types
Follow up to I6cbac15940e4501aee7ede8f421b77ffd027170d

Change-Id: I22bcbf1f083451a0f68b692b9a0acc716d11c62c
2018-07-17 08:06:35 -05:00
jenkins-bot 6c981fa4f8 Merge "Section issues overlay has different heading" 2018-07-13 12:46:20 +00:00
jdlrobson dfc29032b5 Section issues overlay has different heading
Per https://phabricator.wikimedia.org/T197932#4417319
Note that given talk/category overlay does not use or
display section issues, to simplify things any section other
than 0 or all will use this heading.

Bug: T197932
Change-Id: I737fb07aaadcea7772d0b08f8b0652dcf2f4623d
2018-07-12 15:07:22 -07:00
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
jenkins-bot 67766539f9 Merge "EventLogging modules should be soft dependencies" 2017-09-27 21:09:49 +00:00
jdlrobson b19997a970 Collapse amboxes in edit view
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
2017-09-27 21:04:36 +00:00
Volker E bf6d1768bd Unify monospace font family stack
Additionally adding MinervaNeue specific variable.

Bug: T176636
Change-Id: I4450508be0b7836602f6fdea603ed5f4d9a0b16d
2017-09-27 20:52:55 +00:00
jdlrobson 0ee78ce0cb EventLogging modules should be soft dependencies
Change-Id: Ibc546a89b11360769c9c50dc52cb9b7b5e433100
2017-09-27 20:52:15 +00:00
jdlrobson 4084c7b5bb Only hide fmbox on editor interface
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
2017-09-26 08:40:46 -05:00
Volker E 5c8fe4c94d Unify box-sizing to LESS mixin
Change-Id: I3c308267e6754d681c26c3799084203fae0cdb42
2017-09-21 15:20:45 -07:00
Chad Horohoe 8a97059c6e Fix another SVG
Change-Id: I95d76339fa5dc8dcbb1472ad98ae8476c35fba1c
2017-09-14 13:24:04 -07:00
Chad Horohoe 0bf4aeb746 Fix userNormal.svg syntax
Change-Id: I350d2c2270fead706240fa0cd1cce17875a8ce0c
2017-09-13 10:19:59 -07:00
jdlrobson bf907afd46 Hygiene: Do not pass mainMenu to Skin
This wires the interaction between the skin and the main menu
into the initialisation script.

Change-Id: I4fac234cb9ead7e99dc52f72819cd4a3c715de1c
Depends-On: Ife64c87716a0f56b55a030a3e4224075af3c6d8c
2017-09-07 17:49:02 +00:00
jdlrobson 38474ed73f Hygiene: Cleanup initialisation files
* 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
2017-09-07 17:48:58 +00:00
jdlrobson c90e62b524 Improve hatnote styling
This improves the hatnote styling on pages such as Iran.

* Remove italics
* Color changes
* Padding changes

Bug: T173600
Change-Id: I50a49d5be3b7e21042dc0415371b3bc94c5ddcf3
2017-09-06 13:56:24 -04:00
jdlrobson 7261945bc6 Adjust language icon color
The hex code for the fill color was wrong resulting in it
appearing black.

Bug: T174747
Change-Id: I52fb30beae49cbb48d050f5c763c42dd6e484003
2017-09-01 11:33:34 -04:00
jdlrobson c323c6858a Hygiene: Merge skins.minerva.print.styles with skins.minerva.base.styles
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
2017-08-31 19:09:03 +00:00
jdlrobson 8ee37016ee Fix watchstar icon
xml tag was not correctly closed with "?>"

Bug: T174607
Change-Id: Iecab1a8789d5e762447cc8468723b96352738614
2017-08-31 13:15:26 -04:00
Fomafix 73a6b972dc chmod a-x resources/skins.minerva.content.styles/hacks.less
This is reverts the mode change from e89579d201.

Change-Id: I8f0c8b96147c94bf7a8e847196ba948362584639
2017-08-30 12:16:50 +02:00
jdlrobson 79fd8bd799 Hygiene: Remove FIXMEs now enough time has passed
Routine maintenance - all FIXME statements suggest these can
be removed. W00t!

Depends-On: Iee059a6605cf12a073954378f49ddc721a7e016a
Change-Id: I645dca1fa4d9e80d506e907b0be78a5aef0e2f12
2017-08-29 19:26:13 +00:00
jenkins-bot adcdbef9f0 Merge "Switch to @colorGray5 for wikitable borders" 2017-08-28 21:00:17 +00:00
jenkins-bot 4791acade7 Merge "Drop Android2 check for search" 2017-08-28 20:45:36 +00:00
jdlrobson de86a1fdd8 Switch to @colorGray5 for wikitable borders
Bug: T168029
Change-Id: I4507aae9f44538ec024ecc4c5d6219efc10be51e
2017-08-28 15:39:18 -05:00
jdlrobson 1dd2971124 Drop Android2 check for search
Android2 is a grade C browser so this code will never be run in
MediaWiki.

Change-Id: I184df4fbea3743d54b24e3782c4d1debf7ff9095
2017-08-28 15:32:00 -05:00
jenkins-bot d2a022e07b Merge "Logout icon should not be small" 2017-08-28 17:32:24 +00:00
jenkins-bot 7c1be417b0 Merge "Remove special page resource module handling" 2017-08-28 16:21:52 +00:00
jenkins-bot 0591987137 Merge "Align SVGs to color palette and optimize" 2017-08-28 15:01:50 +00:00
jdlrobson ac74369848 Logout icon should not be small
Bug: T170362
Change-Id: I04586cdc1ce1cfe17df8d87ecf4935f211b5f8dc
2017-08-28 09:56:02 -05:00
jenkins-bot a565347d2c Merge "fmboxes should be treated the same as ambox and tmboxes" 2017-08-28 14:50:46 +00:00
jenkins-bot 1207f53428 Merge "Fade table border color" 2017-08-28 14:50:45 +00:00
jdlrobson 32d6d1e7a0 fmboxes should be treated the same as ambox and tmboxes
Change-Id: Ieb5715c2bfd392e22c324c0098ccd29ebebaa440
2017-08-28 09:43:12 -05:00
Volker E a75c7fd257 Align SVGs to color palette and optimize
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
2017-08-25 12:55:37 -07:00
jenkins-bot d964902226 Merge "Hide last modified text in footer" 2017-08-25 15:53:33 +00:00
jdlrobson d59a65d133 Hide last modified text in footer
This repeats information in the last modified BAR

Bug: T173545
Change-Id: I75e07dfb08b12169cc4215995aa259b731ec2ad8
2017-08-25 15:42:48 +00:00
jdlrobson d2844d7a17 Do not try to enable toggling if using desktop Minerva
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
2017-08-25 10:32:04 -05:00
jdlrobson 5206d48ec5 Fade table border color
Bug: T168029
Change-Id: I6770c50675708f94cde6f8dee8164ba1a0ec612e
2017-08-24 13:31:56 -05:00
jdlrobson 231e68703b Caption should inherit background from table
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
2017-08-24 18:03:58 +00:00
Egbe Eugene e89579d201 using an LTR wiki in an RTL language aligns infobox labels incorrectly
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
2017-08-24 14:21:52 +00:00
jdlrobson f394cae753 Use mw-ui-icon-large and ResourceLoaderImage module for user page
Bug: T143264
Change-Id: I34b37c4c20f4d6612198096f83dbc509a795ae6d
2017-08-23 15:09:23 -05:00
jdlrobson 36d7092d82 Prepare for adoption of mw-ui-icon-large on user page
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
2017-08-23 15:05:31 -05:00
jdlrobson ac7fcfc9e1 Disable wikitext editor on non-wikitext content models
Do not allow editing via JavaScript on non-wikitext content models
For these pages ?action=edit will be used

Bug: T173800
Change-Id: Ic62a0c1397ab8a6a59e5382c2999b63b3c60a19f
2017-08-22 17:02:58 +00:00
jdlrobson 61ba76efdb Remove special page resource module handling
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
2017-08-18 19:37:08 +00:00
Volker E f08b6defd7 Replace abandoned @colorGray13 with current WikimediaUI one
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
2017-08-17 15:04:07 -07:00
Volker E 875d31b03b Hygiene: Remove unnecessary Less vars
Removing unnecessary Less vars, which are not in use any more.
Also slightly modifying code comment for better code style.

Change-Id: I6e2417561afb03225eaca99ea93135f975a51593
2017-08-16 18:13:09 +00:00
Baha 97b2ddfa11 Remove first heading padding
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
2017-08-16 11:56:59 -04:00
Baha bea5dbde62 Don't float article actions on tablets
Bug: T171608
Change-Id: Ie9ba7df0a0f052948d46b6a9b14a3bbcef2b99fe
2017-08-14 12:43:34 -04:00
Volker E b3e0ce2bae Replace abandoned color with current WikimediaUI one
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
2017-08-10 18:06:24 +00:00
Derk-Jan Hartman 56d16e894b Make sure that all buttons in the actions area have pointer
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
2017-08-10 09:32:04 -04:00
jenkins-bot 43e1a5f0a8 Merge "Disable magnify icon in Parsoid output" 2017-08-09 16:30:36 +00:00
jenkins-bot 615350518f Merge "Hygiene: The main page check is not necessary" 2017-08-08 14:27:38 +00:00
Volker E f4aaea0401 Replace @colorGray6 with appropriate WikimediaUI palette color
Replacing `@colorGray6` with appropriate closest color (semantic variable)
with slightly increased contrast.

Bug: T146799
Change-Id: I067973dca580eddc09b770362183d7a5b1634b7c
2017-08-08 11:29:30 +02:00
jdlrobson b478393e5e Hygiene: The main page check is not necessary
The main page in the Minerva skin is not editable so this code is
just cruft. T89559 no longer applies.

Change-Id: Ifcd30be0d4e328b056cc7fcfb714c9783b62c913
2017-08-03 15:58:18 -07:00
jdlrobson 7e7e532bfb Relax navbox hack
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
2017-08-02 15:14:59 +00:00
jenkins-bot 9a6770ee18 Merge "Use lead section when editing page without section marks" 2017-08-02 14:49:18 +00:00
jdlrobson a93cd66026 Style Parsoid generated references
Bug: T171727
Change-Id: I34838562360ec7d4fc55e1f3a7dad8a926e4da52
2017-08-02 14:43:36 +00:00
Baha 975d632d12 Use lead section when editing page without section marks
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
2017-08-01 19:01:20 -04:00
jenkins-bot 8803101c52 Merge "Blank parsoid styles, update thumbnail selectors for Parsoid content" 2017-08-01 00:22:04 +00:00
jenkins-bot 9243513749 Merge "Show cursor:text when pointing over search input" 2017-07-31 21:36:54 +00:00
Baha 6f8b3d040c Make sure lead section exists before accessing its method
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
2017-07-31 15:21:06 -04:00
Piotr Miazga a0e390a9e5 Show cursor:text when pointing over search input
Changes:
 -  added styles pointer:text for #searchInput element

Bug: T161763
Change-Id: I39050a3e81c6b2e014f8955df188629a025ef2c1
2017-07-31 20:26:25 +02:00
jdlrobson a6a093faab Blank parsoid styles, update thumbnail selectors for Parsoid content
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
2017-07-27 14:27:47 -07:00
jenkins-bot ed427dd427 Merge "Don't show ImageOverlay in desktop mode - delegate to multimedia viewer" 2017-07-27 15:30:57 +00:00
jdlrobson 9500297090 Don't show ImageOverlay in desktop mode - delegate to multimedia viewer
Bug: T169622
Change-Id: Ie34297a56f8571b161802ea8a708a8bed37c9173
2017-07-27 15:26:31 +00:00
Fomafix 13bdb53845 chmod a-x resources/*/*.{less,svg}
Change-Id: Ic4a2c91c8282a30ae069cc33deffada1df66ff22
2017-07-26 22:14:13 +00:00
Ed Sanders d2b10cc357 Disable magnify icon in Parsoid output
Bug: T160960
Depends-On: Id66f09c54103854ccbaa54a03e7c62890b67cba9
Change-Id: I40243fa6d85263967314b2b30dd1a7cbda39234d
2017-07-26 17:40:18 +00:00
jenkins-bot bd898e2be4 Merge "Minerva should use mediawiki.hlist" 2017-07-21 18:47:35 +00:00
jenkins-bot 27504d67c0 Merge "Add tooling for documentation" 2017-07-20 22:37:59 +00:00
jdlrobson efc84d2f25 Add tooling for documentation
* 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
2017-07-20 22:34:41 +00:00
jdlrobson 747b712509 Minerva should use mediawiki.hlist
Override provided styles

Bug: T42062
Depends-On: I9305af5d30c8c24b44f4a0c6a466581c45fa3028
Change-Id: I7adda8ef99e5eee3df5bd7dc4da5081c1225f815
2017-07-19 13:52:09 -07:00
Umherirrender 211a54b568 Update and run existing stylelint
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
2017-07-19 20:31:24 +00:00
jdlrobson 2cc9516cde Minerva is its own skin
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
2017-07-12 08:12:40 -07:00