Drag devices to reposition
<%
var units = [];
devices.forEach(function(d) { for(var u = d.position_u; u < d.position_u + d.height_u; u++) units[u] = d; });
var _html = '';
for(var u = rack.total_units; u >= 1; u--) {
var dev = units[u];
if (dev && u === dev.position_u) {
var vc = 'v-other', vb = '#555d66';
var vm = (dev.manufacturer||'').toLowerCase();
if(vm.includes('hpe')||vm.includes('hewlett')){vc='v-hpe';vb='#ff7b00'}
else if(vm.includes('dell')){vc='v-dell';vb='#0076a8'}
else if(vm.includes('lenovo')){vc='v-lenovo';vb='#e41f33'}
else if(vm.includes('cisco')){vc='v-cisco';vb='#00529a'}
else if(vm.includes('juniper')){vc='v-juniper';vb='#44a833'}
else if(vm.includes('arista')){vc='v-arista';vb='#cc3333'}
else if(vm.includes('netapp')){vc='v-netapp';vb='#00a1df'}
else if(vm.includes('pure')){vc='v-pure';vb='#4a90d9'}
else if(vm.includes('fortinet')){vc='v-fortinet';vb='#ee3124'}
else if(vm.includes('super')||vm.includes('supermicro')){vc='v-supermicro';vb='#e6a817'}
else if(vm.includes('apc')){vc='v-apc';vb='#6e7681'}
else if(vm.includes('f5')){vc='v-f5';vb='#d32f2f'}
else if(vm.includes('palo')){vc='v-paloalto';vb='#ed7b30'}
else if(vm.includes('nvidia')){vc='v-nvidia';vb='#76b900'}
else if(vm.includes('oracle')){vc='v-oracle';vb='#f80000'}
else if(vm.includes('ibm')){vc='v-ibm';vb='#0062ff'}
else if(dev.device_type==='patch_panel'||dev.device_type==='pdu'||dev.device_type==='ups'){vc='v-apc';vb='#6e7681'}
var dtIcon='server';
if(dev.device_type==='switch') dtIcon='git-branch';
else if(dev.device_type==='storage') dtIcon='database';
else if(dev.device_type==='firewall') dtIcon='shield';
else if(dev.device_type==='router') dtIcon='radio';
else if(dev.device_type==='loadbalancer') dtIcon='scale';
else if(dev.device_type==='san') dtIcon='hard-drive';
else if(dev.device_type==='patch_panel') dtIcon='cable';
else if(dev.device_type==='pdu') dtIcon='zap';
else if(dev.device_type==='ups') dtIcon='battery-charging';
else if(dev.device_type==='cooling') dtIcon='fan';
else if(dev.device_type==='tape') dtIcon='archive';
else if(dev.device_type==='kvm') dtIcon='monitor';
else if(dev.device_type==='other') dtIcon='box';
var topx = (rack.total_units - dev.position_u - dev.height_u + 1) * 30 + 20;
var hx = dev.height_u * 30 - 2;
_html += '
';
_html += '';
_html += '' + dev.name + '';
_html += '' + (dev.model||dev.manufacturer||dev.device_type) + '';
if (dev.mgmt_ip) _html += '' + dev.mgmt_ip + '';
_html += '' + dev.height_u + 'U';
_html += '
';
} else if (!dev) {
_html += '
';
}
}
%>
<%- _html %>