Change the realization of package table, fix the bug GSO-40
authornancylizi <li.zi30@zte.com.cn>
Sat, 22 Oct 2016 03:40:43 +0000 (11:40 +0800)
committernancylizi <li.zi30@zte.com.cn>
Sat, 22 Oct 2016 03:40:43 +0000 (11:40 +0800)
Change-Id: Ie05b630cd3cd091c5604641a75ad1956a77c3467
Issue-id:GSO-40
Signed-off-by: nancylizi <li.zi30@zte.com.cn>
openo-portal/portal-catalog/src/main/webapp/catalog/csarPackage.html
openo-portal/portal-catalog/src/main/webapp/catalog/js/package/pmController.js
openo-portal/portal-catalog/src/main/webapp/catalog/js/package/pmUtil.js

index ecc0b86..fc42739 100644 (file)
                    </div> \r
                </div> \r
                <div class="separator-line"></div>\r
-               <div>\r
-                       <table class="table table-striped table-bordered dataTable ">\r
-                               <thead>\r
-                               <tr class="heading">\r
-                                       <th id="nfv-package-iui-field-sn" name_i18n="com_zte_nfv_nsoc_i18n"\r
-                                               style="width: 80px;">\r
-                                       </th>\r
-                                       <th id="nfv-package-iui-field-name" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-type" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-usagestate" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-processstate" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-operationalstate" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-onboardstate" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                                       <th id="nfv-package-iui-field-operation" name_i18n="com_zte_nfv_nsoc_i18n"></th>\r
-                               </tr>\r
-                               </thead>\r
-                               <tbody ms-each-res="vm.resource.packageInfo">\r
-                               <tr>\r
-                                       <td ms-text="$index+1"></td>\r
-                                       <td>\r
-                                               <a href="#" ms-click="vm.packageDetail.$showDetails('block',$index,res.name)">\r
-                                                       {{res.name}}\r
-                                               </a>\r
-                                       </td>\r
-                                       <td ms-text="res.type"></td>\r
-                                       <td ms-text="res.usageState"></td>\r
-                                       <td ms-text="res.processState"></td>\r
-                                       <td ms-text="res.operationalState"></td>\r
-                                       <td>\r
-                                               <span class="label label-info status" data-toggle="tooltip" title="nfv-package-iui-status-tip"\r
-                                                         ms-click="vm.onBoardPackage(res.csarId,res.type,res.onBoardState)">\r
-                                               {{res.onBoardState}}\r
-                                               </span>\r
-                                       </td>\r
-                                       <td>\r
-                                               <a href="#" class="btn-xs grey btn-editable" ms-click="vm.$delPackage(res.csarId,res.type)">\r
-                                                       <i class="ict-delete"></i>\r
-                                                       <i id="nfv-software-iui-action-delete" name_i18n="com_zte_nfv_nsoc_i18n"></i>\r
-                                               </a>\r
-                                       </td>\r
-                               </tr>\r
-                               </tbody>\r
-                       </table>\r
-               </div>\r
-               <div class="row-fluid">\r
-                       <div class="col-md-12" style="padding-left:0px;">\r
-                               <div class="pull-left">\r
-                                       <small><label>\r
-                                               View\r
-                                               <select size="1" name="ict_template_table_length" aria-controls="ict_template_table">\r
-                                                       <option value="10" selected="selected">10</option>\r
-                                                       <option value="25">25</option>\r
-                                                       <option value="50">50</option>\r
-                                                       <option value="100">100</option>\r
-                                               </select>\r
-                                                records\r
-                                       </label>\r
-                                       <span id="com_zte_openo_umc_monitor_monitorList_total" name_i18n="com_zte_openo_umc_monitor_ui_i18n">Found total</span>\r
-                                               <span ms-text="vm.resource.packageInfo.size()"></span>\r
-                                               <span id="com_zte_openo_umc_monitor_monitorList_records" name_i18n="com_zte_openo_umc_monitor_ui_i18n">records</span>\r
-                                       </small>\r
-                               </div>\r
-                       </div>\r
+               <div class="row-fluid" data-name="table_zone">\r
+                       <div id='ict_package_table_div'></div>\r
                </div>\r
                <div id="right-menu" ms-css-display="packageDetail.isShow">\r
                        <div>\r
                                                                </tr>\r
                                                        </tbody>\r
                                                </table>\r
-                                               <!--    <div class="form-group">\r
-                                <div class="col-sm-3"></div>\r
-                                <div class="col-sm-3" id="nfv-package-iui-product-env" name_i18n="com_zte_nfv_nsoc_i18n"></div>\r
-                                <div class="col-sm-3" id="nfv-package-iui-test-env" name_i18n="com_zte_nfv_nsoc_i18n"></div>\r
-                            </div>\r
-                            <form class="form-horizontal" role="form" id="vimForm">\r
-                                <div ms-each-rest="resource.vimSelectItems">\r
-                                    <div class="form-group">\r
-                                        <label class="col-sm-3 control-label" ms-text="rest.vimName"></label>\r
-                                        <div class="col-sm-3">\r
-                                            <select  class="form-control" ms-attr-id='vim{{$index}}'>\r
-                                                <option value="1" id="nfv-package-iui-product-env" name_i18n="com_zte_nfv_nsoc_i18n"></option>\r
-                                                <option value="2" id="nfv-package-iui-test-env" name_i18n="com_zte_nfv_nsoc_i18n"></option>\r
-                                            </select>\r
-                                                                       </div>\r
-                                                               </div>\r
-                                                       </div>\r
-                                               </form>-->\r
                                        </div>\r
                                        <div class="modal-footer">\r
                                                <button type="button" class="btn" data-dismiss="modal">\r
index 72d83df..abe4fb1 100644 (file)
  */\r
 var vm = avalon.define({\r
        $id : "pmController",\r
+    $tableId : "ict_package_table",\r
     resource : {\r
         packageInfo : [],\r
         packageDetails : "",\r
         vimSelectItems : []\r
     },\r
     csarIdSelected : "",\r
-       //$packageTableFields : {// table columns\r
-       //      table: [\r
-     //       {"mData": "name", name: $.i18n.prop("nfv-package-iui-field-name")},\r
-     //       {"mData": "type", name: $.i18n.prop("nfv-package-iui-field-type")},\r
-     //       {"mData": "size", name: $.i18n.prop("nfv-package-iui-field-size")},\r
-     //       {"mData": "createTime", name: $.i18n.prop("nfv-package-iui-field-createTime")},\r
-     //       {"mData": "status", name: $.i18n.prop("nfv-package-iui-field-status"), "fnRender" : pmUtil.statusRender},\r
-     //       {"mData": null, name: $.i18n.prop("nfv-package-iui-field-operation"), "fnRender" : pmUtil.actionRender}\r
-       //      ]\r
-       //},\r
+       $packageTableFields : {// table columns\r
+               table: [\r
+            //{"mData":"",name:$.i18n.prop("nfv-package-iui-field-sn")},\r
+            {"mData": "csarId", name: "ID", "bVisible": false},\r
+            {"mData": "name", name: $.i18n.prop("nfv-package-iui-field-name"),"fnRender" : pmUtil.nameRender},\r
+            {"mData": "type", name: $.i18n.prop("nfv-package-iui-field-type")},\r
+            {"mData": "usageState", name: $.i18n.prop("nfv-package-iui-field-usagestate")},\r
+            {"mData": "processState", name: $.i18n.prop("nfv-package-iui-field-processstate")},\r
+            {"mData": "operationalState", name: $.i18n.prop("nfv-package-iui-field-operationalstate")},\r
+            {"mData": "onBoardState", name: $.i18n.prop("nfv-package-iui-field-onboardstate"), "fnRender" : pmUtil.onBoardRender},\r
+            {"mData": "", name: $.i18n.prop("nfv-package-iui-field-operation"), "fnRender" : pmUtil.operationRender}\r
+               ]\r
+       },\r
        $language: {\r
         "sProcessing": "<img src='../common/thirdparty/data-tables/images/loading-spinner-grey.gif'/><span>&nbsp;&nbsp;"\r
                         +$.i18n.prop("nfv-nso-iui-table-sProcess")+"</span>",\r
@@ -66,14 +70,24 @@ var vm = avalon.define({
        var cond = {};\r
                return cond;\r
     },\r
-       $initTable: function() {\r
-        var url=vm.$restUrl.queryPackageInfoUrl;\r
-        commonUtil.get(url,null,function(resp) {\r
-            if (resp) {\r
-                vm.resource.packageInfo=resp;\r
-            }\r
-        })\r
-       },\r
+       //$initTable: function() {\r
+     //   var url=vm.$restUrl.queryPackageInfoUrl;\r
+     //   commonUtil.get(url,null,function(resp) {\r
+     //       if (resp) {\r
+     //           vm.resource.packageInfo=resp;\r
+     //       }\r
+     //   })\r
+       //},\r
+    $initTable: function() {\r
+        var setting = {};\r
+        setting.language = vm.$language;\r
+        setting.paginate = true;\r
+        setting.info = true;\r
+        setting.columns = vm.$packageTableFields.table;\r
+        setting.restUrl = vm.$restUrl.queryPackageInfoUrl;\r
+        setting.tableId = vm.$tableId;\r
+        serverPageTable.initDataTable(setting,{},vm.$tableId + '_div');\r
+    },\r
     packageDetail : {\r
         detailTitle : "",\r
         isShow : "none",\r
@@ -88,14 +102,14 @@ var vm = avalon.define({
             isActive : false\r
         }\r
         ],\r
-        $showDetails : function (isShow, sn, name) {\r
+        $showDetails : function (isShow, csarId, name) {\r
             vm.packageDetail.isShow = isShow;\r
             vm.packageDetail.detailCondChange(0);\r
             if (isShow == "block") {\r
                 vm.packageDetail.detailTitle = name + "-" + $.i18n.prop("nfv-package-iui_packageview_packageDetail"),\r
                     $('#' + vm.packageDetail.detailData[0].id).click();\r
                 vm.packageDetail.detailData[0].isActive = true;\r
-                vm.packageDetail.$initPackageDetailTable(sn);\r
+                vm.packageDetail.$initPackageDetailTable(csarId);\r
             }\r
         },\r
         detailCondChange : function (index) {\r
@@ -105,8 +119,15 @@ var vm = avalon.define({
             }\r
             vm.packageDetail.detailData[index].isActive = true;\r
         },\r
-        $initPackageDetailTable : function (sn) {\r
-            vm.resource.packageDetails = vm.resource.packageInfo[sn];\r
+        $initPackageDetailTable : function (csarId) {\r
+            var data;\r
+            for(var i=0; i<vm.resource.packageInfo.length; i++) {\r
+                if (vm.resource.packageInfo[i].csarId == csarId) {\r
+                    data = vm.resource.packageInfo[i];\r
+                    break;\r
+                }\r
+            }\r
+            vm.resource.packageDetails = data;\r
             vm.resource.relationInfo = [];\r
         },\r
         $isRowDeletingStatus : function(name) {\r
@@ -221,13 +242,16 @@ var vm = avalon.define({
             var url = vm.$restUrl.gsarOnboardUrl;\r
             pmUtil.doOnBoard(url, param);\r
         } else if(type == "SSAR") {\r
-            var ssarTarOnbardState="";            \r
+            var ssarTarOnbardState="";\r
+            var operationalState="";\r
             if(onBoardState =="onBoarded") {\r
                 ssarTarOnbardState = "non-onBoarded";\r
+                operationalState = "Disabled";\r
             } else {\r
                 ssarTarOnbardState = "onBoarded";\r
+                operationalState = "Enabled";\r
             }\r
-            var url = vm.$restUrl.ssarOnboardUrl+"/"+csarId+"?onBoardState="+ssarTarOnbardState\r
+            var url = vm.$restUrl.ssarOnboardUrl+"/"+csarId+"?onBoardState="+ssarTarOnbardState+"&operationalState="+operationalState;\r
             pmUtil.doSSAROnboard(url);\r
         }\r
     },\r
index d632126..79dd813 100644 (file)
@@ -151,15 +151,41 @@ pmUtil.delPackage = function (url) {
         contentType : "application/json",\r
         success : function(resp) {\r
             commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-success"), "success");\r
-            refreshByCond();\r
+            setTimeout( function(){\r
+                refreshByCond();\r
+            }, 1 * 1000 );\r
         },\r
         error : function(resp) {\r
             if(resp.status == 202 || resp.responseText == "success") {\r
                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-success"), "success");\r
-                refreshByCond();\r
+                setTimeout( function(){\r
+                    refreshByCond();\r
+                }, 1 * 1000 );\r
+                //refreshByCond();\r
             } else {\r
                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-error"), "failed");\r
+                setTimeout( function(){\r
+                    refreshByCond();\r
+                }, 1 * 1000 );\r
+                //refreshByCond();\r
             }\r
         }\r
     });\r
 }\r
+\r
+pmUtil.nameRender = function(obj) {\r
+    return '<a href="#" onclick="vm.packageDetail.$showDetails('\r
+        + '\'block\',\'' + obj.aData.id + '\', \'' + obj.aData.name + '\')">' + obj.aData.name + '</a>';\r
+}\r
+\r
+pmUtil.onBoardRender = function(obj) {\r
+    var attr;\r
+    attr = 'class="label label-info status" data-toggle="tooltip" title="nfv-package-iui-status-tip"';\r
+    return '<span class="label label-info status" data-toggle="tooltip" title="nfv-package-iui-status-tip" onclick="vm.onBoardPackage(\'' + obj.aData.csarId\r
+        + '\',\''+ obj.aData.type + '\', \''+ obj.aData.onBoardState +'\')">' + obj.aData.onBoardState + '</span>';\r
+}\r
+\r
+pmUtil.operationRender = function(obj) {\r
+    return '<a href="#" class="btn-xs grey btn-editable" onclick="vm.$delPackage(\'' + obj.aData.csarId\r
+        + '\',\''+ obj.aData.type + '\')">' + '<i class=\"ict-delete\"></i>' + $.i18n.prop('nfv-software-iui-action-delete') + '</a>';\r
+}
\ No newline at end of file