[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
lib
/
pkp
/
controllers
/
grid
/
queries
/
[
Home
]
File: QueryTitleGridColumn.php
<?php /** * @file controllers/grid/queries/QueryTitleGridColumn.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 QueryTitleGridColumn * * @ingroup controllers_grid_queries * * @brief Implements a query tile column. */ namespace PKP\controllers\grid\queries; use PKP\controllers\grid\ColumnBasedGridCellProvider; use PKP\controllers\grid\GridColumn; use PKP\controllers\grid\GridHandler; use PKP\linkAction\LinkAction; use PKP\linkAction\request\AjaxModal; class QueryTitleGridColumn extends GridColumn { /** @var array Action args for link actions */ public $_actionArgs; /** * Constructor * * @param array $actionArgs Action args for link actions */ public function __construct($actionArgs) { $this->_actionArgs = $actionArgs; $cellProvider = new ColumnBasedGridCellProvider(); parent::__construct( 'name', 'common.name', null, null, $cellProvider, ['width' => 60, 'alignment' => GridColumn::COLUMN_ALIGNMENT_LEFT] ); } // // Public methods // /** * Method expected by ColumnBasedGridCellProvider * to render a cell in this column. * * @copydoc ColumnBasedGridCellProvider::getTemplateVarsFromRowColumn() */ public function getTemplateVarsFromRow($row) { // We do not need any template variables because // the only content of this column's cell will be // an action. See QueryTitleGridColumn::getCellActions(). return ['label' => '']; } // // Override methods from GridColumn // /** * @copydoc GridColumn::getCellActions() */ public function getCellActions($request, $row, $position = GridHandler::GRID_ACTION_POSITION_DEFAULT) { // Retrieve the submission file. $query = $row->getData(); $headNote = $query->getHeadNote(); // Create the cell action to download a file. $router = $request->getRouter(); $actionArgs = array_merge( $this->_actionArgs, ['queryId' => $query->getId()] ); return array_merge( parent::getCellActions($request, $row, $position), [ new LinkAction( 'readQuery', new AjaxModal( $router->url($request, null, null, 'readQuery', null, $actionArgs), $headNote ? htmlspecialchars($headNote->getTitle()) : '—', 'modal_edit' ), ($headNote && $headNote->getTitle() != '') ? htmlspecialchars($headNote->getTitle()) : '—', null ) ] ); } }