footer: {
updateNode: function() {
var footer = [];
- var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.nodesLearnt.id.modal.save, "btn-success", "");
+ var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.nodesLearnt.id.modal.save, "btn-primary", "");
var $saveButton = one.lib.dashlet.button.button(saveButton);
footer.push($saveButton);
if (portsMatch != null) {
portsLength = portsMatch.length;
}
- item.ports = '<span class="nodePorts" style="cursor:pointer;color: #08c" ports='+encodeURIComponent(JSON.stringify(item.ports)) + ' nodeId=' + item.nodeId
- + ' nodeName=' + nodeName
- + '>' + portsLength +'</span>';
+ item.ports = '<span class="nodePorts" style="cursor:pointer;color: #08c" ports='+encodeURIComponent(JSON.stringify(item.ports)) + ' nodeId="' + item.nodeId
+ + '" nodeName="' + nodeName
+ + '">' + portsLength +'</span>';
});
},
delay: 0
},
{
property: 'mac',
- label: 'MAC',
+ label: 'MAC Address',
sortable: true
},
{
if (portsMatch != null) {
portsLength = portsMatch.length;
}
- item.ports = '<span class="nodePorts" style="cursor: pointer;color: #08c" ports='+encodeURIComponent(JSON.stringify(item.ports)) + ' nodeId=' + item.nodeId
- + ' nodeName=' + item.nodeName
- + '>' + portsLength +'</span>';
+ item.ports = '<span class="nodePorts" style="cursor: pointer;color: #08c" ports='+encodeURIComponent(JSON.stringify(item.ports)) + ' nodeId="' + item.nodeId
+ + '" nodeName="' + item.nodeName
+ + '">' + portsLength +'</span>';
});
},
delay: 0
one.f.switchmanager.subnetGatewayConfig.id.dashlet.addPorts, "btn-primary", "btn-mini");
var $button = one.lib.dashlet.button.button(button);
$button.click(function() {
+ if (one.f.switchmanager.subnetGatewayConfig.registry.gateways.length === 0) {
+ alert('No Gateways Exist');
+ return false;
+ }
var $modal = one.f.switchmanager.subnetGatewayConfig.modal.initialize.ports();
$modal.modal();
});
// gateway IP Mask
var $label = one.lib.form.label("Gateway IP Address/Mask");
var $input = one.lib.form.input("Gateway IP Address/Mask");
+ var $help = one.lib.form.help('Example: 192.168.10.254/16');
$input.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.gatewayIPAddress);
- $fieldset.append($label).append($input);
+ $fieldset.append($label).append($input).append($help);
$form.append($fieldset);
return $form;
var $label = one.lib.form.label("Gateway Name");
var $select = one.lib.form.select.create(one.f.switchmanager.subnetGatewayConfig.registry.gateways);
$select.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.name);
+ one.lib.form.select.prepend($select, { '' : 'Please Select a Gateway' });
$select.val($select.find("option:first").val());
$fieldset.append($label).append($select);
one.f.switchmanager.subnetGatewayConfig.registry['currentNode'] = node;
var $ports = $('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.form.ports);
var ports = nodeports[node];
- one.lib.form.select.inject($ports, ports);
+ var options = {};
+ $(ports).each(function(idx, val) {
+ options[val.internalPortName] = val.portName+' ('+val.portId+')';
+ });
+ one.lib.form.select.inject($ports, options);
one.lib.form.select.prepend($ports, { '' : 'Please Select a Port' });
$ports.val($ports.find("option:first").val());
});
// ports
var $label = one.lib.form.label("Select Port");
var $select = one.lib.form.select.create();
+ one.lib.form.select.prepend($select, { '' : 'Please Select a Port' });
$select.attr('id', one.f.switchmanager.subnetGatewayConfig.id.modal.form.ports);
$fieldset.append($label).append($select);
},
footer : function() {
var footer = [];
- var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.subnetGatewayConfig.id.modal.save, "btn-success", "");
+ var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.subnetGatewayConfig.id.modal.save, "btn-primary", "");
var $saveButton = one.lib.dashlet.button.button(saveButton);
footer.push($saveButton);
return footer;
},
{
property: 'nodePorts',
- label: 'Node/Ports',
+ label: 'Ports',
sortable: false
}
],
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, tableRow) {
- tableRow["selector"] = '<input type="checkbox" class="subnetGatewayConfig" id='
- + tableRow["name"] + '></input>';
+ tableRow["selector"] = '<input type="checkbox" class="subnetGatewayConfig" id="'
+ + tableRow["name"] + '"></input>';
var json = tableRow["nodePorts"];
var nodePorts = JSON.parse(json);
var nodePortHtml = "<div>";
$.each(nodePorts, function(index, nodePort) {
- var nodePortID = nodePort["nodeId"] + "/" + nodePort["nodePortId"];
- nodePortHtml += nodePort["nodeName"] + " / " + nodePort["nodePortName"];
+ nodePortHtml += nodePort["nodePortName"] + " @ " + nodePort["nodeName"];
nodePortHtml += " ";
- nodePortHtml += '<a href="#" id=' + encodeURIComponent(nodePortID) +
- ' gatewayName=' + tableRow["name"] +
- ' onclick="javascript:one.f.switchmanager.subnetGatewayConfig.actions.deleteNodePort(this);">Remove</a>';
+ nodePortHtml += '<a href="#" id="' + encodeURIComponent(nodePort["nodePortId"]) +
+ '" gatewayName="' + tableRow["name"] +
+ '" onclick="javascript:one.f.switchmanager.subnetGatewayConfig.actions.deleteNodePort(this);">Remove</a>';
nodePortHtml += "<br/>";
});
nodePortHtml += "</div>";
// static route IP Mask
var $label = one.lib.form.label("Static Route");
var $input = one.lib.form.input("Static Route");
+ var $help = one.lib.form.help('Example: 53.55.0.0/16');
$input.attr('id', one.f.switchmanager.staticRouteConfig.id.modal.form.staticRoute);
- $fieldset.append($label).append($input);
+ $fieldset.append($label).append($input).append($help);
// static route IP Mask
var $label = one.lib.form.label("Next Hop");
var $input = one.lib.form.input("Next Hop");
+ var $help = one.lib.form.help('Example: 192.168.10.254');
$input.attr('id', one.f.switchmanager.staticRouteConfig.id.modal.form.nextHop);
- $fieldset.append($label).append($input);
+ $fieldset.append($label).append($input).append($help);
// return
$form.append($fieldset);
return $form;
},
footer : function() {
var footer = [];
- var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.staticRouteConfig.id.modal.save, "btn-success", "");
+ var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.staticRouteConfig.id.modal.save, "btn-primary", "");
var $saveButton = one.lib.dashlet.button.button(saveButton);
footer.push($saveButton);
return footer;
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, item) {
- item["selector"] = '<input type="checkbox" class="staticRoute" id=' + item["name"] + '></input>';
+ item["selector"] = '<input type="checkbox" class="staticRoute" id="' + item["name"] + '"></input>';
});
},
return false;
}
checkedCheckBoxes.each(function(index, value) {
- spanPortsToDelete.push(decodeURIComponent(checkedCheckBoxes[index].getAttribute("spanPort")));
+ var spanPortObj = {};
+ spanPortObj['spanPortJson'] = decodeURIComponent(checkedCheckBoxes[index].getAttribute("spanPort"));
+ spanPortObj['spanPortNodeName'] = checkedCheckBoxes[index].getAttribute("spanPortNode");
+ spanPortObj['spanPortPortName'] = checkedCheckBoxes[index].getAttribute("spanPortPort");
+
+ spanPortsToDelete.push(spanPortObj);
});
one.f.switchmanager.spanPortConfig.modal.removeMultiple.dialog(spanPortsToDelete);
});
var $label = one.lib.form.label("Node");
var $select = one.lib.form.select.create(nodes);
one.lib.form.select.prepend($select, { '' : 'Please Select a Node' });
+ $select.val($select.find("option:first").val());
$select.attr('id', one.f.switchmanager.spanPortConfig.id.modal.form.nodes);
// bind onchange
// retrieve port value
var nodeId = $(this).find('option:selected').attr('value');
one.f.switchmanager.spanPortConfig.registry['currentNode'] = nodeId;
- var $ports = $('#' + one.f.switchmanager.spanPortConfig.id.modal.form.port);
+ var $ports = $('#'+one.f.switchmanager.spanPortConfig.id.modal.form.port);
var ports = one.f.switchmanager.spanPortConfig.registry['nodePorts'][nodeId]
- one.lib.form.select.inject($ports, ports);
+ var options = {};
+ $(ports).each(function(idx, val) {
+ options[val.internalPortName] = val.portName+' ('+val.portId+')';
+ });
+ one.lib.form.select.inject($ports, options);
+ one.lib.form.select.prepend($ports, {'':'Please Select a Port'});
+ $ports.val($ports.find('option:first').val());
});
$fieldset.append($label).append($select);
// input port
var $label = one.lib.form.label("Input Port");
var $select = one.lib.form.select.create();
+ one.lib.form.select.prepend($select, {'':'None'});
$select.attr('id', one.f.switchmanager.spanPortConfig.id.modal.form.port);
+ $select.val($select.find('option:first').val());
$fieldset.append($label).append($select);
// return
},
footer : function() {
var footer = [];
- var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.spanPortConfig.id.modal.save, "btn-success", "");
+ var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.spanPortConfig.id.modal.save, "btn-primary", "");
var $saveButton = one.lib.dashlet.button.button(saveButton);
footer.push($saveButton);
return footer;
},
removeMultiple: {
dialog: function(spanPortsToDelete) {
- var h3 = 'Remove Span Port';
+ var h3 = 'Remove SPAN Port';
var footer = one.f.switchmanager.spanPortConfig.modal.removeMultiple.footer();
var $body = one.f.switchmanager.spanPortConfig.modal.removeMultiple.body(spanPortsToDelete);
// bind remove rule button
$('#'+one.f.switchmanager.spanPortConfig.id.modal.remove, $modal).click(this, function(e) {
var requestData = {};
- var spanPorts="";
- $(spanPortsToDelete).each(function(){
- spanPorts = spanPorts + "###" + this.toString();
+ var spanPorts = [];
+ $(spanPortsToDelete).each(function(index, spanPort) {
+ spanPorts.push(JSON.parse(spanPort.spanPortJson));
});
- requestData["spanPortsToDelete"] = spanPorts.slice(3,spanPorts.length);
-
+ requestData["spanPortsToDelete"] = JSON.stringify(spanPorts);
+
var url = one.f.switchmanager.rootUrl + "/spanPorts/delete";
one.f.switchmanager.spanPortConfig.ajax.main(url, requestData, function(response) {
$modal.modal('hide');
var p = 'Remove the following Span Port(s)?';
//creata a BS label for each rule and append to list
- var spanPortList = JSON.parse("["+spanPortToDelete.toString()+"]");
- $(spanPortList).each(function(){
+ $(spanPortToDelete).each(function(index, spanPortItem) {
var $span = $(document.createElement('span'));
- $span.append(this.nodeId+"-"+this.spanPort);
+ $span.append(this.spanPortNodeName+"-"+this.spanPortPortName);
p += '<br/>' + $span[0].outerHTML;
});
$p.append(p);
sortable: true
},
{
- property: 'spanPort',
+ property: 'spanPortName',
label: 'SPAN Port',
sortable: true
},
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, item) {
- item["selector"] = '<input type="checkbox" class="spanPortConfig" spanPort=' + encodeURIComponent(item["json"]) + '></input>';
+ item["selector"] = '<input type="checkbox" class="spanPortConfig" spanPort=' + encodeURIComponent(item["json"]) + ' spanPortNode="' + item["nodeName"] + '" spanPortPort="' + item["spanPortName"] + '"></input>';
});
},
delay: 0