diff options
Diffstat (limited to '')
-rw-r--r-- | library/Director/Web/Widget/AbstractList.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/library/Director/Web/Widget/AbstractList.php b/library/Director/Web/Widget/AbstractList.php new file mode 100644 index 0000000..ad1b9e3 --- /dev/null +++ b/library/Director/Web/Widget/AbstractList.php @@ -0,0 +1,40 @@ +<?php + +namespace Icinga\Module\Director\Web\Widget; + +use ipl\Html\Attributes; +use ipl\Html\BaseHtmlElement; +use ipl\Html\Html; +use ipl\Html\HtmlElement; + +class AbstractList extends BaseHtmlElement +{ + protected $contentSeparator = "\n"; + + /** + * AbstractList constructor. + * @param array $items + * @param null $attributes + */ + public function __construct(array $items = [], $attributes = null) + { + foreach ($items as $item) { + $this->addItem($item); + } + + if ($attributes !== null) { + $this->addAttributes($attributes); + } + } + + /** + * @param Html|array|string $content + * @param Attributes|array $attributes + * + * @return $this + */ + public function addItem($content, $attributes = null) + { + return $this->add(HtmlElement::create('li', $attributes, $content)); + } +} |