Skip to content
Snippets Groups Projects
Commit 289c284c authored by Robert Lange's avatar Robert Lange Committed by Dorian Merz
Browse files

refs #15653 [fid] add SearchTabs

* expand Vufind SearchTab methods to get pure hidden filters in template
* handle emtpy filter
parent f8ffb47c
No related merge requests found
<?php
/**
* "Search tabs" view helper
*
* PHP version 7
*
* Copyright (C) Villanova University 2010.
* Copyright (C) The National Library of Finland 2015-2016.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category VuFind
* @package View_Helpers
* @author Robert Lange <lange@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development Wiki
*/
namespace fid\Helper;
/**
* "Search tabs" view helper
*
* @category VuFind
* @package View_Helpers
* @author Robert Lange <lange@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development Wiki
*/
class SearchTabs extends \VuFind\View\Helper\Root\SearchTabs
{
/**
* Create information representing a basic search tab.
*
* @param string $id Tab ID
* @param string $class Search class ID
* @param string $label Display text for tab
* @param string $newUrl Target search URL
* @param string $permissionName Name of a permissionrule
*
* @return array
*/
protected function createBasicTab($id, $class, $label, $newUrl, $permissionName)
{
$retval = parent::createBasicTab($id, $class, $label, $newUrl, $permissionName);
$retval['hiddenFilters'] = $this->helper->getTabFilterConfig()[$id] ?? null;
return $retval;
}
/**
* Create information representing a selected tab.
*
* @param string $id Tab ID
* @param string $class Search class ID
* @param string $label Display text for tab
* @param string $permissionName Name of a permissionrule
*
* @return array
*/
protected function createSelectedTab($id, $class, $label, $permissionName)
{
$retval = parent::createSelectedTab($id, $class, $label, $permissionName);
$retval['hiddenFilters'] = $this->helper->getTabFilterConfig()[$id] ?? null;
return $retval;
}
/**
* Create information representing a tab linking to "search home."
*
* @param string $id Tab ID
* @param string $class Search class ID
* @param string $label Display text for tab
* @param array $filters Tab filters
* @param string $permissionName Name of a permissionrule
*
* @return array
*/
protected function createHomeTab($id, $class, $label, $filters, $permissionName)
{
$retval = parent::createHomeTab($id, $class, $label, $filters, $permissionName);
$retval['hiddenFilters'] = $this->helper->getTabFilterConfig()[$id] ?? null;
return $retval;
}
}
...@@ -21,4 +21,12 @@ ...@@ -21,4 +21,12 @@
return [ return [
'extends' => 'finc', 'extends' => 'finc',
'helpers' => [
'factories' => [
'fid\Helper\SearchTabs' => 'VuFind\View\Helper\Root\SearchTabsFactory',
],
'aliases' => [
'searchTabs' => 'fid\Helper\SearchTabs',
]
]
]; ];
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment