<?php
$discovered_trigger = array_key_exists('discovered_trigger', $data) ? $data['discovered_trigger'] : false;
$readonly = $data['readonly'];
$trigger_form_grid = new CFormGrid();
if ($data['templates']) {
$trigger_form_grid->addItem([new CLabel(_('Parent triggers')), new CFormField($data['templates'])]);
}
if ($discovered_trigger) {
$trigger_form_grid->addItem([new CLabel(_('Discovered by')), new CFormField(
(new CLink($data['discoveryRule']['name']))
->setAttribute('data-parent_discoveryid', $data['discoveryRule']['itemid'])
->setAttribute('data-triggerid', $data['triggerDiscovery']['parent_triggerid'])
->setAttribute('data-context', $data['context'])
->setAttribute('data-prototype', '1')
->addClass('js-related-trigger-edit')
)
]);
}
$trigger_form_grid
->addItem([
(new CLabel(_('Name'), 'name'))->setAsteriskMark(),
new CFormField((new CTextBox('name', $data['description'], $readonly))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAriaRequired()
->setAttribute('autofocus', 'autofocus')
)])
->addItem([
(new CLabel(_('Event name'), 'event_name')),
new CFormField((new CTextAreaFlexible('event_name', $data['event_name']))
->setReadonly($readonly)
->setMaxlength(DB::getFieldLength('triggers', 'event_name'))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->disableSpellcheck()
)])
->addItem([
new CLabel(_('Operational data'), 'opdata'),
new CFormField((new CTextBox('opdata', $data['opdata'], $readonly))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))
]);
if ($discovered_trigger) {
$trigger_form_grid->addItem([(new CVar('priority', (int) $data['priority']))->removeId()]);
$severity = (new CSeverity('priority_names', (int) $data['priority']))->setReadonly($readonly);
}
else {
$severity = new CSeverity('priority', (int) $data['priority']);
}
$trigger_form_grid->addItem([new CLabel(_('Severity'), 'priority'), new CFormField($severity)]);
$expression_row = [
(new CTextArea('expression', $data['expression']))
->addClass(ZBX_STYLE_MONOSPACE_FONT)
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setReadonly($readonly)
->disableSpellcheck()
->setAriaRequired(),
(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
(new CButton('insert', _('Add')))
->setId('insert-expression')
->addClass(ZBX_STYLE_BTN_GREY)
->setEnabled(!$readonly)
];
$expression_row[] = (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN);
$expression_row[] = (new CButton('insert_macro', _('Insert expression')))
->setId('insert-macro')
->addStyle('display: none')