GridHandler::renderFilter PHP Method

renderFilter() protected method

Render the filter (a template or a Form).
protected renderFilter ( $request, $filterData = [] ) : string
$request PKPRequest
$filterData Array Data to be used by the filter template.
return string
    protected function renderFilter($request, $filterData = array())
    {
        $form = $this->getFilterForm();
        switch (true) {
            case $form === null:
                // No filter form.
                return '';
            case is_a($form, 'Form'):
                // Form object subclass
                // Only read form data if the clientSubmit flag has been checked
                $clientSubmit = (bool) $request->getUserVar('clientSubmit');
                if ($clientSubmit) {
                    $form->readInputData();
                    $form->validate();
                }
                $form->initData($filterData, $request);
                return $form->fetch($request);
            case is_string($form):
                // HTML mark-up
                $templateMgr = TemplateManager::getManager($request);
                // Assign data to the filter.
                $templateMgr->assign('filterData', $filterData);
                // Assign current selected filter data.
                $filterSelectionData = $this->getFilterSelectionData($request);
                $templateMgr->assign('filterSelectionData', $filterSelectionData);
                return $templateMgr->fetch($form);
                break;
        }
        assert(false);
    }

Usage Example

 /**
  * @copyDoc GridHandler::renderFilter()
  */
 function renderFilter($request, $filterData = array())
 {
     $workflowStages = WorkflowStageDAO::getWorkflowStageTranslationKeys();
     $workflowStages[0] = 'workflow.stage.any';
     ksort($workflowStages);
     $filterColumns = $this->getFilterColumns();
     $filterData = array('columns' => $filterColumns, 'workflowStages' => $workflowStages, 'gridId' => $this->getId());
     return parent::renderFilter($request, $filterData);
 }
All Usage Examples Of GridHandler::renderFilter