learningequality / kolibri

Kolibri Learning Platform: the offline app for universal education
https://learningequality.org/kolibri/
MIT License
755 stars 637 forks source link

Update folder selection logic to handle deep folders. #12381

Open rtibbles opened 2 days ago

rtibbles commented 2 days ago

Summary

Change to behaviour for clarity:

Point for reflection: I tried to make it so that if a folder was indeterminately selected it and selecting it would exceed the max questions, it would deselect instead - this all worked, except that the KCheckbox did not properly update to the unselected state, so it made the UI more confusing. Instead, it retains its default behaviour, and instead displays the warning that too many questions are now selected.

Change to behaviour that can be reverted:

References

Fixes #12327

Reviewer guidance

Select, deselect, select all, unselect all, select some resources in a folder, and navigate to the parent. Just do all the permutations of selecting and deselecting and make sure weird edge cases don't arise.

In spite of the disabled checkboxes, it is still possible to get into a state where you have too many resources selected, but the number of paths to get there is much smaller.


Testing checklist

PR process

Reviewer checklist

github-actions[bot] commented 2 days ago

Build Artifacts

Asset type Download link
PEX file kolibri-.pex
Windows Installer (EXE) kolibri-0.17.0a0.dev0+git.167.g9a42970a-windows-setup-unsigned.exe
Debian Package kolibri_0.17.0a0.dev0+git.167.g9a42970a-0ubuntu1_all.deb
Mac Installer (DMG) kolibri-0.17.0a0.dev0+git.167.g9a42970a-0.4.2.dmg
Android Package (APK) kolibri-0.17.0a0.dev0+git.167.g9a42970a-0.1.3-debug.apk
TAR file kolibri-0.17.0a0.dev0+git.167.g9a42970a.tar.gz
WHL file kolibri-0.17.0a0.dev0+git.167.g9a42970a-py2.py3-none-any.whl