Commit graph

1414 commits

Author SHA1 Message Date
jdlrobson d9f4a2b041 Use consistent function names to SkinVector
In future we'll convert VectorTemplate to SkinVector. In preparation
for this we create wrapper functions getMsg and getConfig so that
the interface for VectorTemplate is more similar to SkinVector.

Bug: T251212
Change-Id: I1f839d3147499d67e1c7cf71cf934bb7d20beedb
2020-04-28 15:32:06 -07:00
jenkins-bot db29a88ee0 Merge "Add buildSidebar method" 2020-04-28 20:49:31 +00:00
jenkins-bot 1a62d2d264 Merge "[cleanup] Drop empty class attribute from #footer > ul elements" 2020-04-28 18:41:40 +00:00
jdlrobson df681e031d Add buildSidebar method
Move all the sidebar generation logic into a new VectorTemplate
function.

The name mirrors the function name in SkinVector. In future,
( I7a14f74728703c50874935e9d77b35ad9434b436)
we will move this code into SkinVector where it will be able
to call parent::buildSidebar()

Bug: T251212
Change-Id: I0a4838120f6ffd3d3d798f876e3463a3f16af95b
2020-04-28 10:44:39 -07:00
jenkins-bot a06ccff66f Merge "[modern] Add Header element and styles" 2020-04-28 16:53:03 +00:00
jenkins-bot 5a525489a1 Merge "Refactor: Revert to previous ordering" 2020-04-28 16:51:58 +00:00
jenkins-bot 0f25ad1aa7 Merge "[doc] Add link in readme to hooks.txt" 2020-04-28 16:22:04 +00:00
AronDemian f6cbbbfd95 [modern] Add Header element and styles
- Removed `#mw-head-base`.
- `#mw-page-base` -> `.mw-header-placeholder`.
- `#mw-head` moved down to `@height-header` to make space for new header.
- Content moved down to `@height-header + @height-tabs`.

Added Less variables:
- @height-header: 69px;
- @height-logo-icon: 50px;
- @height-header--inner: 54px;
- @height-tabs: 2.5em;

Style splits:
- Added Header.less
- @height-header: 2.5em;

Bug: T246170
Change-Id: I07280c4c7a2054439153e76359f712281049df0b
2020-04-28 18:15:39 +02:00
Stephen Niedzielski 19edb3d612 [doc] Add link in readme to hooks.txt
I always forget hooks.txt exists but I guess it's a bit of a convention:

- extensions/CirrusSearch/docs/hooks.txt
- extensions/Echo/modules/hooks.txt

Add a link to hooks.txt in the readme to keep the convention but help
surface the documentation.

Change-Id: Ic40809ee79af2f40cb4b0d21e665441530439968
2020-04-28 09:29:52 -06:00
jdlrobson 95c80c4efe Refactor: Revert to previous ordering
In I23f18fc5f078da3331cad540bbaf533d348f2108 layout was pulled out
into a separate file and we changed the ordering of our CSS.

This was done with the thinking that media print queries would be
mixed with media screen.

After discussions with Volker, I have been convinced this was a
mistake.

media queries of the same type can be nested so the @media screen
is removed from layout.less and the media query in index.less will
be used instead.

Change-Id: I3aab00c9bcc734ea1ba5a9cf242c6e36ac1cc076
2020-04-28 14:37:54 +00:00
Translation updater bot 7ccb3a0fe1 Localisation updates from https://translatewiki.net.
Change-Id: I8f14ac016312a124d1220b2b864e9b2c47c6c45d
2020-04-28 08:34:40 +02:00
AronDemian 487eda02f4 [cleanup] Drop empty class attribute from #footer > ul elements
Change-Id: Ice0241b054cbc296e9f0adf1d2920023316c8ca0
2020-04-28 02:05:30 +00:00
jenkins-bot 54739cf1ba Merge "Replace deprecated @colorFieldBorder variable and use others" 2020-04-28 01:58:40 +00:00
Volker E f5d55bcf54 Replace deprecated @colorFieldBorder variable and use others
Replacing deprecated `@colorFieldBorder` with WikimediaUI Base equivalent
`@border-base` shorthand.
Also replace `@borderRadius` with new base and static `background-color`
values.

Depends-On: I2e2277957b79b81909b80a6c0b7b2220be6ba903
Change-Id: I90bb0eb0c2206483f71f0553dfb590d9df2c5781
2020-04-28 01:42:09 +00:00
jenkins-bot b2dee16b63 Merge "Add .mw-footer CSS class & replace #footer selector with it" 2020-04-27 22:49:47 +00:00
AronDemian c2e9a7b366 Add .mw-footer CSS class & replace #footer selector with it
Does not add `.mw-footer-*` CSS classes to `ul#footer-*` and
`li#footer-*-*` to save bandwidth.

NOTE:
- The former id selectors can be removed form the styles after the varnish cache
  is updated with the new DOM.
- The modern version still uses the legacy layout at this stage.

Bug: T248137
Change-Id: Ica9f8c43617c624648fa12dc86ebb3daa10f0409
2020-04-27 14:55:28 -07:00
jdlrobson b42493a476 Refactor: DRY up menu creation!
Bug: T249372
Change-Id: I098e6921e8f7ef65dacacf09b9c25f70c945e58e
2020-04-27 13:36:39 -07:00
jenkins-bot 358f26323e Merge "Refactor: Make VectorTabs template data conform with MenuDefinition" 2020-04-27 18:33:36 +00:00
jenkins-bot f522973a34 Merge "Refactor: Make VectorMenu template data conform with MenuDefinition" 2020-04-27 17:59:40 +00:00
Translation updater bot 75244528cd Localisation updates from https://translatewiki.net.
Change-Id: Icce49ef60b7ec0e8bba2b1ea82fadf403912fc39
2020-04-27 09:06:22 +02:00
Translation updater bot b320b618c1 Localisation updates from https://translatewiki.net.
Change-Id: I6009e6f3db2abd91bf0b193713fefd6520627309
2020-04-24 08:25:20 +02:00
Translation updater bot c745dc19f9 Localisation updates from https://translatewiki.net.
Change-Id: If0ab0ee83fada9b414263cafe633a93511207e52
2020-04-23 08:45:46 +02:00
Translation updater bot b5d0ecd71a Localisation updates from https://translatewiki.net.
Change-Id: Ic194a805168de29d4f83f39e023eccdaf52d7297
2020-04-22 08:58:36 +02:00
jdlrobson 0b8693ccec Refactor: Make VectorTabs template data conform with MenuDefinition
menu-id -> id
menu-label-id -> label-id
msg-label -> label
empty-portlet -> class

Bug: T249372
Change-Id: I15fd88269b3d111ff47e64f3669575afaeea9f97
2020-04-22 05:18:44 +00:00
jdlrobson 286b07b20a Refactor: Make VectorMenu template data conform with MenuDefinition
menu-id -> id
menu-label-id -> label-id
msg-label -> label
empty-portlet -> class

Bug: T249372
Change-Id: I50bf2424f9077ac987e03a1e552577bf7c48b3bb
2020-04-22 05:18:29 +00:00
Reedy 983bf1c9ac Load files from gerrit not phab
Bug: T250881
Change-Id: I963399cd1936e0e7645a09712c2ef589db70a17a
2020-04-22 02:21:00 +00:00
Sam Smith 37fc80d562 [Hygiene] featureManager: Move SimpleRequirement...
... to the Vector\FeatureManagement\Requirements namespace.

Change-Id: I205eff9d257c040874fe31e5eda33b4e8cb229cc
2020-04-21 18:22:07 +01:00
Sam Smith cee5ee0003 Make legacy mode a feature
Changes:

- Add the LatestSkinVersionRequirement requirement class, which lazily
  evaluates the application state to get the version of the skin for the
  request.

  This majority of this class is taken from Stephen Niedzielski's
  Vector\SkinVersionLookup class, which was introduced in d1072d0fdf.

- Register an instance of LatestSkinVersionRequirement and register the
  'LatestSkin' feature that requires that requirement

- Re-introduce SkinVector::isLegacy and make it defer to the Feature
  Manager

Bug: T244481
Change-Id: If6b82a514aa5afce73e571abdd8de60b16a62fa8
2020-04-21 10:57:11 -06:00
Translation updater bot 14aee3e147 Localisation updates from https://translatewiki.net.
Change-Id: Ifbf1cc7610dd582c423a79e7cf48809de8b34e1e
2020-04-20 08:46:42 +02:00
Reedy 46549db31e Move some more classes to AutoloadNamespaces
Bug: T187154
Change-Id: I7e9407c1b0e03ccb699e4a11b6b44529d70fee3d
2020-04-18 03:59:38 +01:00
libraryupgrader a89c424181 build: Updating grunt-banana-checker to 0.9.0
Change-Id: Ia656ffd71cdbf846cadff005ea34a47bb78bad78
2020-04-17 23:31:20 +00:00
Stephen Niedzielski 3b906fdd66 [dev] Fix indent in VectorTemplate data
Jon spotted this in Ic9d54de7e19ef8d5dfd703d95a45b78c0aaf791a.

Bug: T246419
Change-Id: Ie760610898c1754ac0640e8077faa6ec79da66c1
2020-04-17 14:23:56 -06:00
Translation updater bot 286fcb94d3 Localisation updates from https://translatewiki.net.
Change-Id: I322840b459b880e8c52f2ab5ea8f2933f7cf7f1f
2020-04-17 09:09:28 +02:00
jenkins-bot 697d796288 Merge "[Refactor] Move footer layout rules to layout.less" 2020-04-17 00:23:28 +00:00
Volker E c3f9194144 Fix Special:Preferences sub section link
Now links to nested sub sections are possible with
I33318b3fb73a27ce8013 in.

Bug: T248644
Change-Id: I92d0910191dcab0a7fe43ba6976c6773384688a7
2020-04-17 00:08:42 +00:00
jdlrobson 64f1f8d069 [Refactor] Move footer layout rules to layout.less
These layout rules should not be in Footer since they relate to
arrangement of components.

Change-Id: Id18c3a3969e09ec5512969e57c8019ad39627340
2020-04-16 16:52:24 -07:00
jenkins-bot 0260424cf4 Merge "[legacy] Split sidebar code and mark layout as legacy in preparation for new layout" 2020-04-16 20:39:08 +00:00
Volker E 2a8a116587 Bump Vector to depend on MediaWiki 1.35.0
To minimise reports from users with mismatched skins an MediaWiki and given the
pending changes anticipated by the updates to Vector, we will bump Vector's version.

This repo is not meant to have supported 1.31 in master for years
(since the REL1_31 branch point, which for this repo is f0327dc55 from 2018-04-17 yet very few
backports have been made to this repos REL1_31 branch.

This will massively reduce work for Wikimedia development teams; 
we don't need to try to maintain backwards compatibility.

Change-Id: Ie4635fa0a7cbc2d115b2093bc5bc1a72a160afaf
2020-04-16 18:36:17 +00:00
jdlrobson 703903daac [legacy] Split sidebar code and mark layout as legacy in preparation for new layout
Going into the new version of Vector, we'll want to rewrite the layout
rules entirely and decouple the sidebar from the logo.

To prepare for this we will move the layout file into a legacy folder.
We also separate Sidebar styles needed for the legacy mode from the old mode.

This will allow us to make changes to the header in new Vector without having to touch
or test the legacy codebase via a new file layout.less and using the existing sidebar
code.

Bug: T246170
Change-Id: Ieb4f8f2b2f0e4f48d76a210ab30acd08e3e83bcb
2020-04-16 11:29:03 -07:00
jdlrobson 4d91d52dfc Add a special class to identify the first portal
In new Vector, the logo will no longer be present, so we need a more
future proof way of determining what the first portal is.

A new class `portal-first` is added (no decision about adopting BEM
has been made yet).
Cached pages will continue to use the old selector for now.

Change-Id: I6ac4493bb1f63686b48ff0c22b18d50d9fffb51d
2020-04-15 23:39:33 +00:00
Volker E 2baa9291d8 Amend Base10 color and hover derivative
Amending Base10 to slightly darker `#202122` to fulfill WCAG
requirements in connection to Accent50.
Also sligthly adapting hover derivative to `#404244` and amending
corresponding opacity hover value.

Bug: T248393
Change-Id: Id72829d837d9e8d37bbec6092e5055f7c182db7a
2020-04-15 09:30:22 -07:00
Translation updater bot ab7dc57923 Localisation updates from https://translatewiki.net.
Change-Id: I09eb15ced351460329cd522ef069d9151262afe6
2020-04-15 08:27:40 +02:00
jdlrobson 835862fffc Layout is separated from "common" CSS
This unblocks work on the header which will rewrite the layout
code.

This corresponds to a 0.06kb increase in CSS size, which is zero
after gzipping.

Bug: T249073
Change-Id: I23f18fc5f078da3331cad540bbaf533d348f2108
2020-04-14 15:17:43 -07:00
jenkins-bot dd85a00f65 Merge "Refactor: Standardize menu data (DRY!)" 2020-04-13 23:37:52 +00:00
jdlrobson 63ee9450b7 Refactor: Standardize menu data (DRY!)
VectorTemplate has various functions that repeat themselves, only
differing in their choice of names.

This refactor begins by focusing on the personal menu and introducing
a generic getMenuData function. Hardcoded `p-personal` is replaced with
an `id` template key and `msg-label` is renamed `label`.

Future patches will simplify VectorTemplate by using this new
function.

You'll note the resulting PersonalMenu.mustache file is identical
to VectorTabs. These will be merged in I098e6921e8f7ef65dacacf09b9c25f70c945e58e

Bug: T249372
Change-Id: I5ae44a1008b065381eeff93f9fa625be5c5a9de9
2020-04-13 16:11:40 -07:00
Translation updater bot 15960b33c7 Localisation updates from https://translatewiki.net.
Change-Id: Ie7160c050f3aced480433fb77a367ae8c79c17be
2020-04-13 09:07:27 +02:00
Stephen Niedzielski c9d5b2e4fb [dev] [JS] Move JavaScript to package modules
Move all Vector JavaScript to ResourceLoader `packageFiles`[0] which are
much more compatible with modern development practices:

- The entrypoint is the first `packageFiles` entry (unless specified
  otherwise). All other JavaScript must be explicitly executed.

- Remove a level of indentation due to IIFEs from every JavaScript file.
  Regretfully, ESLint does not support modules except in ES6+ so the
  otherwise useful `no-implicit-globals` rule must be disable. The
  change comes with a comment so we always remember.

- IDEs and other tooling understand Node.js-like `module.exports` /
  `require()`.

This change seemed the most sensible way to start developing new
JavaScript in Vector needed by the collapsible sidebar.

[0]: https://www.mediawiki.org/wiki/ResourceLoader/Package_modules

Change-Id: I287e604d5b1055aa97b5f987c24872755757ea1a
2020-04-10 09:39:25 -06:00
Translation updater bot ce1c8709fc Localisation updates from https://translatewiki.net.
Change-Id: I923e235581d6fed875bc9b029cfc1d3a2bfa90eb
2020-04-09 08:41:40 +02:00
Stephen Niedzielski 16670834d7 [dev] [Mustache] replace spaces with tabs
The Mustache templates were a bit of a mix of tabs and spaces. I like
spaces personally but dislike inconsistency within the project more. Use
tabs.

Change-Id: I22b777489d7281b42d1ab1981b47b2a71d3b639a
2020-04-08 15:40:56 -06:00
jenkins-bot 63d9d37777 Merge "Revert "Move indicators underneath #firstHeading in DOM"" 2020-04-08 13:56:49 +00:00