Update selectize and pull from node_modules.

Review Request #14668 — Created Nov. 5, 2025 and updated

Information

Djblets
release-5.x

Reviewers

We use selectize for the related object selector widgets in the admin
UI. The version we were using was pretty old, and we had vendored it
into our source tree.

This change updates Djblets to include "@selectize/selectize" as a
dependency, and pull it in from node_modules instead of vendoring it
into our source tree.

The newer version required a couple small updates to the way we use it:

  • The related object selector renders values as blank because we
    actually show the selected values in a list or table below the input.
    We used to just return an empty string but internally, selectize was
    trying to do DOM manipulation on this. We now return an empty <span>
    element instead.
  • We need to pass mode: multivalued into the selectize options so it
    doesn't try to hide the <input> element after selecting a value.

I've also fixed the padding on <td> elements within the selected
items, because we had an admin form style that was setting that to a

There's one more visual fix for the user selector that will come in a
Review Board change (this was looking bad even with the old version of
selectize).

  • Built static media.
  • Ran js-tests.
  • Tested the related user, group, and repo selectors within the Review
    Board admin UI.
Summary ID
Update selectize and pull from node_modules.
We use selectize for the related object selector widgets in the admin UI. The version we were using was pretty old, and we had vendored it into our source tree. This change updates Djblets to include "@selectize/selectize" as a dependency, and pull it in from `node_modules` instead of vendoring it into our source tree. The newer version required a couple small updates to the way we use it: - The related object selector renders values as blank because we actually show the selected values in a list or table below the input. We used to just return an empty string but internally, selectize was trying to do DOM manipulation on this. We now return an empty `<span>` element instead. - We need to pass `mode: multivalued` into the selectize options so it doesn't try to hide the `<input>` element after selecting a value. I've also fixed the padding on `<td>` elements within the selected items, because we had an admin form style that was setting that to a There's one more visual fix for the user selector that will come in a Review Board change (this was looking bad even with the old version of selectize). Testing Done: - Built static media. - Ran js-tests. - Tested the related user, group, and repo selectors within the Review Board admin UI.
qpzszlxsnowxtrtsqsslournuptzyypp
Checks run (2 succeeded)
flake8 passed.
JSHint passed.