Open Journal Systems  3.3.0
QueryTitleGridColumn.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridColumn');
17 
19 
21  var $_actionArgs;
22 
27  function __construct($actionArgs) {
28  $this->_actionArgs = $actionArgs;
29 
30  import('lib.pkp.classes.controllers.grid.ColumnBasedGridCellProvider');
31  $cellProvider = new ColumnBasedGridCellProvider();
32 
33  parent::__construct('name', 'common.name', null, null, $cellProvider,
34  array('width' => 60, 'alignment' => COLUMN_ALIGNMENT_LEFT));
35  }
36 
37 
38  //
39  // Public methods
40  //
47  function getTemplateVarsFromRow($row) {
48  // We do not need any template variables because
49  // the only content of this column's cell will be
50  // an action. See QueryTitleGridColumn::getCellActions().
51  return array('label' => '');
52  }
53 
54 
55  //
56  // Override methods from GridColumn
57  //
61  function getCellActions($request, $row, $position = GRID_ACTION_POSITION_DEFAULT) {
62  // Retrieve the submission file.
63  $query = $row->getData();
64  $headNote = $query->getHeadNote();
65 
66  // Create the cell action to download a file.
67  import('lib.pkp.classes.linkAction.request.AjaxModal');
68  $router = $request->getRouter();
69  $actionArgs = array_merge(
70  $this->_actionArgs,
71  array('queryId' => $query->getId())
72  );
73 
74  return array_merge(
75  parent::getCellActions($request, $row, $position),
76  array(
77  new LinkAction(
78  'readQuery',
79  new AjaxModal(
80  $router->url($request, null, null, 'readQuery', null, $actionArgs),
81  $headNote?$headNote->getTitle():'&mdash;',
82  'modal_edit'
83  ),
84  ($headNote && $headNote->getTitle()!='')?htmlspecialchars($headNote->getTitle()):'&mdash;',
85  null
86  )
87  )
88  );
89  }
90 }
91 
92 
ColumnBasedGridCellProvider
A cell provider that relies on the column implementation to provide cell content. Use this cell provi...
Definition: ColumnBasedGridCellProvider.inc.php:24
GridColumn
The GridColumn class represents a column within a grid. It is used to format the data presented in a ...
Definition: GridColumn.inc.php:27
QueryTitleGridColumn\$_actionArgs
$_actionArgs
Definition: QueryTitleGridColumn.inc.php:24
QueryTitleGridColumn\__construct
__construct($actionArgs)
Definition: QueryTitleGridColumn.inc.php:30
QueryTitleGridColumn\getCellActions
getCellActions($request, $row, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: QueryTitleGridColumn.inc.php:64
AjaxModal
A modal that retrieves its content from via AJAX.
Definition: AjaxModal.inc.php:18
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
QueryTitleGridColumn
Implements a query tile column.
Definition: QueryTitleGridColumn.inc.php:18
QueryTitleGridColumn\getTemplateVarsFromRow
getTemplateVarsFromRow($row)
Definition: QueryTitleGridColumn.inc.php:50