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