Summary
A Vue 3 version of TypeaheadSearch has been added to Codex (see demo). This task covers removing the WVUI version of TypeaheadSearch (WvuiTypeaheadSearch) from Vector in favor of the Codex version (CdxTypeaheadSearch).
Implementation details
Since Codex is built with Vue 3, implementing the CdxTypeaheadSearch component will require updating the app in Vector that uses TypeaheadSearch from Vue 2 to Vue 3.
In addition to using the CdxTypeaheadSearch component, we will need to update styles in Vector that are applied to a server-rendered version of the search box that make it mimic the appearance of TypeaheadSearch. Since some design changes were made while developing CdxTypeaheadSearch, some of these styles will need to change accordingly to match Codex values and tokens.
Finally, we will remove references to WVUI throughout the codebase, replacing them with generic "Vue" terms or Codex references.
Acceptance criteria
- Vector search app is updated from Vue 2 to Vue 3
- Dependence on wvui ResourceLoader module and npm package(s) replaced by codex
- Use @wikimedia/codex-search build
- WvuiTypeaheadSearch is replaced by CdxTypeaheadSearch in the search app
- WVUI URL generator code is moved into Vector, since it is app-specific
- Server-rendered search box styles are adapted to work with Codex styles
- WVUI references in Less code are updated to point to Codex
- VectorWvuiSearchOptions config variable has been updated to the more generic VectorVueSearchOptions (this is done in the Vector code and does not need a corresponding patch in mediawiki-config since VectorWvuiSearchOptions was never included there)
- Functional testing of CdxTypeaheadSearch and its subcomponents has been completed (Codex-specific)
- QA of the implementation of CdxTypeaheadSearch in Vector has been completed (Vector-specific)
https://phabricator.wikimedia.org/T303558#8110679
QA Results - Beta
AC | Status | Details |
---|---|---|
1 | 22 x ✅ , 3 x ⬜ , 1 x ❌ | see T303558#8110679 for breakdown. a bug was filed for the error that was found. |