Issue #3612925: Support non-default VBO field IDs in select-all
Closes #3612925
Summary
Updates the “Select / deselect all results” handler to find VBO row checkboxes through VBO’s existing .js-vbo-checkbox class.
The previous selector depended on the VBO field having the exact Views field ID views_bulk_operations_bulk_form. When the same VBO field plugin was stored under another valid field ID, the handler found no row checkboxes.
Changes
- Replace the hard-coded Views wrapper selector with
.js-vbo-checkbox. - Add FunctionalJavascript coverage for:
- a one-page View with a non-default VBO field ID;
- a multipage View with a non-default VBO field ID.
Testing
Before the fix:
- the all-results checkbox becomes checked;
- on a multipage View, VBO reports all results as selected;
- the visible row checkboxes remain unchecked.
With the fix applied:
Tests: 2, Assertions: 58The following checks also pass:
git diff --check
node --check js/frontUi.js
php -l tests/src/FunctionalJavascript/ViewsBulkOperationsBulkFormTest.php
phpcs --standard=Drupal tests/src/FunctionalJavascript/ViewsBulkOperationsBulkFormTest.phpAI disclosure
AI was used in preparing this merge request. ChatGPT assisted with code inspection, drafting the regression tests and fix, running local tests through a user-controlled shell tool, and reviewing the written explanation.
I reviewed and corrected the work, manually reproduced both the one-page and multipage failures, verified the tests and behaviour before and after the fix, and take responsibility for the submitted code.