Files
OSJ/lib/pkp/classes/controllers/grid/GridCategoryRowCellProvider.php
CHIEFSOFT\ameye df3a033196 first commit
2024-06-08 17:09:23 -04:00

77 lines
2.1 KiB
PHP

<?php
/**
* @file classes/controllers/grid/GridCategoryRowCellProvider.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2000-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class GridCategoryRowCellProvider
*
* @ingroup controllers_grid
*
* @brief Default grid category row column's cell provider. This class will retrieve
* the template variables from the category row instance.
*/
namespace PKP\controllers\grid;
class GridCategoryRowCellProvider extends GridCellProvider
{
//
// Implemented methods from GridCellProvider.
//
/**
* @see GridCellProvider::getTemplateVarsFromRowColumn()
*/
public function getTemplateVarsFromRowColumn($row, $column)
{
// Default category rows will only have the first column
// as label columns.
if ($column->hasFlag('firstColumn')) {
return ['label' => $row->getCategoryLabel()];
} else {
return ['label' => ''];
}
}
/**
* @copydoc GridCellProvider::getCellActions()
*/
public function getCellActions($request, $row, $column, $position = GridRow::GRID_ACTION_POSITION_ROW_CLICK)
{
return $row->getActions($position);
}
/**
* @see GridCellProvider::render()
*/
public function render($request, $row, $column)
{
// Default category rows will only have the first column
// as label columns.
if ($column->hasFlag('firstColumn')) {
// Store the current column template.
$template = $column->getTemplate();
// Reset to the default column template.
$column->setTemplate('controllers/grid/gridCell.tpl');
// Render the cell.
$renderedCell = parent::render($request, $row, $column);
// Restore the original column template.
$column->setTemplate($template);
return $renderedCell;
} else {
return '';
}
}
}
if (!PKP_STRICT_MODE) {
class_alias('\PKP\controllers\grid\GridCategoryRowCellProvider', '\GridCategoryRowCellProvider');
}