Swap Admin4 multiselect plugin - #3831
Open
yubiuser wants to merge 4 commits into
Open
Conversation
Signed-off-by: yubiuser <github@yubiuser.dev>
Signed-off-by: yubiuser <github@yubiuser.dev>
yubiuser
force-pushed
the
admin4_multiselect
branch
from
July 30, 2026 10:03
1690730 to
71bdc8b
Compare
rdwebdesign
requested changes
Jul 30, 2026
Member
Signed-off-by: yubiuser <github@yubiuser.dev>
Member
Author
|
This is an intersting bug. AI says
|
There was a problem hiding this comment.
Pull request overview
This PR replaces the Admin UI’s group multi-select implementation based on Tom Select with bootstrap-multiselect to better support the custom “All” / “None” / “Apply” actions used in the groups tables.
Changes:
- Remove Tom Select vendor assets and dependency; add
bootstrap-multiselectvendor assets and dependency. - Rework
utils.createGroupSelect()and group table scripts to initialize and control the new multiselect. - Update CSS and page includes to load the new plugin and adjust the actions box styling/positioning.
Reviewed changes
Copilot reviewed 12 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| vendor/tom-select/tom-select.complete.min.js | Removes Tom Select JS bundle from vendored assets. |
| vendor/tom-select/tom-select.bootstrap5.min.css.map | Removes Tom Select Bootstrap 5 sourcemap. |
| vendor/tom-select/tom-select.bootstrap5.min.css | Removes Tom Select Bootstrap 5 CSS. |
| vendor/bootstrap-multiselect/bootstrap-multiselect.min.js | Adds vendored Bootstrap Multiselect JS. |
| vendor/bootstrap-multiselect/bootstrap-multiselect.min.css | Adds vendored Bootstrap Multiselect CSS. |
| style/pi-hole.css | Renames actions box styles and adds positioning/visual overrides for the new dropdown. |
| scripts/lua/header.lp | Switches conditional plugin CSS include to Bootstrap Multiselect. |
| scripts/js/utils.js | Replaces Tom Select-based createGroupSelect() with a Bootstrap Multiselect-based implementation + wrapper. |
| scripts/js/groups-lists.js | Updates initialization and Apply-button wiring to use the new multiselect wrapper. |
| scripts/js/groups-domains.js | Updates initialization and Apply-button wiring to use the new multiselect wrapper. |
| scripts/js/groups-clients.js | Updates initialization and Apply-button wiring to use the new multiselect wrapper. |
| queries.lp | Replaces the Tom Select script include with Bootstrap Multiselect. |
| package.json | Adds bootstrap-multiselect dependency and removes tom-select. |
| package-lock.json | Locks bootstrap-multiselect and removes tom-select transitive entries. |
| groups.lp | Replaces Tom Select script include with Bootstrap Multiselect. |
| groups-lists.lp | Replaces Tom Select script include with Bootstrap Multiselect. |
| groups-domains.lp | Replaces Tom Select script include with Bootstrap Multiselect. |
| groups-clients.lp | Replaces Tom Select script include with Bootstrap Multiselect. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+576
to
+584
| .multiselect-floating-menu { | ||
| position: fixed; | ||
| inset: auto auto auto auto; | ||
| top: var(--multiselect-trigger-bottom); | ||
| left: var(--multiselect-trigger-left); | ||
| min-width: var(--multiselect-trigger-width); | ||
| max-width: calc(100vw - var(--multiselect-trigger-left) - 16px); | ||
| z-index: 1055; | ||
| } |
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


What does this PR aim to accomplish?:
Swap the TOM Select plugin with https://github.com/davidstutz/bootstrap-multiselect which has better support for our "All"/"None"/"Apply" buttons.
Documentation at https://davidstutz.github.io/bootstrap-multiselect
By submitting this pull request, I confirm the following:
git rebase)