public function ViewsBulkOperationsController::updateSelection in Views Bulk Operations (VBO) 8.2
Same name and namespace in other branches
- 8.3 src/Controller/ViewsBulkOperationsController.php \Drupal\views_bulk_operations\Controller\ViewsBulkOperationsController::updateSelection()
- 4.0.x src/Controller/ViewsBulkOperationsController.php \Drupal\views_bulk_operations\Controller\ViewsBulkOperationsController::updateSelection()
AJAX callback to update selection (multipage).
Parameters
string $view_id: The current view ID.
string $display_id: The display ID of the current view.
\Symfony\Component\HttpFoundation\Request $request: The request object.
1 string reference to 'ViewsBulkOperationsController::updateSelection'
File
- src/
Controller/ ViewsBulkOperationsController.php, line 97
Class
- ViewsBulkOperationsController
- Defines VBO controller class.
Namespace
Drupal\views_bulk_operations\ControllerCode
public function updateSelection($view_id, $display_id, Request $request) {
$view_data = $this
->getTempstoreData($view_id, $display_id);
if (empty($view_data)) {
throw new NotFoundHttpException();
}
$list = $request->request
->get('list');
$op = $request->request
->get('op', 'add');
$change = 0;
if ($op === 'add') {
foreach ($list as $bulkFormKey => $label) {
if (!isset($view_data['list'][$bulkFormKey])) {
$view_data['list'][$bulkFormKey] = $this
->getListItem($bulkFormKey, $label);
$change++;
}
}
}
elseif ($op === 'remove') {
foreach ($list as $bulkFormKey => $label) {
if (isset($view_data['list'][$bulkFormKey])) {
unset($view_data['list'][$bulkFormKey]);
$change--;
}
}
}
$this
->setTempstoreData($view_data);
$response = new AjaxResponse();
$response
->setData([
'change' => $change,
]);
return $response;
}