MultiSelect: add table extension trait

This commit is contained in:
Thomas Gelf 2017-06-12 10:51:58 +02:00
parent 49747c4dca
commit 4f2a53dc90
1 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,27 @@
<?php
namespace Icinga\Module\Director\Web\Table\Extension;
use ipl\Web\Url;
// Could also be a static method, MultiSelect::enable($table)
trait MultiSelect
{
protected function enableMultiSelect($url, $sourceUrl, array $keys)
{
$this->addAttributes([
'class' => 'multiselect'
]);
$prefix = 'data-icinga-multiselect';
$multi = [
"$prefix-url" => Url::fromPath($url),
"$prefix-controllers" => Url::fromPath($sourceUrl),
"$prefix-data" => implode(',', $keys),
];
$this->addAttributes($multi);
return $this;
}
}