/* Copyright 2016-2017, Huawei Technologies Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ $('.siteDeleteImg').click(function () { var data = $(this).parent().parent().parent().find('td:last').find('div:last').html(); alert(data); var jsonObj = JSON.parse(data); for (var i = 0; i < jsonObj.length; i++) { var obj = jsonObj[i]; var rowData = [obj.tpName, obj.peName, obj.vlanId, obj.siteCidr, obj.ip]; $('#underlayTpDataTable').DataTable(); $('#underlayTpDataTable').dataTable().fnAddData(rowData); } }); function deleteSite(objectId) { var requestUrl = "/openoapi/sdnobrs/v1/sites/" + objectId; $ .ajax({ type: "DELETE", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#site').bootstrapTable('remove', { field: 'id', values: [objectId] }); alert("Delete Site successfull !!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on deleting site: " + xhr.responseText); } }); } function deleteLink(objectId) { var requestUrl = "/openoapi/sdnobrs/v1/topological-links/" + objectId; $ .ajax({ type: "DELETE", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#link').bootstrapTable('remove', { field: 'id', values: [objectId] }); alert("Delete Link successfull !!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on deleting link : " + xhr.responseText); } }); } function deleteNe(objectId) { var requestUrl = "/openoapi/sdnobrs/v1/managed-elements/" + objectId; $ .ajax({ type: "DELETE", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#ne').bootstrapTable('remove', { field: 'id', values: [objectId] }); alert("Delete NE successfull !!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on deleting ne : " + xhr.responseText); } }); } function deletePort(objectId) { var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points/" + objectId; $ .ajax({ type: "DELETE", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#port').bootstrapTable('remove', { field: 'id', values: [objectId] }); alert("Delete Port successfull !!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on deleting port : " + xhr.responseText); } }); } function loadSiteData() { var requestUrl = "/openoapi/sdnobrs/v1/sites"; $ .ajax({ type: "GET", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#site').bootstrapTable({ data: jsonobj.sites }); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on getting site data : " + xhr.responseText); } }); } function loadLinkData() { var requestUrl = "/openoapi/sdnobrs/v1/topological-links"; $ .ajax({ type: "GET", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#link').bootstrapTable({ data: jsonobj.topologicalLinks }); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on getting link data : " + xhr.responseText); } }); } function loadNeData() { var requestUrl = "/openoapi/sdnobrs/v1/managed-elements"; $ .ajax({ type: "GET", url: requestUrl, contentType: "application/json", success: function (jsonobj) { var nedata = jsonobj.managedElements; var neMap = []; neMap = loadControllerData(); /*$.each(nedata,function(k,v){ nedata[k]; })*/; $('#ne').bootstrapTable({ data: nedata }); $('#ne').bootstrapTable('refresh'); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on getting ne data : " + xhr.responseText); } }); } function loadPortData() { var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points"; $ .ajax({ type: "GET", url: requestUrl, contentType: "application/json", success: function (jsonobj) { $('#port').bootstrapTable({ data: jsonobj.logicalTerminationPoints }); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on getting port data : " + xhr.responseText); } }); } function loadControllerData() { var neMap = []; var requestUrl = "/openoapi/extsys/v1/sdncontrollers"; $.ajax({ type: "GET", async: false, url: requestUrl, contentType: "application/json", success: function (jsonobj) { neMap = fillSelect(jsonobj); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on getting controller data : " + xhr.responseText); } }); return neMap; } function fillSelect(str){ var json; if(typeof str === 'object'){ json = str; } else{ json = eval('(' + str + ')'); } var seleObj = $('#controller') seleObj.find("option").remove(); var neMap = []; for(var i=0;i < json.length;i++){ seleObj.append(''); neMap[json[i].sdnControllerId] = json[i].name; } return neMap; } $(function () { $('.creat-btn').click(function () { $('#vmAppDialog').addClass('in').css({'display': 'block'}); }); $('.close,.button-previous').click(function () { $('#vmAppDialog').removeClass('in').css('display', 'none'); }); $('.detail-top ul li').click(function () { $(this).addClass('current').siblings().removeClass('current'); }); $('.para').click(function () { if ($('#serviceTemplateName').val() == '') { alert('Please choose the service templet!'); $('#flavorTab').css('display', 'none'); } else { $('#flavorTab').css('display', 'block'); } $('#basicTab').css('display', 'block'); }); $('.basic').click(function () { $('#flavorTab').css('display', 'none'); }); $('.table tbody tr').click(function () { $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected'); }); $('.table tr:odd').addClass('active'); $('#false').click(function () { loadControllerData(); $('#vmAppDialog').addClass('in').css({'display': 'block'}); }); $('.close,.button-previous').click(function () { $('#vmAppDialog').removeClass('in').css('display', 'none'); }); $('#filterTpLogicalType').click(function () { $('#filterTpLogicalType_select_popupcontainer').toggleClass('openo-hide'); $('#filterTpLogicalType').toggleClass('openo-focus'); var oLeft = $('#open_base_tpL_td6').offset().left; var oTop = $('#open_base_tpL_td6').offset().top; var oHeight = $('#open_base_tpL_td6').height(); $('#filterTpLogicalType_select_popupcontainer').css({'left': oLeft, 'top': oTop + oHeight + 10}); }); $('div.openo-select-popup-container>div.openo-select-item>label').click(function () { var Lvalue = $(this).html(); $('#filterTpLogicalType_select_input').attr('value', Lvalue); $('#filterTpLogicalType_select_popupcontainer').addClass('openo-hide'); $('#filterTpLogicalType').removeClass('openo-focus'); }); $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; $('#createSite').click(function () { var formData = JSON.stringify($("#vmAppForm").serializeObject()); var jsonobj = JSON.parse(formData); var newJson = {"site": jsonobj}; formData = JSON.stringify(newJson); var requestUrl = "/openoapi/sdnobrs/v1/sites"; $ .ajax({ type: "POST", url: requestUrl, contentType: "application/json", dataType: "json", data: formData, success: function (jsonResp) { alert("Site saved successfully!!!"); jsonobj["id"] = jsonResp.site.id; $('#site').bootstrapTable("append", jsonobj); $('#vmAppDialog').removeClass('in').css('display', 'none'); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on page : " + xhr.responseText); } }); }); $('#createNe').click(function () { var formData = JSON.stringify($("#neForm").serializeObject()); var jsonobj = JSON.parse(formData); var controllerIDs = [] ; controllerIDs[0]= jsonobj.controller; jsonobj.controllerID = controllerIDs; var newJson = {"managedElement": jsonobj}; formData = JSON.stringify(newJson); var requestUrl = "/openoapi/sdnobrs/v1/managed-elements"; $ .ajax({ type: "POST", url: requestUrl, contentType: "application/json", dataType: "json", data: formData, success: function (jsonResp) { alert("NE saved successfully!!!"); jsonobj["id"] = jsonResp.managedElement.id; $('#ne').bootstrapTable("append", jsonobj); $('#vmAppDialog').removeClass('in').css('display', 'none'); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on page : " + xhr.responseText); } }); }); $('#createPort').click(function () { var formData = JSON.stringify($("#portForm").serializeObject()); var jsonobj = JSON.parse(formData); var newJson = {"logicalTerminationPoint": jsonobj}; formData = JSON.stringify(newJson); var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points"; $ .ajax({ type: "POST", url: requestUrl, contentType: "application/json", dataType: "json", data: formData, success: function (jsonResp) { alert("Port saved successfully!!!"); jsonobj["id"] = jsonResp.logicalTerminationPoint.id; $('#port').bootstrapTable("append", jsonobj); $('#vmAppDialog').removeClass('in').css('display', 'none'); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on page : " + xhr.responseText); } }); }); $('#createLink').click(function () { var formData = JSON.stringify($("#linkForm").serializeObject()); var jsonobj = JSON.parse(formData); var newJson = {"topologicalLink": jsonobj}; formData = JSON.stringify(newJson); var requestUrl = "/openoapi/sdnobrs/v1/topological-links"; $ .ajax({ type: "POST", url: requestUrl, contentType: "application/json", dataType: "json", data: formData, success: function (jsonResp) { alert("Link saved successfully!!!"); jsonobj["id"] = jsonResp.topologicalLink.id; $('#link').bootstrapTable("append", jsonobj); $('#vmAppDialog').removeClass('in').css('display', 'none'); }, error: function (xhr, ajaxOptions, thrownError) { alert("Error on page : " + xhr.responseText); } }); }); })