2 * Copyright 2016-2017 ZTE Corporation.
\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
8 * http://www.apache.org/licenses/LICENSE-2.0
\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
16 var vm = avalon.define({
\r
17 $id : "pmController",
\r
18 $tableId : "ict_package_table",
\r
21 packageDetails : "",
\r
24 csarIdSelected : "",
\r
25 $packageTableFields : {// table columns
\r
27 //{"mData":"",name:$.i18n.prop("nfv-package-iui-field-sn")},
\r
28 {"mData": "csarId", name: "ID", "bVisible": false},
\r
29 {"mData": "name", name: $.i18n.prop("nfv-package-iui-field-name"),"fnRender" : pmUtil.nameRender},
\r
30 {"mData": "type", name: $.i18n.prop("nfv-package-iui-field-type")},
\r
31 {"mData": "usageState", name: $.i18n.prop("nfv-package-iui-field-usagestate")},
\r
32 {"mData": "processState", name: $.i18n.prop("nfv-package-iui-field-processstate")},
\r
33 {"mData": "operationalState", name: $.i18n.prop("nfv-package-iui-field-operationalstate")},
\r
34 {"mData": "onBoardState", name: $.i18n.prop("nfv-package-iui-field-onboardstate"), "fnRender" : pmUtil.onBoardRender},
\r
35 {"mData": "", name: $.i18n.prop("nfv-package-iui-field-operation"), "fnRender" : pmUtil.operationRender}
\r
39 "sProcessing": "<img src='../common/thirdparty/data-tables/images/loading-spinner-grey.gif'/><span> "
\r
40 +$.i18n.prop("nfv-nso-iui-table-sProcess")+"</span>",
\r
41 "sLengthMenu": $.i18n.prop("nfv-nso-iui-table-sLengthMenu"),
\r
42 "sZeroRecords": $.i18n.prop("nfv-nso-iui-table-sZeroRecords"),
\r
43 "sInfo": "<span class='seperator'> </span>" + $.i18n.prop("nfv-nso-iui-table-sInfo"),
\r
44 "sInfoEmpty": $.i18n.prop("nfv-nso-iui-table-sInfoEmpty"),
\r
45 "sGroupActions": $.i18n.prop("nfv-nso-iui-table-sGroupActions"),
\r
46 "sAjaxRequestGeneralError":$.i18n.prop("nfv-nso-iui-table-sAjaxRequestGeneralError"),
\r
47 "sEmptyTable": $.i18n.prop("nfv-nso-iui-table-sEmptyTable"),
\r
49 "sPrevious": $.i18n.prop("nfv-nso-iui-table-sPrevious"),
\r
50 "sNext": $.i18n.prop("nfv-nso-iui-table-sNext"),
\r
51 "sPage": $.i18n.prop("nfv-nso-iui-table-sPage"),
\r
52 "sPageOf": $.i18n.prop("nfv-nso-iui-table-sPageOf")
\r
56 queryPackageInfoUrl: "/openoapi/catalog/v1/csars",
\r
57 uploadPackageUrl: "/openoapi/catalog/v1/csars",
\r
58 gsarDelPackageUrl: "/openoapi/gso/v1/nspackages",
\r
59 ssarDelPackageUrl: "/openoapi/catalog/v1/csars",
\r
60 nsarDelPackageUrl: "/openoapi/nslcm/v1/nspackage",
\r
61 nfarDelPackageUrl: "/openoapi/nslcm/v1/vnfpackage",
\r
62 gsarOnboardUrl: "/openoapi/gso/v1/nspackages",
\r
63 ssarOnboardUrl: "/openoapi/catalog/v1/csars",
\r
64 nsarOnboardUrl: "/openoapi/nslcm/v1/nspackage",
\r
65 nfarOnboardUrl: "/openoapi/nslcm/v1/vnfpackage",
\r
66 changePackageStatusUrl : "/openoapi/catalog/v1/csars",
\r
67 queryVimInfoUrl : "/openoapi/extsys/v1/vims"
\r
69 $getPackageCond: function() {
\r
73 //$initTable: function() {
\r
74 // var url=vm.$restUrl.queryPackageInfoUrl;
\r
75 // commonUtil.get(url,null,function(resp) {
\r
77 // vm.resource.packageInfo=resp;
\r
81 $initTable: function() {
\r
83 setting.language = vm.$language;
\r
84 setting.paginate = true;
\r
85 setting.info = true;
\r
86 setting.sort = true;
\r
87 setting.columns = vm.$packageTableFields.table;
\r
88 setting.restUrl = vm.$restUrl.queryPackageInfoUrl;
\r
89 setting.tableId = vm.$tableId;
\r
90 serverPageTable.initDataTable(setting,{},vm.$tableId + '_div');
\r
98 name : $.i18n.prop("com_zte_ums_eco_roc_rsview_info"),
\r
101 id : "relationShips",
\r
102 name : $.i18n.prop("com_zte_ums_eco_roc_rsview_relation"),
\r
106 $showDetails : function (isShow, csarId, name) {
\r
107 vm.packageDetail.isShow = isShow;
\r
108 vm.packageDetail.detailCondChange(0);
\r
109 if (isShow == "block") {
\r
110 vm.packageDetail.detailTitle = name + "-" + $.i18n.prop("nfv-package-iui_packageview_packageDetail"),
\r
111 $('#' + vm.packageDetail.detailData[0].id).click();
\r
112 vm.packageDetail.detailData[0].isActive = true;
\r
113 vm.packageDetail.$initPackageDetailTable(csarId);
\r
116 detailCondChange : function (index) {
\r
117 vm.packageDetail.detailIndex = index;
\r
118 for (var i = 0; i < vm.packageDetail.detailData.length; i++) {
\r
119 vm.packageDetail.detailData[i].isActive = false;
\r
121 vm.packageDetail.detailData[index].isActive = true;
\r
123 $initPackageDetailTable : function (csarId) {
\r
124 var url=vm.$restUrl.queryPackageInfoUrl + "/" + csarId;
\r
125 commonUtil.get(url,null,function(resp) {
\r
127 vm.resource.packageDetails=resp;
\r
132 $isRowDeletingStatus : function(name) {
\r
133 var table = $("#" + vm.$tableId).dataTable();
\r
134 var tableData = table.fnGetData();
\r
135 for (var i=0; i<tableData.length; i++) {
\r
136 if(tableData[i]["name"] == name &&
\r
137 tableData[i]["status"].indexOf($.i18n.prop("nfv-package-iui-status-deleting")) > -1) {
\r
144 selectVimDialog : {
\r
145 currentRadioClicked : [],
\r
147 nfarOnBoardParam : {
\r
152 $initData : function(csarId) {
\r
153 var url=vm.$restUrl.queryVimInfoUrl;
\r
154 commonUtil.get(url,null,function(resp) {
\r
156 vm.resource.vimSelectItems=resp;
\r
159 vm.selectVimDialog.nfarOnBoardParam.csarId = csarId;
\r
161 $confirmBtnClick : function () {
\r
164 var testEnvCount = 0;
\r
165 for(var i=0; i<vm.resource.vimSelectItems.length; i++) {
\r
166 var radioId = "testEnvRadios" + i;
\r
167 var checkboxId = "produceEnvChecks" + i;
\r
168 if(document.getElementById(radioId).checked) {
\r
169 labVimId = vm.resource.vimSelectItems[i].vimId;
\r
171 if(document.getElementById(checkboxId).checked) {
\r
172 vimIds.push(vm.resource.vimSelectItems[i].vimId);
\r
175 vm.selectVimDialog.nfarOnBoardParam.labVimId = labVimId;
\r
176 vm.selectVimDialog.nfarOnBoardParam.vimIds = vimIds;
\r
177 var extData = vm.selectVimDialog.nfarOnBoardParam.$model;
\r
178 pmUtil.doNFAROnboard(extData);
\r
179 $("#selectVimDialog").modal("hide");
\r
181 $radioClicked : function(index) {
\r
182 var radioId = "testEnvRadios" + index;
\r
183 var checkboxId = "produceEnvChecks" + index;
\r
184 if(vm.selectVimDialog.currentRadioClicked[index] && vm.selectVimDialog.clickedIndex == index) {
\r
185 vm.selectVimDialog.currentRadioClicked[index] = false;
\r
186 document.getElementById(radioId).checked = false;
\r
187 document.getElementById(checkboxId).disabled = false;
\r
189 for(var i=0; i<vm.resource.vimSelectItems.length; i++) {
\r
190 var uncheckId = "produceEnvChecks" + i;
\r
191 document.getElementById(uncheckId).disabled = false;
\r
193 document.getElementById(checkboxId).checked = false;
\r
194 document.getElementById(checkboxId).disabled = true;
\r
195 vm.selectVimDialog.currentRadioClicked[index] = true;
\r
196 vm.selectVimDialog.clickedIndex = index;
\r
201 $delPackage : function(csarId,type) {
\r
202 bootbox.confirm($.i18n.prop("nfv-package-iui-message-delete-confirm"), function(result){
\r
205 if(type == "NSAR") {
\r
206 url = vm.$restUrl.nsarDelPackageUrl + "/" + csarId;
\r
207 } else if(type == "NFAR") {
\r
208 url = vm.$restUrl.nfarDelPackageUrl + "/" + csarId;
\r
209 } else if(type == "GSAR") {
\r
210 url = vm.$restUrl.gsarDelPackageUrl + "/" + csarId;
\r
211 } else if(type == "SSAR") {
\r
212 url = vm.$restUrl.ssarDelPackageUrl + "/" + csarId;
\r
214 pmUtil.delPackage(url);
\r
218 isRowOnBoardingStatus : function(csarId) {
\r
219 var table = $("#" + vm.$tableId).dataTable();
\r
220 var tableData = table.fnGetData();
\r
221 for (var i=0; i<tableData.length; i++) {
\r
222 if(tableData[i]["name"] == name &&
\r
223 tableData[i]["status"].indexOf($.i18n.prop("nfv-package-iui-status-onboarding")) > -1) {
\r
230 onBoardPackage : function(csarId,type,onBoardState) {
\r
234 if(type == "NSAR") {
\r
235 var url = vm.$restUrl.nsarOnboardUrl;
\r
236 pmUtil.doOnBoard(url, param);
\r
237 } else if(type == "NFAR") {
\r
238 vm.csarIdSelected = csarId;
\r
239 vm.showOnboardDialog(csarId);
\r
240 } else if(type == "GSAR") {
\r
241 var url = vm.$restUrl.gsarOnboardUrl;
\r
242 pmUtil.doOnBoard(url, param);
\r
243 } else if(type == "SSAR") {
\r
244 var ssarTarOnbardState="";
\r
245 var operationalState="";
\r
246 if(onBoardState =="onBoarded") {
\r
247 ssarTarOnbardState = "non-onBoarded";
\r
248 operationalState = "Disabled";
\r
250 ssarTarOnbardState = "onBoarded";
\r
251 operationalState = "Enabled";
\r
253 var url = vm.$restUrl.ssarOnboardUrl+"/"+csarId+"?onBoardState="+ssarTarOnbardState+"&operationalState="+operationalState;
\r
254 pmUtil.doSSAROnboard(url);
\r
257 showOnboardDialog : function(csarId) {
\r
258 vm.selectVimDialog.$initData(csarId);
\r
259 $("#selectVimDialog").modal("show");
\r
261 $initUpload : function() {
\r
262 $("#fileupload").fileupload({
\r
263 url : vm.$restUrl.uploadPackageUrl,
\r
264 dropZone: $('#dropzone'),
\r
265 maxNumberOfFiles : 1,
\r
266 maxChunkSize : 20000000, //20M
\r
267 autoUpload : false,
\r
268 add : function(e, data) {
\r
269 $("#bar").css('width', '0%');
\r
270 $("#persent").text('0%');
\r
271 $("#fileName").text(data.files[0].name);
\r
272 $("#fileremove").attr("disabled", false);
\r
273 $("#filesubmit").attr("disabled", false);
\r
275 $("#filesubmit").remove();
\r
276 $('<button id="filesubmit" class="btn btn-default" type="button"/>').text($.i18n.prop("nfv-package-iui-drop-zone-uploadBtn"))
\r
277 .appendTo($(".input-group-btn")[0])
\r
278 .click(function () {
\r
279 var fileName = data.files[0].name;
\r
280 var existPackage = pmUtil.getExistPackageByName(fileName);
\r
281 if(existPackage == 0){//0:package is not exist
\r
282 $(".progress").addClass("active");
\r
286 if(existPackage == 1){//1:package not exist, instance reference this csar
\r
287 msg = $.i18n.prop("nfv-package-iui-message-upload-csar-deletionpending");
\r
289 if(existPackage == 2){//2:package exist
\r
290 msg = $.i18n.prop("nfv-package-iui-message-upload-csar-exist");
\r
293 bootbox.confirm(msg, function(result){
\r
295 $(".progress").addClass("active");
\r
301 $("#fileremove").click(function(){
\r
302 $("#bar").css('width', '0%');
\r
303 $("#persent").text("");
\r
304 $("#fileName").text("");
\r
305 $("#filesubmit").attr("disabled", true);
\r
306 $("#fileremove").attr("disabled", true);
\r
309 done : function(e, data) {
\r
310 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-upload-success"), 'success');
\r
312 fail : function(e, data) {
\r
313 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-upload-fail"), 'danger');
\r
315 always : function(e, data) {
\r
317 $(".progress").removeClass("active");
\r
318 $("#bar").css('width', '100%');
\r
319 $("#persent").text('100%');
\r
321 progressall : function(e ,data) {
\r
322 var progress = parseInt(data.loaded / data.total * 80, 10);
\r
323 $("#bar").css('width', progress + '%');
\r
324 $("#persent").text(progress + '%');
\r
328 $initCometd : function() {
\r
329 commonUtil.registerCometdMessage("/openoapi/catalog/v1/catalognotification", "/package/delete", function(message) {
\r
330 pmUtil.updateDeletedPackageStatus(message);
\r
333 gotoPackageListPage:function(){
\r
334 window.location.href="./csarPackage.html";
\r
344 var refreshByCond = function() {
\r