summaryrefslogtreecommitdiffstats
path: root/modules/monitoring/application/views/scripts/show/components/notes.phtml
blob: c868c955f1760bbdc678c9da3c36de4496ac3c36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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>