1<script type="text/x-jquery-tmpl" id="mapElementFormTpl"> 2 <?= (new CDiv(new CTag('h4', true, _('Map element')))) 3 ->addClass(ZBX_STYLE_DASHBRD_WIDGET_HEAD) 4 ->addClass(ZBX_STYLE_CURSOR_MOVE) 5 ->setId('formDragHandler') 6 ->toString() 7 ?> 8 <?= (new CForm()) 9 ->cleanItems() 10 ->setName('selementForm') 11 ->setId('selementForm') 12 ->addVar('elementid', '') 13 ->addItem( 14 (new CFormList()) 15 ->addRow(_('Type'), 16 (new CComboBox('elementtype', null, null, [ 17 SYSMAP_ELEMENT_TYPE_HOST => _('Host'), 18 SYSMAP_ELEMENT_TYPE_MAP => _('Map'), 19 SYSMAP_ELEMENT_TYPE_TRIGGER => _('Trigger'), 20 SYSMAP_ELEMENT_TYPE_HOST_GROUP => _('Host group'), 21 SYSMAP_ELEMENT_TYPE_IMAGE => _('Image') 22 ]))->setId('elementType') 23 ) 24 ->addRow(_('Show'), 25 (new CRadioButtonList('elementsubtype', SYSMAP_ELEMENT_SUBTYPE_HOST_GROUP)) 26 ->addValue(_('Host group'), SYSMAP_ELEMENT_SUBTYPE_HOST_GROUP, 'subtypeHostGroup') 27 ->addValue(_('Host group elements'), SYSMAP_ELEMENT_SUBTYPE_HOST_GROUP_ELEMENTS, 28 'subtypeHostGroupElements' 29 ) 30 ->setModern(true), 31 'subtypeRow' 32 ) 33 ->addRow(_('Area type'), 34 (new CRadioButtonList('areatype', SYSMAP_ELEMENT_AREA_TYPE_FIT)) 35 ->addValue(_('Fit to map'), SYSMAP_ELEMENT_AREA_TYPE_FIT, 'areaTypeAuto') 36 ->addValue(_('Custom size'), SYSMAP_ELEMENT_AREA_TYPE_CUSTOM, 'areaTypeCustom') 37 ->setModern(true), 38 'areaTypeRow' 39 ) 40 ->addRow(new CLabel(_('Area size'), 'areaSizeWidth'), [ 41 _('Width'), 42 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 43 (new CTextBox('width')) 44 ->setWidth(ZBX_TEXTAREA_TINY_WIDTH) 45 ->setId('areaSizeWidth'), 46 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 47 _('Height'), 48 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 49 (new CTextBox('height')) 50 ->setWidth(ZBX_TEXTAREA_TINY_WIDTH) 51 ->setId('areaSizeHeight') 52 ], 'areaSizeRow') 53 ->addRow(_('Placing algorithm'), 54 (new CRadioButtonList(null, SYSMAP_ELEMENT_AREA_VIEWTYPE_GRID)) 55 ->addValue(_('Grid'), SYSMAP_ELEMENT_AREA_VIEWTYPE_GRID) 56 ->setModern(true), 57 'areaPlacingRow' 58 ) 59 ->addRow(_('Label'), 60 (new CTextArea('label')) 61 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH) 62 ->setRows(2) 63 ->setId('elementLabel') 64 ) 65 ->addRow(_('Label location'), 66 new CComboBox('label_location', null, null, [ 67 MAP_LABEL_LOC_DEFAULT => _('Default'), 68 MAP_LABEL_LOC_BOTTOM => _('Bottom'), 69 MAP_LABEL_LOC_LEFT => _('Left'), 70 MAP_LABEL_LOC_RIGHT => _('Right'), 71 MAP_LABEL_LOC_TOP => _('Top') 72 ]) 73 ) 74 ->addRow(_('Host group'), 75 (new CMultiSelect([ 76 'name' => 'elementNameHostGroup', 77 'objectName' => 'hostGroup' 78 ]))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 79 'hostGroupSelectRow' 80 ) 81 ->addRow(_('Host'), 82 (new CMultiSelect([ 83 'name' => 'elementNameHost', 84 'objectName' => 'hosts' 85 ]))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 86 'hostSelectRow' 87 ) 88 ->addRow(_('Trigger'), [ 89 new CVar('elementExpressionTrigger', ''), 90 (new CTextBox('elementName')) 91 ->setReadonly(true) 92 ->setId('elementNameTrigger') 93 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 94 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 95 (new CButton(null, _('Select'))) 96 ->addClass(ZBX_STYLE_BTN_GREY) 97 ->onClick('PopUp("popup.php?dstfrm=selementForm&dstfld1=elementid'. 98 '&dstfld2=elementNameTrigger&dstfld3=elementExpressionTrigger&srctbl=triggers'. 99 '&srcfld1=triggerid&srcfld2=description&srcfld3=expression&with_triggers=1'. 100 '&real_hosts=1&noempty=1")') 101 ], 'triggerSelectRow') 102 ->addRow(_('Map'), [ 103 (new CTextBox('elementName')) 104 ->setReadonly(true) 105 ->setId('elementNameMap') 106 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 107 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 108 (new CButton(null, _('Select'))) 109 ->addClass(ZBX_STYLE_BTN_GREY) 110 ->onClick('PopUp("popup.php?srctbl=sysmaps&srcfld1=sysmapid&srcfld2=name'. 111 '&dstfrm=selementForm&dstfld1=elementid&dstfld2=elementNameMap'. 112 '&excludeids[]=#{sysmapid}")' 113 ) 114 ], 'mapSelectRow') 115 ->addRow(_('Application'), [ 116 (new CTextBox('application')) 117 ->setId('application') 118 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 119 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 120 (new CButton(null, _('Select'))) 121 ->setId('application-select') 122 ->addClass(ZBX_STYLE_BTN_GREY) 123 ], 'application-select-row') 124 ->addRow(_('Automatic icon selection'), 125 new CCheckBox('use_iconmap'), 126 'useIconMapRow' 127 ) 128 ->addRow(_('Icons'), 129 (new CDiv( 130 (new CTable()) 131 ->addRow([new CLabel(_('Default'), 'iconid_off'), new CComboBox('iconid_off')]) 132 ->addRow( 133 (new CRow([new CLabel(_('Problem'), 'iconid_on'), new CComboBox('iconid_on')])) 134 ->setId('iconProblemRow') 135 ) 136 ->addRow( 137 (new CRow([ 138 new CLabel(_('Maintenance'), 'iconid_maintenance'), 139 new CComboBox('iconid_maintenance') 140 ]))->setId('iconMainetnanceRow') 141 ) 142 ->addRow( 143 (new CRow([ 144 new CLabel(_('Disabled'), 'iconid_disabled'), 145 new CComboBox('iconid_disabled') 146 ]))->setId('iconDisabledRow') 147 ) 148 ->setAttribute('style', 'width: 100%;') 149 )) 150 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 151 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 152 ) 153 ->addRow(new CLabel(_('Coordinates'), 'x'), [ 154 _('X'), 155 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 156 (new CTextBox('x'))->setWidth(ZBX_TEXTAREA_NUMERIC_STANDARD_WIDTH), 157 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 158 _('Y'), 159 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 160 (new CTextBox('y'))->setWidth(ZBX_TEXTAREA_NUMERIC_STANDARD_WIDTH) 161 ], 'areaSizeRow') 162 ->addRow(_('URLs'), 163 (new CDiv([ 164 (new CTable()) 165 ->setHeader([_('Name'), _('URL'), _('Action')]) 166 ->setId('urlContainer') 167 ->setAttribute('style', 'width: 100%;'), 168 (new CButton(null, _('Add'))) 169 ->addClass(ZBX_STYLE_BTN_LINK) 170 ->setId('newSelementUrl') 171 ])) 172 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 173 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 174 ) 175 ->addItem([ 176 (new CDiv())->addClass(ZBX_STYLE_TABLE_FORMS_TD_LEFT), 177 (new CDiv([ 178 (new CButton(null, _('Apply'))) 179 ->addClass('element-edit-control') 180 ->setId('elementApply'), 181 (new CButton(null, _('Remove'))) 182 ->addClass('element-edit-control') 183 ->addClass(ZBX_STYLE_BTN_ALT) 184 ->setId('elementRemove'), 185 (new CButton(null, _('Close'))) 186 ->addClass(ZBX_STYLE_BTN_ALT) 187 ->setId('elementClose') 188 ])) 189 ->addClass(ZBX_STYLE_TABLE_FORMS_TD_RIGHT) 190 ->addClass(ZBX_STYLE_TFOOT_BUTTONS) 191 ]) 192 ) 193 ->toString() 194 ?> 195</script> 196 197<script type="text/x-jquery-tmpl" id="mapMassFormTpl"> 198 <?= (new CDiv(new CTag('h4', true, _('Mass update elements')))) 199 ->addClass(ZBX_STYLE_DASHBRD_WIDGET_HEAD) 200 ->addClass(ZBX_STYLE_CURSOR_MOVE) 201 ->setId('massDragHandler') 202 ->toString() 203 ?> 204 <?= (new CForm()) 205 ->cleanItems() 206 ->setId('massForm') 207 ->addItem( 208 (new CFormList()) 209 ->addRow(_('Selected elements'), 210 (new CDiv( 211 (new CTable()) 212 ->setHeader([_('Type'), _('Name')]) 213 ->setAttribute('style', 'width: 100%;') 214 ->setId('massList') 215 )) 216 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 217 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 218 ) 219 ->addRow( 220 new CLabel([(new CCheckBox('chkbox_label'))->setId('chkboxLabel'), _('Label')], 'chkboxLabel'), 221 (new CTextArea('label')) 222 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH) 223 ->setRows(2) 224 ->setId('massLabel') 225 ) 226 ->addRow( 227 new CLabel([ 228 (new CCheckBox('chkbox_label_location'))->setId('chkboxLabelLocation'), 229 _('Label location') 230 ], 'chkboxLabelLocation'), 231 (new CComboBox('label_location', null, null, [ 232 MAP_LABEL_LOC_DEFAULT => _('Default'), 233 MAP_LABEL_LOC_BOTTOM => _('Bottom'), 234 MAP_LABEL_LOC_LEFT => _('Left'), 235 MAP_LABEL_LOC_RIGHT => _('Right'), 236 MAP_LABEL_LOC_TOP => _('Top') 237 ]))->setId('massLabelLocation') 238 ) 239 ->addRow( 240 new CLabel([ 241 (new CCheckBox('chkbox_use_iconmap')) 242 ->setEnabled($data['sysmap']['iconmapid'] !== '0') 243 ->setId('chkboxMassUseIconmap'), 244 _('Automatic icon selection') 245 ], 'chkboxMassUseIconmap'), 246 (new CCheckBox('use_iconmap'))->setId('massUseIconmap') 247 ) 248 ->addRow( 249 new CLabel([ 250 (new CCheckBox('chkbox_iconid_off'))->setId('chkboxMassIconidOff'), 251 _('Icon (default)') 252 ], 'chkboxMassIconidOff'), 253 (new CComboBox('iconid_off'))->setId('massIconidOff') 254 ) 255 ->addRow( 256 new CLabel([ 257 (new CCheckBox('chkbox_iconid_on'))->setId('chkboxMassIconidOn'), 258 _('Icon (problem)') 259 ], 'chkboxMassIconidOn'), 260 (new CComboBox('iconid_on'))->setId('massIconidOn') 261 ) 262 ->addRow( 263 new CLabel([ 264 (new CCheckBox('chkbox_iconid_maintenance'))->setId('chkboxMassIconidMaintenance'), 265 _('Icon (maintenance)') 266 ], 'chkboxMassIconidMaintenance'), 267 (new CComboBox('iconid_maintenance'))->setId('massIconidMaintenance') 268 ) 269 ->addRow( 270 new CLabel([ 271 (new CCheckBox('chkbox_iconid_disabled'))->setId('chkboxMassIconidDisabled'), 272 _('Icon (disabled)') 273 ], 'chkboxMassIconidDisabled'), 274 (new CComboBox('iconid_disabled'))->setId('massIconidDisabled') 275 ) 276 ->addItem([ 277 (new CDiv())->addClass(ZBX_STYLE_TABLE_FORMS_TD_LEFT), 278 (new CDiv([ 279 (new CButton(null, _('Apply'))) 280 ->addClass('element-edit-control') 281 ->setId('massApply'), 282 (new CButton(null, _('Remove'))) 283 ->addClass('element-edit-control') 284 ->addClass(ZBX_STYLE_BTN_ALT) 285 ->setId('massRemove'), 286 (new CButton(null, _('Close'))) 287 ->addClass(ZBX_STYLE_BTN_ALT) 288 ->setId('massClose') 289 ])) 290 ->addClass(ZBX_STYLE_TABLE_FORMS_TD_RIGHT) 291 ->addClass(ZBX_STYLE_TFOOT_BUTTONS) 292 ]) 293 ) 294 ->toString() 295 ?> 296</script> 297 298<script type="text/x-jquery-tmpl" id="mapMassFormListRow"> 299 <?= (new CRow(['#{elementType}', '#{elementName}']))->toString() ?> 300</script> 301 302<script type="text/x-jquery-tmpl" id="linkFormTpl"> 303 <?= (new CFormList()) 304 ->addRow(_('Links'), 305 (new CDiv( 306 (new CTable()) 307 ->setHeader([_('Element name'), _('Link indicators'), _('Action')]) 308 ->setAttribute('style', 'width: 100%;') 309 ->setId('element-links') 310 )) 311 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 312 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;'), 313 null, 'element-links' 314 ) 315 ->addRow(_('Links'), 316 (new CDiv( 317 (new CTable()) 318 ->setHeader([_('From'), _('To'), _('Link indicators'), _('Action')]) 319 ->setAttribute('style', 'width: 100%;') 320 ->setId('mass-element-links') 321 )) 322 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 323 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;'), 324 null, 'element-links' 325 ) 326 ->setId('mapLinksContainer') 327 ->toString() 328 ?> 329 <?= (new CForm()) 330 ->cleanItems() 331 ->setId('linkForm') 332 ->addVar('selementid1', '') 333 ->addItem( 334 (new CFormList()) 335 ->addRow(_('Label'), 336 (new CTextArea('label')) 337 ->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH) 338 ->setRows(2) 339 ->setId('linklabel') 340 ) 341 ->addRow(_('Connect to'), (new CComboBox('selementid2')), 'link-connect-to') 342 ->addRow(_('Type (OK)'), 343 (new CComboBox('drawtype', null, null, [ 344 GRAPH_ITEM_DRAWTYPE_LINE => _('Line'), 345 GRAPH_ITEM_DRAWTYPE_BOLD_LINE => _('Bold line'), 346 GRAPH_ITEM_DRAWTYPE_DOT => _('Dot'), 347 GRAPH_ITEM_DRAWTYPE_DASHED_LINE => _('Dashed line') 348 ])) 349 ) 350 ->addRow(_('Colour (OK)'), 351 new CColor('color', '#{color}', false) 352 ) 353 ->addRow(_('Link indicators'), 354 (new CDiv([ 355 (new CTable()) 356 ->setHeader([_('Trigger'), _('Type'), _('Colour'), _('Action')]) 357 ->setAttribute('style', 'width: 100%;') 358 ->setId('linkTriggerscontainer'), 359 (new CButton(null, _('Add'))) 360 ->addClass(ZBX_STYLE_BTN_LINK) 361 ->onClick('PopUp("popup.php?srctbl=triggers&srcfld1=triggerid&real_hosts=1'. 362 '&reference=linktrigger&multiselect=1&with_triggers=1&noempty=1");' 363 ) 364 ])) 365 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 366 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 367 ) 368 ->addItem([ 369 (new CDiv())->addClass(ZBX_STYLE_TABLE_FORMS_TD_LEFT), 370 (new CDiv([ 371 (new CButton(null, _('Apply')))->setId('formLinkApply'), 372 (new CButton(null, _('Remove'))) 373 ->addClass(ZBX_STYLE_BTN_ALT) 374 ->setId('formLinkRemove'), 375 (new CButton(null, _('Close'))) 376 ->addClass(ZBX_STYLE_BTN_ALT) 377 ->setId('formLinkClose') 378 ])) 379 ->addClass(ZBX_STYLE_TABLE_FORMS_TD_RIGHT) 380 ->addClass(ZBX_STYLE_TFOOT_BUTTONS) 381 ]) 382 ) 383 ->toString() 384 ?> 385</script> 386 387<script type="text/x-jquery-tmpl" id="elementLinkTableRowTpl"> 388 <?= (new CRow([ 389 '#{toElementName}', 390 (new CCol())->addClass('element-urls'), 391 (new CCol( 392 (new CButton(null, _('Edit'))) 393 ->addClass(ZBX_STYLE_BTN_LINK) 394 ->addClass('openlink') 395 ->setAttribute('data-linkid', '#{linkid}') 396 ))->addClass(ZBX_STYLE_NOWRAP) 397 ]))->toString() 398 ?> 399</script> 400 401<script type="text/x-jquery-tmpl" id="massElementLinkTableRowTpl"> 402 <?= (new CRow([ 403 '#{fromElementName}', 404 '#{toElementName}', 405 (new CCol())->addClass('element-urls'), 406 (new CCol( 407 (new CButton(null, _('Edit'))) 408 ->addClass(ZBX_STYLE_BTN_LINK) 409 ->addClass('openlink') 410 ->setAttribute('data-linkid', '#{linkid}') 411 ))->addClass(ZBX_STYLE_NOWRAP) 412 ]))->toString() 413 ?> 414</script> 415 416<script type="text/x-jquery-tmpl" id="linkTriggerRow"> 417 <?= (new CRow([ 418 '#{desc_exp}', 419 [ 420 new CVar('linktrigger_#{linktriggerid}_desc_exp', '#{desc_exp}'), 421 new CVar('linktrigger_#{linktriggerid}_triggerid', '#{triggerid}'), 422 new CVar('linktrigger_#{linktriggerid}_linktriggerid', '#{linktriggerid}'), 423 (new CComboBox('linktrigger_#{linktriggerid}_drawtype', null, null, [ 424 GRAPH_ITEM_DRAWTYPE_LINE => _('Line'), 425 GRAPH_ITEM_DRAWTYPE_BOLD_LINE => _('Bold line'), 426 GRAPH_ITEM_DRAWTYPE_DOT => _('Dot'), 427 GRAPH_ITEM_DRAWTYPE_DASHED_LINE => _('Dashed line') 428 ])) 429 ], 430 new CColor('linktrigger_#{linktriggerid}_color', '#{color}', false), 431 (new CCol( 432 (new CButton(null, _('Remove'))) 433 ->addClass(ZBX_STYLE_BTN_LINK) 434 ->addClass('triggerRemove') 435 ->setAttribute('data-linktriggerid', '#{linktriggerid}') 436 ))->addClass(ZBX_STYLE_NOWRAP) 437 ])) 438 ->setId('linktrigger_#{linktriggerid}') 439 ->toString() 440 ?> 441</script> 442 443<script type="text/x-jquery-tmpl" id="selementFormUrls"> 444 <?= (new CRow([ 445 (new CTextBox('url_#{selementurlid}_name', '#{name}'))->setWidth(ZBX_TEXTAREA_SMALL_WIDTH), 446 (new CTextBox('url_#{selementurlid}_url', '#{url}'))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH), 447 (new CCol( 448 (new CButton(null, _('Remove'))) 449 ->addClass(ZBX_STYLE_BTN_LINK) 450 ->onClick('jQuery("#urlrow_#{selementurlid}").remove();') 451 ))->addClass(ZBX_STYLE_NOWRAP) 452 ])) 453 ->setId('urlrow_#{selementurlid}') 454 ->toString() 455 ?> 456</script> 457 458<script type="text/javascript"> 459 /** 460 * @see init.js add.popup event 461 */ 462 function addPopupValues(data) { 463 if (data.object === 'name') { 464 jQuery('#application').val(data.values[0].name); 465 } 466 else if (data.object === 'linktrigger') { 467 ZABBIX.apps.map.object.linkForm.addNewTriggers(data.values); 468 } 469 } 470</script> 471