added the changes for the SDNO LCM and copyright and license infor for all the js...
authorSeshu-Kumar-M <seshu.kumar.m@huawei.com>
Wed, 14 Sep 2016 10:06:11 +0000 (18:06 +0800)
committerSeshu-Kumar-M <seshu.kumar.m@huawei.com>
Wed, 14 Sep 2016 10:06:11 +0000 (18:06 +0800)
Change-Id: I92a2ea3f0060d63d721e7a48a0cc342556fc6967
Signed-off-by: Seshu-Kumar-M <seshu.kumar.m@huawei.com>
openo-portal/portal-lifecyclemgr/js/brs.js [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/js/rest.js
openo-portal/portal-lifecyclemgr/js/underlay.js [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/js/vpn.js [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/overlayvpn.html [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/sdnovpn.html [new file with mode: 0644]
openo-portal/portal-lifecyclemgr/underlayvpn.html [new file with mode: 0644]

diff --git a/openo-portal/portal-lifecyclemgr/js/brs.js b/openo-portal/portal-lifecyclemgr/js/brs.js
new file mode 100644 (file)
index 0000000..8e9220e
--- /dev/null
@@ -0,0 +1,342 @@
+/* Copyright (c) 2016, Huawei Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *              http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
\r
+$('.siteDeleteImg').click(function(){\r
+       var data = $(this).parent().parent().parent().find('td:last').find('div:last').html();\r
+       alert(data);\r
+       var jsonObj = JSON.parse(data);\r
+       for(var i = 0; i < jsonObj.length; i++) {\r
+           var obj = jsonObj[i];\r
+               var rowData = [obj.tpName,obj.peName,obj.vlanId,obj.siteCidr,obj.ip];\r
+               $('#underlayTpDataTable').DataTable();\r
+               $('#underlayTpDataTable').dataTable().fnAddData(rowData);\r
+       }\r
+});\r
+\r
+\r
+function deleteSite(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites/"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#site').bootstrapTable('remove', {\r
+                                   field: 'id',\r
+                                   values: [objectId]\r
+                               });\r
+                                               alert("Delete Site successfull !!!");\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting site: " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+}\r
+function deleteLink(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links/"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#link').bootstrapTable('remove', {\r
+                                   field: 'id',\r
+                                   values: [objectId]\r
+                               });\r
+                                               alert("Delete Link successfull !!!");\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting link : " + xhr.responseText);  \r
+                                       }\r
+                               });\r
+}\r
+\r
+function deleteNe(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/managed-elements/"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#ne').bootstrapTable('remove', {\r
+                                   field: 'id',\r
+                                   values: [objectId]\r
+                               });\r
+                                               alert("Delete NE successfull !!!");\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting ne : " + xhr.responseText);    \r
+                                       }\r
+                               });\r
+}\r
+\r
+function deletePort(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points/"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#port').bootstrapTable('remove', {\r
+                                   field: 'id',\r
+                                   values: [objectId]\r
+                               });\r
+                                               alert("Delete Port successfull !!!");\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting port : " + xhr.responseText);  \r
+                                       }\r
+                               });\r
+}\r
+function loadSiteData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#site').bootstrapTable({\r
+                                       data: jsonobj.sites\r
+                               });\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting site data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+function loadLinkData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#link').bootstrapTable({\r
+                                       data: jsonobj.topologicalLinks\r
+                               });\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting link data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+function loadNeData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/managed-elements";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#ne').bootstrapTable({\r
+                                       data: jsonobj.managedElements\r
+                               });\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting ne data : " + xhr.responseText);        \r
+                                       }\r
+                               });\r
+}\r
+function loadPortData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               $('#port').bootstrapTable({\r
+                                data: jsonobj.logicalTerminationPoints\r
+                               });\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting port data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+$(function(){\r
+                       $('.creat-btn').click(function(){\r
+                               $('#vmAppDialog').addClass('in').css({'display':'block'});\r
+                               \r
+                       });\r
+                       $('.close,.button-previous').click(function(){\r
+                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                       });\r
+                       $('.detail-top ul li').click(function(){\r
+                               $(this).addClass('current').siblings().removeClass('current');\r
+                       });\r
+                       $('.para').click(function(){                            \r
+                               if($('#serviceTemplateName').val() == ''){\r
+                                       alert('Please choose the service templet!');\r
+                                       $('#flavorTab').css('display','none');\r
+                               }else{\r
+                                       $('#flavorTab').css('display','block');\r
+                               }\r
+                               $('#basicTab').css('display','block');\r
+                       });\r
+                       $('.basic').click(function(){\r
+                               $('#flavorTab').css('display','none');\r
+                       });\r
+                       \r
+                       $('.table tbody tr').click(function(){\r
+                               $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
+                       });\r
+                       $('.table tr:odd').addClass('active');\r
+                       $('#false').click(function(){\r
+                               $('#vmAppDialog').addClass('in').css({'display':'block'});\r
+                       });\r
+                       $('.close,.button-previous').click(function(){\r
+                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                       });\r
+                       $('#filterTpLogicalType').click(function(){\r
+                               $('#filterTpLogicalType_select_popupcontainer').toggleClass('openo-hide');\r
+                               $('#filterTpLogicalType').toggleClass('openo-focus');\r
+                               var oLeft = $('#open_base_tpL_td6').offset().left;\r
+                       var oTop = $('#open_base_tpL_td6').offset().top;\r
+                       var oHeight = $('#open_base_tpL_td6').height();\r
+                       $('#filterTpLogicalType_select_popupcontainer').css({'left':oLeft,'top':oTop + oHeight + 10});\r
+                       });\r
+                       $('div.openo-select-popup-container>div.openo-select-item>label').click(function(){\r
+                               var Lvalue = $(this).html();\r
+                               $('#filterTpLogicalType_select_input').attr('value',Lvalue);\r
+                               $('#filterTpLogicalType_select_popupcontainer').addClass('openo-hide');\r
+                               $('#filterTpLogicalType').removeClass('openo-focus');\r
+                       });\r
+                       $.fn.serializeObject = function() {\r
+                               var o = {};\r
+                               var a = this.serializeArray();\r
+                               $.each(a, function() {\r
+                                       if (o[this.name] !== undefined) {\r
+                                               if (!o[this.name].push) {\r
+                                                       o[this.name] = [ o[this.name] ];\r
+                                               }\r
+                                       o[this.name].push(this.value || '');\r
+                                       } else {\r
+                                               o[this.name] = this.value || '';\r
+                                       }\r
+                               });\r
+                       return o;\r
+                       };\r
+                       $('#createSite').click(function(){\r
+                               var formData = JSON.stringify($("#vmAppForm").serializeObject());\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var newJson = {"site": jsonobj};\r
+                       formData = JSON.stringify(newJson);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonResp) {\r
+                                               alert("Site saved successfully!!!");\r
+                                               jsonobj["id"]= jsonResp.site.id;\r
+                                               $('#site').bootstrapTable("append", jsonobj);\r
+                                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createNe').click(function(){\r
+                               var formData = JSON.stringify($("#neForm").serializeObject());\r
+                               var jsonobj = JSON.parse(formData);\r
+                       var newJson = {"managedElement": jsonobj};\r
+                       formData = JSON.stringify(newJson);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/managed-elements";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonResp) {\r
+                                               alert("NE saved successfully!!!");\r
+                                               jsonobj["id"]= jsonResp.managedElement.id;\r
+                                               $('#ne').bootstrapTable("append", jsonobj);\r
+                                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createPort').click(function(){\r
+                               var formData = JSON.stringify($("#portForm").serializeObject());\r
+                               var jsonobj = JSON.parse(formData);\r
+                       var newJson = {"logicalTerminationPoint": jsonobj};\r
+                       formData = JSON.stringify(newJson);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonResp) {\r
+                                               alert("Port saved successfully!!!");\r
+                                               //TODO : hide model data window.\r
+                                               jsonobj["id"]= jsonResp.logicalTerminationPoint.id;\r
+                                               $('#port').bootstrapTable("append", jsonobj);\r
+                                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createLink').click(function(){\r
+                               var formData = JSON.stringify($("#linkForm").serializeObject());\r
+                               var jsonobj = JSON.parse(formData);\r
+                       var newJson = {"topologicalLink": jsonobj};\r
+                       formData = JSON.stringify(newJson);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonResp) {\r
+                                               alert("Link saved successfully!!!");\r
+                                               jsonobj["id"]= jsonResp.topologicalLink.id;\r
+                                               $('#link').bootstrapTable("append", jsonobj);\r
+                                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                                               \r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+               })
\ No newline at end of file
index 33da54a..e812a46 100644 (file)
@@ -1,3 +1,18 @@
+/* Copyright (c) 2016, Huawei Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *              http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
 $(function(){\r
        $('.creat-btn').click(function(){\r
                                $('#vmAppDialog').addClass('in').css({'display':'block'});\r
diff --git a/openo-portal/portal-lifecyclemgr/js/underlay.js b/openo-portal/portal-lifecyclemgr/js/underlay.js
new file mode 100644 (file)
index 0000000..f5b3145
--- /dev/null
@@ -0,0 +1,119 @@
+/* Copyright (c) 2016, Huawei Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *              http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
\r
+function loadUnderlayData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.l3vpnservice/openoapi/sdnol3vpn/v1/l3vpns";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(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
+}\r
+function deleteUnderlayData(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.l3vpnservice/openoapi/sdnol3vpn/v1/l3vpns/"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("deleting underlay data");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting underlay data : " + xhr.responseText);         \r
+                                       }\r
+                               });\r
+}\r
+function loadOverlayData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.overlayvpnservice/openoapi/sdnooverlayvpn/v1/site2dc-vpn";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(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
+}\r
+function refressTpDataTable(overlayTable,TpTable){\r
+       alert("refesssing Tp data table");\r
+}\r
+$(function(){\r
+       $.fn.serializeObject = function() {\r
+                               var o = {};\r
+                               var a = this.serializeArray();\r
+                               $.each(a, function() {\r
+                                       if (o[this.name] !== undefined) {\r
+                                               if (!o[this.name].push) {\r
+                                                       o[this.name] = [ o[this.name] ];\r
+                                               }\r
+                                       o[this.name].push(this.value || '');\r
+                                       } else {\r
+                                               o[this.name] = this.value || '';\r
+                                       }\r
+                               });\r
+                       return o;\r
+                       };\r
+       $('#createUnderlay').click(function(){\r
+                               var formData = JSON.stringify($("#underlayForm").serializeObject());\r
+                               alert(formData);\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.l3vpnservice/openoapi/sdnol3vpn/v1/l3vpns";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details saved successfully!!!");\r
+                                               //var data = [jsonobj.name,jsonobj.hostName,jsonobj.productName,jsonobj.vendor,jsonobj.description];\r
+                                               //TODO: update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+       $('.underlayNameLink').click(function(){\r
+               alert("coming here");\r
+               var data = $(this).parent().parent().parent().find('td:last').find('div:last').html();\r
+               alert(data);\r
+               var jsonObj = JSON.parse(data);\r
+               for(var i = 0; i < jsonObj.length; i++) {\r
+                   var obj = jsonObj[i];\r
+                       var rowData = [obj.tpName,obj.peName,obj.vlanId,obj.siteCidr,obj.ip];\r
+                       $('#underlayTpDataTable').DataTable();\r
+                       $('#underlayTpDataTable').dataTable().fnAddData(rowData);\r
+               }\r
+\r
+       });\r
+       \r
+})
\ No newline at end of file
diff --git a/openo-portal/portal-lifecyclemgr/js/vpn.js b/openo-portal/portal-lifecyclemgr/js/vpn.js
new file mode 100644 (file)
index 0000000..6840dce
--- /dev/null
@@ -0,0 +1,306 @@
+/* Copyright (c) 2016, Huawei Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *              http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
\r
+function deleteSite(objectId){\r
+       alert(objectId);\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details deleted successfully!!!");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting site: " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+}\r
+function deleteLink(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details deleted successfully!!!");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting link : " + xhr.responseText);  \r
+                                       }\r
+                               });\r
+}\r
+\r
+function deleteNe(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/sdnobrs/v1/managed-elements"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details deleted successfully!!!");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting ne : " + xhr.responseText);    \r
+                                       }\r
+                               });\r
+}\r
+\r
+function deletePort(objectId){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points"+objectId;\r
+                       $\r
+                               .ajax({\r
+                                       type : "DELETE",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details deleted successfully!!!");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on deleting port : " + xhr.responseText);  \r
+                                       }\r
+                               });\r
+}\r
+function loadSiteData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("loading Site data");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting site data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+function loadLinkData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("loading Link data");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting link data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+function loadNeData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/sdnobrs/v1/managed-elements";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("loading NE data");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting ne data : " + xhr.responseText);        \r
+                                       }\r
+                               });\r
+}\r
+function loadPortData(){\r
+       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points";\r
+                       $\r
+                               .ajax({\r
+                                       type : "GET",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       success : function(jsonobj) {\r
+                                               alert("loading port data");\r
+                                               //TODO: Update the table\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on getting port data : " + xhr.responseText);      \r
+                                       }\r
+                               });\r
+}\r
+$(function(){\r
+                       $('.creat-btn').click(function(){\r
+                               $('#vmAppDialog').addClass('in').css({'display':'block'});\r
+                               \r
+                       });\r
+                       $('.close,.button-previous').click(function(){\r
+                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                       });\r
+                       $('.detail-top ul li').click(function(){\r
+                               $(this).addClass('current').siblings().removeClass('current');\r
+                       });\r
+                       $('.para').click(function(){                            \r
+                               if($('#serviceTemplateName').val() == ''){\r
+                                       alert('Please choose the service templet!');\r
+                                       $('#flavorTab').css('display','none');\r
+                               }else{\r
+                                       $('#flavorTab').css('display','block');\r
+                               }\r
+                               $('#basicTab').css('display','block');\r
+                       });\r
+                       $('.basic').click(function(){\r
+                               $('#flavorTab').css('display','none');\r
+                       });\r
+                       \r
+                       $('.table tbody tr').click(function(){\r
+                               $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');\r
+                       });\r
+                       $('.table tr:odd').addClass('active');\r
+                       $('#false').click(function(){\r
+                               $('#vmAppDialog').addClass('in').css({'display':'block'});\r
+                       });\r
+                       $('.close,.button-previous').click(function(){\r
+                               $('#vmAppDialog').removeClass('in').css('display','none');\r
+                       });\r
+                       $('#filterTpLogicalType').click(function(){\r
+                               $('#filterTpLogicalType_select_popupcontainer').toggleClass('openo-hide');\r
+                               $('#filterTpLogicalType').toggleClass('openo-focus');\r
+                               var oLeft = $('#open_base_tpL_td6').offset().left;\r
+                       var oTop = $('#open_base_tpL_td6').offset().top;\r
+                       var oHeight = $('#open_base_tpL_td6').height();\r
+                       $('#filterTpLogicalType_select_popupcontainer').css({'left':oLeft,'top':oTop + oHeight + 10});\r
+                       });\r
+                       $('div.openo-select-popup-container>div.openo-select-item>label').click(function(){\r
+                               var Lvalue = $(this).html();\r
+                               $('#filterTpLogicalType_select_input').attr('value',Lvalue);\r
+                               $('#filterTpLogicalType_select_popupcontainer').addClass('openo-hide');\r
+                               $('#filterTpLogicalType').removeClass('openo-focus');\r
+                       });\r
+                       $.fn.serializeObject = function() {\r
+                               var o = {};\r
+                               var a = this.serializeArray();\r
+                               $.each(a, function() {\r
+                                       if (o[this.name] !== undefined) {\r
+                                               if (!o[this.name].push) {\r
+                                                       o[this.name] = [ o[this.name] ];\r
+                                               }\r
+                                       o[this.name].push(this.value || '');\r
+                                       } else {\r
+                                               o[this.name] = this.value || '';\r
+                                       }\r
+                               });\r
+                       return o;\r
+                       };\r
+                       $('#createSite').click(function(){\r
+                               var formData = JSON.stringify($("#vmAppForm").serializeObject());\r
+                               alert(formData);\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/sites";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details saved successfully!!!");\r
+                                               var data = [jsonobj.name,jsonobj.hostName,jsonobj.productName,jsonobj.vendor,jsonobj.description];\r
+                                               $('#example').dataTable().fnAddData(data);\r
+                                               $('.modal').modal('hide');\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createNe').click(function(){\r
+                               var formData = JSON.stringify($("#neForm").serializeObject());\r
+                               alert(formData);\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/sdnobrs/v1/managed-elements";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details saved successfully!!!");\r
+                                               var data = [jsonobj.name,jsonobj.hostName,jsonobj.productName,jsonobj.vendor,jsonobj.description];\r
+                                               $('#example').dataTable().fnAddData(data);\r
+                                               $('.modal').modal('hide');\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createPort').click(function(){\r
+                               var formData = JSON.stringify($("#portForm").serializeObject());\r
+                               alert(formData);\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/logical-termination-points";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details saved successfully!!!");\r
+                                               var data = [jsonobj.name,jsonobj.hostName,jsonobj.productName,jsonobj.vendor,jsonobj.description];\r
+                                               $('#example').dataTable().fnAddData(data);\r
+                                               $('.modal').modal('hide');\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+                       $('#createLink').click(function(){\r
+                               var formData = JSON.stringify($("#linkForm").serializeObject());\r
+                               alert(formData);\r
+                       var jsonobj = JSON.parse(formData);\r
+                       var requestUrl = "http://localhost:8080/org.openo.sdno.brs/openoapi/sdnobrs/v1/topological-links";\r
+                       $\r
+                               .ajax({\r
+                                       type : "POST",\r
+                                       url : requestUrl,\r
+                                       contentType : "application/json",\r
+                                       dataType : "json",\r
+                                       data : formData,\r
+                                       success : function(jsonobj) {\r
+                                               alert("Details saved successfully!!!");\r
+                                               var data = [jsonobj.name,jsonobj.hostName,jsonobj.productName,jsonobj.vendor,jsonobj.description];\r
+                                               $('#example').dataTable().fnAddData(data);\r
+                                               $('.modal').modal('hide');\r
+                                       },\r
+                                       error : function(xhr, ajaxOptions, thrownError) {\r
+                                               alert("Error on page : " + xhr.responseText);   \r
+                                       }\r
+                               });\r
+                       });\r
+                       \r
+               })
\ No newline at end of file
diff --git a/openo-portal/portal-lifecyclemgr/overlayvpn.html b/openo-portal/portal-lifecyclemgr/overlayvpn.html
new file mode 100644 (file)
index 0000000..b0337fc
--- /dev/null
@@ -0,0 +1,136 @@
+\r
+<!DOCTYPE html>\r
+<html>\r
+<head>\r
+       <head lang="en">\r
+       <meta charset="UTF-8">\r
+       <title></title>\r
+       <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
+       <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/brs.js"></script>   \r
+    <script type="text/javascript" src="js/underlay.js"></script>\r
+    <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
+       <style type="text/css">\r
+       </style>\r
+       <script type="text/javascript">\r
+       $(document).ready(function() {\r
+               var jsondata = [];\r
+               jsondata = loadOverlayData();\r
+\r
+                       $('#sai').bootstrapTable({\r
+                       //Assigning data to table\r
+                               data: jsondata\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
+    }\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
+</head>\r
+<body id="open_base_vpn_cotentBody" class="cotentBody ng-scope">\r
+       <div class="container-fluid ms-controller">\r
+               \r
+       <h3>    Overlay VPN     </h3>\r
+               <div class="row-fluid" data-name="table_zone">\r
+                       <div id='ict_virtualApplication_table_div'>\r
+                <div>\r
+                    <div class="top">\r
+                        <table id="sai" data-pagination="true" data-page-size="5" data-pagination-first-text="First" data-pagination-pre-text="Previous" data-pagination-next-text="Next" data-pagination-last-text="Last">\r
+                            <thead id="soverlayTable_thead" class="openo-table-thead">\r
+                                                               <tr class="active">\r
+                                                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayName" data-sortable="true">\r
+                                                                               <div class="openo-table-th-border"></div>\r
+                                                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                                                       <span id="overlayName_sorticon" class="openo-table-th-sorticon overflow_elip openoTable_sortable leftHeaderAlign  openo-table-disable-element">Name\r
+                    </span>\r
+                                       </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayDesc" data-sortable="true">\r
+                                               <div class="openo-table-th-border"></div>\r
+                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                       <span id="overlayDesc_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element "> Description\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayThincCPE" data-sortable="true">\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="overlayThincCPE_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Thin CPE\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayPortVlanID" data-sortable="true">\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="overlayPortVlanID_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Port:Vlan ID\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayDCName" data-sortable="true">\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="overlayDCName_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">DC Name\r
+                    </span></div></th>                 \r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayVPC" data-sortable="true">\r
+                                          <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                             <span id="overlayVPC_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">VPC\r
+                          </span>\r
+                                          </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayVPCCIDR" data-sortable="true">\r
+                                          <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                             <span id="overlayVPCCIDR_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">VPC CIDR\r
+                          </span>\r
+                                          </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="overlayOperation"  align="center" data-formatter = "operateFormatter" data-events="operateEvents">\r
+                                               <div class="openo-table-th-border"></div>\r
+                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                       <span id="portAction_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Action</span>\r
+                                               </div>\r
+                                       </th>                                   \r
+                               </tr></thead>\r
+                                                       <!-- <tbody>\r
+                                                               <tr style="display: none;">\r
+                                                                       <td colspan="7" style="text-align: center;">NULL</td>\r
+                                                               </tr>\r
+                                                               <tr class="odd  openo-table-tr openo-table-disable-element" data-rowid="0" data-tableid="overlayTable">\r
+                                                                       <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayName" data-tableid="overlayTable">\r
+                                                                               <div class="openo-table-disable-element overflow_elip leftDataAlign">\r
+                                                                                       <a class="openo-table-disable-element hyperLinkRow" href="javascript:void(0)" id="overlayTable_0_overlayName_link">overlay1</a></div></td>\r
+                                                                       <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayDesc" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayDesc_custom_el">overlay 101</div>\r
+                                    </td>\r
+                                    <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayThincCPE" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayThincCPE_custom_el">chaxuanyue</div>\r
+                                    </td>\r
+                                    <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayPortVlanID" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayPortVlanID_custom_el">Bangalore</div>\r
+                                    </td>\r
+                                                                   <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayDCName" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayDCName_custom_el">Bangalore</div>\r
+                                    </td>\r
+                                                                   <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayVPC" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayVPC_custom_el">Bangalore</div>\r
+                                    </td>\r
+                                                                   <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayVPCCIDR" data-tableid="overlayTable"><div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="overlayTable_0_overlayVPCCIDR_custom_el">Bangalore</div>\r
+                                    </td>\r
+                                    <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="overlayOperation" data-tableid="overlayTable">\r
+                                        <div class="openo-table-disable-element overflow_elip leftDataAlign openo-table-custom-el" id="overlayTable_0_overlayOperation_custom_el">\r
+                                                                                   <div>\r
+                                                                                           <img src="images/delete.png" href="javascript:void(0)" onclick="deleteoverlay('this')" opertype="overlayDelete" style="cursor: pointer" title="Delete" id="bac4ff3c-d693-4f54-86cd-25af1ea22f59" rowid="0/">\r
+                                                                                       </div>\r
+                                                                               </div>\r
+                                                                       </td>\r
+                                                               </tr>\r
+                                                       </tbody> -->\r
+                        </table>\r
+                    </div>\r
+                </div>\r
+            </div>\r
+               </div>\r
+               \r
+               \r
+       \r
+\r
+</body>\r
+</html>
\ No newline at end of file
diff --git a/openo-portal/portal-lifecyclemgr/sdnovpn.html b/openo-portal/portal-lifecyclemgr/sdnovpn.html
new file mode 100644 (file)
index 0000000..a5c6b54
--- /dev/null
@@ -0,0 +1,99 @@
+<!doctype html>\r
+<html>\r
+<head>\r
+<meta charset="utf-8">\r
+<title></title>\r
+       <link href="css/bootstrap.min.css" rel="stylesheet" />\r
+       <link href="css/RMain.css" rel="stylesheet" />\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
+</head>\r
+<script type="text/javascript">\r
+    $(function(){\r
+        $('.openo_accordion_ui-icon-expand,.header').click(function(){\r
+            $('#accordionmenuid_ul_0_0_brAppTopMenuID_UL').slideToggle(500);\r
+            $('.openo_accordion_ui-icon-expand').toggleClass('current')\r
+        });\r
+        $('.openoAccordian_showHideArrow_hide').click(function(){\r
+            // $('#open_base_openo').css('margin-left','-200px');\r
+            // $('#open_base_openo').css('display','none');\r
+            // $('.bar').css('display','block');\r
+            if($('#accordionmenuid').width() >= 200){\r
+                $('#accordionmenuid').width('18px');\r
+                $('.openo_accordion_ui-icon-expand,.header,#accordionmenuid_ul_0_0_brAppTopMenuID_UL li a').css('display','none');\r
+                $('#accordionmenuid_arrow').attr('classname','openoAccordian_showHideArrow_show');\r
+                $('#iframeContainer').css('width','1284px');                \r
+            }else if($('#accordionmenuid').width() == 18){\r
+                $('#accordionmenuid').width('220px');\r
+                $('.openo_accordion_ui-icon-expand,.header,#accordionmenuid_ul_0_0_brAppTopMenuID_UL li a').css('display','block');\r
+                $('#accordionmenuid_arrow').attr('classname','openoAccordian_showHideArrow_hide');\r
+                $('#iframeContainer').css('width','1063px');\r
+            }\r
+            \r
+        });\r
+        $('.bar span').click(function(){\r
+            $('#open_base_openo').css('display','block');\r
+            $('.bar').css('display','none');\r
+             $('#iframeContainer').css('width','1063px');\r
+        });\r
+        $('#accordionmenuid_ul_0_0_brAppTopMenuID_UL li').click(function(){\r
+            $(this).addClass('openo_accordion_selected').siblings().removeClass('openo_accordion_selected');\r
+        });\r
+        $('#accordionmenuid_ul_0_0_brAppTopMenuID_UL_1_0_brAppSiteMenuID').click(function(){\r
+            $('#accordionContent').attr('src','overlayvpn.html');\r
+        });\r
+        $('#accordionmenuid_ul_0_0_brAppTopMenuID_UL_1_1_brAppMeMenuID').click(function(){\r
+            $('#accordionContent').attr('src','underlayvpn.html');\r
+        });\r
+    })\r
+</script>\r
+<body>\r
+    <div id="febDiv" style="overflow: hidden;">\r
+    <div id="open_base_feb">\r
+        <!--use for store menu come from feb service, maybe just a temple plan-->\r
+        <div id="app">\r
+            <div id="iemp_layout_container" ng-controller="resourceCtrl" class="iemp_layout_container ng-scope">\r
+\r
+                <table id="open_base_table" class="three-cols-layout">\r
+                    <tbody id="open_base_tbody">\r
+                    <tr id="open_base_tr">\r
+                        <td class="bar">\r
+                            <span></span>\r
+                        </td>\r
+                        <td id="open_base_openo" class="three-cols-column three-cols-left">\r
+                            <div id="accordionmenuid" allow-resize="true" dataset="dataArr" height="resHeight" listeners="callBacklisteners" resize-callback="resizehandler" current-select="currentselect" click="clickHandler" class="ng-isolate-scope accordion_parent openo_accordion_main_menu" style="height: 870px;">\r
+                                <div class="openo-accordion-resizable-handle" style="cursor: auto;"></div>\r
+                                <ul id="accordionmenuid_ul" class="openoAccordian_accordionmenu">\r
+                                    <li id="accordionmenuid_ul_0_0_brAppTopMenuID" nodeid="brAppTopMenuID">\r
+                                        <span class="openo_accordion_ui-icon-expand" style="padding-left: 20px; height: 60px;cursor: pointer;"></span>\r
+                                        <span class="openoAccordian_showHideArrow_hide" id="accordionmenuid_arrow" style="cursor: pointer;"></span>\r
+                                        <a title="brApp" class="header opened" style="padding-left: 10px; cursor: pointer;">VPN Manager</a>\r
+                                        <ul id="accordionmenuid_ul_0_0_brAppTopMenuID_UL">\r
+                                            <li id="accordionmenuid_ul_0_0_brAppTopMenuID_UL_1_0_brAppSiteMenuID" nodeid="brAppSiteMenuID" class="" style="display: list-item;">\r
+                                                <a title="点击访问站点" class="" style="padding-left: 62px;">Overlay VPN</a>\r
+                                                                                       </li>\r
+                                            <li id="accordionmenuid_ul_0_0_brAppTopMenuID_UL_1_1_brAppMeMenuID" nodeid="brAppMeMenuID" style="display: list-item;">\r
+                                                <a title="点击访问网元" style="padding-left: 62px;">Underlay VPN</a>\r
+                                            </li>\r
+                                        </ul>\r
+                                    </li>\r
+                                </ul>\r
+                            </div>\r
+\r
+                        </td>\r
+                        <td id="open_base_iframe" class="three-cols-column three-cols-center" style="padding: 0px;">\r
+\r
+                            <div id="iframeContainer" class="frame-class" style="height: 870px;">\r
+                                <iframe id="accordionContent" src="" height="870px"></iframe>\r
+                            </div>\r
+                        </td>\r
+                    </tr>\r
+                    </tbody>\r
+                </table>\r
+\r
+            </div>\r
+        </div>\r
+    </div>\r
+</div>\r
+</body>\r
+</html>
\ No newline at end of file
diff --git a/openo-portal/portal-lifecyclemgr/underlayvpn.html b/openo-portal/portal-lifecyclemgr/underlayvpn.html
new file mode 100644 (file)
index 0000000..94dbdf7
--- /dev/null
@@ -0,0 +1,208 @@
+\r
+<!DOCTYPE html>\r
+<html>\r
+<head>\r
+       <head lang="en">\r
+       <meta charset="UTF-8">\r
+       <title></title>\r
+       <link href="css/bootstrap.min.css" rel="stylesheet" />\r
+       <link href="css/jquery.dataTables.min.css" rel="stylesheet" />\r
+       <link href="css/VMMain.css" rel="stylesheet" />\r
+       <link href="css/bootstrap-table.min.css" rel="stylesheet" />\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/brs.js"></script>\r
+    <script type="text/javascript" src="js/underlay.js"></script>\r
+    <script type="text/javascript" src="js/bootstrap-table.min.js"></script>\r
+       <style type="text/css">\r
+       hr {\r
+  ##-moz-border-bottom-colors: none;\r
+  -moz-border-image: none;\r
+  -moz-border-left-colors: none;\r
+  -moz-border-right-colors: none;\r
+  -moz-border-top-colors: none;\r
+  ##border-color: #EEEEEE -moz-use-text-color #FFFFFF;\r
+  border-style: solid none;\r
+  border-width: 1px 0;\r
+  margin: 50px 0;\r
+}\r
+       </style>\r
+       <script type="text/javascript">\r
+       $(document).ready(function() {\r
\r
+\r
+var jsondata =loadUnderlayData();\r
+               $('#tbl_overlay').bootstrapTable({\r
+               //Assigning data to table\r
+                       data: jsondata\r
+               });\r
+               $('#underlayTpDataTable').bootstrapTable({\r
+                       //Assigning data to table\r
+                               data: {}\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
+    }\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
+\r
+        \r
+        function nameFormatter(value, row) {\r
+               jsonForTP = row.json.data;\r
+               var name=JSON.stringify(row.json.data);\r
+               var temp = "<a class='underlayNameLink' onclick='getMethod(this)' name='"+ name + "' data-events='operateEventsU'>" + value + "</a>";\r
+        return temp;\r
+    }\r
+        function getMethod(obj){\r
+                //Update the lower table here\r
+                \r
+                $('#underlayTpDataTable').bootstrapTable(\r
+                       //Assigning data to table\r
+                               "append", JSON.parse(obj.name)\r
+                       );\r
+        }\r
+       </script>\r
+</head>\r
+<body id="open_base_vpn_cotentBody" class="cotentBody ng-scope">\r
+       <div class="container-fluid ms-controller">\r
+                               <h3>Underlay VPN</h3>\r
+               <div class="row-fluid" data-name="table_zone">\r
+                       <div id='ict_virtualApplication_table_div'>\r
+                <div>\r
+                    <div class="top">\r
+                        <table id="tbl_overlay" data-pagination="true" data-page-size="5" data-pagination-first-text="First" data-pagination-pre-text="Previous" data-pagination-next-text="Next" data-pagination-last-text="Last">\r
+                            <thead id="sunderlayTable_thead" class="openo-table-thead">\r
+                                                               <tr class="active">\r
+                                                               \r
+               \r
+                                                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-formatter="nameFormatter" data-field="underlayName" data-sortable="true">\r
+                                                                               <div class="openo-table-th-border"></div>\r
+                                                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                                                       <span id="underlayName_sorticon" class="openo-table-th-sorticon overflow_elip openoTable_sortable leftHeaderAlign  openo-table-disable-element ">Name\r
+                    </span>\r
+                                       </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantName" data-sortable="true">\r
+                                           <div class="openo-table-th-border"></div>\r
+                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                   <span id="underlayTenantName_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">State\r
+                            </span>\r
+                                               </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayType" data-sortable="true">\r
+                                               <div class="openo-table-th-border"></div>\r
+                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                       <span id="underlayType_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element " >Description\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayDescription" align="center" data-formatter = "operateFormatter" data-events="operateEvents">\r
+                                          <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                             <span id="underlayDescription_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Action\r
+                          </span>\r
+                                          </div>\r
+                                       </th>\r
+                                       <!-- <th style="display: none;" class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantName">\r
+                           <div class="openo-table-th-border"></div>\r
+                                   <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="underlayObjId_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">ID\r
+                                </span>\r
+                           </div>\r
+                       </th>\r
+                                                                       <th style="display: none;" class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantName">\r
+                                                           <div class="openo-table-th-border"></div>\r
+                                                                   <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                                       <span id="underlayObjData_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Data\r
+                                                </span>\r
+                                                                   </div>\r
+                                                       </th> -->\r
+                                       </tr>\r
+                                       </thead>\r
+                                                   <!-- <tbody>\r
+                                                               <tr style="display: none;">\r
+                                                                       <td colspan="7" style="text-align: center;">NULL</td>\r
+                                                               </tr>\r
+                                                               <tr class="odd  openo-table-tr openo-table-disable-element" data-rowid="0" data-tableid="underlayTable">\r
+                                                               \r
+                                                                       <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayName" data-tableid="underlayTable">\r
+                                                                               <div class="openo-table-disable-element overflow_elip leftDataAlign">\r
+                                                                                       <a class="underlayNameLink" href="javascript:void(0)" id="underlayTable_0_underlayName_link">underlay1</a>\r
+                                                                               </div>\r
+                                                                       </td>\r
+                                                                       <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayType" data-tableid="underlayTable">\r
+                                                                           <div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="underlayTable_0_underlayType_custom_el">underlay 101</div>\r
+                                    </td>\r
+                                    <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayTenantName" data-tableid="underlayTable">\r
+                                                                           <div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="underlayTable_0_underlayTenantName_custom_el">chaxuanyue</div>\r
+                                    </td>\r
+                                    <td class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayOperation" data-tableid="underlayTable">\r
+                                        <div class="openo-table-disable-element overflow_elip leftDataAlign openo-table-custom-el" id="underlayTable_0_underlayOperation_custom_el">\r
+                                                                                   <div>\r
+                                                                                           <img src="images/delete.png" href="javascript:void(0)" onclick="deleteUnderlayData('this')" opertype="underlayDelete" style="cursor: pointer" title="Delete" id="bac4ff3c-d693-4f54-86cd-25af1ea22f59" rowid="0/">\r
+                                                                                       </div>\r
+                                                                               </div>\r
+                                                                       </td>\r
+                                                                       <td style="display: none;" class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayType" data-tableid="underlayTable">\r
+                                                                           <div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="underlayTable_0_underlayType_custom_el">ID12345</div>\r
+                                    </td>\r
+                                                                       <td style="display: none;" class="openo-table-disable-element openo-table-td overflow_elip leftDataAlign tableHeaderTDTopBorderColor" data-colid="underlayType" data-tableid="underlayTable">\r
+                                                                           <div class="overflow_elip leftDataAlign openo-table-custom-el openo-table-disable-element" id="underlayTable_0_underlayType_custom_el">[{"tpName":"tp345","peName":"pe123","vlanId":"12344","siteCidr":"tettd","ip":"1.1.1.1"},{"tpName":"tp345","peName":"8xzxze123","vlanId":"234","siteCidr":"tettd","ip":"10.10.1.10"}]</div>\r
+                                    </td>\r
+                                                               </tr>\r
+                                                       </tbody> -->\r
+                        </table>\r
+                    </div>\r
+                </div>\r
+            </div>\r
+               </div>\r
+               <hr>\r
+               <h3>TP Details</h3>\r
+               <div class="row-fluid" data-name="table_zone">\r
+                       <div id='ict_virtualApplication_table_div'>\r
+                <div>\r
+                    <div class="top">\r
+                        <table id="underlayTpDataTable" data-pagination="true" data-page-size="5" data-pagination-first-text="First" data-pagination-pre-text="Previous" data-pagination-next-text="Next" data-pagination-last-text="Last">\r
+                            <thead id="underlayTable_thead" class="openo-table-thead">\r
+                                                               <tr class="active">\r
+                                                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayName">\r
+                                                                               <div class="openo-table-th-border"></div>\r
+                                                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                                                       <span id="underlayName_sorticon" class="openo-table-th-sorticon overflow_elip openoTable_sortable leftHeaderAlign  openo-table-disable-element ">TP Name\r
+                    </span>\r
+                                       </div>\r
+                                       </th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayType">\r
+                                               <div class="openo-table-th-border"></div>\r
+                                               <div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                                       <span id="underlayType_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">PE Name\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantName">\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="underlayTenantName_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">VLAN ID\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantunderlayName" >\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="underlayTenantunderlayName_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">Site CIDR\r
+                    </span></div></th>\r
+                                       <th class="openo-table-state-default openo-table-th openo-table-disable-element  leftHeaderAlign" data-field="underlayTenantunderlayIP">\r
+                                       <div class="openo-table-th-border"></div><div class="DataTables_sort_wrapper openo-ellipsis ">\r
+                                       <span id="underlayTenantunderlayName_sorticon" class="openo-table-th-sorticon overflow_elip  leftHeaderAlign  openo-table-disable-element ">IP\r
+                    </span></div></th>\r
+                                       </tr></thead>\r
+                                                       <!-- <tbody>\r
+                                                       </tbody> -->\r
+                        </table>\r
+                    </div>\r
+                </div>\r
+            </div>\r
+               </div>\r
+       </div>\r
+       <div id="filterTpLogicalType_select_popupcontainer" class="openo openo-select-popup-container openo-hide" style="width: 155px; max-height: 130px; left: 628px; top: 104px; z-index: 1761;"><div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_0"><label class="openo-ellipsis openo-select-blank-item" style="width: 100%; display: block; height: 20px;"></label></div><div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_1"><label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">ETH</label></div><div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_2"><label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;" title="POS">POS</label></div><div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_3"><label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Trunk</label></div><div class="openo-select-item openo-ellipsis  " id="filterTpLogicalType_openo-select-id_4"><label class="openo-ellipsis " style="width: 100%; display: block; height: 20px;">Loopback</label></div></div>\r
+</body>\r
+</html>
\ No newline at end of file