mirror of
https://github.com/Icinga/icingadb-web.git
synced 2026-06-08 16:22:05 -04:00
Controller::createColumnControl(): Use parameter for default columns
Add a parameter for default columns to be used if no columns are set in the URL
This commit is contained in:
parent
ba688bb431
commit
a5dfb07f9c
3 changed files with 11 additions and 25 deletions
|
|
@ -70,7 +70,7 @@ class HostsController extends Controller
|
|||
$limitControl,
|
||||
viewModeSwitcherClass: TabularViewModeSwitcher::class
|
||||
);
|
||||
$columns = $this->createColumnControl($hosts, $viewModeSwitcher);
|
||||
$columns = $this->createColumnControl($hosts, $viewModeSwitcher, ['host.name', 'host.state.output']);
|
||||
|
||||
$searchBar = $this->createSearchBar($hosts, [
|
||||
$limitControl->getLimitParam(),
|
||||
|
|
@ -296,9 +296,4 @@ class HostsController extends Controller
|
|||
|
||||
return new FeatureStatus('host', $summary->first());
|
||||
}
|
||||
|
||||
protected function getDefaultColumns(): string
|
||||
{
|
||||
return 'host.name, host.state.output';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ class ServicesController extends Controller
|
|||
$limitControl,
|
||||
viewModeSwitcherClass: TabularViewModeSwitcher::class
|
||||
);
|
||||
$columns = $this->createColumnControl($services, $viewModeSwitcher);
|
||||
$columns = $this->createColumnControl($services, $viewModeSwitcher, ['service.name', 'service.state.output']);
|
||||
|
||||
$searchBar = $this->createSearchBar($services, [
|
||||
$limitControl->getLimitParam(),
|
||||
|
|
@ -494,9 +494,4 @@ class ServicesController extends Controller
|
|||
|
||||
return $problemToggle;
|
||||
}
|
||||
|
||||
protected function getDefaultColumns(): string
|
||||
{
|
||||
return 'service.name, service.state.output';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,26 +79,27 @@ class Controller extends CompatController
|
|||
*
|
||||
* @param Query $query
|
||||
* @param ViewModeSwitcher $viewModeSwitcher
|
||||
* @param array $defaultColumns
|
||||
*
|
||||
* @return array provided columns
|
||||
*/
|
||||
public function createColumnControl(Query $query, ViewModeSwitcher $viewModeSwitcher): array
|
||||
public function createColumnControl(Query $query, ViewModeSwitcher $viewModeSwitcher, array $defaultColumns): array
|
||||
{
|
||||
// All of that is essentially what `ColumnControl::apply()` should do
|
||||
$viewMode = $viewModeSwitcher->getViewMode();
|
||||
$columnsDef = $this->params->shift('columns');
|
||||
if (! $columnsDef) {
|
||||
if ($viewMode === 'tabular') {
|
||||
$columnsDef = $this->getDefaultColumns();
|
||||
$columns = $defaultColumns;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
$columns = [];
|
||||
foreach (explode(',', $columnsDef) as $column) {
|
||||
if ($column = trim($column)) {
|
||||
$columns[] = $column;
|
||||
} else {
|
||||
$columns = [];
|
||||
foreach (explode(',', $columnsDef) as $column) {
|
||||
if ($column = trim($column)) {
|
||||
$columns[] = $column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -497,9 +498,4 @@ class Controller extends CompatController
|
|||
->getPlugin('Zend_Controller_Plugin_ErrorHandler')
|
||||
->setErrorHandlerModule('icingadb');
|
||||
}
|
||||
|
||||
protected function getDefaultColumns(): string
|
||||
{
|
||||
return 'name, state.output';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue