summaryrefslogtreecommitdiffstats
path: root/library/Director/Web/Widget/AbstractList.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--library/Director/Web/Widget/AbstractList.php40
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));
+ }
+}