CLIENT GUI Framework
[vnfsdk/refrepo.git] / openo-portal / portal-resmgr / src / main / webapp / resmgr-nfv / js / datacenter.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 function hideFirstCol() {\r
16 //      $('table tr').find('th:eq(0)').hide();\r
17 //      $('table tr').find('td:eq(0)').hide();\r
18 }\r
19 \r
20 function deleteDatacenter(objectId) {\r
21     var requestUrl = app_url+ "/openoapi/resmgr/v1/datacenters/" + objectId;\r
22     $.ajax({\r
23         type: "DELETE",\r
24         url: requestUrl,\r
25         contentType: "application/json",\r
26         success: function (jsonobj) {\r
27             $('#Datacenter_table').bootstrapTable('remove', {\r
28                 field: 'id',\r
29                 values: [objectId]\r
30             });\r
31             bootbox.alert("Delete  successfull !!!");\r
32         },\r
33         error: function (xhr, ajaxOptions, thrownError) {\r
34             bootbox.alert("Error on deleting data: " + xhr.responseText);\r
35         }\r
36     });\r
37 }\r
38 \r
39 function loadDatacenterData() {\r
40     var requestUrl = app_url+"/openoapi/resmgr/v1/datacenters";\r
41     $.ajax({\r
42         type: "GET",\r
43         url: requestUrl,\r
44         contentType: "application/json",\r
45         success: function (jsonobj) {\r
46             $.each(jsonobj.datacenters, function (n, v) {\r
47                 v.cpu = "used:" + v.usedCPU + "<br>total:" + v.totalCPU;\r
48                 v.memory = "used:" + v.usedMemory + "<br>total:" + v.totalMemory;\r
49                 v.hardDisk = "used:" + v.usedDisk + "<br>total:" + v.totalDisk;\r
50             });\r
51             $('#Datacenter_table').bootstrapTable({\r
52                 data: jsonobj.datacenters\r
53             });\r
54             $('#Datacenter_table').bootstrapTable('refresh');\r
55             hideFirstCol();\r
56         },\r
57         error: function (xhr, ajaxOptions, thrownError) {\r
58             bootbox.alert("Error on getting site data : " + xhr.responseText);\r
59         }\r
60     });\r
61 }\r
62 function loadNetWorkData() {\r
63     var requestUrl = app_url+"/openoapi/resmgr/v1/networks";\r
64     $.ajax({\r
65         type: "GET",\r
66         url: requestUrl,\r
67         contentType: "application/json",\r
68         success: function (jsonobj) {\r
69             $('#network_table').bootstrapTable({\r
70                 data: jsonobj.networks\r
71             });\r
72         },\r
73         error: function (xhr, ajaxOptions, thrownError) {\r
74             bootbox.alert("Error on getting site data : " + xhr.responseText);\r
75         }\r
76     });\r
77 }\r
78 function loadPortData() {\r
79     var requestUrl = app_url+"/openoapi/resmgr/v1/ports";\r
80     $.ajax({\r
81         type: "GET",\r
82         url: requestUrl,\r
83         contentType: "application/json",\r
84         success: function (jsonobj) {\r
85             $('#port_table').bootstrapTable({\r
86                 data: jsonobj.ports\r
87             });\r
88         },\r
89         error: function (xhr, ajaxOptions, thrownError) {\r
90             bootbox.alert("Error on getting site data : " + xhr.responseText);\r
91         }\r
92     });\r
93 }\r
94 function loadHostData() {\r
95     var requestUrl = app_url+"/openoapi/resmgr/v1/hosts";\r
96     $.ajax({\r
97         type: "GET",\r
98         url: requestUrl,\r
99         contentType: "application/json",\r
100         success: function (jsonobj) {\r
101             $('#host_table').bootstrapTable({\r
102                 data: jsonobj.hosts\r
103             });\r
104         },\r
105         error: function (xhr, ajaxOptions, thrownError) {\r
106             bootbox.alert("Error on getting site data : " + xhr.responseText);\r
107         }\r
108     });\r
109 }\r
110 \r
111 \r
112 function fillCountryData() {\r
113 \r
114     var requestUrl = app_url+"/openoapi/resmgr/v1/locations/country";\r
115     var htmlContent = "";\r
116     $.ajax({\r
117         type: "GET",\r
118         url: requestUrl,\r
119         contentType: "application/json",\r
120         success: function (jsonobj) {\r
121             var str = jsonobj.data.replace('[', '').replace(']', '').split(',')\r
122             $.each(str, function (n, v) {\r
123                 htmlContent += "<option value='" + v + "'>" + v + "</option>";\r
124                 $("#country").html(htmlContent);\r
125 \r
126             });\r
127         },\r
128         error: function (xhr, ajaxOptions, thrownError) {\r
129             bootbox.alert("Error on getting country data : " + xhr.responseText);\r
130         }\r
131     });\r
132 }\r
133 \r
134 function fillVimNameData() {\r
135 \r
136     var requestUrl = app_url+"/openoapi/resmgr/v1/locations/cloudservice";\r
137     var htmlContent = "";\r
138     $.ajax({\r
139         type: "GET",\r
140         url: requestUrl,\r
141         contentType: "application/json",\r
142         success: function (jsonobj) {\r
143             var str = jsonobj.data.replace('[', '').replace(']', '').split(',')\r
144             $.each(str, function (n, v) {\r
145                 htmlContent += "<option value='" + v + "'>" + v + "</option>";\r
146                 $("#vimName").html(htmlContent);\r
147 \r
148             });\r
149         },\r
150         error: function (xhr, ajaxOptions, thrownError) {\r
151             bootbox.alert("Error on getting country data : " + xhr.responseText);\r
152         }\r
153     });\r
154 }\r
155 \r
156 \r
157 $(function () {\r
158     $("#vmAppForm").validate({\r
159         rules: {\r
160             country: "required",\r
161             location: "required",\r
162             lantitude: "required",\r
163             longitude: "required"\r
164         }\r
165     });\r
166 \r
167     $('.close,.button-previous').click(function () {\r
168         $('#vmAppDialog').removeClass('in').css('display', 'none');\r
169     });\r
170     $('.detail-top ul li').click(function () {\r
171         $(this).addClass('current').siblings().removeClass('current');\r
172     });\r
173     $('.basic').click(function () {\r
174         $('#flavorTab').css('display', 'none');\r
175     });\r
176 \r
177     $('.table tbody tr').click(\r
178         function () {\r
179             $(this).addClass('openoTable_row_selected').siblings()\r
180                 .removeClass('openoTable_row_selected');\r
181         });\r
182     $('.table tr:odd').addClass('active');\r
183     $('#false').click(function () {\r
184         $('#vmAppForm')[0].reset();\r
185         $('#vmAppDialog').addClass('in').css({\r
186             'display': 'block'\r
187         });\r
188     });\r
189     $('.close,.button-previous').click(function () {\r
190         $('#vmAppDialog').removeClass('in').css('display', 'none');\r
191     });\r
192 \r
193     $.fn.serializeObject = function () {\r
194         var o = {};\r
195         var a = this.serializeArray();\r
196         $.each(a, function () {\r
197             if (o[this.name] !== undefined) {\r
198                 if (!o[this.name].push) {\r
199                     o[this.name] = [o[this.name]];\r
200                 }\r
201                 o[this.name].push(this.value || '');\r
202             } else {\r
203                 o[this.name] = this.value || '';\r
204             }\r
205         });\r
206         return o;\r
207     };\r
208     $('#createDatacenter')\r
209         .click(\r
210             function () {\r
211 \r
212 \r
213                 var formData = JSON.stringify($("#vmAppForm").serializeObject());\r
214                 var jsonobj = JSON.parse(formData);\r
215                 var requestUrl = app_url+"/openoapi/resmgr/v1/datacenters";\r
216                 $.ajax({\r
217                     type: "POST",\r
218                     url: requestUrl,\r
219                     contentType: "application/json",\r
220                     dataType: "json",\r
221                     data: formData,\r
222                     success: function (jsonResp) {\r
223                         loadDatacenterData();\r
224                         bootbox.alert(jsonResp.msg);\r
225                         $('#vmAppDialog').removeClass('in').css({\r
226                             'display': 'none'\r
227                         });\r
228                     },\r
229                     error: function (xhr, ajaxOptions, thrownError) {\r
230                         bootbox.alert("Error on page : " + xhr.responseText);\r
231                     }\r
232                 });\r
233             });\r
234 \r
235     $('#country').change(function () {\r
236         var country = $(this).children('option:selected').val();\r
237         var requestUrl = app_url+"/openoapi/resmgr/v1/locations/locationbycountry?country=" + country;\r
238 \r
239         var htmlContent = "<option value=''>--select--</option>";\r
240         $.ajax({\r
241             type: "GET",\r
242             url: requestUrl,\r
243             contentType: "application/json",\r
244             success: function (jsonobj) {\r
245                 $.each(jsonobj.data, function (n, v) {\r
246                     htmlContent += "<option value='" + v + "'>" + v + "</option>";\r
247                     $("#location").html(htmlContent);\r
248 \r
249                 });\r
250 \r
251             },\r
252             error: function (xhr, ajaxOptions, thrownError) {\r
253                 bootbox.alert("Error on getting location data : " + xhr.responseText);\r
254             }\r
255         });\r
256 \r
257     })\r
258 \r
259 \r
260 })