Skip to content

fix(InputSelectize): Fix InputSelectize set method to clear selections #2024

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

karangattu
Copy link
Collaborator

@karangattu karangattu commented Jul 8, 2025

The InputSelectize.set method has been enhanced to provide more intelligent option selection. It now carefully examines the currently selected options and compares them with the user's desired selections. When an existing selected option is not part of the user's intended choices, the method automatically selects that option and removes it by pressing the Delete key, ensuring a clean and precise selection process that aligns with the user's expectations.

Added regression test and example app to verify that selections are properly cleared when setting an empty list.

fixes #2013

Updated the InputSelectize.set method to remove all selected items before setting new selections. Added regression test and example app to verify that selections are properly cleared when setting an empty list.

fixes #2013
@karangattu karangattu requested a review from schloerke July 8, 2025 09:08
@karangattu
Copy link
Collaborator Author

karangattu commented Jul 8, 2025

If the user uses a custom selectize, then it could break this logic
We are going to use another logic of clearing the selected values to avoid the remove button issues

Updated the selector for removing selectize items to target only direct children, ensuring correct clearing behavior. Enhanced the test app to display selected values and expanded the test cases to verify selection and clearing of multiple choices.
Imported Inputs, Outputs, and Session from shiny.session and updated the server function signature to include type annotations for improved type safety and clarity.
@karangattu karangattu marked this pull request as draft July 17, 2025 18:33
Refactors the selection logic to only remove items not in the desired set and only add missing items, improving efficiency and correctness when updating selected values in InputSelectize.
@karangattu karangattu marked this pull request as ready for review July 18, 2025 03:02
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.

[Bug]: controller.InputSelectize(...).set only works once with multiple selections
1 participant