diff options
Diffstat (limited to '')
-rw-r--r-- | modules/monitoring/application/views/scripts/show/components/notes.phtml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/monitoring/application/views/scripts/show/components/notes.phtml b/modules/monitoring/application/views/scripts/show/components/notes.phtml new file mode 100644 index 0000000..c868c95 --- /dev/null +++ b/modules/monitoring/application/views/scripts/show/components/notes.phtml @@ -0,0 +1,48 @@ +<?php + +use Icinga\Web\Navigation\Navigation; + +/** @var \Icinga\Module\Monitoring\Object\MonitoredObject $object */ + +$navigation = new Navigation(); +$notes = trim($object->notes); + +$links = $object->getNotesUrls(); +if (! empty($links)) { + foreach ($links as $link) { + $navigation->addItem( + // add warning to links that open in new tabs to improve accessibility, as recommended by WCAG20 G201 + $this->icon( + 'forward', + $this->translate('Link opens in new window'), + array('aria-label' => $this->translate('Link opens in new window')) + ) . ' ' . $this->escape($link), + array( + 'url' => $link, + 'target' => '_blank', + 'renderer' => array( + 'NavigationItemRenderer', + 'escape_label' => false + ) + ) + ); + } +} + +if (($navigation->isEmpty() || ! $navigation->hasRenderableItems()) && $notes === '') { + return; +} +?> +<tr> + <th><?= $this->translate('Notes') ?></th> + <td> + <?= $navigation->getRenderer() ?> + <?php if ($notes !== ''): ?> + <?= $this->markdown($notes, [ + 'id' => $object->type . '-notes', + 'class' => 'collapsible', + 'data-visible-height' => 200 + ]) ?> + <?php endif ?> + </td> +</tr>
\ No newline at end of file |