Page MenuHomePhabricator

[WtC-M3] [QB] [EPIC] Port missing components to Query Builder
Closed, ResolvedPublic

Description

Problem

Query Builder's interface was composed using a combination of Vue 2 custom components and WiKit components. The WiKit design system is now on its deprecation path, as it has been superseded by Codex, the now official Wikimedia design system.

Unfortunately, some of the WiKit components used don't have a Codex equivalent and thus cannot be replaced. This is due either to their specificity (they are tailored to the Wikibase or other non-core use cases) or their temporary unavailability (they are core components that haven't been implemented in the new system yet).

Solution

Port the WiKit components that are not yet available in Codex: we'll add them to the Query Builder repository and apply all necessary changes to make them compatible with the new version of the tool.

Here's a list of the WiKit components used in the Query Builder's UI that need to be ported. They are ordered reflecting dependencies (smallest, reused building blocks are included first):

WiKit componentNotesSubtaskTask dependency
Label mixinReused by Input and LookupT369828
InputReused by Lookup, LookupInput, ExtendedNumberInput, InputWithExtender and QuantityInputT369836
IconUsed by validation message and DateInputT369841
Validation messageReused by ExtendedNumberInput, InputWithExtender, Lookup, DateInput and QuantityInput. Uses IconT369842Depends on T369841
OptionsMenuReused by LookupInputT369906
LookupInputReused by QuantityInput. Uses Input and OptionsMenuT369907Depends on T369836 and T369906
LookupReused by QuantityInput. Uses LookupInput and ValidationMessageT369910Depends on T369907 and T369842
ExtendedNumberInputWikibase-specific component. Uses Label, Input and ValidationMessage. Reused by QuantityInputT367900Depends on T369828, T369836 and T369842
InputWithExtenderWikibase-specific component. Uses Input and ValidationMessage. Reused by DateInputT367902Depends on T369836 and T369842
QuantityInputWikibase-specific component. Uses Label, Input, LookupInput, ValidationMessageT367904Depends on T369828, T369836, T369907 and T369842
BouncingDots LoaderCore component currently being designed. See T345921T370141
DateInputWikibase-specific component. Uses Icon, InputWithExtender and BouncingDotsT367898Depends on T369841, T367902 and T370141
LanguageSelectorCustom, non-core componentT367909
PopoverPlanned core component not available yet in CodexT370146
Considerations
  • Styles: WiKit tokens will have to be replaced in order to enable deprecation. The decision to use Codex tokens or discrete values will depend on the case: components that will soon be able to be replaced (e.g. Bouncing dots) or be visually adjusted based on future guidelines (e.g. Language selector) can use discrete values to limit effort.
  • Responsiveness: DateInput, ExtendedNumberInput, InputWithExtender and QuantityInput are responsive components. In order to achieve consistency with the surrounding Codex elements (which do not adjust for touch), we should remove all responsive behavior from those components.
  • Utilities: Most of the components use utilities and scripts that will need to be exported from WiKit too in order for them to properly function in their new environment.
Open questions

Some of the components to be ported will need visual adjustments. The changes (we're replacing WiKit tokens by Codex's whenever possible) are documented in each individual task.

Acceptance criteria
  • All WiKit components that don't have an equivalent in Codex yet are ported to the Query builder repository

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenkarapayneWMDE
OpenHasanAkgun_WMDE
ResolvedkarapayneWMDE
ResolvedkarapayneWMDE
OpenNone
ResolvedHasanAkgun_WMDE
ResolvedHasanAkgun_WMDE
OpenNone
ResolvedHasanAkgun_WMDE
ResolvedArian_Bozorg
OpenNone
ResolvedArian_Bozorg
ResolvedHasanAkgun_WMDE
ResolvedHasanAkgun_WMDE
ResolvedArian_Bozorg
ResolvedHasanAkgun_WMDE
ResolvedHasanAkgun_WMDE

Event Timeline

karapayneWMDE claimed this task.
karapayneWMDE subscribed.

The remaining 3 open topics have been summarized in T416853: [WtC] Post Wikit to Codex Project Open Tasks (Query Builder, Special:NewLexeme) and will be resolved when the next project which involves updating query builder's UI takes place. Currently there are no projects like this scheduled