getData(); $columnId = $column->getId(); assert($element instanceof ReviewForm && !empty($columnId)); switch ($columnId) { case 'name': return ['label' => $element->getLocalizedTitle()]; case 'inReview': return ['label' => $element->getIncompleteCount()]; case 'completed': return ['label' => $element->getCompleteCount()]; case 'active': return ['selected' => $element->getActive()]; } return parent::getTemplateVarsFromRowColumn($row, $column); } /** * @see GridCellProvider::getCellActions() */ public function getCellActions($request, $row, $column, $position = GridHandler::GRID_ACTION_POSITION_DEFAULT) { switch ($column->getId()) { case 'active': /** @var ReviewForm */ $element = $row->getData(); $router = $request->getRouter(); if ($element->getActive()) { return [new LinkAction( 'deactivateReviewForm', new RemoteActionConfirmationModal( $request->getSession(), __('manager.reviewForms.confirmDeactivate'), null, $router->url( $request, null, 'grid.settings.reviewForms.ReviewFormGridHandler', 'deactivateReviewForm', null, ['reviewFormKey' => $element->getId()] ) ) )]; } else { return [new LinkAction( 'activateReviewForm', new RemoteActionConfirmationModal( $request->getSession(), __('manager.reviewForms.confirmActivate'), null, $router->url( $request, null, 'grid.settings.reviewForms.ReviewFormGridHandler', 'activateReviewForm', null, ['reviewFormKey' => $element->getId()] ) ) )]; } } return parent::getCellActions($request, $row, $column, $position); } }