Issue ID: GSO-60 merge changes from sun release
authorLuji7 <lu.ji3@zte.com.cn>
Fri, 4 Nov 2016 02:25:10 +0000 (10:25 +0800)
committerLuji7 <lu.ji3@zte.com.cn>
Fri, 4 Nov 2016 02:25:10 +0000 (10:25 +0800)
Change-Id: I9949e242644711a07a8da7a22dfbaf19ee7d74bd
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
15 files changed:
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/InputData.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/TopoAccor.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/UnderLay_TP.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/accorTables.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/chartTopo.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/gsolcmmain.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/i18n/lcm-template-parameters-i18n-en-US.properties [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/brs.js
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/gsolcm.js
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.bootstrap-growl.min.js [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/tmNodesController.js
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/underlay.js
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/vpn.js
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/overlayvpn.html
openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/underlayvpn.html

index 5d75323..1aae9d2 100644 (file)
         <link href="css/bootstrap.min.css" rel="stylesheet"/>\r
         <link href="css/VMMain.css" rel="stylesheet"/>\r
         <link href="css/bootstrap-table.min.css" rel="stylesheet"/>\r
+\r
         <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>\r
-        <script type="text/javascript" src="../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
+               <script type="text/javascript" src="../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>\r
         <script type="text/javascript" src="js/bootstrap.min.js"></script>\r
         <script type="text/javascript" src="js/rest.js"></script>\r
-        <script type="text/javascript" src="js/gsolcm.js"></script>\r
+               <script type="text/javascript" src="js/gsolcm.js"></script>\r
         <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
        <script>\r
             $(document).ready(function () {\r
-                new lcmHandler();\r
+                           new lcmHandler();\r
                 $('[data-toggle="tooltip"]').tooltip();\r
+\r
                 var params = new URLSearchParams(window.location.search.slice(1));\r
+\r
                 var jsonData = JSON.parse((params.get("json")));\r
                 if (jsonData != null) {\r
                     $("body").empty();\r
                                                        if(sdnControllerObj != undefined){\r
                                                                paramValue = sdnControllerObj.name;\r
                                                        }\r
-                                               }       \r
+                                               }               \r
                         else{\r
-                             var nameObj = {name:key,showName:key};\r
-                             name = showName(nameObj);\r
-                        }                                                     \r
-                        $("body").append('<div class="mT15 form-group row" style="margin-top:35px;margin-left:25%"><div class="col-sm-6" align="right"><label class="control-label"><span style="font-size:16px;">'+ name + ':</span></label></div><div class="col-sm-6"><input  type="text" name="" maxlength="256" style="margin-left:10px;width:250px;" data-toggle="tooltip" data-placement="top" title="'+ paramValue + '" value="'+ paramValue + '" readonly disabled/></div></div>');\r
+                                                   var nameObj = {name:key,showName:key};\r
+                                                       name = showName(nameObj);\r
+                        }                                              \r
+                        $("body").append('<div class="mT15 form-group row" style="margin-top:35px;margin-left:15%"><div class="col-sm-5" align="left"><label class="control-label"><span style="font-size:16px;">'+ name + '</span></label></div><div class="col-sm-1" align="left"><span style="font-size:16px;">:</span></div><div class="col-sm-6"><input  type="text" name="" maxlength="256" style="margin-left:10px;width:250px;padding-left: 5px" data-toggle="tooltip" data-placement="top" title="'+ paramValue + '" value="'+ paramValue + '" readonly disabled/></div></div>');\r
                     }\r
                 }\r
 \r
@@ -71,7 +74,7 @@
 \r
         <style>\r
             html, body {\r
-                width: 800px;\r
+                width: 99%;/*800px;*/\r
             }\r
         </style>\r
     </head>\r
index 4b4ae9e..cd021a4 100644 (file)
@@ -1,14 +1,14 @@
 <!DOCTYPE html>\r
 <html>\r
 <head>\r
-  <link href="css/bootstrap.min.css" rel="stylesheet" />\r
-       \r
-        <link href="css/bootstrap-table.min.css" rel="stylesheet" />\r
-\r
-        <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>\r
-        <script type="text/javascript" src="js/bootstrap.min.js"></script>\r
-        <script type="text/javascript" src="js/rest.js"></script>\r
-        <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
+    <link href="css/bootstrap.min.css" rel="stylesheet" />\r
+\r
+    <link href="css/bootstrap-table.min.css" rel="stylesheet" />\r
+\r
+    <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>\r
+    <script type="text/javascript" src="js/bootstrap.min.js"></script>\r
+    <script type="text/javascript" src="js/rest.js"></script>\r
+    <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
     <script>\r
         $(document).ready(function () {\r
             var serviceId = getQueryStringValue("serviceId");\r
             var params = new URLSearchParams(window.location.search.slice(1));\r
             return params.get(key);\r
         }\r
+        function acordClick_sdno() {\r
+            $("#topoContObj").show();\r
+            $("#nfvotopoContObj").hide();\r
+        }\r
+        function acordClick_nfvo() {\r
+            $("#nfvotopoContObj").show();\r
+            $("#topoContObj").hide();\r
+        }\r
+\r
     </script>\r
-  <meta charset="utf-8">\r
-  <title>JS Bin</title>\r
-  <style>\r
\r
-.panel-group .panel-heading + .panel-collapse > .panel-body {\r
-  border: 1px solid #ddd;\r
-}\r
-.panel-group,\r
-.panel-group .panel,\r
-.panel-group .panel-heading,\r
-.panel-group .panel-heading a,\r
-.panel-group .panel-title,\r
-.panel-group .panel-title a,\r
-.panel-group .panel-body,\r
-.panel-group .panel-group .panel-heading + .panel-collapse > .panel-body {\r
-  border-radius: 2px;\r
-  border: 0;\r
-}\r
-.panel-group .panel-heading {\r
-  padding: 0;\r
-}\r
-.panel-group .panel-heading a {\r
-  display: block;\r
-  background: #428bca;\r
-  color: #ffffff;\r
-  padding: 15px;\r
-  text-decoration: none;\r
-  position: relative;\r
-}\r
-\r
-.panel-group .panel-heading a:hover {\r
- border: 1px solid #4AC9FF;\r
\r
-}\r
-\r
\r
-.panel-group .panel-heading a.collapsed {\r
-  background: #eeeeee;\r
-  color: inherit;\r
-}\r
-.panel-group .panel-heading a:after {\r
-  content: '-';\r
-  position: absolute;\r
-  right: 20px;\r
-  top:5px;\r
-  font-size:30px;\r
-}\r
-.panel-group .panel-heading a.collapsed:after {\r
-  content: '+';\r
-}\r
-.panel-group .panel-collapse {\r
-  margin-top: 5px !important;\r
-}\r
-.panel-group .panel-body {\r
-  background: #ffffff;\r
-  padding: 15px;\r
-}\r
-.panel-group .panel {\r
-  background-color: transparent;\r
-}\r
-.panel-group .panel-body p:last-child,\r
-.panel-group .panel-body ul:last-child,\r
-.panel-group .panel-body ol:last-child {\r
-  margin-bottom: 0;\r
-}\r
-\r
-  </style>\r
+    <meta charset="utf-8">\r
+    <title>JS Bin</title>\r
+    <style>\r
+        body {\r
+            overflow: hidden;\r
+            margin: 15px;\r
+        }\r
+        .panel-heading:hover {\r
+            border: 1px solid #4ac9ff;\r
+            color: #4ac9ff;\r
+        }\r
+\r
+        li:hover {\r
+            cursor: pointer;\r
+            color: #4ac9ff;\r
+        }\r
+        #accordion .glyphicon {\r
+            margin-right: 10px;\r
+        }\r
+\r
+        .panel-collapse > .list-group .list-group-item:first-child {\r
+            border-top-right-radius: 0;\r
+            border-top-left-radius: 0;\r
+        }\r
+\r
+        .panel-collapse > .list-group .list-group-item {\r
+            border-width: 1px 0;\r
+        }\r
+\r
+        .panel-collapse > .list-group {\r
+            margin-bottom: 0;\r
+        }\r
+\r
+        .panel-collapse .list-group-item {\r
+            border-radius: 0;\r
+        }\r
+\r
+        .panel-collapse .list-group .list-group {\r
+            margin: 0;\r
+            margin-top: 10px;\r
+        }\r
+\r
+        .panel-collapse .list-group-item li.list-group-item {\r
+            margin: 0 -15px;\r
+            border-top: 1px solid #ddd !important;\r
+            border-bottom: 0;\r
+            padding-left: 30px;\r
+        }\r
+\r
+        .panel-collapse .list-group-item li.list-group-item:last-child {\r
+            padding-bottom: 0;\r
+        }\r
+\r
+        .panel-collapse div.list-group div.list-group {\r
+            margin: 0;\r
+        }\r
+\r
+        .panel-collapse div.list-group .list-group a.list-group-item {\r
+            border-top: 1px solid #ddd !important;\r
+            border-bottom: 0;\r
+            padding-left: 30px;\r
+        }\r
+\r
+        .panel-collapse .list-group-item li.list-group-item {\r
+            border-top: 1px solid #DDD !important;\r
+        }\r
+\r
+        .selected {\r
+            /*background-color: #ddd;*/\r
+            color: #4ac9ff;\r
+        }\r
+        .panel-title>a {\r
+            display: inline-block;\r
+            width: 100%;\r
+        }\r
+\r
+    </style>\r
 </head>\r
 <body>\r
-  \r
-<div class="container" style="margin-top:10px;">\r
 \r
-         <div class="panel-group" id="accordion">\r
-         \r
+    <div class="row">\r
+        <div class="col-sm-3" style="width: 18%; padding-right: 0;">\r
+            <div class="panel-group" id="accordion">\r
+                <div class="panel panel-default">\r
+                    <div class="panel-heading">\r
+                        <h4 class="panel-title">\r
+                            <a id="sdno" style="text-decoration:none;" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" onClick="acordClick_sdno();">\r
+                                SDNO\r
+                            </a>\r
+                        </h4>\r
+                    </div>\r
+                </div>\r
+            </div>\r
             <div class="panel panel-default">\r
-               <div class="panel-heading">\r
-                  <h4 class="panel-title">\r
-                     <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">\r
-                     SDNO\r
-                     </a>\r
-                  </h4>\r
-               </div><!--/.panel-heading -->\r
-               <div id="collapseOne" class="panel-collapse collapse in">\r
-                  <div class="panel-body">\r
-                     <!--iframe src="chartTopo.html" name="" style="width:100%" allowTransparency="true" scrolling="no" frameborder="0">\r
-                                        </iframe>-->\r
-                      <object id="topoContObj" data="chartTopo.html" width="100%" height="300" type="text/html">\r
-\r
-                      </object>\r
-                  </div><!--/.panel-body -->\r
-               </div><!--/.panel-collapse -->\r
-            </div><!-- /.panel -->\r
-\r
-            \r
-            <div class="panel panel-default">\r
-               <div class="panel-heading">\r
-                  <h4 class="panel-title">\r
-                     <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">\r
-                     NFVO\r
-                     </a>\r
-                  </h4>\r
-               </div><!--/.panel-heading -->\r
-               <div id="collapseThree" class="panel-collapse collapse">\r
-                  <div class="panel-body">\r
-                      <object id="nfvotopoContObj" data="lcm_detail_nfvo_topology.html" width="100%" height="300" type="text/html">\r
-\r
-                      </object>\r
-                  </div><!--/.panel-body -->\r
-               </div><!--/.panel-collapse -->\r
-            </div><!-- /.panel -->\r
-         </div><!-- /.panel-group -->\r
-\r
-</div><!-- /.container -->  \r
-  \r
-  \r
+                <div class="panel-heading">\r
+                    <h4 class="panel-title">\r
+                        <a id="nfvo" style="text-decoration:none;" class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" onClick="acordClick_nfvo();">\r
+                            NFVO\r
+                        </a>\r
+                    </h4>\r
+                </div>\r
+            </div>\r
+        </div>\r
+        <div class="col-sm-3" style="width: 82%; padding-right: 0;">\r
+            <div class="panel-body" style="padding: 0">\r
+                <object id="topoContObj" data="chartTopo.html" width="100%" height="300" type="text/html">\r
+\r
+                </object>\r
+            </div>\r
+            <div class="panel-body" style="padding: 0">\r
+                <object id="nfvotopoContObj" data="lcm_detail_nfvo_topology.html" width="100%" height="300" type="text/html">\r
+\r
+                </object>\r
+            </div>\r
+        </div>\r
+    </div>\r
+\r
 \r
 </body>\r
 </html>
\ No newline at end of file
index 1c8effd..17c2442 100644 (file)
     </style>\r
     <script type="text/javascript">\r
     $(document).ready(function() {\r
-        //var jsondata = loadUnderlayData();\r
-               \r
-        var params = new URLSearchParams(window.location.search.slice(1));\r
-        debugger;\r
-        var jsonData = JSON.parse((params.get("jsondata")));\r
-               var tblData= [];\r
-               jsonData.accessPointList.forEach(function(accessPoint){\r
-                   tblData.push({\r
-                           tname:accessPoint.name,\r
-                               pname:'',\r
-                               vlan:accessPoint.typeSpecList[0].ethernetTpSpec.dot1qVlanList,\r
-                               site:'',\r
-                               ip:accessPoint.typeSpecList[0].ipTpSpec.masterIp                                \r
-                       });\r
-               })\r
-        $('#sai').bootstrapTable({\r
+        var jsondata = loadUnderlayData();\r
+        $('#tbl_overlay').bootstrapTable({\r
             //Assigning data to table\r
-            data: tblData\r
+            data: jsondata\r
         });\r
         $('#underlayTpDataTable').bootstrapTable({\r
             //Assigning data to table\r
index 4bdf441..5de335d 100644 (file)
                        var jsonData = [];\r
                        var object = {};\r
 \r
-                       if("SSAR" === serviceType || "SDNO" === serviceType)  \r
+                       if("SSAR" === serviceType)\r
                        {\r
-                               object.nodeType  = "sdno"\r
+                               object.nodeType  = "sdn"\r
                                jsonData[0] = object;\r
                        }\r
                        else if("NSAR" == serviceType || "NFAR" == serviceType || "NFVO" == serviceType)\r
                        {\r
-                               object.nodeType  = "nfvo";\r
+                               object.nodeType  = "nfv";\r
                                jsonData[0] = object;\r
                        }\r
                        else{\r
                        \r
             \r
                        \r
-                       //TODO check for the \r
+                       //TODO check for the type and update the tab\r
             console.log("jsonData length: " + jsonData.length);\r
-            for (i = 0; i < jsonData.length; i++) {\r
-                console.log("jsonData Name: " + jsonData[i].nodeType);\r
+       /*     for (i = 0; i < jsonData.length; i++) {\r
+               // console.log("jsonData Name: " + jsonData[i].nodeType);\r
                 if (jsonData[i].nodeType.indexOf('sdn') != -1) {\r
                     //$("#sdnoLink").text(jsonData[i].name.toUpperCase());\r
                     console.log("Adding Accordian to SDNO");\r
@@ -77,7 +77,7 @@
                 else {\r
 \r
                 }\r
-            }\r
+            } */\r
 \r
             $("#overlayContObj").attr('data', 'overlayvpn.html?serviceId='+serviceId);\r
             $("#underlayContObj").attr('data', 'underlayvpn.html?serviceId='+serviceId);\r
                 content += '<li onClick="fnLoadTblData(this, \''+type+'\');" id="linkgso" class="list-group-item"><span class="glyphicon glyphicon-pencil text-primary"></span><span>OPEN-O</span></li>';\r
             }\r
             else if(type == "nfvo"){\r
-              //  content += '<li onClick="fnLoadTblData(this, \''+type+'\');" id="linknfvo" class="list-group-item"><span class="glyphicon glyphicon-pencil text-primary"></span><span>ZTE</span></li>';\r
+                //content += '<li onClick="fnLoadTblData(this, \''+type+'\');" id="linknfvo" class="list-group-item"><span class="glyphicon glyphicon-pencil text-primary"></span><span>ZTE</span></li>';\r
             }\r
             content += '</ul></div></div>';\r
             return content;\r
index ab0d71f..e9fccf6 100644 (file)
     <script type="text/javascript" src="js/jquery-ui-1.12.1.min.js"> </script>\r
     <link href="css/jquery-ui-1.12.1.min.css" rel="stylesheet" />\r
 \r
-    <script type="text/javascript" src="js/highcharts.js"></script>\r
-    <script type="text/javascript" src="js/exporting.js"></script>\r
+\r
+    <script src="js/topo/sigma/sigma.min.js"></script>\r
+    <script src="js/topo/sigma/sigma.renderers.edgeLabels.min.js"></script>\r
+\r
+\r
     <style>\r
         body {\r
             overflow: hidden;\r
index 2302795..89a521a 100644 (file)
@@ -41,7 +41,7 @@
             new lcmHandler();\r
 \r
             $('.modal-dialog').draggable();\r
-            $("#detailCont").show();\r
+           // $("#detailCont").show();\r
             var jsondata = loadGetServiceData();\r
                        \r
                        $.each(jsondata,function(k,v){\r
                 $(this).addClass('current').siblings().removeClass('current');\r
             });\r
             $("#topoCont").hide();\r
-            $("#inpCont").hide();\r
+            $("#inpCont").show();\r
             $("#topoContMod").hide();\r
-            $("#detailContMod").show();\r
-            $("#inpContMod").hide();\r
+            $("#detailContMod").hide();\r
+            $("#inpContMod").show();\r
             \r
             $('#sai').bootstrapTable({}) .on('click-row.bs.table', function (e, row, $element) {\r
-\r
                 var newURL = "accorTables.html?serviceId="+row.serviceId + "&serviceType="+row.serviceType;\r
                          //  var newURL = "accorTables.html?serviceId="+row.serviceId ;\r
                 console.log("URL: "+newURL);\r
                 document.getElementById("tabContainer").style.display = "none";\r
                 document.getElementById("detailConObj").setAttribute('data', newURL);\r
-                document.getElementById("detailContMod").setAttribute('data', newURL);\r
+                document.getElementById("detailContDlg").setAttribute('data', newURL);\r
                 document.getElementById("tabContainer").style.display = "block";\r
 \r
                 //loadIframe("topoFrame", "chartTopo.html?serviceId="+row.serviceId);\r
                 document.getElementById("topoContObj").setAttribute('data', 'TopoAccor.html?serviceId='+row.serviceId);\r
+                document.getElementById("topoContDlg").setAttribute('data', 'TopoAccor.html?serviceId='+row.serviceId);\r
                                document.getElementById('inputcontent').setAttribute('data', 'InputData.html?json='+ JSON.stringify(row));\r
                 document.getElementById('inputcontentDlg').setAttribute('data', 'InputData.html?json='+ JSON.stringify(row));\r
                });\r
 \r
                     <div class="detail" style="margin:10px;border-radius:5px;">\r
                         <div class="detail-top" style="margin-top:10px;border-radius:5px;">\r
-                            <ul class="nav nav-tabs nav-justified vmapp-margin">\r
+                         <span><h2 style="margin-left: 1%">Detailed Info</h2></span>\r
+                                               \r
+\r
+                                               \r
+                                               \r
+                        <!--    <ul class="nav nav-tabs nav-justified vmapp-margin">\r
                                 <li class="active basic">\r
                                     <a href="#" onClick="showDetContMod();" id="" data-toggle="tab">\r
                                         <span>Detail Info</span>\r
                                         <span>Input Data</span>\r
                                     </a>\r
                                 </li>\r
-                            </ul>\r
+                            </ul> -->\r
 \r
                             <div id="detailContMod">\r
-                                <object data="accorTables.html" width="100%" height="300" type="text/html">\r
+                                <object id="detailContDlg" data="accorTables.html" width="100%" height="300" type="text/html">\r
 \r
                                 </object>\r
                             </div>\r
                             <div id="topoContMod" style="display:none;">\r
-                                <object data="chartTopo.html" width="100%" height="300" type="text/html">\r
+                                <object id="topoContDlg" data="TopoAccor.html" width="100%" height="300" type="text/html">\r
 \r
                                 </object>\r
                                 <!--<iframe id="topoFrame" src="chartTopo.html" name="" style="width:100%; height:400px;" allowTransparency="true" scrolling="no" frameborder="0">\r
 \r
     <div id="tabContainer" class="detail" style="border-radius:5px;display: none">\r
         <div class="detail-top" style="margin-top:2px;border-radius:5px;">\r
-            <ul class="nav nav-tabs nav-justified vmapp-margin">\r
+\r
+            <span><h2 style="margin-left: 1%">Detailed Info</h2></span>\r
+\r
+            <div id="inpCont" style="display:none;">\r
+                <object id="inputcontent" src="InputData.html" width="100%" height="300" type="text/html">\r
+                </object>\r
+            </div>\r
+         <!--   <ul class="nav nav-tabs nav-justified vmapp-margin">\r
 \r
                 <li class="active basic">\r
                     <a href="#" onClick="showDetCont();" id="detHov" data-toggle="tab">\r
                     </a>\r
                 </li>\r
 \r
-            </ul>\r
+            </ul> -->\r
         </div>\r
 \r
         <div style="border-radius:5px;">\r
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/i18n/lcm-template-parameters-i18n-en-US.properties b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/i18n/lcm-template-parameters-i18n-en-US.properties
new file mode 100644 (file)
index 0000000..87e720b
--- /dev/null
@@ -0,0 +1,94 @@
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac1_ip=Left AC
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac1_peer_ip=Left CE IP
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac1_port=Left Port
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac1_route=Left Route
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac1_svlan=Left VLAN
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac2_ip=Right AC
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac2_peer_ip=Right CE IP
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac2_port=Right Port
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac2_route=Right Route
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.ac2_svlan=Right VLAN
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.description=Description
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.name=Service Name
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.pe1_ip=Left PE IP
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.pe2_ip=Right PE IP
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.serviceType=Service Type
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.technology=Technology
+tosca.nodes.sdn.ext.NS.ns_underlayervpn.topology=Topology
+tosca.nodes.sdn.ext.NS.enterprise2DC.dcFWIP=Firewall IP
+tosca.nodes.sdn.ext.NS.enterprise2DC.dcGWIP=Gateway IP
+tosca.nodes.sdn.ext.NS.enterprise2DC.dcLBIP=Load Balancer IP
+tosca.nodes.sdn.ext.NS.enterprise2DC.description=Description
+tosca.nodes.sdn.ext.NS.enterprise2DC.id=ID
+tosca.nodes.sdn.ext.NS.enterprise2DC.name=Service Name
+tosca.nodes.sdn.ext.NS.enterprise2DC.siteAccessPortVlan=ThinCPE VLAN
+tosca.nodes.sdn.ext.NS.enterprise2DC.siteCidr=Enterprise cidr
+tosca.nodes.sdn.ext.NS.enterprise2DC.siteThinCpeIP=ThinCPE IP
+tosca.nodes.sdn.ext.NS.enterprise2DC.siteVNI=ThinCPE VxLAN ID
+tosca.nodes.sdn.ext.NS.enterprise2DC.vCPE_MgrIp=vCPE IP
+tosca.nodes.sdn.ext.NS.enterprise2DC.vpcName=VPC Name
+tosca.nodes.sdn.ext.NS.enterprise2DC.vpcSubnetCidr=VPC cidr
+tosca.nodes.sdn.ext.NS.enterprise2DC.vpcSubnetName=VPC Subnet Name
+tosca.nodes.sdn.ext.NS.enterprise2DC.vpcVNI=VPC VxLAN ID
+tosca.nodes.nfv.NS.VBRAS_NS.externalDataNetworkName=External Data Network Name
+tosca.nodes.nfv.NS.VBRAS_NS.externalManageNetworkName=External Management Network Name
+tosca.nodes.nfv.NS.VCPE_NS.sfc_data_network=SFC Data Network Name
+tosca.nodes.nfv.NS.VCPE_NS.externalManageNetworkName=External Management Network Name
+tosca.nodes.nfv.NS.VCPE_NS.NatIpRange=Nat Ip Range
+tosca.nodes.nfv.NS.VCPE_NS.m6000_mng_ip=M6000 Mng IP
+tosca.nodes.nfv.NS.VCPE_NS.externalPluginManageNetworkName=External Plugin Management Network Name
+tosca.nodes.nfv.NS.VCPE_NS.externalDataNetworkName=External Data Network Name
+tosca.nodes.nfv.NS.POP_NS.sfc_data_network=SFC Data Network Name
+tosca.nodes.nfv.NS.POP_NS.externalManageNetworkName=External Management Network Name
+tosca.nodes.nfv.NS.POP_NS.NatIpRange=Nat Ip Range
+tosca.nodes.nfv.NS.POP_NS.m6000_mng_ip=M6000 Mng IP
+tosca.nodes.nfv.NS.POP_NS.externalPluginManageNetworkName=External Plugin Management Network Name
+tosca.nodes.nfv.NS.POP_NS.externalCompanyFtpDataNetworkName=External Company Ftp Data Network Name
+tosca.nodes.nfv.NS.POP_NS.externalDataNetworkName=External Data Network Name
+ac1_ip=Left AC
+ac1_peer_ip=Left CE IP
+ac1_port=Left Port
+ac1_route=Left Route
+ac1_svlan=Left VLAN
+ac2_ip=Right AC
+ac2_peer_ip=Right CE IP
+ac2_port=Right Port
+ac2_route=Right Route
+ac2_svlan=Right VLAN
+description=Description
+name=Service Name
+pe1_ip=Left PE IP
+pe2_ip=Right PE IP
+serviceType=Service Type
+technology=Technology
+topology=Topology
+dcFWIP=Firewall IP
+dcGWIP=Gateway IP
+dcLBIP=Load Balancer IP
+description=Description
+id=ID
+name=Service Name
+siteAccessPortVlan=ThinCPE VLAN
+siteCidr=Enterprise cidr
+siteThinCpeIP=ThinCPE IP
+siteVNI=ThinCPE VxLAN ID
+vCPE_MgrIp=vCPE IP
+vpcName=VPC Name
+vpcSubnetCidr=VPC cidr
+vpcSubnetName=VPC Subnet Name
+vpcVNI=VPC VxLAN ID
+externalDataNetworkName=External Data Network Name
+externalManageNetworkName=External Management Network Name
+sfc_data_network=SFC Data Network Name
+externalManageNetworkName=External Management Network Name
+NatIpRange=Nat Ip Range
+m6000_mng_ip=M6000 Mng IP
+externalPluginManageNetworkName=External Plugin Management Network Name
+externalDataNetworkName=External Data Network Name
+sfc_data_network=SFC Data Network Name
+externalManageNetworkName=External Management Network Name
+NatIpRange=Nat Ip Range
+m6000_mng_ip=M6000 Mng IP
+externalPluginManageNetworkName=External Plugin Management Network Name
+externalCompanyFtpDataNetworkName=External Company Ftp Data Network Name
+externalDataNetworkName=External Data Network Name
\ No newline at end of file
index d5549eb..498a86c 100644 (file)
@@ -118,11 +118,11 @@ function initParameterTab() {
        ).then(
            function(template) {
                if(template.serviceType === 'GSO') {
-                       return fetchGsoTemplateInputParameters(templateId);
+                       return fetchGsoTemplateInputParameters(templateId, template);
                } else if(template.serviceType === 'NFVO') {
-                       return fetchNfvoTemplateInputParameters(templateId);
+                       return fetchNfvoTemplateInputParameters(templateId, template);
                } else if(template.serviceType === 'SDNO') {
-                       return fetchSdnoTemplateInputParameters(templateId);
+                       return fetchSdnoTemplateInputParameters(templateId, template);
                }
            }
        ).then(
@@ -148,6 +148,7 @@ function fetchServiceTemplateBy(templateId) {
             template.name = response.templateName;
             template.gsarId = response.csarId;
             template.id = response.id;
+            template.nodeType = '';
             return fetchCsar(template.gsarId);
         }
     ).then(
@@ -174,7 +175,7 @@ function fetchCsar(csarId) {
        });
 }
 
-function fetchGsoTemplateInputParameters(templateId) {
+function fetchGsoTemplateInputParameters(templateId, template) {
        var defer = $.Deferred();
     $.when(
         fetchTemplateParameterDefinitions(templateId),
@@ -185,6 +186,11 @@ function fetchGsoTemplateInputParameters(templateId) {
         function (templateParameterResponse, nestingTempatesParas, vimInfoResponse, sdnControllersResponse) {
             var inputs = templateParameterResponse[0].inputs.map(function(input) {
                 input.showName = input.name;
+                if(template.nodeType === null || template.nodeType === undefined || template.nodeType.length === 0) {
+                    input.i18nKey = input.name;    
+                } else {
+                    input.i18nKey = template.nodeType + '.' +input.name;    
+                }
                 return input;
             });
                var inputParas = concat(inputs, nestingTempatesParas);
@@ -232,6 +238,7 @@ function fetchGsoNestingTemplateParameters(templateId) {
                                        var inputs = serviceTemplate.inputs.map(function(input) {
                                 input.showName = input.name;
                                                input.name = nodeTemplate.type + '.' + input.name;
+                                input.i18nKey = nodeTemplate.type + '.' + input.name;
                                                return input;
                                        });
                                        $.when(
@@ -244,14 +251,16 @@ function fetchGsoNestingTemplateParameters(templateId) {
                                                                type: 'location',
                                                                description: nodeTemplate.name + ' Location',
                                                                required: 'true',
-                                            showName: nodeTemplate.name + ' Location'
+                                            showName: nodeTemplate.name + ' Location',
+                                            i18nKey: nodeTemplate.name + ' Location'
                                                        });
                                         inputs.push({
                                             name: nodeTemplate.type + '.sdncontroller',
                                             type: 'sdncontroller',
                                             description: nodeTemplate.name + ' SDN Controller',
                                             required: 'true',
-                                            showName: nodeTemplate.name + ' SDN Controller'
+                                            showName: nodeTemplate.name + ' SDN Controller',
+                                            i18nKey: nodeTemplate.name + ' SDN Controller'
                                         });
                                     }
                                                nodeAggregatation.notify(inputs);
@@ -321,7 +330,7 @@ function translateToTemplateParameters(inputs, vims, controllers) {
     return {changed: false, parameters: inputParameters, vimInfos: vims, sdnControllers: controllers};
 }
 
-function fetchNfvoTemplateInputParameters(templateId) {
+function fetchNfvoTemplateInputParameters(templateId, template) {
        var defer = $.Deferred();
        $.when(
                fetchTemplateParameterDefinitions(templateId),
@@ -334,6 +343,7 @@ function fetchNfvoTemplateInputParameters(templateId) {
                var inputParas = templateParameterResponse[0].inputs;
             inputParas = inputParas.map(function(input) {
                 input.showName = input.name;
+                input.i18nKey = template.nodeType + '.' + input.name;
                 return input;
             });
                inputParas.push({
@@ -341,14 +351,16 @@ function fetchNfvoTemplateInputParameters(templateId) {
                        type: 'location',
                        description: 'Location',
                        required: 'true',
-                showName: 'Location'
+                showName: 'Location',
+                i18nKey: 'Location'
                });
             inputParas.push({
                 name: 'sdncontroller',
                 type: 'sdncontroller',
                 description: 'SDN Controller',
                 required: 'true',
-                showName: 'SDN Controller'
+                showName: 'SDN Controller',
+                i18nKey: 'SDN Controller'
             });
                templateParameters = translateToTemplateParameters(inputParas, vims, sdnControllers);
             defer.resolve(templateParameters); 
@@ -357,7 +369,7 @@ function fetchNfvoTemplateInputParameters(templateId) {
        return defer;
 }
 
-function fetchSdnoTemplateInputParameters(templateId) {
+function fetchSdnoTemplateInputParameters(templateId, template) {
        var defer = $.Deferred();
        $.when(
                fetchTemplateParameterDefinitions(templateId)
@@ -365,6 +377,7 @@ function fetchSdnoTemplateInputParameters(templateId) {
            function (templateParameterResponse) {
             var inputs = templateParameterResponse.inputs.map(function(input) {
                 input.showName = input.name;
+                input.i18nKey = template.nodeType + '.' + input.name;
                 return input;
             })
                templateParameters = translateToTemplateParameters(inputs, [], []);
@@ -520,7 +533,7 @@ function createGsoServiceInstance(gatewayService, serviceInstance, serviceTempla
             serviceInstance.serviceId = response.serviceId;
             var gsoServiceUri = '/openoapi/gso/v1/services/' + response.serviceId;
             var timerDefer = $.Deferred();
-            var timeout = 600000;
+            var timeout = 3600000;
             var fun = function() {
                 if(timeout === 0) {
                     timerDefer.resolve({
@@ -620,7 +633,7 @@ function createServiceInstance(gatewayService, lcmUri, serviceInstance) {
             var jobId = response.serviceId;
             var jobStatusUri = lcmUri + '/jobs/' + jobId;
             var timerDefer = $.Deferred();
-            var timeout = 600000;
+            var timeout = 3600000;
             var fun = function() {
                 if(timeout === 0) {
                     timerDefer.resolve({
@@ -715,7 +728,7 @@ function deleteNe(rowId, row) {
             } else if (serviceType === 'NFVO') {
                 var nfvoLcmUri = '/openoapi/nslcm/v1';
                 deleteNonGsoServiceInstance(gatewayService, nfvoLcmUri, instanceId, remove, failFun);
-            } else if (serviceType === 'SDNO' || serviceType === 'SSAR') {
+            } else if (serviceType === 'SDNO') {
                 var sdnoLcmUri = '/openoapi/sdnonslcm/v1';
                 deleteNonGsoServiceInstance(gatewayService, sdnoLcmUri, instanceId, remove, failFun);
             }
@@ -732,7 +745,7 @@ function deleteGsoServiceInstance(gatewayService, instanceId, remove, failFun) {
         function(response) {
             var gsoServiceUri = '/openoapi/gso/v1/services/toposequence/' + instanceId;
             var timerDefer = $.Deferred();
-            var timeout = 600000;
+            var timeout = 3600000;
             var fun = function() {
                 if(timeout === 0) {
                     timerDefer.resolve({
@@ -779,7 +792,7 @@ function deleteNonGsoServiceInstance(gatewayService, lcmUri, instanceId, remove,
             var jobId = response.jobId;
             var jobStatusUri = lcmUri + '/jobs/' + jobId;
             var timerDefer = $.Deferred();
-            var timeout = 600000;
+            var timeout = 3600000;
             var fun = function() {
                 if(timeout === 0) {
                     timerDefer.resolve({
diff --git a/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.bootstrap-growl.min.js b/openo-portal/portal-lifecyclemgr/src/main/webapp/lifecyclemgr/js/jquery.bootstrap-growl.min.js
new file mode 100644 (file)
index 0000000..67837e5
--- /dev/null
@@ -0,0 +1 @@
+(function(){var c;c=jQuery;c.bootstrapGrowl=function(f,a){var b,e,d;a=c.extend({},c.bootstrapGrowl.default_options,a);b=c("<div>");b.attr("class","bootstrap-growl alert");a.type&&b.addClass("alert-"+a.type);a.allow_dismiss&&(b.addClass("alert-dismissible"),b.append('<button class="close" data-dismiss="alert" type="button"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'));b.append(f);a.top_offset&&(a.offset={from:"top",amount:a.top_offset});d=a.offset.amount;c(".bootstrap-growl").each(function(){return d= Math.max(d,parseInt(c(this).css(a.offset.from))+c(this).outerHeight()+a.stackup_spacing)});e={position:"body"===a.ele?"fixed":"absolute",margin:0,"z-index":"9999",display:"none"};e[a.offset.from]=d+"px";b.css(e);"auto"!==a.width&&b.css("width",a.width+"px");c(a.ele).append(b);switch(a.align){case "center":b.css({left:"50%","margin-left":"-"+b.outerWidth()/2+"px"});break;case "left":b.css("left","20px");break;default:b.css("right","20px")}b.fadeIn();0<a.delay&&b.delay(a.delay).fadeOut(function(){return c(this).alert("close")}); return b};c.bootstrapGrowl.default_options={ele:"body",type:"info",offset:{from:"top",amount:20},align:"right",width:250,delay:4E3,allow_dismiss:!0,stackup_spacing:10}}).call(this);
index 1510d12..6f1235a 100644 (file)
@@ -35,7 +35,7 @@ var vm = avalon.define({
         }
     },
     $restUrl: {
-        queryNodeInstanceUrl: "/openoapi/nslcm/v1/ns/"
+        queryNodeInstanceUrl: "/openoapi/nslcm/v1.0/ns/"
     },
     $init: function () {
         vm.$initInstanceData();
@@ -147,7 +147,7 @@ var vm = avalon.define({
             ],
             "aaData": tableData
         });
-    },
+    };
 
 //nodes list table
 nodesList :{
@@ -186,7 +186,7 @@ var initParam = function () {
         var instanceId = params[0].substring(params[0].indexOf('=') + 1);
 
         vm.instanceId = instanceId;
-        vm.$restUrl.queryNodeInstanceUrl = vm.$restUrl.queryNodeInstanceUrl + instanceId;
+        vm.$restUrl.queryNodeInstanceUrl = commonUtil.format(vm.$restUrl.queryNodeInstanceUrl, instanceId);
         vm.$init();
     }
 };
index e52d015..d7451a1 100644 (file)
@@ -20,23 +20,21 @@ $.getJSON("./conf/dataconfig.json", function (jsonData){
     console.log("URL = " + JSON.stringify(url));\r
 });\r
 \r
-function loadUnderlayData(serviceId) {\r
-    var requestUrl = "/openoapi/sdnol3vpn/v1/l3vpns/" + serviceId;\r
-       var returnObj;\r
+function loadUnderlayData() {\r
+    var requestUrl = "/openoapi/sdnol3vpn/v1/l3vpns";\r
     $\r
         .ajax({\r
             type: "GET",\r
             url: requestUrl,\r
-                       async: false,\r
             contentType: "application/json",\r
             success: function (jsonobj) {\r
-                returnObj = jsonobj;\r
+                alert("loading underlay data");\r
+                //TODO: Update the table\r
             },\r
             error: function (xhr, ajaxOptions, thrownError) {\r
                 //alert("Error on getting underlay data : " + xhr.responseText);\r
             }\r
         });\r
-    return returnObj;\r
 }\r
 function deleteUnderlayData(objectId) {\r
     var requestUrl = "/openoapi/sdnol3vpn/v1/l3vpns/" + objectId;\r
@@ -54,23 +52,21 @@ function deleteUnderlayData(objectId) {
             }\r
         });\r
 }\r
-function loadOverlayData(serviceId) {\r
-    var requestUrl =  "/openoapi/sdnooverlay/v1/site2dc-vpn/" + serviceId;\r
-       var returnObj;\r
+function loadOverlayData() {\r
+    var requestUrl =  "/openoapi/sdnooverlayvpn/v1/site2dc-vpn";\r
     $\r
         .ajax({\r
             type: "GET",\r
             url: requestUrl,\r
-                       async: false,\r
             contentType: "application/json",\r
             success: function (jsonobj) {\r
-                returnObj = jsonobj;\r
+                alert("loading Overlay data...");\r
+                //TODO: Update the table\r
             },\r
             error: function (xhr, ajaxOptions, thrownError) {\r
                 //alert("Error on getting Overlayvpn data : " + xhr.responseText);\r
             }\r
         });\r
-       return returnObj;\r
 }\r
 function refressTpDataTable(overlayTable, TpTable) {\r
     alert("refesssing Tp data table");\r
index 2604de8..d55e431 100644 (file)
         <script type="text/javascript">\r
             $(document).ready(function () {\r
                 var jsondata = [];\r
-                               var params = new URLSearchParams(window.location.search.slice(1));\r
-                               var serviceId = params.get("serviceId");\r
-                jsondata = loadOverlayData(serviceId);\r
-                               var tabData = [];\r
-                               \r
-                               var tableRow = {};\r
-                               tableRow.desc = jsondata.description;\r
-                               tableRow.name= jsondata.name;\r
-                               tableRow.thinCpe= jsondata.site.cidr;//TODO\r
-                               tableRow.port = "";\r
-                               //tableRow.dcName=jsondata.vpc.name;\r
-                               tableRow.vpc = jsondata.vpc.name;\r
-                               tableRow.vpcCidr= jsondata.vpc.site.cidr;\r
-                               tabData[0]=tableRow;\r
-\r
+                jsondata = loadOverlayData();\r
 \r
                 $('#sai').bootstrapTable({\r
                     //Assigning data to table\r
-                    data: tabData\r
+                    data: jsondata\r
+                });\r
+                $('.table tbody tr').click(function () {\r
+                    $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
                 });\r
-            $('.table tbody tr').click(function () {\r
-                $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
-          });\r
 \r
-            $('#sai').on('sort.bs.table', function () {\r
-   \r
+                $('#sai').on('sort.bs.table', function () {\r
 \r
-            }).on('click-row.bs.table', function () {\r
-       \r
-         \r
-         $('.table tbody tr').click(function() {\r
-                    \r
-                $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
-          });\r
-        \r
-         });\r
-    });\r
 \r
-    function operateFormatter(value, row, index) {\r
-        return [\r
-            '<img class="siteDeleteImg" src="images/delete.png" href="javascript:void(0)" style="cursor: pointer" name="title" title="Delete" />'\r
-        ].join('');\r
-    }\r
-    window.operateEvents = {\r
-        'click .siteDeleteImg': function(e, value, row, index) {\r
-            // TO DO ajex call for delete\r
-            console.log(value, row, index);\r
-        }\r
-    };\r
-    </script>\r
+                }).on('click-row.bs.table', function () {\r
+\r
+\r
+                    $('.table tbody tr').click(function() {\r
+\r
+                        $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
+                    });\r
+\r
+                });\r
+\r
+                var serviceId = getQueryStringValue("serviceId");\r
+                console.log("overlayvpn - serviceId : " + serviceId);\r
+            });\r
+\r
+            function getQueryStringValue (key) {\r
+                var params = new URLSearchParams(window.location.search.slice(1));\r
+                return params.get(key);\r
+            }\r
+\r
+            function operateFormatter(value, row, index) {\r
+                return [\r
+                    '<img class="siteDeleteImg" src="images/delete.png" href="javascript:void(0)" style="cursor: pointer" name="title" title="Delete" />'\r
+                ].join('');\r
+            }\r
+            window.operateEvents = {\r
+                'click .siteDeleteImg': function(e, value, row, index) {\r
+                    // TO DO ajex call for delete\r
+                    console.log(value, row, index);\r
+                }\r
+            };\r
+        </script>\r
     <style>\r
     .dropdown-menu {\r
             min-width: 10px;\r
                         <tr>\r
                             <th data-field="name" data-sortable="true" data-filter-control="input">Name</th>\r
                             <th data-field="desc" data-sortable="true" data-filter-control="input">Description</th>\r
-                            <th data-field="thinCpe" data-sortable="true" data-filter-control="input">Site CIDR</th>\r
+                            <th data-field="thinCpe" data-sortable="true" data-filter-control="input">Thin CPE</th>\r
                             <th data-field="port" data-sortable="true" data-filter-control="input">Port:Vlan ID</th>\r
-                           <!-- <th data-field="dcName" data-sortable="true" data-filter-control="input">DC Name</th> -->\r
-                            <th data-field="vpc" data-sortable="true" data-filter-control="input">VPC Name</th>\r
+                            <th data-field="dcName" data-sortable="true" data-filter-control="input">DC Name</th>\r
+                            <th data-field="vpc" data-sortable="true" data-filter-control="input">VPC</th>\r
                             <th data-field="vpcCidr" data-sortable="true" data-filter-control="input">VPC CIDR</th>\r
                             <th data-field="action" data-sortable="">Action</th>\r
                         </tr>\r
         </div>\r
     </div>\r
 \r
-</div>\r
+\r
 </body>\r
 </html>
\ No newline at end of file
index ef181ec..6d8b545 100644 (file)
         <script type="text/javascript">\r
             $(document).ready(function () {\r
 \r
-                               var params = new URLSearchParams(window.location.search.slice(1));\r
-                               var serviceId = params.get("serviceId");\r
-                var jsondata = loadUnderlayData(serviceId);\r
-                               var tabData = [];\r
-                               var tableRow = {};\r
-                               tableRow.name = jsondata.name;\r
-                               tableRow.desc= jsondata.description;\r
-                               tableRow.state= jsondata.operStatus;//TODO\r
-                               tabData[0] = tableRow;\r
-                $('#sai').bootstrapTable({\r
+\r
+                var jsondata = loadUnderlayData();\r
+                $('#tbl_overlay').bootstrapTable({\r
                     //Assigning data to table\r
-                    data: tabData\r
+                    data: jsondata\r
                 });\r
                 $('#underlayTpDataTable').bootstrapTable({\r
                     //Assigning data to table\r
                     });\r
 \r
                 });\r
+\r
+                var serviceId = getQueryStringValue("serviceId");\r
                 console.log("underlayvpn - serviceId : " + serviceId);\r
-                 $("#underlay_tp").attr('data', 'UnderLay_TP.html?jsondata='+JSON.stringify(jsondata));\r
+\r
             });\r
 \r
             function getQueryStringValue (key) {\r
     </div>\r
 \r
     <div id="tpDiv">\r
-            <object id="underlay_tp" data="UnderLay_TP.html" width="100%" height="450" type="text/html"></object>\r
-        <!--<iframe src="UnderLay_TP.html" style="width:100%;height:450px;" name="targetframe" allowTransparency="true" scrolling="no" frameborder="0">\r
-        </iframe>-->\r
+        <iframe src="UnderLay_TP.html" style="width:100%;height:450px;" name="targetframe" allowTransparency="true" scrolling="no" frameborder="0">\r
+        </iframe>\r
     </div>\r
     <div id="filterTpLogicalType_select_popupcontainer" class="openo openo-select-popup-container openo-hide"\r
          style="width: 155px; max-height: 130px; left: 628px; top: 104px; z-index: 1761;">\r