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