Newer
Older
$(document).ready(function() {
function update_available_ips() {
// Retrieve available IPs for the selected network
// and update the IP select field
var network_id = $("#network_id").val();
$.getJSON(
$SCRIPT_ROOT + "/network/_retrieve_available_ips/" + network_id,
function(json) {
var $ip = $("#ip");
$ip.empty();
$.map(json.data, function(option, index) {
$ip.append($("<option></option>").attr("value", option).text(option));
});
}
);
}
// Populate IP select field on first page load
update_available_ips();
// Update IP select field when changing network
$("#network_id").on('change', function() {
update_available_ips();
});
// Enable / disable item_id field depending on type
// Item can only be assigned for physical hosts
$("#type").on('change', function() {
var host_type = $(this).val();
if( host_type == "Physical" ) {
$("#item_id").prop("disabled", false);
} else {
$("#item_id").val("");
$("#item_id").prop("disabled", true);
}
});
// Prefill interface name with hostname
$("#name").keyup(function(event) {
var hostname = $(this).val();
console.log(hostname);
$("#interface_name").val(hostname);
});
var hosts_table = $("#hosts_table").DataTable({
"ajax": function(data, callback, settings) {
$.getJSON(
$SCRIPT_ROOT + "/network/_retrieve_hosts",
function(json) {
callback(json);
});
},
"paging": false
});
});