-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Made a new KRadioButtonGroup component to fix Firefox radio button movement with arrow keys issue #650
Made a new KRadioButtonGroup component to fix Firefox radio button movement with arrow keys issue #650
Conversation
…-v1.5.x Release 1.5.x into develop
- This component enables focus movenment on radio buttons with arrow keys on firefox
- Add KRadioButton method description - Add KRadioButtonGroup slot and props description
Hi @MisRob Could you please review the PR? |
Hi @muditchoudhary, thanks a lot! I think as first step, we will QA in Kolibri. Would you be able to open a Kolibri PR for testing that would reference the latest commit of this KDS PR and use |
Sure @MisRob I had tested on Kolibri and I have the changes in stash, so I will have no problem in making a PR. I will send a PR soon. |
- This component enables focus movenment on radio buttons with arrow keys on firefox
- Add KRadioButton method description - Add KRadioButtonGroup slot and props description
…o KRadioButtonGroup-Component
- Used ._componentTag instead of ._name - Changed onkeydown with onkeyup listener
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much @muditchoudhary, firstly for researching the issue and approaches to solve it, and then in this PR for finalizing it. Also thanks for taking care of docs and tests. Overall it's great work and feels solid.
I'm leaving a couple of comments. The most important is the one related to many event listeners and it's the only change I request before proceeding to merging. I'd also like to clarify the enable
logic.
I'd appreciate if we could have the improvement regarding the dependency to KGridItem
, however it's also something that I could open a follow-up issue for. Same applies to the remaining comments that are rather minor. It really depends on your bandwith - let me know what works for you.
Thanks a lot, @MisRob for giving the detailed review and suggesting changes. I will send the changes soon. |
Thanks a lot @muditchoudhary! Just answered. Seems we're close, great work. |
- Use recursion to query all KRadioButton - In test avoid internval variable use
Hi @MisRob I have pushed the commit. Could you please check? Also, please confirm I need to target the develop branch, right? Thank you!! |
There were some much mege conflicts with |
Thanks @muditchoudhary! Yes, |
@muditchoudhary I have some time so I will do this now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@muditchoudhary Thanks again, Mudit. This is fantastic progress and I think we're close to merge. Ccan't wait to see it live (as a Firefox user myself :)
The only important thing to resolve is the recursion bug. Besides I left a couple of minor non-blocking notes that are optional.
@MisRob Thank you!! so much ❤️ for reviewing the code and helping me with the recursive logic. Once the QA successfully tests the PR, I will rebase this branch with develop for merging. Edit: |
Great @muditchoudhary, thanks a lot too! Joy on my side. I will have a look at the latest changes, hopefully some time this week, and also ask my colleagues for final QA run on Kolibri. And thank you for sharing the playground code, that's helpful. |
@muditchoudhary All new code looks well to me, and testing here on KDS passes. We will wait for the final QA confirmation from learningequality/kolibri#12325 and then I will merge. FYI I updated the changelog. I appreciate you started the documentation page with the example. I pushed some more updates to the documentation. Cross-referenced with I think that as soon as learningequality/kolibri#12325 passes and there is a new KDS release with this PR merged in it, we can install the release to learningequality/kolibri#12325 and even merge it to Kolibri. There are still many other places in Kolibri where we will want to wrap Thanks a lot for this solid piece of work - progressing from the research, communication with @radinamatic, proof of concept, to the final implementation. So glad this is completed :) |
@muditchoudhary I also added the example with grids to docs, since I don't think people would figure out this is actually supported :)! |
Thanks a lot @MisRob for all the help and support. I'm excited too, to see this PR merging in the codebase. Also thank you for updating the docs. |
QA in learningequality/kolibri#12325 passed so merging. Great work @muditchoudhary. |
Thank you :) @MisRob |
Description
KRadioButtonGroup
component that fixes radio button movement with arrow keys issues in Firefox.KRadioButtonGroup
.KRadioButtonGroup
Issue addressed
Fixes: 10491
Addresses #PR# HERE
Before/after screenshots
Before
Before.mp4
After
After.mp4
Changelog
[#PR no]: PR link
Steps to test
Kolibri
with KDS. How? given: hereKRadioButtonGroup
component and wrapKRadioButton
components insideKRadioButtonGroup
component, in these files:2.1 kolibri/plugins/device/assets/src/views/DeviceSettingsPage/index.vue
2.2 kolibri/core/assets/src/views/language-switcher/LanguageSwitcherModal.vue
3.1 http://127.0.0.1:8000/en/device/#/settings
3.2 Choose Language
Second way
(optional) Implementation notes
At a high level, how did you implement this?
Does this introduce any tech-debt items?
Testing checklist
Reviewer guidance
After review
CHANGELOG.md
Comments
For the change language model
KGrid
is used, which creates twoKRadioButtonGroup
components as the array is split.Although the arrow keys are working fine but when we shift tab it puts focus on the last focus radio button on the first list.
I want to know your thoughts. Is that acceptable?