Sync the changes from service template tab page to single page of nodes
authornancylizi <li.zi30@zte.com.cn>
Thu, 29 Sep 2016 12:38:44 +0000 (20:38 +0800)
committernancylizi <li.zi30@zte.com.cn>
Thu, 29 Sep 2016 12:38:44 +0000 (20:38 +0800)
Issue-id:TOSCA-93

Change-Id: I20081f704f187964e4f02cf20cca5830f8718dab
Signed-off-by: nancylizi <li.zi30@zte.com.cn>
openo-portal/portal-catalog/src/main/webapp/catalog/js/template/tmDetailUtil.js
openo-portal/portal-catalog/src/main/webapp/catalog/js/template/tmNodesController.js
openo-portal/portal-catalog/src/main/webapp/catalog/js/template/tmNodesDetailUtil.js

index 4fccf7f..2cb15b4 100644 (file)
@@ -18,7 +18,7 @@ tmDetailUtil.timer = null;
 \r
 tmDetailUtil.nameRender = function(obj) {\r
     return '<a href="#" onclick="vm.nodesTab.nodesDetail.$showDetails('\r
-    + '\'block\',\'' + obj.aData.id + '\', \'' + obj.aData.name + '\')">' + obj.aData.name + '</a>';\r
+    + '\'block\',\'' + obj.aData.id + '\', \'' + obj.aData.name + '\',\'' + vm.nodesTab.nodesList.tempId + '\')">' + obj.aData.name + '</a>';\r
 }\r
 \r
 tmDetailUtil.inputsRender = function(obj) {\r
index b6f554f..ef63ba9 100644 (file)
 var vm = avalon.define({\r
     $id : "tmNodesController",\r
     templateId : "",\r
+    globalNodesData: {},\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
+        + $.i18n.prop("nfv-nso-iui-table-sProcess") + "</span>",\r
         "sLengthMenu": $.i18n.prop("nfv-nso-iui-table-sLengthMenu"),\r
         "sZeroRecords": $.i18n.prop("nfv-nso-iui-table-sZeroRecords"),\r
         "sInfo": "<span class='seperator'>  </span>" + $.i18n.prop("nfv-nso-iui-table-sInfo"),\r
         "sInfoEmpty": $.i18n.prop("nfv-nso-iui-table-sInfoEmpty"),\r
         "sGroupActions": $.i18n.prop("nfv-nso-iui-table-sGroupActions"),\r
-        "sAjaxRequestGeneralError":$.i18n.prop("nfv-nso-iui-table-sAjaxRequestGeneralError"),\r
+        "sAjaxRequestGeneralError": $.i18n.prop("nfv-nso-iui-table-sAjaxRequestGeneralError"),\r
         "sEmptyTable": $.i18n.prop("nfv-nso-iui-table-sEmptyTable"),\r
         "oPaginate": {\r
             "sPrevious": $.i18n.prop("nfv-nso-iui-table-sPrevious"),\r
@@ -33,52 +34,53 @@ var vm = avalon.define({
             "sPageOf": $.i18n.prop("nfv-nso-iui-table-sPageOf")\r
         }\r
     },\r
-    $restUrl : {\r
-        queryNodeTemplateUrl : "/openoapi/catalog/v1/servicetemplates/{0}/nodetemplates",\r
-        queryTemplateInfoUrl : "/openoapi/catalog/v1/servicetemplates"\r
+    $restUrl: {\r
+        queryNodeTemplateUrl: "/openoapi/catalog/v1/servicetemplates/{0}/nodetemplates",\r
+        queryTemplateInfoUrl: "/openoapi/catalog/v1/servicetemplates"\r
     },\r
-    $init : function() {\r
+    $init: function () {\r
         vm.$initTemplateData();\r
-        //vm.$initTopoNodesData();\r
-        vm.$initNodesData();\r
     },\r
-    $initTemplateData : function() {\r
+    $initTemplateData: function () {\r
         $.ajax({\r
-            type : "GET",\r
-            url : vm.$restUrl.queryTemplateInfoUrl,\r
-            success : function(resp) {\r
-                if(resp) {\r
+            type: "GET",\r
+            url: vm.$restUrl.queryTemplateInfoUrl,\r
+            success: function (resp) {\r
+                if (resp) {\r
                     vm.servicesTemplateData = [];\r
-                    for(var i=0; i<resp.length; i++) {\r
+                    for (var i = 0; i < resp.length; i++) {\r
                         //generate node table display data\r
                         vm.servicesTemplateData.push(resp[i]);\r
                     }\r
                     vm.$initNfvNodesTab();\r
                 }\r
             },\r
-            error : function() {\r
+            error: function () {\r
                 commonUtil.showMessage($.i18n.prop("nfv-topology-iui-message-error"), "danger");\r
             }\r
         });\r
     },\r
-    $initNodesData : function() {\r
+    $initNodesData: function (tempId) {\r
         $.ajax({\r
             type: "GET",\r
-            url: vm.$restUrl.queryNodeTemplateUrl,\r
+            //url: vm.$restUrl.queryNodeTemplateUrl,\r
+            url: "/openoapi/catalog/v1/servicetemplates/" + tempId + "/nodetemplates",\r
             success: function (resp) {\r
                 if (resp) {\r
-                    vm.nodesDetail.nodesTemplateDetailData = [];\r
+                    vm.nodesDetail.templatesNodesDetailData[tempId] = [];\r
+                    var nodesTempData = [];\r
                     for (var i = 0; i < resp.length; i++) {\r
                         //generate node table display data\r
                         var nodeTemplate = topoUtil.generateNodeTemplate(resp[i]);\r
-                        vm.nodesList.nodesData.push(nodeTemplate);\r
+                        nodesTempData.push(nodeTemplate);\r
                     }\r
-                    vm.nodesDetail.nodesTemplateDetailData = resp;\r
+                    vm.nodesList.nodesData[tempId] = nodesTempData;\r
+                    vm.nodesDetail.templatesNodesDetailData[tempId] = resp;\r
                     //generate topology graph display data\r
                     //vm.topologyTab.topoTemplateData = topoUtil.generateTopoTemplate(vm.nodesList.nodesData.$model);\r
                     //initialize topology data\r
                     //topoUtil.initTopoData(vm.topologyTab.topoTemplateData.$model);\r
-                    vm.nodesList.$initNodesTable();\r
+                    vm.nodesList.$initNodesTable(tempId);\r
                 }\r
             },\r
             error: function () {\r
@@ -87,8 +89,8 @@ var vm = avalon.define({
         });\r
     },\r
     servicesTemplateData: [],\r
-    $nodesTabId : "ict_nodes_template_table",\r
-    $nodesTemplateTabFields : {// table columns\r
+    $nodesTabId: "ict_nodes_template_table",\r
+    $nodesTemplateTabFields: {// table columns\r
         table: [\r
             {"mData": "serviceTemplateId", name: "ID","bVisible": false},\r
             {"mData": "", name: "","sClass": 'details-control'},\r
@@ -116,87 +118,151 @@ var vm = avalon.define({
                 tr.removeClass('shown');\r
             }\r
             else {\r
-                table.fnOpen(tr[0], vm.nodesList.$format_Detail(), 'details');\r
+                table.fnOpen(tr[0], vm.nodesList.$format_Detail(table,tr[0]), 'details');\r
                 tr.addClass('shown');\r
             }\r
         });\r
     },\r
 \r
     //nodes list table\r
-    nodesList :{\r
-        nodesData: [],\r
-        $nodesTabDataId : "ict_nodes_table",\r
-        $nodesTabFields : {// table columns\r
+    nodesList: {\r
+        nodesData: {},\r
+        tempId:"",\r
+        $nodesTabDataId: "ict_nodes_table",\r
+        $nodesTabFields: {// table columns\r
             table: [\r
                 {"mData": "id", name: "ID", "bVisible": false},\r
-                {"mData": "name", name: $.i18n.prop("nfv-templateDetail-iui-field-nodetypename"), "bSortable": true, "fnRender" : tmNodesDetailUtil.nameRender},\r
+                {\r
+                    "mData": "name",\r
+                    name: $.i18n.prop("nfv-templateDetail-iui-field-nodetypename"),\r
+                    "bSortable": true,\r
+                    "fnRender": tmNodesDetailUtil.nameRender\r
+                },\r
                 {"mData": "type", name: $.i18n.prop("nfv-templateDetail-iui-field-type"), "bSortable": false},\r
-                {"mData": "containedin", name: $.i18n.prop("nfv-templateDetail-iui-field-containedin"), "bSortable": false},\r
-                {"mData": "deployedon", name: $.i18n.prop("nfv-templateDetail-iui-field-deployedon"), "bSortable": false},\r
-                {"mData": "connectedto", name: $.i18n.prop("nfv-templateDetail-iui-field-connectedto"), "bSortable": false},\r
-                {"mData": "virtuallinksto", name: $.i18n.prop("nfv-templateDetail-iui-field-virtuallinksto"), "bSortable": false}\r
+                {\r
+                    "mData": "containedin",\r
+                    name: $.i18n.prop("nfv-templateDetail-iui-field-containedin"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "deployedon",\r
+                    name: $.i18n.prop("nfv-templateDetail-iui-field-deployedon"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "connectedto",\r
+                    name: $.i18n.prop("nfv-templateDetail-iui-field-connectedto"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "virtuallinksto",\r
+                    name: $.i18n.prop("nfv-templateDetail-iui-field-virtuallinksto"),\r
+                    "bSortable": false\r
+                }\r
             ]\r
         },\r
-        $initNodesTable: function () {\r
+        $initNodesTable: function (tempId) {\r
             var setting = {};\r
             setting.language = vm.$language;\r
             setting.paginate = true;\r
             setting.info = true;\r
             setting.columns = vm.nodesList.$nodesTabFields.table;\r
-            setting.restUrl = vm.$restUrl.queryNodeTemplateUrl;\r
-            setting.tableId = vm.nodesList.$nodesTabDataId;\r
-            serverPageTable.initTableWithoutLib(setting,{},vm.nodesList.$nodesTabDataId + '_div');\r
+            setting.restUrl = "/openoapi/catalog/v1/servicetemplates/" + tempId + "/nodetemplates";\r
+            setting.tableId = vm.nodesList.$nodesTabDataId + "_" + tempId;\r
+            //serverPageTable.initTableWithData(setting,vm.nodesList.$nodesTabDataId + '_div',vm.nodesList.nodesData.$model);\r
+            serverPageTable.initTableWithoutLib(setting, {}, setting.tableId + '_div');\r
         },\r
-        $format_Detail: function() {\r
-            var sOut = '<div class="row-fluid" data-name="table_zone"><div class="col-xs-12" id="ict_nodes_table_div"></div></div>'\r
-            vm.$initNodesData();\r
+        $format_Detail: function (oTable, nTr) {\r
+            var aData = oTable.fnGetData(nTr);\r
+            var tempId = aData.serviceTemplateId;\r
+            vm.nodesList.tempId = tempId;\r
+            var tableId = "ict_nodes_table" + "_" + tempId + "_div";\r
+            var sOut = '<div class="row-fluid" data-name="table_zone"><div class="col-xs-12" id="'+tableId+'"></div></div>'\r
+            vm.$initNodesData(tempId);\r
             return sOut;\r
         },\r
     },\r
     //Nodes Details\r
     nodesDetail : {\r
         nodesTemplateDetailData: [],\r
-        detailTitle : "",\r
-        isShow : "none",\r
-        detailIndex : 0,\r
-        detailData : [\r
+        templatesNodesDetailData:[],\r
+        detailTitle: "",\r
+        isShow: "none",\r
+        detailIndex: 0,\r
+        detailData: [\r
             {id: "general", name: $.i18n.prop("nfv-templateDetail-nodesTab-iui-tab-general"), isActive: true},\r
-            {id: "properties", name: $.i18n.prop("nfv-templateDetail-nodesTab-iui-tab-properties"), isActive: false},\r
-            {id: "relationShips", name: $.i18n.prop("nfv-templateDetail-nodesTab-iui-tab-relationShips"), isActive: false}\r
+            {\r
+                id: "properties",\r
+                name: $.i18n.prop("nfv-templateDetail-nodesTab-iui-tab-properties"),\r
+                isActive: false\r
+            },\r
+            {\r
+                id: "relationShips",\r
+                name: $.i18n.prop("nfv-templateDetail-nodesTab-iui-tab-relationShips"),\r
+                isActive: false\r
+            }\r
         ],\r
-        $showDetails : function(isShow, nodetypeid, nodetypename) {\r
+        $showDetails: function (isShow, nodetypeid, nodetypename,tempId) {\r
             vm.nodesDetail.isShow = isShow;\r
             if (isShow == "block") {\r
                 vm.nodesDetail.detailTitle = nodetypename + " " + $.i18n.prop("nfv-templateDetail-nodesTab-iui-title-nodeDetail"),\r
                     $('#' + vm.nodesDetail.detailData[0].id).click();\r
                 vm.nodesDetail.detailData[0].isActive = true;\r
-                vm.nodesDetail.$initNodeDetailTable(nodetypeid);\r
+                vm.nodesDetail.$initNodeDetailTable(nodetypeid,tempId);\r
             }\r
         },\r
-        detailCondChange : function(index) {\r
+        detailCondChange: function (index) {\r
             vm.nodesDetail.detailIndex = index;\r
-            for(var i=0; i<vm.nodesDetail.detailData.length; i++) {\r
+            for (var i = 0; i < vm.nodesDetail.detailData.length; i++) {\r
                 vm.nodesDetail.detailData[i].isActive = false;\r
             }\r
             vm.nodesDetail.detailData[index].isActive = true;\r
         },\r
         $tableFields : {// table columns\r
             general: [\r
-                {"mData": "key", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-key"), "bSortable" : false},\r
-                {"mData": "value", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-value"), "bSortable" : false}\r
+                {\r
+                    "mData": "key",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-key"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "value",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-value"),\r
+                    "bSortable": false\r
+                }\r
             ],\r
             properties: [\r
-                {"mData": "key", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-key"), "bSortable" : false},\r
-                {"mData": "value", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-value"), "bSortable" : false}\r
+                {\r
+                    "mData": "key",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-key"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "value",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-value"),\r
+                    "bSortable": false\r
+                }\r
             ],\r
             relationShips: [\r
-                {"mData": "sourceNodeName", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-sourceNodeName"), "bSortable" : false},\r
-                {"mData": "targetNodeName", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-targetNodeName"), "bSortable" : false},\r
-                {"mData": "type", "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-type"), "bSortable" : false}\r
+                {\r
+                    "mData": "sourceNodeName",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-sourceNodeName"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "targetNodeName",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-targetNodeName"),\r
+                    "bSortable": false\r
+                },\r
+                {\r
+                    "mData": "type",\r
+                    "name": $.i18n.prop("nfv-templateDetail-nodesTab-iui-field-type"),\r
+                    "bSortable": false\r
+                }\r
             ]\r
         },\r
-        $initNodeDetailTable: function(nodetemplateid) {\r
-            var data = topoUtil.getCurrentDetailData(vm.nodesDetail.nodesTemplateDetailData.$model, nodetemplateid);\r
+        $initNodeDetailTable: function (nodetemplateid,tempId) {\r
+            var data = topoUtil.getCurrentDetailData(vm.nodesList.nodesData[tempId], nodetemplateid);\r
             //initialize three tables of nodedetail\r
             $.each(vm.nodesDetail.$tableFields, function(key, value){\r
                 var setting = {};\r
index e289262..caa751e 100644 (file)
@@ -18,6 +18,6 @@ tmNodesDetailUtil.timer = null;
 \r
 tmNodesDetailUtil.nameRender = function(obj) {\r
     return '<a href="#" onclick="vm.nodesDetail.$showDetails('\r
-        + '\'block\',\'' + obj.aData.id + '\', \'' + obj.aData.name + '\')">' + obj.aData.name + '</a>';\r
+        + '\'block\',\'' + obj.aData.id + '\', \'' + obj.aData.name + '\',\'' + vm.nodesList.tempId + '\')">' + obj.aData.name + '</a>';\r
 }\r
 \r