Add static select2 to choice widgets #2400
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a rough proof of concept (the code is mostly copied from pretixcontrol, the custom select2 css from pretixcontrol has not been copied, I have no idea how necessary it is for presale) to add select2 features to single choice questions. This can be refined by only enabling select2 when there are more than a threshold number of choices or by having a setting to enable this on a per-question level (I don't see the harm having this on all the time though).
This uses the in-place version of select2 to gracefully fall back to a normal select with all options available should the user use a non-js client or a screen reader or similar. Even if the question has lots of choices (we regularly have more than 100) it should be efficient enough without requiring the dynamic/server-query based version of select2.
Fixes #2020