<?php declare(strict_types = 0);
$('#tabs').on('tabsactivate', (event, ui) => {
<?php if (CWebUser::getType() == USER_TYPE_SUPER_ADMIN): ?>
const groups_elem = document.querySelector('#groups-field');
if (groups_elem === null) {
const obj = groups_elem.tagName === 'SPAN' ? groups_elem.originalObject : groups_elem;
const $groups_ms = $(groups_elem).find('#groups_');
$groups_ms.on('change', (e) => {
$groups_ms.multiSelect('setDisabledEntries',
[... document.querySelectorAll('[name^="groups["]')].map((input) => input.value)
[... obj.querySelectorAll('input[name=mass_update_groups]')].map((elem) => {
elem.addEventListener('change', (e) => {
const action_value = e.currentTarget.value;
$groups_ms.multiSelect('modify', {
'addNew': (action_value == <?= ZBX_ACTION_ADD ?> || action_value == <?= ZBX_ACTION_REPLACE ?>)
const macros_elem = document.querySelector('#macros-field');
if (macros_elem.tagName === 'SPAN') {
obj = macros_elem.originalObject;
$(obj.querySelector('#tbl_macros')).dynamicRows({template: '#macro-row-tmpl', allow_empty: true});
$(obj.querySelector('#tbl_macros'))
.on('afteradd.dynamicRows', () => {
$('.macro-input-group', $(obj.querySelector('#tbl_macros'))).macroValue();
$('.<?= ZBX_STYLE_TEXTAREA_FLEXIBLE ?>', $(obj.querySelector('#tbl_macros'))).textareaFlexible();
obj.querySelector('#macro_add').scrollIntoView({block: 'nearest'});
$(obj.querySelector('#tbl_macros'))
.find('.macro-input-group')
$(obj.querySelector('#tbl_macros'))
.on('change keydown', '.<?= ZBX_STYLE_TEXTAREA_FLEXIBLE ?>.macro', function(event) {
if (event.type === 'change' || event.which === 13) {
.val($(this).val().replace(/([^:]+)/, (value) => value.toUpperCase('$1')))