2023-06-05 07:11:07 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/* Icinga DB Web | (c) 2023 Icinga GmbH | GPLv2 */
|
|
|
|
|
|
|
|
|
|
namespace Icinga\Module\Icingadb\Web\Control;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* View mode switcher to toggle between grid and list view
|
|
|
|
|
*/
|
|
|
|
|
class GridViewModeSwitcher extends ViewModeSwitcher
|
|
|
|
|
{
|
|
|
|
|
/** @var string Default view mode */
|
|
|
|
|
public const DEFAULT_VIEW_MODE = 'list';
|
|
|
|
|
|
|
|
|
|
/** @var array View mode-icon pairs */
|
|
|
|
|
public static $viewModes = [
|
|
|
|
|
'list' => 'default',
|
|
|
|
|
'grid' => 'grid'
|
|
|
|
|
];
|
|
|
|
|
|
2023-06-07 07:50:06 -04:00
|
|
|
protected function getTitle(string $viewMode): string
|
2023-06-05 07:11:07 -04:00
|
|
|
{
|
2023-08-16 10:34:33 -04:00
|
|
|
$active = null;
|
|
|
|
|
$inactive = null;
|
2023-06-07 07:50:06 -04:00
|
|
|
switch ($viewMode) {
|
|
|
|
|
case 'list':
|
|
|
|
|
$active = t('List view active');
|
|
|
|
|
$inactive = t('Switch to list view');
|
|
|
|
|
break;
|
|
|
|
|
case 'grid':
|
|
|
|
|
$active = t('Grid view active');
|
|
|
|
|
$inactive = t('Switch to grid view');
|
|
|
|
|
break;
|
2023-06-05 07:11:07 -04:00
|
|
|
}
|
2023-06-07 07:50:06 -04:00
|
|
|
|
|
|
|
|
return $viewMode === $this->getViewMode() ? $active : $inactive;
|
2023-06-05 07:11:07 -04:00
|
|
|
}
|
|
|
|
|
}
|