Skip to content

Migrate LanguageFilter to KMultiSelect - #6093

Open
Prashant-thakur77 wants to merge 1 commit into
learningequality:unstablefrom
Prashant-thakur77:feature/kmultiselect-language-filter
Open

Migrate LanguageFilter to KMultiSelect#6093
Prashant-thakur77 wants to merge 1 commit into
learningequality:unstablefrom
Prashant-thakur77:feature/kmultiselect-language-filter

Conversation

@Prashant-thakur77

Copy link
Copy Markdown
Contributor

Summary

Migrates LanguageFilter from Vuetify's VAutocomplete to KDS KMultiSelect, as part of moving Studio off Vuetify.

KMultiSelect renders its own chips and options, so the hand-rolled #selection and #item slot templates, the StudioChip import, the search helper, the scroll-reset method, and the Vuetify-specific styles all go away.

Notable points:

  • Search parity is preserved. The old field passed a function as item-text returning
    name + related_names + id, then overrode both slots to display only name the
    concatenation existed purely for filtering. That's now expressed directly as
    itemText="name" for display plus :searchKeys="['related_names', 'id']" for matching,
    so searching by native name, English name, or language code all still work.
  • StudioChip is no longer needed here because KMultiSelect renders chips itself using
    KChip, which is the same component upstreamed into KDS (identical markup and styles).
    No spec file existed for this component and none is added; behavior was verified as
    described below.

References

Reviewer guidance

Check for no regrressions then before and proper refractoring.

Screencast.From.2026-08-17.02-43-29.mp4

AI usage

I used Claude to write this description and made the changes as needed.

@learning-equality-bot

Copy link
Copy Markdown

👋 Hi @Prashant-thakur77, thanks for contributing!

For the review process to begin, please verify that the following is satisfied:

  • Contribution is aligned with our contributing guidelines

  • Pull request description has correctly filled AI usage section & follows our AI guidance:

    AI guidance

    State explicitly whether you didn't use or used AI & how.

    If you used it, ensure that the PR is aligned with Using AI as well as our DEEP framework. DEEP asks you:

    • Disclose — Be open about when you've used AI for support.
    • Engage critically — Question what is generated. Review code for correctness and unnecessary complexity.
    • Edit — Review and refine AI output. Remove unnecessary code and verify it still works after your edits.
    • Process sharing — Explain how you used the AI so others can learn.

    Examples of good disclosures:

    "I used Claude Code to implement the component, prompting it to follow the pattern in ComponentX. I reviewed the generated code, removed unnecessary error handling, and verified the tests pass."

    "I brainstormed the approach with Gemini, then had it write failing tests for the feature. After reviewing the tests, I used Claude Code to generate the implementation. I refactored the output to reduce verbosity and ran the full test suite."

Also check that issue requirements are satisfied & you ran pre-commit locally.

Pull requests that don't follow the guidelines will be closed.

Reviewer assignment can take up to 2 weeks.

@Prashant-thakur77

Copy link
Copy Markdown
Contributor Author

@LianaHarris360 I’ve created the PR for the LanguageFilter with KMultiSelect. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant