CLIENT GUI Framework
[vnfsdk/refrepo.git] / openo-portal / portal-extsys / src / main / webapp / extsys / vnfm / js / vnfmController.js
1 /*\r
2  * Copyright 2016-2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 var vm = avalon\r
18     .define({\r
19         $id: "vnfmController",\r
20         vnfmInfo: [],\r
21         //mocSelectItems : [],\r
22         vimSelectItems: [],\r
23         server_rtn: {\r
24             info_block: false,\r
25             warning_block: false,\r
26             rtn_info: "",\r
27             $RTN_SUCCESS: "RTN_SUCCESS",\r
28             $RTN_FAILED: "RTN_FAILED"\r
29         },\r
30         $Status: {\r
31             success: "active",\r
32             failed: "inactive"\r
33         },\r
34         $restUrl: {\r
35             queryVnfmInfoUrl: '/openoapi/extsys/v1/vnfms',\r
36             addVnfmInfoUrl: '/openoapi/extsys/v1/vnfms',\r
37             updateVnfmInfoUrl: '/openoapi/extsys/v1/vnfms/',\r
38             delVnfmInfoUrl: '/openoapi/extsys/v1/vnfms/',\r
39             queryMocUrl: '',\r
40             queryVimUrl: '/openoapi/extsys/v1/vims'\r
41         },\r
42         $htmlText: {\r
43             saveSuccess: $.i18n.prop("nfv-vnfm-iui-message-save-success"),\r
44             saveFail: $.i18n.prop("nfv-vnfm-iui-message-save-fail"),\r
45             alreadyExist: $.i18n.prop("nfv-vnfm-iui-message-vnfm-already-exists"),\r
46             updateSuccess: $.i18n.prop("nfv-vnfm-iui-message-update-success"),\r
47             updateFail: $.i18n.prop("nfv-vnfm-iui-message-update-fail")\r
48         },\r
49         $initTable: function () {\r
50             $.ajax({\r
51                 "type": 'GET',\r
52                 "url": vm.$restUrl.queryVnfmInfoUrl,\r
53                 //"dataType": "json",\r
54                 "success": function (resp) {\r
55                     for (var i = 0; i < resp.length; i++) {\r
56                         resp[i].status = vm.$Status.success;\r
57                     }\r
58                     vm.vnfmInfo = resp;\r
59                 },\r
60                 error: function (XMLHttpRequest, textStatus, errorThrown) {\r
61                     bootbox.alert($.i18n.prop("nfv-vnfm-iui-message-query-fail") + ":" + textStatus + ":" + errorThrown);\r
62                     return;\r
63                 },\r
64                 complete: function () {\r
65                     vnfmUtil.tooltipVnfmStatus();\r
66                 }\r
67             });\r
68         },\r
69         // $initMoc : function() {\r
70         //      /*var url = vm.$restUrl.queryMocUrl;\r
71         //     commonUtil.get(url, null, function(resp) {\r
72         //         if (resp) {\r
73         //             vm.addVnfm.moc = resp.data;\r
74         //         }\r
75         //     });*/\r
76         //     var resp = [\r
77         //      { id : "nfv.vnfm.eco", name : "VNFM(ECO)"},\r
78         //      { id : "nfv.vnfm.tacker", name : "VNFM(Tacker)"},\r
79         //      { id : "nfv.vnfm.cmcc", name : "VNFM(CMCC)"},\r
80         //      { id : "nfv.vnfm.etsi", name : "VNFM(ETSI)"}\r
81         //     ]\r
82         //     vm.mocSelectItems = resp;\r
83         // },\r
84         $initVim: function () {\r
85             $.ajax({\r
86                 type: 'get',\r
87                 url: vm.$restUrl.queryVimUrl,\r
88                 dataType: 'json',\r
89                 success: function (resp) {\r
90                     if (resp) {\r
91                         vm.vimSelectItems = resp;\r
92                     }\r
93                     vm.vimSelectItems.push({"vimId": "", "name": ""});\r
94                 }\r
95             });\r
96         },\r
97         addVnfm: {\r
98             title: $.i18n.prop("nfv-vnfm-iui-text-register"),\r
99             vnfmId: "",\r
100             name: "",\r
101             type: "",\r
102             //moc : "",\r
103             nameReadonly : false,\r
104             vimId: "",\r
105             //vimVisiable : false,\r
106             vendor: "",\r
107             version: "",\r
108             description: "",\r
109             certificateUrl: "",\r
110             url: "",\r
111             urlTip: $.i18n.prop("nfv-vnfm-iui-text-url-tip"),\r
112             userName: "",\r
113             password: "",\r
114             saveType: "add",\r
115             status: ""\r
116         },\r
117         $showVnfmTable: function () {\r
118             vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-text-register"),\r
119                 vm.addVnfm.vnfmId = "";\r
120             vm.addVnfm.name = "";\r
121             vm.addVnfm.type = "";\r
122             //vm.addVnfm.moc = "";\r
123             vm.addVnfm.nameReadonly = false;\r
124             vm.addVnfm.vimId = "";\r
125             //vm.addVnfm.vimVisiable = false;\r
126             vm.addVnfm.vendor = "";\r
127             vm.addVnfm.version = "";\r
128             vm.addVnfm.description = "";\r
129             vm.addVnfm.certificateUrl = "";\r
130             vm.addVnfm.url = "";\r
131             vm.addVnfm.userName = "";\r
132             vm.addVnfm.password = "";\r
133             vm.addVnfm.saveType = "add";\r
134             vm.server_rtn.warning_block = false;\r
135             vm.server_rtn.info_block = false;\r
136             //vm.$initMoc();\r
137             vm.$initVim();\r
138             //vm.$mocChange();\r
139 \r
140             $(".form-group").each(function () {\r
141                 $(this).removeClass('has-success');\r
142                 $(this).removeClass('has-error');\r
143                 $(this).find(".help-block[id]").remove();\r
144             });\r
145             $("#addVnfmDlg").modal("show");\r
146         },\r
147         // $getMocName : function(mocId) {\r
148         //              var items = vm.mocSelectItems;\r
149         //           for(var i=0;i<items.length;i++) {\r
150         //              if(items[i].id == mocId) {\r
151         //                      return items[i].name;\r
152         //              }\r
153         //      }\r
154         //      return "";\r
155         // },\r
156         $saveVnfm: function () {\r
157             var form = $('#vnfm_form');\r
158             if (form.valid() == false) {\r
159                 return false;\r
160             }\r
161             vm.server_rtn.info_block = true;\r
162             vm.server_rtn.warning_block = false;\r
163             vm.addVnfm.status = vm.$Status.success;\r
164 \r
165             var param = {\r
166                 name: vm.addVnfm.name,\r
167                 //status : vm.addVnfm.status,\r
168                 //moc : $("#moc").val(),\r
169                 //vimId : vm.$getVimId($("#moc").val()),\r
170                 vimId: $("#vimId").val(),\r
171                 vendor: vm.addVnfm.vendor,\r
172                 version: vm.addVnfm.version,\r
173                 type: vm.addVnfm.type,\r
174                 description: vm.addVnfm.description,\r
175                 certificateUrl: vm.addVnfm.certificateUrl,\r
176                 url: vm.addVnfm.url,\r
177                 userName: vm.addVnfm.userName,\r
178                 password: vm.addVnfm.password\r
179             }\r
180             //save VIM info\r
181             if (vm.addVnfm.saveType == "add") {  \r
182                 //      for( var i = 0; i < vm.vnfmInfo.length; i ++ ){\r
183                 //     if(vm.addVnfm.name == vm.vnfmInfo[i].name){                       \r
184                 //        vm.server_rtn.warning_block = true;\r
185                 //        vm.server_rtn.rtn_info = vm.$htmlText.alreadyExist;\r
186                 //        commonUtil.showMessage(vm.$htmlText.alreadyExist, "failed");\r
187                 //        return;\r
188                 //     }\r
189                 // }     \r
190                 $.ajax({\r
191                     type: "POST",\r
192                     url: vm.$restUrl.addVnfmInfoUrl,\r
193                     data: JSON.stringify(param),\r
194                     dataType: "json",\r
195                     contentType: "application/json",\r
196                     success: function (data) {\r
197                         vm.server_rtn.info_block = false;\r
198                         vm.server_rtn.warning_block = false;\r
199                         if (data) {\r
200                             vm.vnfmInfo = [];\r
201                             vm.$initTable();\r
202 \r
203                             $('#addVnfmDlg').modal('hide');\r
204                             commonUtil.showMessage(vm.$htmlText.saveSuccess, "success");\r
205                         } else {\r
206                             vm.server_rtn.warning_block = true;\r
207                             vm.server_rtn.rtn_info = vm.$htmlText.saveFail;\r
208                             commonUtil.showMessage(vm.$htmlText.saveFail, "failed");\r
209                         }\r
210                     },\r
211                     error: function (XMLHttpRequest, textStatus, errorThrown) {\r
212                         vm.server_rtn.warning_block = true;\r
213                         vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;\r
214                         vm.server_rtn.info_block = false;\r
215                     }\r
216                 });\r
217             } else {\r
218                 $.ajax({\r
219                     type: "PUT",\r
220                     url: vm.$restUrl.updateVnfmInfoUrl + vm.addVnfm.vnfmId,\r
221                     data: JSON.stringify(param),\r
222                     dataType: "json",\r
223                     contentType: "application/json",\r
224                     success: function (data) {\r
225                         vm.server_rtn.info_block = false;\r
226                         vm.server_rtn.warning_block = false;\r
227                         if (data) {\r
228                             for (var i = 0; i < vm.vnfmInfo.length; i++) {\r
229                                 if (vm.vnfmInfo[i].vnfmId == vm.addVnfm.vnfmId) {\r
230                                     vm.vnfmInfo[i].name = vm.addVnfm.name;\r
231                                     vm.vnfmInfo[i].vimId = $("#vimId").val();\r
232                                     vm.vnfmInfo[i].vendor = vm.addVnfm.vendor;\r
233                                     vm.vnfmInfo[i].version = vm.addVnfm.version;\r
234                                     vm.vnfmInfo[i].certificateUrl = vm.addVnfm.certificateUrl;\r
235                                     vm.vnfmInfo[i].description = vm.addVnfm.description;\r
236                                     vm.vnfmInfo[i].url = vm.addVnfm.url;\r
237                                     vm.vnfmInfo[i].userName = vm.addVnfm.userName;\r
238                                     vm.vnfmInfo[i].password = vm.addVnfm.password;\r
239                                 }\r
240                             }\r
241                             $('#addVnfmDlg').modal('hide');\r
242                             commonUtil.showMessage(vm.$htmlText.updateSuccess, "success");\r
243                         } else {\r
244                             vm.server_rtn.warning_block = true;\r
245                             vm.server_rtn.rtn_info = vm.$htmlText.updateFail;\r
246                             commonUtil.showMessage(vm.$htmlText.updateFail, "failed");\r
247                         }\r
248                     },\r
249                     error: function (XMLHttpRequest, textStatus, errorThrown) {\r
250                         vm.server_rtn.warning_block = true;\r
251                         vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;\r
252                         vm.server_rtn.info_block = false;\r
253                     }\r
254                 });\r
255             }\r
256         },\r
257         //              mocRendered : function(action) {\r
258         //      if(vm.addVnfm.saveType === "update" && vm.addVnfm.moc) {\r
259         //              var items = vm.mocSelectItems;\r
260         //              for(var i=0;i<items.length;i++) {\r
261         //              if(items[i].id == vm.addVnfm.moc) {\r
262         //                      $("#moc")[0].selectedIndex = i;\r
263         //                      vm.$mocChange();\r
264         //                      break;\r
265         //              }\r
266         //      }\r
267         //      } else {\r
268         //              $("#moc")[0].selectedIndex = 0;\r
269         //      }\r
270         // },\r
271         vimRendered: function (action) {\r
272             var items = vm.vimSelectItems;\r
273             if (vm.addVnfm.saveType === "update") {\r
274                 for (var i = 0; i < items.length; i++) {\r
275                     if (items[i].vimId == vm.addVnfm.vimId) {\r
276                         $("#vimId")[0].selectedIndex = i;\r
277                         break;\r
278                     }\r
279                 }\r
280             } else {\r
281                 $("#vimId")[0].selectedIndex = items.length - 1;\r
282             }\r
283         },\r
284         // $mocChange : function() {\r
285         //      var mocId = $('#moc').val();\r
286         //      if(mocId == "nfv.vnfm.tacker") {\r
287         //              vm.addVnfm.vimVisiable = true;\r
288         //      } else {\r
289         //              vm.addVnfm.vimVisiable = false;\r
290         //      }\r
291         // },\r
292         // $getVimId : function(mocId) {\r
293         //      if(vm.addVnfm.vimVisiable) {\r
294         //              return $("#vimId").val();\r
295         //      } else {\r
296         //              return "";\r
297         //      }\r
298         // }\r
299     });\r
300 avalon.scan();\r
301 vm.$initTable();\r
302 //vm.$initMoc();