[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
v1
/
lib
/
pkp
/
classes
/
controllers
/
grid
/
[
Home
]
File: GridRow.php
<?php /** * @file classes/controllers/grid/GridRow.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 GridRow * * @ingroup controllers_grid * * @brief GridRow implements a row of a Grid. See GridHandler for general * information about grids. * * Each Grid is populated with data that is displayed in a series of rows. Each * row is implemented using a GridRow, which knows how to describe the data it * represents, and can present and manage row actions such as Edit and Delete * operations. * * For general information on grids, see GridHandler. */ namespace PKP\controllers\grid; use PKP\core\PKPRequest; class GridRow extends GridBodyElement { public const GRID_ACTION_POSITION_ROW_CLICK = 'row-click'; public const GRID_ACTION_POSITION_ROW_LEFT = 'row-left'; /** @var array */ public $_requestArgs; /** @var string the grid this row belongs to */ public $_gridId; /** @var mixed the row's data source */ public $_data; /** @var bool true if the row has been modified */ public $_isModified; /** * @var array row actions, the first key represents * the position of the action in the row template, * the second key represents the action id. */ public $_actions = [GridHandler::GRID_ACTION_POSITION_DEFAULT => []]; /** @var string the row template */ public $_template; /** * Constructor. */ public function __construct() { parent::__construct(); $this->_isModified = false; } // // Getters/Setters // /** * Set the grid id * * @param string $gridId */ public function setGridId($gridId) { $this->_gridId = $gridId; } /** * Get the grid id * * @return string */ public function getGridId() { return $this->_gridId; } /** * Set the grid request parameters. * * @see GridHandler::getRequestArgs() * * @param array $requestArgs */ public function setRequestArgs($requestArgs) { $this->_requestArgs = $requestArgs; } /** * Get the grid request parameters. * * @see GridHandler::getRequestArgs() * * @return array */ public function getRequestArgs() { return $this->_requestArgs; } /** * Set the data element(s) for this controller * */ public function setData(&$data) { $this->_data = & $data; } /** * Get the data element(s) for this controller */ public function &getData() { return $this->_data; } /** * Set the modified flag for the row * * @param bool $isModified */ public function setIsModified($isModified) { $this->_isModified = $isModified; } /** * Get the modified flag for the row * * @return bool */ public function getIsModified() { return $this->_isModified; } /** * Get whether this row has any actions or not. * * @return bool */ public function hasActions() { $allActions = []; foreach ($this->_actions as $actions) { $allActions = array_merge($allActions, $actions); } return !empty($allActions); } /** * Get all actions for a given position within the controller * * @param string $position the position of the actions * * @return array the LinkActions for the given position */ public function getActions($position = GridHandler::GRID_ACTION_POSITION_DEFAULT) { if (!isset($this->_actions[$position])) { return []; } return $this->_actions[$position]; } /** * Add an action * * @param mixed $action a single action * @param string $position the position of the action */ public function addAction($action, $position = GridHandler::GRID_ACTION_POSITION_DEFAULT) { if (!isset($this->_actions[$position])) { $this->_actions[$position] = []; } $this->_actions[$position][$action->getId()] = $action; } /** * Get the row template - override base * implementation to provide a sensible default. * * @return string */ public function getTemplate() { return $this->_template; } /** * Set the controller template * * @param string $template */ public function setTemplate($template) { $this->_template = $template; } // // Public methods // /** * Initialize a row instance. * * Subclasses can override this method. * * @param PKPRequest $request * @param string $template */ public function initialize($request, $template = null) { if ($template === null) { $template = 'controllers/grid/gridRow.tpl'; } // Set the template. $this->setTemplate($template); } } if (!PKP_STRICT_MODE) { class_alias('\PKP\controllers\grid\GridRow', '\GridRow'); foreach ([ 'GRID_ACTION_POSITION_ROW_CLICK', 'GRID_ACTION_POSITION_ROW_LEFT', ] as $constantName) { define($constantName, constant('\GridRow::' . $constantName)); } }