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