Go to file
Michael Große 820c173644 search: Optionally support load-more events
If the wgVectorSearchClient supports it (the default implementation
doesn’t), add a visible-item-limit to the cdx-typeahead-search, and wire
up the resulting load-more event (new in Codex v0.3) to load additional
search results on scroll.

The hard-coded visibleItemLimit (7) is chosen to match the default limit
of the wbsearchentities API, but ultimately arbitrary; we can look into
how to make this number configurable later, if necessary.

This increases the module size enough that we need to bump the bundle
size a bit more.

Bug: T322333
Change-Id: Iadade9cbf48457cfeabc78439624602ec3f98782
Co-Authored-By: Jon Robson <jdlrobson@gmail.com>
Needed-By: I67fac3b209d6a1ab2661e1e1c0681edd8472ac6c
2022-12-06 13:35:22 +01:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Replace incorrectly mw- prefixed classes 2022-10-25 10:28:31 -05:00
dev-scripts [Storybook] Add Header component 2021-09-14 18:33:10 +00:00
i18n Localisation updates from https://translatewiki.net. 2022-12-06 08:57:18 +01:00
includes Merge "Remove PinnableHeader class" 2022-12-06 00:05:28 +00:00
resources search: Optionally support load-more events 2022-12-06 13:35:22 +01:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Restore z-index of mw-notification-area 2022-12-01 01:09:11 +00:00
stories [Refactor] Rename Portal component to MainMenuGroup 2022-12-01 14:45:52 -08:00
tests search: Optionally support load-more events 2022-12-06 13:35:22 +01:00
.eslintignore a11y: create report in LOG_DIR or 'a11y/' 2022-05-05 11:46:13 -05:00
.eslintrc.json [eslint] Disable mediawiki/class-doc 2022-02-11 16:31:33 +00:00
.eslintrcEs6.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
.gitignore build: Updating dependencies 2022-05-20 11:41:53 +00:00
.gitreview
.nvmrc Update Node version 2022-03-15 14:26:04 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 33.0.0 2020-11-17 23:33:50 +01:00
.stylelintignore Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00
.stylelintrc.json build: Update stylelint-config-wikimedia to 0.13.0 2022-05-16 17:44:12 +01:00
.svgo.config.js build: Update 'svgo' to latest v2.8.0 & re-crush images 2022-02-28 00:00:05 +00:00
bundlesize.config.json search: Optionally support load-more events 2022-12-06 13:35:22 +01:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
composer.json Allow composer/installers plugin 2022-07-18 19:24:19 -07:00
COPYING
Doxyfile docs: Generate documentation with Doxygen 2020-02-24 16:49:38 +00:00
jest.config.js Limited width toggle 2022-11-01 16:29:43 +00:00
jest.setup.js Limited width toggle 2022-11-01 16:29:43 +00:00
jsdoc.json Move REST search client out of WVUI into Vector 2022-02-10 10:17:10 -06:00
package-lock.json build: Upgrade Codex from 0.1.0-alpha.10 to 0.2.2 2022-10-26 10:47:51 -04:00
package.json [Technical] Split up Menu.template, restrict decoratePortletData to legacy Vector 2022-11-02 21:22:50 +00:00
README.md End migration mode 2022-03-23 16:46:42 +00:00
skin.json Generalize Pinnable functionality to not be limited to dropdowns, make Pinnable templates composable 2022-11-30 17:17:20 -06:00
tsconfig.json Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00

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.