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=a138eb909e58a185fffb133624225d12c2801d0d;hp=824d2e9b856962cab065dc4b5cb0ee381a14d223;hb=808d06a4bf6852f0c5d2dd752d2b7246d2eb3af9;hpb=b645cf82fcb1d6081d039ca4bfcfee3fe1173f27 diff --git a/opendaylight/web/devices/src/main/resources/js/page.js b/opendaylight/web/devices/src/main/resources/js/page.js index 824d2e9b85..a138eb909e 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', @@ -74,6 +74,7 @@ one.f.switchmanager.nodesLearnt = { }, modal: { modal: "one_f_switchmanager_nodesLearnt_id_modal_modal", + configure: "one_f_switchmanager_nodesLearnt_id_modal_configure", ports: "one_f_switchmanager_nodesLearnt_id_modal_ports", save: "one_f_switchmanager_nodesLearnt_id_modal_save", datagrid: "one_f_switchmanager_nodesLearnt_id_modal_datagrid", @@ -137,7 +138,7 @@ one.f.switchmanager.nodesLearnt = { h3 = 'Node Information'; } - var $modal = one.lib.modal.spawn(one.f.switchmanager.nodesLearnt.id.modal.modal, h3, "", footer); + var $modal = one.lib.modal.spawn(one.f.switchmanager.nodesLearnt.id.modal.configure, h3, "", footer); // bind save button $('#' + one.f.switchmanager.nodesLearnt.id.modal.save, $modal).click(function() { one.f.switchmanager.nodesLearnt.modal.save($modal); @@ -149,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); @@ -166,7 +167,8 @@ one.f.switchmanager.nodesLearnt = { searchable: true, filterable: false, pagination: true, - flexibleRowsPerPage: true + flexibleRowsPerPage: true, + popout: true }, "table-striped table-condensed"); one.lib.modal.inject.body($modal, $gridHTML); $modal.on("shown", function() { @@ -222,7 +224,8 @@ one.f.switchmanager.nodesLearnt = { searchable: true, filterable: false, pagination: true, - flexibleRowsPerPage: true + flexibleRowsPerPage: true, + popout: true }, "table-striped table-condensed"); one.lib.modal.inject.body($modal, $gridHTML); // attach to shown event of modal @@ -318,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 @@ -348,7 +356,7 @@ one.f.switchmanager.nodesLearnt = { }, { property: 'mac', - label: 'Mac', + label: 'MAC', sortable: true }, { @@ -361,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 @@ -446,7 +459,8 @@ 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", @@ -493,11 +507,12 @@ one.f.switchmanager.subnetGatewayConfig = { 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")); }); } }); @@ -521,7 +536,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(){ + 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); + } + event.stopPropagation(); + }); + }); }); }, ajax : { @@ -697,7 +730,8 @@ one.f.switchmanager.subnetGatewayConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -711,7 +745,7 @@ one.f.switchmanager.subnetGatewayConfig = { sortable: true }, { - property: 'json', + property: 'nodePorts', label: 'Node/Ports', sortable: false } @@ -719,20 +753,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; }); }, @@ -827,7 +863,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", @@ -871,11 +908,12 @@ one.f.switchmanager.staticRouteConfig = { 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")); }); } }); @@ -889,7 +927,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(){ + 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); + } + event.stopPropagation(); + }); + }); }); }, // device ajax calls @@ -977,7 +1033,8 @@ one.f.switchmanager.staticRouteConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -999,7 +1056,7 @@ one.f.switchmanager.staticRouteConfig = { data: data.nodeData, formatter: function(items) { $.each(items, function(index, item) { - item["selector"] = ''; + item["selector"] = ''; }); }, @@ -1033,7 +1090,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", @@ -1083,10 +1141,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")); }); } }); @@ -1100,10 +1159,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(){ + 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); + } + event.stopPropagation(); + }); + }); }); }, // device ajax calls @@ -1158,11 +1232,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); @@ -1179,10 +1253,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) { @@ -1193,15 +1271,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", ""); @@ -1217,7 +1286,8 @@ one.f.switchmanager.spanPortConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -1234,7 +1304,7 @@ one.f.switchmanager.spanPortConfig = { data: data.nodeData, formatter: function(items) { $.each(items, function(index, item) { - item["selector"] = ''; + item["selector"] = ''; }); }, delay: 0