cleanItems() ->setId('widget-dialogue-form') ->setName('widget_dialogue_form') ->addItem((new CInput('submit', 'submit'))->addStyle('display: none;')); $form_list = (new CFormList()) ->addRow( (new CLabel(_('Name'), 'name'))->setAsteriskMark(), (new CTextBox('name', $data['name'])) ->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH) ->setAttribute('autofocus', 'autofocus') ->setAriaRequired() ) ->addRow(_('Linked map'), [ new CVar('sysmapid', $data['sysmap']['sysmapid']), (new CTextBox('sysmapname', $data['sysmap']['name'], true)) ->setAttribute('onChange', 'javascript: if(jQuery("#'.$form->getName().' input[type=text]:first").val() === ""){'. 'jQuery("#widget-dialogue-form input[type=text]:first").val(this.value);}') ->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH), (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), (new CButton('select', _('Select'))) ->addClass(ZBX_STYLE_BTN_GREY) ->onClick( 'return PopUp("popup.generic", '.json_encode([ 'srctbl' => 'sysmaps', 'srcfld1' => 'sysmapid', 'srcfld2' => 'name', 'dstfrm' => $form->getName(), 'dstfld1' => 'sysmapid', 'dstfld2' => 'sysmapname' ]).', {dialogue_class: "modal-popup-generic"});' ) ]); if ($data['depth'] >= WIDGET_NAVIGATION_TREE_MAX_DEPTH) { $form_list->addRow(null, _('Cannot add submaps. Max depth reached.')); } else { $form_list->addRow(null, [ new CCheckBox('add_submaps', 1), new CLabel(_('Add submaps'), 'add_submaps') ]); } $form->addItem($form_list); $output = [ 'body' => $form->toString() ]; if ($messages = get_and_clear_messages()) { $output['messages'] = array_column($messages, 'message'); } if ($data['user']['debug_mode'] == GROUP_DEBUG_MODE_ENABLED) { CProfiler::getInstance()->stop(); $output['debug'] = CProfiler::getInstance()->make()->toString(); } echo json_encode($output);