1 /* Copyright 2016-2017, Huawei Technologies Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
15 $('.siteDeleteImg').click(function () {
16 var data = $(this).parent().parent().parent().find('td:last').find('div:last').html();
18 var jsonObj = JSON.parse(data);
19 for (var i = 0; i < jsonObj.length; i++) {
21 var rowData = [obj.tpName, obj.peName, obj.vlanId, obj.siteCidr, obj.ip];
22 $('#underlayTpDataTable').DataTable();
23 $('#underlayTpDataTable').dataTable().fnAddData(rowData);
29 function deleteSite(objectId) {
30 var requestUrl = "/openoapi/sdnobrs/v1/sites/" + objectId;
35 contentType: "application/json",
36 success: function (jsonobj) {
37 $('#site').bootstrapTable('remove', {
41 alert("Delete Site successfull !!!");
43 error: function (xhr, ajaxOptions, thrownError) {
44 alert("Error on deleting site: " + xhr.responseText);
48 function deleteLink(objectId) {
49 var requestUrl = "/openoapi/sdnobrs/v1/topological-links/" + objectId;
54 contentType: "application/json",
55 success: function (jsonobj) {
56 $('#link').bootstrapTable('remove', {
60 alert("Delete Link successfull !!!");
62 error: function (xhr, ajaxOptions, thrownError) {
63 alert("Error on deleting link : " + xhr.responseText);
68 function deleteNe(objectId) {
69 var requestUrl = "/openoapi/sdnobrs/v1/managed-elements/" + objectId;
74 contentType: "application/json",
75 success: function (jsonobj) {
76 $('#ne').bootstrapTable('remove', {
80 alert("Delete NE successfull !!!");
82 error: function (xhr, ajaxOptions, thrownError) {
83 alert("Error on deleting ne : " + xhr.responseText);
88 function deletePort(objectId) {
89 var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points/" + objectId;
94 contentType: "application/json",
95 success: function (jsonobj) {
96 $('#port').bootstrapTable('remove', {
100 alert("Delete Port successfull !!!");
102 error: function (xhr, ajaxOptions, thrownError) {
103 alert("Error on deleting port : " + xhr.responseText);
107 function loadSiteData() {
108 var requestUrl = "/openoapi/sdnobrs/v1/sites";
113 contentType: "application/json",
114 success: function (jsonobj) {
115 $('#site').bootstrapTable({
119 error: function (xhr, ajaxOptions, thrownError) {
120 alert("Error on getting site data : " + xhr.responseText);
124 function loadLinkData() {
125 var requestUrl = "/openoapi/sdnobrs/v1/topological-links";
130 contentType: "application/json",
131 success: function (jsonobj) {
132 $('#link').bootstrapTable({
133 data: jsonobj.topologicalLinks
136 error: function (xhr, ajaxOptions, thrownError) {
137 alert("Error on getting link data : " + xhr.responseText);
141 function loadNeData() {
143 var requestUrl = "/openoapi/sdnobrs/v1/managed-elements";
148 contentType: "application/json",
149 success: function (jsonobj) {
151 var nedata = jsonobj.managedElements;
153 neMap = loadControllerData();
154 /*$.each(nedata,function(k,v){
158 $('#ne').bootstrapTable({
161 $('#ne').bootstrapTable('refresh');
164 error: function (xhr, ajaxOptions, thrownError) {
165 alert("Error on getting ne data : " + xhr.responseText);
169 function loadPortData() {
170 var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points";
175 contentType: "application/json",
176 success: function (jsonobj) {
177 $('#port').bootstrapTable({
178 data: jsonobj.logicalTerminationPoints
181 error: function (xhr, ajaxOptions, thrownError) {
182 alert("Error on getting port data : " + xhr.responseText);
186 function loadControllerData() {
188 var requestUrl = "/openoapi/extsys/v1/sdncontrollers";
193 contentType: "application/json",
194 success: function (jsonobj) {
196 neMap = fillSelect(jsonobj);
199 error: function (xhr, ajaxOptions, thrownError) {
200 alert("Error on getting controller data : " + xhr.responseText);
205 function fillSelect(str){
207 if(typeof str === 'object'){
211 json = eval('(' + str + ')');
213 var seleObj = $('#controller')
214 seleObj.find("option").remove();
216 for(var i=0;i < json.length;i++){
217 seleObj.append('<option value="'+json[i].sdnControllerId+'">'+json[i].name+'</option>');
218 neMap[json[i].sdnControllerId] = json[i].name;
223 $('.creat-btn').click(function () {
224 $('#vmAppDialog').addClass('in').css({'display': 'block'});
227 $('.close,.button-previous').click(function () {
228 $('#vmAppDialog').removeClass('in').css('display', 'none');
230 $('.detail-top ul li').click(function () {
231 $(this).addClass('current').siblings().removeClass('current');
233 $('.para').click(function () {
234 if ($('#serviceTemplateName').val() == '') {
235 alert('Please choose the service templet!');
236 $('#flavorTab').css('display', 'none');
238 $('#flavorTab').css('display', 'block');
240 $('#basicTab').css('display', 'block');
242 $('.basic').click(function () {
243 $('#flavorTab').css('display', 'none');
246 $('.table tbody tr').click(function () {
247 $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');
249 $('.table tr:odd').addClass('active');
250 $('#false').click(function () {
251 loadControllerData();
252 $('#vmAppDialog').addClass('in').css({'display': 'block'});
254 $('.close,.button-previous').click(function () {
255 $('#vmAppDialog').removeClass('in').css('display', 'none');
257 $('#filterTpLogicalType').click(function () {
258 $('#filterTpLogicalType_select_popupcontainer').toggleClass('openo-hide');
259 $('#filterTpLogicalType').toggleClass('openo-focus');
260 var oLeft = $('#open_base_tpL_td6').offset().left;
261 var oTop = $('#open_base_tpL_td6').offset().top;
262 var oHeight = $('#open_base_tpL_td6').height();
263 $('#filterTpLogicalType_select_popupcontainer').css({'left': oLeft, 'top': oTop + oHeight + 10});
265 $('div.openo-select-popup-container>div.openo-select-item>label').click(function () {
266 var Lvalue = $(this).html();
267 $('#filterTpLogicalType_select_input').attr('value', Lvalue);
268 $('#filterTpLogicalType_select_popupcontainer').addClass('openo-hide');
269 $('#filterTpLogicalType').removeClass('openo-focus');
271 $.fn.serializeObject = function () {
273 var a = this.serializeArray();
274 $.each(a, function () {
275 if (o[this.name] !== undefined) {
276 if (!o[this.name].push) {
277 o[this.name] = [o[this.name]];
279 o[this.name].push(this.value || '');
281 o[this.name] = this.value || '';
286 $('#createSite').click(function () {
287 var formData = JSON.stringify($("#vmAppForm").serializeObject());
288 var jsonobj = JSON.parse(formData);
289 var newJson = {"site": jsonobj};
290 formData = JSON.stringify(newJson);
291 var requestUrl = "/openoapi/sdnobrs/v1/sites";
296 contentType: "application/json",
299 success: function (jsonResp) {
300 alert("Site saved successfully!!!");
301 jsonobj["id"] = jsonResp.site.id;
302 $('#site').bootstrapTable("append", jsonobj);
303 $('#vmAppDialog').removeClass('in').css('display', 'none');
305 error: function (xhr, ajaxOptions, thrownError) {
306 alert("Error on page : " + xhr.responseText);
311 $('#createNe').click(function () {
312 var formData = JSON.stringify($("#neForm").serializeObject());
313 var jsonobj = JSON.parse(formData);
314 var controllerIDs = [] ;
315 controllerIDs[0]= jsonobj.controller;
316 jsonobj.controllerID = controllerIDs;
317 var newJson = {"managedElement": jsonobj};
318 formData = JSON.stringify(newJson);
319 var requestUrl = "/openoapi/sdnobrs/v1/managed-elements";
324 contentType: "application/json",
327 success: function (jsonResp) {
328 alert("NE saved successfully!!!");
329 jsonobj["id"] = jsonResp.managedElement.id;
330 $('#ne').bootstrapTable("append", jsonobj);
331 $('#vmAppDialog').removeClass('in').css('display', 'none');
334 error: function (xhr, ajaxOptions, thrownError) {
335 alert("Error on page : " + xhr.responseText);
340 $('#createPort').click(function () {
341 var formData = JSON.stringify($("#portForm").serializeObject());
342 var jsonobj = JSON.parse(formData);
343 var newJson = {"logicalTerminationPoint": jsonobj};
344 formData = JSON.stringify(newJson);
345 var requestUrl = "/openoapi/sdnobrs/v1/logical-termination-points";
350 contentType: "application/json",
353 success: function (jsonResp) {
354 alert("Port saved successfully!!!");
356 jsonobj["id"] = jsonResp.logicalTerminationPoint.id;
357 $('#port').bootstrapTable("append", jsonobj);
358 $('#vmAppDialog').removeClass('in').css('display', 'none');
361 error: function (xhr, ajaxOptions, thrownError) {
362 alert("Error on page : " + xhr.responseText);
367 $('#createLink').click(function () {
368 var formData = JSON.stringify($("#linkForm").serializeObject());
369 var jsonobj = JSON.parse(formData);
370 var newJson = {"topologicalLink": jsonobj};
371 formData = JSON.stringify(newJson);
372 var requestUrl = "/openoapi/sdnobrs/v1/topological-links";
377 contentType: "application/json",
380 success: function (jsonResp) {
381 alert("Link saved successfully!!!");
382 jsonobj["id"] = jsonResp.topologicalLink.id;
383 $('#link').bootstrapTable("append", jsonobj);
384 $('#vmAppDialog').removeClass('in').css('display', 'none');
387 error: function (xhr, ajaxOptions, thrownError) {
388 alert("Error on page : " + xhr.responseText);