X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fweb%2Fdevices%2Fsrc%2Fmain%2Fresources%2Fjs%2Fpage.js;h=9524a76b012a1cb2d6a568aba3c51cb3ad975ac9;hp=6916be679877fadb2423912e67bdb243f4d0fb3e;hb=f8815d752083c207a66f29e4e7afa45f2823afb2;hpb=c22c58ddd80d33523482ae75c233bbd6df069959
diff --git a/opendaylight/web/devices/src/main/resources/js/page.js b/opendaylight/web/devices/src/main/resources/js/page.js
index 6916be6798..9524a76b01 100644
--- a/opendaylight/web/devices/src/main/resources/js/page.js
+++ b/opendaylight/web/devices/src/main/resources/js/page.js
@@ -14,7 +14,7 @@ one.f = {};
one.f.dashlet = {
nodesLearnt : {
id : 'nodesLearnt',
- name : 'Nodes Learnt'
+ name : 'Nodes Learned'
},
staticRouteConfig : {
id : 'staticRouteConfig',
@@ -150,7 +150,7 @@ one.f.switchmanager.nodesLearnt = {
});
},
popout: function() {
- var h3 = "Nodes Learnt";
+ var h3 = "Nodes Learned";
var footer = one.f.switchmanager.nodesLearnt.modal.footer.popout();
var $modal = one.lib.modal.spawn(one.f.switchmanager.nodesLearnt.id.modal.modal, h3, "", footer);
var $body = one.f.switchmanager.nodesLearnt.modal.body.popout($modal);
@@ -321,9 +321,14 @@ one.f.switchmanager.nodesLearnt = {
' privilege=' + data.privilege + '>' + nodeNameEntry + '';
var ports = item.ports;
+ var portsMatch = ports.match(/<\/span>/g);
+ var portsLength = 0;
+ if (portsMatch != null) {
+ portsLength = portsMatch.length;
+ }
item.ports = '' + ports.match(/<\/span>/g).length+'';
+ + '>' + portsLength +'';
});
},
delay: 0
@@ -351,7 +356,7 @@ one.f.switchmanager.nodesLearnt = {
},
{
property: 'mac',
- label: 'Mac',
+ label: 'MAC',
sortable: true
},
{
@@ -364,9 +369,14 @@ one.f.switchmanager.nodesLearnt = {
formatter: function(items) {
$.each(items, function (index, item) {
var ports = item.ports;
+ var portsMatch = ports.match(/<\/span>/g);
+ var portsLength = 0;
+ if (portsMatch != null) {
+ portsLength = portsMatch.length;
+ }
item.ports = '' + ports.match(/<\/span>/g).length+'';
+ + '>' + portsLength +'';
});
},
delay: 0
@@ -449,10 +459,12 @@ one.f.switchmanager.subnetGatewayConfig = {
addIPAddress: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_addIP",
addPorts: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_addPorts",
removeIPAddress: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_removeIP",
- datagrid: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_datagrid"
+ datagrid: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_datagrid",
+ selectAll: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_selectAll"
},
modal: {
modal: "one_f_switchmanager_subnetGatewayConfig_id_modal_modal",
+ ports : "one_f_switchmanager_subnetGatewayConfig_id_modal_ports",
save: "one_f_switchmanager_subnetGatewayConfig_id_modal_save",
form: {
name : "one_f_switchmanager_subnetGatewayConfig_id_modal_form_gatewayname",
@@ -481,8 +493,8 @@ one.f.switchmanager.subnetGatewayConfig = {
$dashlet.append($button);
// Delete gateway ip address button
- var button = one.lib.dashlet.button.single("Delete Gateway IP Address(es)",
- one.f.switchmanager.subnetGatewayConfig.id.dashlet.removeIPAddress, "btn-primary", "btn-mini");
+ var button = one.lib.dashlet.button.single("Delete Gateway IP Address",
+ one.f.switchmanager.subnetGatewayConfig.id.dashlet.removeIPAddress, "btn-danger", "btn-mini");
var $button = one.lib.dashlet.button.button(button);
$button.click(function() {
var requestData = {};
@@ -491,16 +503,21 @@ one.f.switchmanager.subnetGatewayConfig = {
checkedCheckBoxes.each(function(index, value) {
gatewaysToDelete.push(checkedCheckBoxes[index].id);
});
+ if (checkedCheckBoxes.size() === 0) {
+ alert('Please select at least one gateway');
+ return false;
+ }
if (gatewaysToDelete.length > 0) {
requestData["gatewaysToDelete"] = gatewaysToDelete.toString();
var url = one.f.switchmanager.rootUrl + "/subnetGateway/delete";
one.f.switchmanager.subnetGatewayConfig.ajax.main(url, requestData, function(response) {
if (response.status == true) {
- // refresh dashlet by passing dashlet div as param
- one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet"));
+ // refresh dashlet by passing dashlet div as param
+ one.lib.alert("Subnet Gateway(s) successfully removed");
} else {
- alert(response.message);
+ one.lib.alert(response.message);
}
+ one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet"));
});
}
});
@@ -524,7 +541,25 @@ one.f.switchmanager.subnetGatewayConfig = {
}, "table-striped table-condensed");
$dashlet.append($gridHTML);
var dataSource = one.f.switchmanager.subnetGatewayConfig.data.devicesgrid(content);
- $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource});
+ $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource})
+ .on("loaded", function() {
+ $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll).click(function() {
+ $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).find(':checkbox').prop('checked',
+ $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll).is(':checked'));
+ });
+ $(".subnetGatewayConfig").click(function(e){
+ if (!$('.subnetGatewayConfig[type=checkbox]:not(:checked)').length) {
+ $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll)
+ .prop("checked",
+ true);
+ } else {
+ $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll)
+ .prop("checked",
+ false);
+ }
+ e.stopPropagation();
+ });
+ });
});
},
ajax : {
@@ -552,7 +587,7 @@ one.f.switchmanager.subnetGatewayConfig = {
ports: function() {
var h3 = "Add Ports";
var footer = one.f.switchmanager.subnetGatewayConfig.modal.footer();
- var $modal = one.lib.modal.spawn(one.f.switchmanager.subnetGatewayConfig.id.modal.modal, h3, "", footer);
+ var $modal = one.lib.modal.spawn(one.f.switchmanager.subnetGatewayConfig.id.modal.ports, h3, "", footer);
// bind save button
$('#' + one.f.switchmanager.subnetGatewayConfig.id.modal.save, $modal).click(function() {
one.f.switchmanager.subnetGatewayConfig.modal.save.ports($modal);
@@ -700,7 +735,8 @@ one.f.switchmanager.subnetGatewayConfig = {
columns: [
{
property: 'selector',
- label: ' ',
+ label: "",
sortable: false
},
{
@@ -714,7 +750,7 @@ one.f.switchmanager.subnetGatewayConfig = {
sortable: true
},
{
- property: 'json',
+ property: 'nodePorts',
label: 'Node/Ports',
sortable: false
}
@@ -722,20 +758,22 @@ one.f.switchmanager.subnetGatewayConfig = {
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, tableRow) {
- tableRow["selector"] = '';
- var json = tableRow["json"];
- var subnetConfigObject = JSON.parse(json);
+ tableRow["selector"] = '';
+ var json = tableRow["nodePorts"];
+ var nodePorts = JSON.parse(json);
var nodePortHtml = "
";
- $.each(subnetConfigObject.nodePorts, function(index, nodePort) {
- nodePortHtml += nodePort;
+ $.each(nodePorts, function(index, nodePort) {
+ var nodePortID = nodePort["nodeId"] + "/" + nodePort["nodePortId"];
+ nodePortHtml += nodePort["nodeName"] + " / " + nodePort["nodePortName"];
nodePortHtml += " ";
- nodePortHtml += '
Delete';
nodePortHtml += "
";
});
nodePortHtml += "
";
- tableRow["json"] = nodePortHtml;
+ tableRow["nodePorts"] = nodePortHtml;
});
},
@@ -830,7 +868,8 @@ one.f.switchmanager.staticRouteConfig = {
dashlet: {
add: "one_f_switchmanager_staticRouteConfig_id_dashlet_add",
remove: "one_f_switchmanager_staticRouteConfig_id_dashlet_remove",
- datagrid: "one_f_switchmanager_staticRouteConfig_id_dashlet_datagrid"
+ datagrid: "one_f_switchmanager_staticRouteConfig_id_dashlet_datagrid",
+ selectAll: "one_f_switchmanager_staticRouteConfig_id_dashlet_selectAll"
},
modal: {
modal: "one_f_switchmanager_staticRouteConfig_id_modal_modal",
@@ -859,7 +898,7 @@ one.f.switchmanager.staticRouteConfig = {
$dashlet.append($button);
// Delete static route button
- var button = one.lib.dashlet.button.single("Delete Static Route(s)", one.f.switchmanager.staticRouteConfig.id.dashlet.remove, "btn-primary", "btn-mini");
+ var button = one.lib.dashlet.button.single("Delete Static Route(s)", one.f.switchmanager.staticRouteConfig.id.dashlet.remove, "btn-danger", "btn-mini");
var $button = one.lib.dashlet.button.button(button);
$button.click(function() {
var requestData = {};
@@ -869,16 +908,21 @@ one.f.switchmanager.staticRouteConfig = {
checkedCheckBoxes.each(function(index, value) {
routesToDelete.push(checkedCheckBoxes[index].id);
});
+ if (checkedCheckBoxes.size() === 0) {
+ alert('Please select at least one static route');
+ return false;
+ }
if (routesToDelete.length > 0) {
requestData["routesToDelete"] = routesToDelete.toString();
var url = one.f.switchmanager.rootUrl + "/staticRoute/delete";
one.f.switchmanager.staticRouteConfig.ajax.main(url, requestData, function(response) {
if (response.status == true) {
- // refresh dashlet by passing dashlet div as param
- one.f.switchmanager.staticRouteConfig.dashlet($("#left-bottom .dashlet"));
+ // refresh dashlet by passing dashlet div as param
+ one.lib.alert("Static Routes(s) successfully removed");
} else {
- alert(response.message);
+ one.lib.alert(response.message);
}
+ one.f.switchmanager.staticRouteConfig.dashlet($("#left-bottom .dashlet"));
});
}
});
@@ -892,7 +936,25 @@ one.f.switchmanager.staticRouteConfig = {
}, "table-striped table-condensed");
$dashlet.append($gridHTML);
var dataSource = one.f.switchmanager.staticRouteConfig.data.staticRouteConfigGrid(content);
- $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource});
+ $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource})
+ .on("loaded", function() {
+ $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll).click(function() {
+ $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).find(':checkbox').prop('checked',
+ $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll).is(':checked'));
+ });
+ $(".staticRoute").click(function(e){
+ if (!$('.staticRoute[type=checkbox]:not(:checked)').length) {
+ $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll)
+ .prop("checked",
+ true);
+ } else {
+ $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll)
+ .prop("checked",
+ false);
+ }
+ e.stopPropagation();
+ });
+ });
});
},
// device ajax calls
@@ -980,7 +1042,8 @@ one.f.switchmanager.staticRouteConfig = {
columns: [
{
property: 'selector',
- label: ' ',
+ label: "",
sortable: false
},
{
@@ -1002,7 +1065,7 @@ one.f.switchmanager.staticRouteConfig = {
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, item) {
- item["selector"] = '';
+ item["selector"] = '';
});
},
@@ -1036,7 +1099,8 @@ one.f.switchmanager.spanPortConfig = {
dashlet: {
add: "one_f_switchmanager_spanPortConfig_id_dashlet_add",
remove: "one_f_switchmanager_spanPortConfig_id_dashlet_remove",
- datagrid: "one_f_switchmanager_spanPortConfig_id_dashlet_datagrid"
+ datagrid: "one_f_switchmanager_spanPortConfig_id_dashlet_datagrid",
+ selectAllFlows: "one_f_switchmanager_spanPortConfig_id_dashlet_selectAllFlows"
},
modal: {
modal: "one_f_switchmanager_spanPortConfig_id_modal_modal",
@@ -1069,7 +1133,7 @@ one.f.switchmanager.spanPortConfig = {
$dashlet.append($button);
// Delete span port button
- var button = one.lib.dashlet.button.single("Delete SPAN Port(s)", one.f.switchmanager.spanPortConfig.id.dashlet.remove, "btn-primary", "btn-mini");
+ var button = one.lib.dashlet.button.single("Delete SPAN Port(s)", one.f.switchmanager.spanPortConfig.id.dashlet.remove, "btn-danger", "btn-mini");
var $button = one.lib.dashlet.button.button(button);
$button.click(function() {
@@ -1079,6 +1143,10 @@ one.f.switchmanager.spanPortConfig = {
checkedCheckBoxes.each(function(index, value) {
spanPortsToDelete += decodeURIComponent(checkedCheckBoxes[index].getAttribute("spanPort")) + "###";
});
+ if (checkedCheckBoxes.size() === 0) {
+ alert('Please select at least one SPAN port');
+ return false;
+ }
var requestData = {};
requestData["spanPortsToDelete"] = spanPortsToDelete;
@@ -1086,10 +1154,11 @@ one.f.switchmanager.spanPortConfig = {
one.f.switchmanager.spanPortConfig.ajax.main(url, requestData, function(response) {
if (response.status == true) {
// refresh dashlet by passing dashlet div as param
- one.f.switchmanager.spanPortConfig.dashlet($("#right-bottom .dashlet"));
+ one.lib.alert("Span Port(s) successfully removed");
} else {
- alert(response.message);
+ one.lib.alert(response.message);
}
+ one.f.switchmanager.spanPortConfig.dashlet($("#right-bottom .dashlet"));
});
}
});
@@ -1103,10 +1172,25 @@ one.f.switchmanager.spanPortConfig = {
}, "table-striped table-condensed");
$dashlet.append($gridHTML);
var dataSource = one.f.switchmanager.spanPortConfig.data.spanPortConfigGrid(content);
- $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource});
-
-
-
+ $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource})
+ .on("loaded", function() {
+ $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll).click(function() {
+ $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).find(':checkbox').prop('checked',
+ $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll).is(':checked'));
+ });
+ $(".spanPortConfig").click(function(e){
+ if (!$('.spanPortConfig[type=checkbox]:not(:checked)').length) {
+ $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll)
+ .prop("checked",
+ true);
+ } else {
+ $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll)
+ .prop("checked",
+ false);
+ }
+ e.stopPropagation();
+ });
+ });
});
},
// device ajax calls
@@ -1161,11 +1245,11 @@ one.f.switchmanager.spanPortConfig = {
// bind onchange
$select.change(function() {
// retrieve port value
- var node = $(this).find('option:selected').attr('value');
- one.f.switchmanager.spanPortConfig.registry['currentNode'] = node;
+ 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 = nodeports[node];
- one.lib.form.select.inject($ports, ports);
+ var ports = one.f.switchmanager.spanPortConfig.registry['nodePorts'][nodeId]
+ one.lib.form.select.inject($ports, ports);
});
$fieldset.append($label).append($select);
@@ -1182,10 +1266,14 @@ one.f.switchmanager.spanPortConfig = {
ajax: {
nodes: function(callback) {
$.getJSON(one.f.switchmanager.rootUrl + "/nodeports", function(data) {
- var nodes = one.f.switchmanager.spanPortConfig.modal.data.nodes(data);
- var nodeports = data;
- one.f.switchmanager.spanPortConfig.registry['nodeports'] = nodeports;
- callback(nodes, nodeports);
+ var nodes = {};
+ var nodePorts = {};
+ $(data).each(function(index, node) {
+ nodes[node.nodeId] = node.nodeName;
+ nodePorts[node.nodeId] = node.nodePorts;
+ });
+ one.f.switchmanager.spanPortConfig.registry['nodePorts'] = nodePorts;
+ callback(nodes, nodePorts);
});
},
saveSpanPortConfig: function(requestData, callback) {
@@ -1196,15 +1284,6 @@ one.f.switchmanager.spanPortConfig = {
});
}
},
- data : {
- nodes : function(data) {
- result = {};
- $.each(data, function(key, value) {
- result[key] = key;
- });
- return result;
- }
- },
footer : function() {
var footer = [];
var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.spanPortConfig.id.modal.save, "btn-success", "");
@@ -1220,7 +1299,8 @@ one.f.switchmanager.spanPortConfig = {
columns: [
{
property: 'selector',
- label: ' ',
+ label: "",
sortable: false
},
{
@@ -1237,7 +1317,7 @@ one.f.switchmanager.spanPortConfig = {
data: data.nodeData,
formatter: function(items) {
$.each(items, function(index, item) {
- item["selector"] = '';
+ item["selector"] = '';
});
},
delay: 0