4d1c0b8940
At resolutions below 1000px, we want pinned elements such as the Page Tools menu and Main Menu to collapse. This behaviour is temporary and when the browser is resized, the pinned elements should revert to their previous pinned state. We also want to remove the ability to pin these menus at low resolutions, so the "hide/move" button is hidden. A new matchMedia event handler is added to PinnableElement.js to handle this behaviour. CSS is also added to hide the pinned menus at low resolution. This is to account for the situation where the page is loaded at narrow widths, with pinned elements, and the JS hasn't loaded yet. features.js is refactors so that class toggling can happen independently of saving the state to user preferences (since we want to toggle the classes but not save the state at lower resolutions). Bug: T326364 Change-Id: I3113ab83deb15843e04ed63ec767a85c522517b5 |
||
---|---|---|
.phan | ||
.storybook | ||
dev-scripts | ||
i18n | ||
includes | ||
resources | ||
screenshots | ||
skinStyles | ||
stories | ||
tests | ||
.eslintignore | ||
.eslintrc.json | ||
.eslintrcEs6.json | ||
.gitignore | ||
.gitreview | ||
.nvmrc | ||
.phpcs.xml | ||
.stylelintignore | ||
.stylelintrc.json | ||
.svgo.config.js | ||
bundlesize.config.json | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
COPYING | ||
Doxyfile | ||
jest.config.js | ||
jest.setup.js | ||
jsdoc.json | ||
package-lock.json | ||
package.json | ||
README.md | ||
skin.json | ||
tsconfig.json |
Vector Skin
Installation
See https://www.mediawiki.org/wiki/Skin:Vector.
Configuration options
See skin.json.
Development
Node version
It is recommended to use nvm to use the version of node defined
in .nvmrc
during local development. This ensures consistency amongst development environments.
Coding conventions
We strive for compliance with MediaWiki conventions:
https://www.mediawiki.org/wiki/Manual:Coding_conventions
Additions and deviations from those conventions that are more tailored to this project are noted at:
https://www.mediawiki.org/wiki/Reading/Web/Coding_conventions
Pre-commit tests
A pre-commit hook is installed when executing npm install
. By default, it runs
npm test
which is useful for automatically validating everything that can be
in a reasonable amount of time. If you wish to defer these tests to be executed
by continuous integration only, set the PRE_COMMIT
environment variable to 0
:
$ export PRE_COMMIT=0
$ git commit
Or more succinctly:
$ PRE_COMMIT=0 git commit
Skipping the pre-commit tests has no impact on Gerrit change identifier hooks.
Hooks
See hooks.txt.