rebuild GUI structure(only changed modules' name)
[vnfsdk/refrepo.git] / lifecyclemgr / src / main / webapp / lifecyclemgr / js / brs.js
1 /* Copyright 2016-2017, Huawei Technologies Co., Ltd.
2  *
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
6  *
7  *    http://www.apache.org/licenses/LICENSE-2.0
8  *
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.
14  */
15
16 var url = "";
17 $.getJSON("./conf/dataconfig.json", function (jsonData){
18     url = jsonData.url +":"+ jsonData.port;
19     console.log("URL = " + url);
20 });
21
22 $('.siteDeleteImg').click(function () {
23     var data = $(this).parent().parent().parent().find('td:last').find('div:last').html();
24     alert(data);
25     var jsonObj = JSON.parse(data);
26     for (var i = 0; i < jsonObj.length; i++) {
27         var obj = jsonObj[i];
28         var rowData = [obj.tpName, obj.peName, obj.vlanId, obj.siteCidr, obj.ip];
29         $('#underlayTpDataTable').DataTable();
30         $('#underlayTpDataTable').dataTable().fnAddData(rowData);
31     }
32 });
33
34
35 function deleteSite(objectId) {
36     var requestUrl = url + "/openoapi/sdnobrs/v1/sites/" + objectId;
37     $
38         .ajax({
39             type: "DELETE",
40             url: requestUrl,
41             contentType: "application/json",
42             success: function (jsonobj) {
43                 $('#site').bootstrapTable('remove', {
44                     field: 'id',
45                     values: [objectId]
46                 });
47                 alert("Delete Site successfull !!!");
48             },
49             error: function (xhr, ajaxOptions, thrownError) {
50                 alert("Error on deleting site: " + xhr.responseText);
51             }
52         });
53 }
54 function deleteLink(objectId) {
55     var requestUrl = url + "/openoapi/sdnobrs/v1/topological-links/" + objectId;
56     $
57         .ajax({
58             type: "DELETE",
59             url: requestUrl,
60             contentType: "application/json",
61             success: function (jsonobj) {
62                 $('#link').bootstrapTable('remove', {
63                     field: 'id',
64                     values: [objectId]
65                 });
66                 alert("Delete Link successfull !!!");
67             },
68             error: function (xhr, ajaxOptions, thrownError) {
69                 alert("Error on deleting link : " + xhr.responseText);
70             }
71         });
72 }
73
74 function deleteNe(objectId) {
75     var requestUrl = url + "/openoapi/sdnobrs/v1/managed-elements/" + objectId;
76     $
77         .ajax({
78             type: "DELETE",
79             url: requestUrl,
80             contentType: "application/json",
81             success: function (jsonobj) {
82                 $('#ne').bootstrapTable('remove', {
83                     field: 'id',
84                     values: [objectId]
85                 });
86                 alert("Delete NE successfull !!!");
87             },
88             error: function (xhr, ajaxOptions, thrownError) {
89                 alert("Error on deleting ne : " + xhr.responseText);
90             }
91         });
92 }
93
94 function deletePort(objectId) {
95     var requestUrl = url + "/openoapi/sdnobrs/v1/logical-termination-points/" + objectId;
96     $
97         .ajax({
98             type: "DELETE",
99             url: requestUrl,
100             contentType: "application/json",
101             success: function (jsonobj) {
102                 $('#port').bootstrapTable('remove', {
103                     field: 'id',
104                     values: [objectId]
105                 });
106                 alert("Delete Port successfull !!!");
107             },
108             error: function (xhr, ajaxOptions, thrownError) {
109                 alert("Error on deleting port : " + xhr.responseText);
110             }
111         });
112 }
113 function loadSiteData() {
114     var requestUrl = url + "/openoapi/sdnobrs/v1/sites";
115     $
116         .ajax({
117             type: "GET",
118             url: requestUrl,
119             contentType: "application/json",
120             success: function (jsonobj) {
121                 $('#site').bootstrapTable({
122                     data: jsonobj.sites
123                 });
124             },
125             error: function (xhr, ajaxOptions, thrownError) {
126                 alert("Error on getting site data : " + xhr.responseText);
127             }
128         });
129 }
130 function loadLinkData() {
131     var requestUrl = url + "/openoapi/sdnobrs/v1/topological-links";
132     $
133         .ajax({
134             type: "GET",
135             url: requestUrl,
136             contentType: "application/json",
137             success: function (jsonobj) {
138                 $('#link').bootstrapTable({
139                     data: jsonobj.topologicalLinks
140                 });
141             },
142             error: function (xhr, ajaxOptions, thrownError) {
143                 alert("Error on getting link data : " + xhr.responseText);
144             }
145         });
146 }
147 function loadNeData() {
148     var requestUrl = url + "/openoapi/sdnobrs/v1/managed-elements";
149     $
150         .ajax({
151             type: "GET",
152             url: requestUrl,
153             contentType: "application/json",
154             success: function (jsonobj) {
155                 $('#ne').bootstrapTable({
156                     data: jsonobj.managedElements
157                 });
158             },
159             error: function (xhr, ajaxOptions, thrownError) {
160                 alert("Error on getting ne data : " + xhr.responseText);
161             }
162         });
163 }
164 function loadPortData() {
165     var requestUrl = url + "/openoapi/sdnobrs/v1/logical-termination-points";
166     $
167         .ajax({
168             type: "GET",
169             url: requestUrl,
170             contentType: "application/json",
171             success: function (jsonobj) {
172                 $('#port').bootstrapTable({
173                     data: jsonobj.logicalTerminationPoints
174                 });
175             },
176             error: function (xhr, ajaxOptions, thrownError) {
177                 alert("Error on getting port data : " + xhr.responseText);
178             }
179         });
180 }
181 $(function () {
182     $('.creat-btn').click(function () {
183         /*$('#vmAppDialog').addClass('in').css({'display': 'block'});*/
184         $('#vmAppDialog').modal();
185     });
186     $('.close,.button-previous').click(function () {
187         $('#vmAppDialog').removeClass('in').css('display', 'none');
188     });
189     $('.detail-top ul li').click(function () {
190         $(this).addClass('current').siblings().removeClass('current');
191     });
192     $('.para').click(function () {
193         if ($('#serviceTemplateName').val() == '') {
194             alert('Please choose the service templet!');
195             $('#flavorTab').css('display', 'none');
196         } else {
197             $('#flavorTab').css('display', 'block');
198         }
199         $('#basicTab').css('display', 'block');
200     });
201     $('.basic').click(function () {
202         $('#flavorTab').css('display', 'none');
203     });
204
205     /*$('.table tbody tr').click(function(){
206         $(this).addClass('openoTable_row_selected').siblings().removeClass('openoTable_row_selected');
207     });*/
208     $('.table tr:odd').addClass('active');
209     $('#false').click(function () {
210         /*$('#vmAppDialog').addClass('in').css({'display': 'block'});*/
211         $('#vmAppDialog').modal();
212     });
213     $('.close,.button-previous').click(function () {
214         $('#vmAppDialog').removeClass('in').css('display', 'none');
215     });
216     $('#filterTpLogicalType').click(function () {
217         $('#filterTpLogicalType_select_popupcontainer').toggleClass('openo-hide');
218         $('#filterTpLogicalType').toggleClass('openo-focus');
219         var oLeft = $('#open_base_tpL_td6').offset().left;
220         var oTop = $('#open_base_tpL_td6').offset().top;
221         var oHeight = $('#open_base_tpL_td6').height();
222         $('#filterTpLogicalType_select_popupcontainer').css({'left': oLeft, 'top': oTop + oHeight + 10});
223     });
224     $('div.openo-select-popup-container>div.openo-select-item>label').click(function () {
225         var Lvalue = $(this).html();
226         $('#filterTpLogicalType_select_input').attr('value', Lvalue);
227         $('#filterTpLogicalType_select_popupcontainer').addClass('openo-hide');
228         $('#filterTpLogicalType').removeClass('openo-focus');
229     });
230     $.fn.serializeObject = function () {
231         var o = {};
232         var a = this.serializeArray();
233         $.each(a, function () {
234             if (o[this.name] !== undefined) {
235                 if (!o[this.name].push) {
236                     o[this.name] = [o[this.name]];
237                 }
238                 o[this.name].push(this.value || '');
239             } else {
240                 o[this.name] = this.value || '';
241             }
242         });
243         return o;
244     };
245     $('#createSite').click(function () {
246         var formData = JSON.stringify($("#vmAppForm").serializeObject());
247         var jsonobj = JSON.parse(formData);
248         var newJson = {"site": jsonobj};
249         formData = JSON.stringify(newJson);
250         var requestUrl = url + "/openoapi/sdnobrs/v1/sites";
251         $
252             .ajax({
253                 type: "POST",
254                 url: requestUrl,
255                 contentType: "application/json",
256                 dataType: "json",
257                 data: formData,
258                 success: function (jsonResp) {
259                     alert("Site saved successfully!!!");
260                     jsonobj["id"] = jsonResp.site.id;
261                     $('#site').bootstrapTable("append", jsonobj);
262                     $('#vmAppDialog').removeClass('in').css('display', 'none');
263                 },
264                 error: function (xhr, ajaxOptions, thrownError) {
265                     alert("Error on page : " + xhr.responseText);
266                 }
267             });
268     });
269
270     $('#createNe').click(function () {
271         var formData = JSON.stringify($("#neForm").serializeObject());
272         var jsonobj = JSON.parse(formData);
273         var newJson = {"managedElement": jsonobj};
274         formData = JSON.stringify(newJson);
275         var requestUrl = url + "/openoapi/sdnobrs/v1/managed-elements";
276         $
277             .ajax({
278                 type: "POST",
279                 url: requestUrl,
280                 contentType: "application/json",
281                 dataType: "json",
282                 data: formData,
283                 success: function (jsonResp) {
284                     alert("NE saved successfully!!!");
285                     jsonobj["id"] = jsonResp.managedElement.id;
286                     $('#ne').bootstrapTable("append", jsonobj);
287                     $('#vmAppDialog').removeClass('in').css('display', 'none');
288
289                 },
290                 error: function (xhr, ajaxOptions, thrownError) {
291                     alert("Error on page : " + xhr.responseText);
292                 }
293             });
294     });
295
296     $('#createPort').click(function () {
297         var formData = JSON.stringify($("#portForm").serializeObject());
298         var jsonobj = JSON.parse(formData);
299         var newJson = {"logicalTerminationPoint": jsonobj};
300         formData = JSON.stringify(newJson);
301         var requestUrl = url + "/openoapi/sdnobrs/v1/logical-termination-points";
302         $
303             .ajax({
304                 type: "POST",
305                 url: requestUrl,
306                 contentType: "application/json",
307                 dataType: "json",
308                 data: formData,
309                 success: function (jsonResp) {
310                     alert("Port saved successfully!!!");
311                     //TODO : hide model data window.
312                     jsonobj["id"] = jsonResp.logicalTerminationPoint.id;
313                     $('#port').bootstrapTable("append", jsonobj);
314                     $('#vmAppDialog').removeClass('in').css('display', 'none');
315
316                 },
317                 error: function (xhr, ajaxOptions, thrownError) {
318                     alert("Error on page : " + xhr.responseText);
319                 }
320             });
321     });
322
323     $('#createLink').click(function () {
324         var formData = JSON.stringify($("#linkForm").serializeObject());
325         var jsonobj = JSON.parse(formData);
326         var newJson = {"topologicalLink": jsonobj};
327         formData = JSON.stringify(newJson);
328         var requestUrl = url + "/openoapi/sdnobrs/v1/topological-links";
329         $
330             .ajax({
331                 type: "POST",
332                 url: requestUrl,
333                 contentType: "application/json",
334                 dataType: "json",
335                 data: formData,
336                 success: function (jsonResp) {
337                     alert("Link saved successfully!!!");
338                     jsonobj["id"] = jsonResp.topologicalLink.id;
339                     $('#link').bootstrapTable("append", jsonobj);
340                     $('#vmAppDialog').removeClass('in').css('display', 'none');
341
342                 },
343                 error: function (xhr, ajaxOptions, thrownError) {
344                     alert("Error on page : " + xhr.responseText);
345                 }
346             });
347     });
348
349 })