Commits
1
1
<script type="text/x-jquery-tmpl" id="hostInterfaceRow">
2
2
<tr class="interfaceRow" id="hostInterfaceRow_#{iface.interfaceid}" data-interfaceid="#{iface.interfaceid}">
3
3
<td class="interface-drag-control <?= ZBX_STYLE_TD_DRAG_ICON ?>">
4
4
<div class="<?= ZBX_STYLE_DRAG_ICON ?>"></div>
5
5
</td>
6
6
<td class="interface-ip">
7
-
<input type="hidden" name="interfaces[#{iface.interfaceid}][isNew]" value="#{iface.isNew}" />
8
-
<input type="hidden" name="interfaces[#{iface.interfaceid}][interfaceid]" value="#{iface.interfaceid}" />
9
-
<input type="hidden" id="interface_type_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][type]" value="#{iface.type}" />
10
-
<input class="input text" name="interfaces[#{iface.interfaceid}][ip]" type="text" maxlength="64" value="#{iface.ip}" />
7
+
<input type="hidden" name="interfaces[#{iface.interfaceid}][isNew]" value="#{iface.isNew}">
8
+
<input type="hidden" name="interfaces[#{iface.interfaceid}][interfaceid]" value="#{iface.interfaceid}">
9
+
<input type="hidden" id="interface_type_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][type]" value="#{iface.type}">
10
+
<input class="input text" name="interfaces[#{iface.interfaceid}][ip]" type="text" maxlength="64" value="#{iface.ip}">
11
11
<div class="interface-bulk">
12
-
<input class="input checkbox pointer" type="checkbox" id="interfaces[#{iface.interfaceid}][bulk]" name="interfaces[#{iface.interfaceid}][bulk]" value="1" #{*attrs.checked_bulk} />
12
+
<input class="input checkbox pointer" type="checkbox" id="interfaces[#{iface.interfaceid}][bulk]" name="interfaces[#{iface.interfaceid}][bulk]" value="1" #{*attrs.checked_bulk}>
13
13
<label for="interfaces[#{iface.interfaceid}][bulk]"><?= _('Use bulk requests') ?></label>
14
14
</div>
15
15
</td>
16
16
<td class="interface-dns">
17
-
<input class="input text" name="interfaces[#{iface.interfaceid}][dns]" type="text" maxlength="64" value="#{iface.dns}" />
17
+
<input class="input text" name="interfaces[#{iface.interfaceid}][dns]" type="text" maxlength="64" value="#{iface.dns}">
18
18
</td>
19
19
<td class="interface-connect-to">
20
20
<div class="jqueryinputset radioset">
21
-
<input class="interface-useip" type="radio" id="radio_ip_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][useip]" value="1" #{*attrs.checked_ip} />
22
-
<input class="interface-useip" type="radio" id="radio_dns_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][useip]" value="0" #{*attrs.checked_dns} />
21
+
<input class="interface-useip" type="radio" id="radio_ip_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][useip]" value="1" #{*attrs.checked_ip}>
22
+
<input class="interface-useip" type="radio" id="radio_dns_#{iface.interfaceid}" name="interfaces[#{iface.interfaceid}][useip]" value="0" #{*attrs.checked_dns}>
23
23
<label for="radio_ip_#{iface.interfaceid}"><?= _('IP') ?></label><label for="radio_dns_#{iface.interfaceid}"><?= _('DNS') ?></label>
24
24
</div>
25
25
</td>
26
26
<td class="interface-port">
27
-
<input class="input text" name="interfaces[#{iface.interfaceid}][port]" type="text" maxlength="64" value="#{iface.port}" />
27
+
<input class="input text" name="interfaces[#{iface.interfaceid}][port]" type="text" maxlength="64" value="#{iface.port}">
28
28
</td>
29
29
<td class="interface-default">
30
-
<input class="mainInterface" type="radio" id="interface_main_#{iface.interfaceid}" name="mainInterfaces[#{iface.type}]" value="#{iface.interfaceid}" />
30
+
<input class="mainInterface" type="radio" id="interface_main_#{iface.interfaceid}" name="mainInterfaces[#{iface.type}]" value="#{iface.interfaceid}">
31
31
<label class="checkboxLikeLabel" for="interface_main_#{iface.interfaceid}" style="height: 16px; width: 16px;"></label>
32
32
</td>
33
33
<td class="interface-control">
34
34
<button class="<?= ZBX_STYLE_BTN_LINK ?> remove" type="button" id="removeInterface_#{iface.interfaceid}" data-interfaceid="#{iface.interfaceid}" #{*attrs.disabled}><?= _('Remove') ?></button>
35
35
</td>
36
36
</tr>
37
37
</script>
38
38
39
39
<script type="text/javascript">
40
40
var hostInterfacesManager = (function() {
118
118
throw new Error('Multiple default interfaces for same type.');
119
119
}
120
120
types[hostInterface.type].main = hostInterfaceId;
121
121
}
122
122
}
123
123
return types;
124
124
}
125
125
126
126
function addDraggableIcon(domElement) {
127
127
domElement.draggable({
128
-
helper: 'clone',
129
128
handle: 'div.<?= ZBX_STYLE_DRAG_ICON ?>',
130
129
revert: 'invalid',
130
+
start: function(event, ui) {
131
+
jQuery(this).css({'z-index': '1000'})
132
+
},
131
133
stop: function(event, ui) {
132
134
var hostInterfaceId = jQuery(this).data('interfaceid');
133
135
resetMainInterfaces();
134
136
resetUseipInterface(hostInterfaceId)
137
+
138
+
jQuery(this).css({'z-index': ''})
135
139
}
136
140
});
137
141
}
138
142
139
143
function addNotDraggableIcon(domElement) {
140
144
jQuery('td.<?= ZBX_STYLE_TD_DRAG_ICON ?> div.<?= ZBX_STYLE_DRAG_ICON ?>', domElement)
141
145
.addClass('<?= ZBX_STYLE_DISABLED ?>')
142
146
.hover(
143
147
function (event) {
144
148
hintBox.showHint(event, this,
337
341
var interfaceId = jQuery(this).attr('id').match(/\d+/);
338
342
hostInterfacesManager.setUseipForInterface(interfaceId[0], jQuery(this).val());
339
343
});
340
344
341
345
jQuery('#agentInterfaces, #SNMPInterfaces, #JMXInterfaces, #IPMIInterfaces').parent().droppable({
342
346
tolerance: 'pointer',
343
347
drop: function(event, ui) {
344
348
var hostInterfaceTypeName = jQuery(this).data('type'),
345
349
hostInterfaceId = ui.draggable.data('interfaceid');
346
350
347
-
ui.helper.remove();
351
+
ui.helper.css({'left': '', 'top': ''});
348
352
349
353
if (getHostInterfaceNumericType(hostInterfaceTypeName) == <?= INTERFACE_TYPE_SNMP ?>) {
350
354
if (jQuery('.interface-bulk', jQuery('#hostInterfaceRow_' + hostInterfaceId)).length == 0) {
351
355
var bulkDiv = jQuery('<div>', {
352
356
'class': 'interface-bulk'
353
357
});
354
358
355
359
// append checkbox
356
360
bulkDiv.append(jQuery('<input>', {
357
361
id: 'interfaces[' + hostInterfaceId + '][bulk]',