Integrating the resmgr to the Main UI
authorseshukm <seshu.kumar.m@huawei.com>
Tue, 28 Mar 2017 13:06:24 +0000 (18:36 +0530)
committerseshukm <seshu.kumar.m@huawei.com>
Tue, 28 Mar 2017 13:06:24 +0000 (18:36 +0530)
IssueId : CLIENT-46

Change-Id: I9e8c6dfc32b98c601ac82b7afe740c7f66c6c93d
Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
resmgr/src/main/webapp/resmgr/index.html
resmgr/src/main/webapp/resmgr/js/app.js
resmgr/src/main/webapp/resmgr/nfv-resmgr/datacenter/datacenterRest.js
resmgr/src/main/webapp/resmgr/nfv-resmgr/location/locationRest.js
resmgr/src/main/webapp/resmgr/sdn-resmgr/link/linkRest.js
resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/ne.html
resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/neRest.js
resmgr/src/main/webapp/resmgr/sdn-resmgr/port/portRest.js
resmgr/src/main/webapp/resmgr/sdn-resmgr/site/siteRest.js
resmgr/src/main/webapp/resmgr/templates/resource.html

index 9a2300f..69a41ea 100644 (file)
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <title>ResourceManager</title>
-    <link href="thirdparty/css/bootstrap.min.css" rel="stylesheet"/>
+    <link href="/openoui/thirdparty/css/bootstrap.min.css" rel="stylesheet"/>
     <!--Pulling Awesome Font -->
-    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
-    <link href="thirdparty/css/magic-check.css" rel="stylesheet"/>
-    <link rel="stylesheet"; href="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.css">
+    <!--<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">-->
+    <link href="/openoui/thirdparty/css/font-awesome.min.css" rel="stylesheet">
+    <link href="/openoui/thirdparty/css/magic-check.css" rel="stylesheet"/>
+    <!--<link rel="stylesheet"; href="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.css">-->
+    <link href="/openoui/thirdparty/css/ng-table.min.css" rel="stylesheet"/>
     <!--<link href="framework/css/open-ostyle.css" rel="stylesheet"/>-->
     <!--<link rel="stylesheet" href="framework/css/RMain.css">
     <link rel="stylesheet" href="framework/css/VMMain.css">-->
-    <link href="framework/css/open-ostyle.css" rel="stylesheet"/>
+    <link href="/openoui/framework/css/open-ostyle.css" rel="stylesheet"/>
     <!--<link href="css/style.css" rel="stylesheet"/>-->
 
     <!--TODO: <script src="../common/thirdparty/js/angular.min.js"></script>-->
-    <script src="thirdparty/js/angular.min.js"></script>
-    <script src="thirdparty/js/angular-ui-router.min.js"></script>
-    <script src="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.js"></script>
-    <script src="thirdparty/js/jquery_1.12.4.min.js"></script>
-    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
-    <script type="text/javascript" src="thirdparty/js/bootstrap.min.js"></script>
-    <script src="thirdparty/js/mustache.js"></script>
-    <script src="js/app.js"></script>
-    <script src="sdn-resmgr/link/linkRest.js"></script>
-    <script src="sdn-resmgr/site/siteRest.js"></script>
-    <script src="sdn-resmgr/ne/neRest.js"></script>
-    <script src="sdn-resmgr/port/portRest.js"></script>
-    <script src="nfv-resmgr/location/locationRest.js"></script>
-    <script src="nfv-resmgr/datacenter/datacenterRest.js"></script>
-    <script src="nfv-resmgr/vim/vim.js"></script>
-       <script src="framework/js/DataService.js"></script>
+    <script type="text/javascript" src="/openoui/thirdparty/js/angular.min.js"></script>
+    <script type="text/javascript" src="/openoui/thirdparty/js/angular-ui-router.min.js"></script>
+    <!--<script src="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.js"></script>-->
+    <script type="text/javascript" src="/openoui/thirdparty/js/ng-table.min.js"></script>
+    <script type="text/javascript" src="/openoui/thirdparty/js/jquery_1.12.4.min.js"></script>
+    <!--<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>-->
+    <script type="text/javascript" src="/openoui/thirdparty/js/jquery-ui.js"></script>
+    <script type="text/javascript" src="/openoui/thirdparty/js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="/openoui/thirdparty/js/mustache.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/js/app.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/js/DataService.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/sdn-resmgr/link/linkRest.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/sdn-resmgr/site/siteRest.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/sdn-resmgr/ne/neRest.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/sdn-resmgr/port/portRest.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/nfv-resmgr/location/locationRest.js"></script>
+    <script type="text/javascript" src="/openoui/resmgr/nfv-resmgr/datacenter/datacenterRest.js"></script>
+    <!--<script src="/openoui/resmgr/nfv-resmgr/vim/vim.js"></script>-->
+
 
 </head>
 
-<body ng-app="ResourceMgrApp" onpageshow="loadTemplate()" ><!--onload="loadTemplate()"-->
+<body ng-app="ResourceMgrApp" ><!--onload="loadTemplate()"-->
 <ui-view></ui-view>
 </body>
 </html>
\ No newline at end of file
index 149739a..b27d784 100644 (file)
 \r
 var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])\r
 \r
+    .run(function($rootScope, $location, $state, $stateParams) {\r
+        $rootScope.$on('$viewContentLoaded', function() {\r
+            //call it here\r
+            loadTemplate();\r
+        });\r
+    })\r
+\r
     .config(function($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider){\r
         $urlMatcherFactoryProvider.caseInsensitive(true);\r
         $urlRouterProvider.otherwise('/resource/site');\r
@@ -60,16 +67,12 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                 templateUrl : "nfv-resmgr/datacenter/datacenter.html",\r
                 controller : "datacenterCtrl"\r
             })\r
-            /*.state("resource.overlayVPN", {\r
-                url: "/overlayVPN",\r
-                templateUrl : "nfv-resmgr/vim/vim.html",\r
-                //controller : "overlayVPNCtrl"\r
-            })*/\r
-            .state("resource.vim", {\r
+\r
+           /* .state("resource.vim", {\r
                 url: "/vim",\r
                 templateUrl : "nfv-resmgr/vim/vim.html",\r
                 controller : "vimCtrl"\r
-            })\r
+            })*/\r
 \r
     })\r
 \r
@@ -88,6 +91,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 /*------------------------------------------------------------------------------PORT--------------------------------------------------------------------------------------*/\r
     .controller("portCtrl", function($scope,portDataService,$log, $compile,NgTableParams, $state ){\r
         $scope.title = "Port";\r
+        var def_button_tpl, def_iconbutton_tpl;\r
 \r
         $scope.init = function() {\r
             portDataService.getAllPortData()\r
@@ -98,6 +102,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                     loadButtons();\r
                 }, function (reason) {\r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
@@ -112,19 +117,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#portAction').html($compile(addhtml)($scope));\r
             $('#portAction').append($compile(deletehtml)($scope));\r
 \r
-            $scope.checkboxes = { 'checked': false, items: {} };\r
-\r
-            $scope.portTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
-            }, { counts:[5, 10, 20, 50], dataset: $scope.data.portData});\r
-\r
-            $scope.$watch('checkboxes.checked', function(value) {\r
-                angular.forEach($scope.data.portData, function(item) {\r
-                    if (angular.isDefined(item.id)) {\r
-                        $scope.checkboxes.items[item.id] = value;\r
-                    }\r
-                });\r
-            });\r
-\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(port.id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -146,13 +138,30 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#myModal #me').append($compile(Mustache.to_html(text, portMe.ErrMsg))($scope));\r
 \r
             //var portType = {"ErrMsg" :     {"textboxErr" : "The name is required.", "modalVar":"port.type"}};\r
-            $('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdowntypeData))($scope));\r
+            //$('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdowntypeData))($scope));\r
+\r
+            var dropSimple_data = {\r
+                "modalVar" : "port.type",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdowntypeData.item) : ""\r
+            };\r
+\r
+            $('#myModal #type').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
+\r
 \r
             var portLayerRate = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"port.layerrate"}};\r
             $('#myModal #layerrate').append($compile(Mustache.to_html(text, portLayerRate.ErrMsg))($scope));\r
 \r
             //var portEdgePoint = {"ErrMsg" :     {"ipv4Err" : "IP Address is required.", "modalVar":"port.Edgepoint"}};\r
-            $('#myModal #Edgepoint').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownEdgeData))($scope));\r
+            //$('#myModal #Edgepoint').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownEdgeData))($scope));\r
+\r
+            var dropSimple_data = {\r
+                "modalVar" : "port.Edgepoint",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownEdgeData.item) : ""\r
+            };\r
+\r
+            $('#myModal #Edgepoint').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
 \r
             var portIndex = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"port.portindex"}};\r
             $('#myModal #portindex').append($compile(Mustache.to_html(text, portIndex.ErrMsg))($scope));\r
@@ -166,6 +175,19 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var portOperatingState = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"port.operatingState"}};\r
             $('#myModal #operatingState').append($compile(Mustache.to_html(text, portOperatingState.ErrMsg))($scope));\r
 \r
+            $scope.checkboxes = { 'checked': false, items: {} };\r
+\r
+            $scope.portTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
+            }, { counts:[5, 10, 20, 50], dataset: $scope.data.portData});\r
+\r
+            $scope.$watch('checkboxes.checked', function(value) {\r
+                angular.forEach($scope.data.portData, function(item) {\r
+                    if (angular.isDefined(item.id)) {\r
+                        $scope.checkboxes.items[item.id] = value;\r
+                    }\r
+                });\r
+            });\r
+\r
         }\r
 \r
         $scope.validatetextboxName = function (value){\r
@@ -212,6 +234,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
         $scope.closeModal = function() {\r
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
+            $state.reload();\r
         }\r
 \r
 \r
@@ -233,30 +256,32 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $scope.numericErr = false;\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.port));\r
-                portDataService.editPortData($scope.port)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErrName && $scope.textboxErrMe) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.port));\r
+                    portDataService.editPortData($scope.port)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.port));\r
-                portDataService.addPortData($scope.port)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.port));\r
+                    portDataService.addPortData($scope.port)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
@@ -273,8 +298,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "OK", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+                if(value) {\r
+                    checkbox = true;\r
+                }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -326,7 +358,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 /*-----------------------------------------------------------------------------SITE-----------------------------------------------------------------------------------*/\r
     .controller("siteCtrl", function($scope,siteDataService, $log, $compile, $state, NgTableParams ){\r
         $scope.title = "Site";\r
-\r
+        var def_button_tpl, def_iconbutton_tpl;\r
         $scope.init = function() {\r
             siteDataService.getAllSiteData()\r
                 .then(function (data) {\r
@@ -337,14 +369,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                 }, function (reason) {\r
 \r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
         function loadButtons() {\r
-            var def_button_tpl = $(modelTemplate).filter('#defaultButtons').html();\r
-            var def_iconbutton_tpl = $(modelTemplate).filter('#defaultIconButtons').html();\r
+            def_button_tpl = $(modelTemplate).filter('#defaultButtons').html();\r
+            def_iconbutton_tpl = $(modelTemplate).filter('#defaultIconButtons').html();\r
             var dialog = $(modelTemplate).filter('#dialog').html();\r
-            var add_data = {"title":"Create", "type":"btn btn-default", "gType": "plus-icon", "iconPosition":"left", "clickAction":"showAddModal()"};\r
+            var add_data = {"title":"Create", "type":"btn btn-default",  "gType": "plus-icon", "iconPosition":"left", "clickAction":"showAddModal()"};\r
             var delete_data = {"title":"Delete Selected", "type":"btn btn-default", "gType": "delete-icon", "iconPosition":"left", "clickAction":"deleteData()"};\r
             var addhtml = Mustache.to_html(def_iconbutton_tpl, add_data);\r
             var deletehtml = Mustache.to_html(def_iconbutton_tpl, delete_data);\r
@@ -353,6 +386,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 \r
             $scope.checkboxes = { 'checked': false, items: {} };\r
 \r
+            loadSiteDialog();\r
+\r
+\r
             $scope.siteTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
             }, { counts:[5, 10, 20, 50], dataset: $scope.data.siteData});\r
 \r
@@ -365,6 +401,13 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                 });\r
             });\r
 \r
+\r
+\r
+        }\r
+\r
+        function loadSiteDialog() {\r
+\r
+\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(site.id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -379,7 +422,13 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var siteName = {"ErrMsg" :     {"errmsg" : "Name is required.", "modalVar":"site.name", "errtag":"textboxErrName", "errfunc":"validatetextboxName", "required":true}};\r
             $('#myModal #name').append($compile(Mustache.to_html(text, siteName.ErrMsg))($scope));\r
 \r
-            $('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownsiteData))($scope));\r
+            var dropSimple_data = {\r
+                "modalVar" : "site.type",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownsiteData.item): ""\r
+            };\r
+\r
+            $('#myModal #type').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
 \r
             var siteTenantName = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"site.tenatname"}};\r
             $('#myModal #tenantname').append($compile(Mustache.to_html(text, siteTenantName.ErrMsg))($scope));\r
@@ -389,8 +438,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 \r
             var siteLocation = {"ErrMsg" :     {"errmsg" : "Location is required.", "modalVar":"site.location", "placeholder":"Location"}};\r
             $('#myModal #location').append($compile(Mustache.to_html(text, siteLocation.ErrMsg))($scope));\r
-\r
-\r
         }\r
 \r
         $scope.validatetextboxName = function (value){\r
@@ -405,6 +452,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
         $scope.closeModal = function() {\r
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
+            $state.reload();\r
         }\r
 \r
         $scope.checkAll = function() {\r
@@ -421,11 +469,12 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $scope.textboxErrName = false;\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.site));\r
-                siteDataService.editSiteData($scope.site)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErrName) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.site));\r
+                    siteDataService.editSiteData($scope.site)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
@@ -433,23 +482,25 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                             //$log.info(reason);\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.site));\r
-                siteDataService.addSiteData($scope.site)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.site));\r
+                    siteDataService.addSiteData($scope.site)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
             var confirmation=false;\r
+            var checkbox = false;\r
             var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
             var error = {"err_data" : { "title": "Error",\r
                 "showClose": "true",\r
@@ -462,8 +513,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "Ok", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+              if(value) {\r
+                  checkbox = true;\r
+              }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -502,7 +560,8 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             angular.forEach($scope.data.siteData, function(data) {\r
                 if(!dataFound) {\r
                     if (data.id == id) {\r
-                        console.log("Found : " + data.id);\r
+                        console.log("Found : " + data.name);\r
+                        console.log("Found : " + data);\r
                         $scope.site = data;\r
                         $("#myModal").modal();\r
                         dataFound = true;\r
@@ -526,6 +585,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                     loadButtons();\r
                 }, function (reason) {\r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
@@ -541,19 +601,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#locationAction').html($compile(addhtml)($scope));\r
             $('#locationAction').append($compile(deletehtml)($scope));\r
 \r
-            $scope.checkboxes = { 'checked': false, items: {} };\r
-\r
-            $scope.neTableParams = new NgTableParams({count: 5, sorting: {Id: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
-            }, { counts:[5, 10, 20, 50], dataset: $scope.data.locationData});\r
-\r
-            $scope.$watch('checkboxes.checked', function(value) {\r
-                angular.forEach($scope.data.locationData, function(item) {\r
-                    if (angular.isDefined(item.Id)) {\r
-                        $scope.checkboxes.items[item.Id] = value;\r
-                    }\r
-                });\r
-            });\r
-\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(loc.Id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -567,31 +614,37 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
             var number = $(modelTemplate).filter('#numeric').html();\r
 \r
-            var locId = {"ErrMsg" :     {"errmsg" : "Name is required.", "modalVar":"loc.Id", "errtag":"textboxErrId", "errfunc":"validatetextboxId", "placeholder":"Country", "placeholder":"Id"}};\r
+            var locId = {"ErrMsg" :     {"errmsg" : "Name is required.", "modalVar":"loc.Id", "errtag":"textboxErrId", "errfunc":"validatetextboxId"}};\r
             $('#myModal #Name').append($compile(Mustache.to_html(text, locId.ErrMsg))($scope));\r
 \r
-            var locCountry = {"ErrMsg" :     {"errmsg" : "Country is required.", "modalVar":"loc.Country", "errtag":"textboxErrCountry", "errfunc":"validatetextboxCountry", "placeholder":"Country","required":true}};\r
+            var locCountry = {"ErrMsg" :     {"errmsg" : "Country is required.", "modalVar":"loc.Country", "errtag":"textboxErrCountry", "errfunc":"validatetextboxCountry","required":true}};\r
             $('#myModal #Country').append($compile(Mustache.to_html(text, locCountry.ErrMsg))($scope));\r
 \r
-            var locLocation = {"ErrMsg" :     {"errmsg" : "Location is required.", "modalVar":"loc.Location", "errtag":"textboxErrLocation", "errfunc":"validatetextboxLocation", "placeholder":"Location","required":true}};\r
+            var locLocation = {"ErrMsg" :     {"errmsg" : "Location is required.", "modalVar":"loc.Location", "errtag":"textboxErrLocation", "errfunc":"validatetextboxLocation","required":true}};\r
             $('#myModal #Location').append($compile(Mustache.to_html(text, locLocation.ErrMsg))($scope));\r
 \r
-            var locDescription = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"loc.Description", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Description "}};\r
+            var locDescription = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"loc.Description", "errtag":"textboxErr", "errfunc":"validatetextbox"}};\r
             $('#myModal #Description').append($compile(Mustache.to_html(text, locDescription.ErrMsg))($scope));\r
 \r
-            var locLatitude = {"ErrMsg" :     {"errmsg" : "Latitude is required.", "modalVar":"loc.Latitude", "errtag":"textboxErrLatitude", "errfunc":"validatetextboxLatitude", "placeholder":"Latitude","required":true}};\r
+            var locLatitude = {"ErrMsg" :     {"errmsg" : "Latitude is required.", "modalVar":"loc.Latitude", "errtag":"textboxErrLatitude", "errfunc":"validatetextboxLatitude", "required":true}};\r
             $('#myModal #Latitude').append($compile(Mustache.to_html(text, locLatitude.ErrMsg))($scope));\r
 \r
-            var locLongitude = {"ErrMsg" :     {"errmsg" : "Longitude is required.", "modalVar":"loc.Longitude", "errtag":"textboxErrLongitude", "errfunc":"validatetextboxLongitude", "placeholder":"Longitude","required":true}};\r
+            var locLongitude = {"ErrMsg" :     {"errmsg" : "Longitude is required.", "modalVar":"loc.Longitude", "errtag":"textboxErrLongitude", "errfunc":"validatetextboxLongitude", "required":true}};\r
             $('#myModal #Longitude').append($compile(Mustache.to_html(text, locLongitude.ErrMsg))($scope));\r
-        }\r
 \r
-        $scope.validatetextboxLocation = function (value){\r
-            if($scope.loc.Location) {\r
-                $scope.textboxErrLocation = false;\r
-            }\r
-            else\r
-                $scope.textboxErrLocation = true;\r
+            $scope.checkboxes = { 'checked': false, items: {} };\r
+\r
+            $scope.neTableParams = new NgTableParams({count: 5, sorting: {Id: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
+            }, { counts:[5, 10, 20, 50], dataset: $scope.data.locationData});\r
+\r
+            $scope.$watch('checkboxes.checked', function(value) {\r
+                angular.forEach($scope.data.locationData, function(item) {\r
+                    if (angular.isDefined(item.Id)) {\r
+                        $scope.checkboxes.items[item.Id] = value;\r
+                    }\r
+                });\r
+            });\r
+\r
         }\r
 \r
         $scope.validatetextboxCountry = function (value){\r
@@ -602,6 +655,14 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                 $scope.textboxErrCountry = true;\r
         }\r
 \r
+        $scope.validatetextboxLocation = function (value){\r
+            if($scope.loc.Location) {\r
+                $scope.textboxErrLocation = false;\r
+            }\r
+            else\r
+                $scope.textboxErrLocation = true;\r
+        }\r
+\r
         $scope.validatetextboxLatitude = function (value){\r
             if($scope.loc.Latitude) {\r
                 $scope.textboxErrLatitude = false;\r
@@ -621,6 +682,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
         $scope.closeModal = function() {\r
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
+            $state.reload();\r
         }\r
 \r
 \r
@@ -632,7 +694,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 \r
         $scope.showAddModal = function() {\r
             console.log("Showing Modal to Add data");\r
-            $scope.location = {};\r
+            $scope.loc = {};\r
             //$("#myModal").modal();\r
             $("#myModal").modal({}).draggable();\r
             $scope.textboxErrLocation = false;\r
@@ -641,22 +703,23 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $scope.textboxErrLongitude = false;\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.loc));\r
-                locationDataService.editLocationData($scope.loc)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErrLocation && !$scope.textboxErrCountry && !$scope.textboxErrLatitude && !$scope.textboxErrLongitude) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.loc));\r
+                    locationDataService.editLocationData($scope.loc)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.loc));\r
-                locationDataService.addLocationData($scope.loc)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.loc));\r
+                    locationDataService.addLocationData($scope.loc)\r
+                        .then(function (data) {\r
 \r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
@@ -664,8 +727,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
@@ -682,8 +746,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "OK", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+                if(value) {\r
+                    checkbox = true;\r
+                }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -745,6 +816,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                     loadButtons();\r
                 }, function (reason) {\r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
@@ -759,20 +831,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#linkAction').html($compile(addhtml)($scope));\r
             $('#linkAction').append($compile(deletehtml)($scope));\r
 \r
-            $scope.checkboxes = { 'checked': false, items: {} };\r
-\r
-            $scope.linkTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
-            }, { counts:[5, 10, 20, 50], dataset: $scope.data.linkData});\r
-\r
-            $scope.$watch('checkboxes.checked', function(value) {\r
-                angular.forEach($scope.data.linkData, function(item) {\r
-                    console.log(item.id);\r
-                    if (angular.isDefined(item.id)) {\r
-                        $scope.checkboxes.items[item.id] = value;\r
-                    }\r
-                });\r
-            });\r
-\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(link.id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -790,7 +848,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#myModal #name').append($compile(Mustache.to_html(text, linkName.ErrMsg))($scope));\r
 \r
             //var linkType = {"ErrMsg" :     {"textboxErr" : "The name is required.", "modalVar":"link.type"}};\r
-            $('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownlinkData))($scope));\r
+            //$('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownlinkData))($scope));\r
+\r
+            var dropSimple_data = {\r
+                "modalVar" : "link.type",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownlinkData.item) : ""\r
+            };\r
+\r
+            $('#myModal #type').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
 \r
             var linkLayerRate = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"link.layerRate"}};\r
             $('#myModal #layerRate').append($compile(Mustache.to_html(text, linkLayerRate.ErrMsg))($scope));\r
@@ -813,6 +879,20 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var linkOperatingState = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"link.operatingState"}};\r
             $('#myModal #operatingState').append($compile(Mustache.to_html(text, linkOperatingState.ErrMsg))($scope));\r
 \r
+            $scope.checkboxes = { 'checked': false, items: {} };\r
+\r
+            $scope.linkTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
+            }, { counts:[5, 10, 20, 50], dataset: $scope.data.linkData});\r
+\r
+            $scope.$watch('checkboxes.checked', function(value) {\r
+                angular.forEach($scope.data.linkData, function(item) {\r
+                    console.log(item.id);\r
+                    if (angular.isDefined(item.id)) {\r
+                        $scope.checkboxes.items[item.id] = value;\r
+                    }\r
+                });\r
+            });\r
+\r
         }\r
 \r
         $scope.validatetextbox = function (value){\r
@@ -842,6 +922,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
         $scope.closeModal = function() {\r
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
+            $state.reload();\r
         }\r
 \r
         $scope.checkAll = function() {\r
@@ -859,22 +940,23 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $scope.numericErr = false;\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.link));\r
-                linkDataService.editLinkData($scope.link)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErr) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.link));\r
+                    linkDataService.editLinkData($scope.link)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.link));\r
-                linkDataService.addLinkData($scope.link)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.link));\r
+                    linkDataService.addLinkData($scope.link)\r
+                        .then(function (data) {\r
 \r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
@@ -882,8 +964,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
@@ -900,8 +983,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "OK", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+                if(value) {\r
+                    checkbox = true;\r
+                }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -963,6 +1053,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                     loadButtons();\r
                 }, function (reason) {\r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
@@ -978,19 +1069,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#neAction').html($compile(addhtml)($scope));\r
             $('#neAction').append($compile(deletehtml)($scope));\r
 \r
-            $scope.checkboxes = { 'checked': false, items: {} };\r
-\r
-            $scope.neTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
-            }, { counts:[5, 10, 20, 50], dataset: $scope.data.neData});\r
-\r
-            $scope.$watch('checkboxes.checked', function(value) {\r
-                angular.forEach($scope.data.neData, function(item) {\r
-                    if (angular.isDefined(item.id)) {\r
-                        $scope.checkboxes.items[item.id] = value;\r
-                    }\r
-                });\r
-            });\r
-\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(ne.id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -1013,7 +1091,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var neProductName = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"ne.productname" }};\r
             $('#myModal #productname').append($compile(Mustache.to_html(text, neProductName.ErrMsg))($scope));\r
 \r
-            $('#myModal #controller').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownneData))($scope));\r
+            //$('#myModal #controller').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownneData))($scope));\r
+            var dropSimple_data = {\r
+                "modalVar" : "ne.controller",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownneData.item): ""\r
+            };\r
+\r
+            $('#myModal #controller').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
+\r
 \r
             var neIPAddress = {"ErrMsg" :     {"errmsg" : "IP Address is required.", "modalVar":"ne.ipaddress"}};\r
             $('#myModal #ipaddress').append($compile(Mustache.to_html(text, neIPAddress.ErrMsg))($scope));\r
@@ -1027,8 +1113,22 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var neOperatingState = {"ErrMsg" :     {"errmsg" : "The name is required.", "modalVar":"ne.operatingState"}};\r
             $('#myModal #operatingState').append($compile(Mustache.to_html(text, neOperatingState.ErrMsg))($scope));\r
 \r
+            $scope.checkboxes = { 'checked': false, items: {} };\r
+\r
+            $scope.neTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
+            }, { counts:[5, 10, 20, 50], dataset: $scope.data.neData});\r
+\r
+            $scope.$watch('checkboxes.checked', function(value) {\r
+                angular.forEach($scope.data.neData, function(item) {\r
+                    if (angular.isDefined(item.id)) {\r
+                        $scope.checkboxes.items[item.id] = value;\r
+                    }\r
+                });\r
+            });\r
+\r
         }\r
 \r
+\r
         $scope.validatetextboxName = function (value){\r
             if($scope.ne.name) {\r
                 $scope.textboxErrName = false;\r
@@ -1049,6 +1149,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
             $scope.textboxErrName = false;\r
+            $state.reload();\r
         }\r
 \r
 \r
@@ -1068,22 +1169,23 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $("#myModal").modal({}).draggable();\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.ne));\r
-                neDataService.editNEData($scope.ne)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErrName && !$scope.textboxErrVersion) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.ne));\r
+                    neDataService.editNEData($scope.ne)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.ne));\r
-                neDataService.addNEData($scope.ne)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.ne));\r
+                    neDataService.addNEData($scope.ne)\r
+                        .then(function (data) {\r
 \r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
@@ -1091,8 +1193,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
@@ -1109,8 +1212,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "OK", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+                if(value) {\r
+                    checkbox = true;\r
+                }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -1173,6 +1283,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                     loadButtons();\r
                 }, function (reason) {\r
                     $scope.message = "Error is :" + JSON.stringify(reason);\r
+                    loadButtons();\r
                 });\r
         }\r
 \r
@@ -1188,19 +1299,6 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $('#datacenterAction').html($compile(addhtml)($scope));\r
             $('#datacenterAction').append($compile(deletehtml)($scope));\r
 \r
-            $scope.checkboxes = { 'checked': false, items: {} };\r
-\r
-            $scope.neTableParams = new NgTableParams({count: 5, sorting: {Id: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
-            }, { counts:[5, 10, 20, 50], dataset: $scope.data.datacenterData});\r
-\r
-            $scope.$watch('checkboxes.checked', function(value) {\r
-                angular.forEach($scope.data.datacenterData, function(item) {\r
-                    if (angular.isDefined(item.Id)) {\r
-                        $scope.checkboxes.items[item.Id] = value;\r
-                    }\r
-                });\r
-            });\r
-\r
             var modelSubmit_data = {"title":"OK", "clickAction":"saveData(datacenter.Id)"};\r
             var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
             $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
@@ -1223,11 +1321,32 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var dataStatus = {"ErrMsg" :     {"textboxErr" : "The name is required.", "modalVar":"datacenter.Status"}};\r
             $('#myModal #Status').append($compile(Mustache.to_html(text, dataStatus.ErrMsg))($scope));\r
 \r
-            $('#myModal #Country').append($compile(Mustache.to_html(dropDown, $scope.data.dropdowncountryData))($scope));\r
+            //$('#myModal #Country').append($compile(Mustache.to_html(dropDown, $scope.data.dropdowncountryData))($scope));\r
+            var dropSimple_data = {\r
+                "modalVar" : "datacenter.Country",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdowncountryData.item) : ""\r
+            };\r
 \r
-            $('#myModal #Location').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownlocationData))($scope));\r
+            $('#myModal #Country').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
 \r
-            $('#myModal #ServiceName').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownserviceData))($scope));\r
+            //$('#myModal #Location').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownlocationData))($scope));\r
+            var dropSimple_data = {\r
+                "modalVar" : "datacenter.Location",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownlocationData.item) : ""\r
+            };\r
+\r
+            $('#myModal #Location').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
+\r
+            //$('#myModal #ServiceName').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownserviceData))($scope));\r
+            var dropSimple_data = {\r
+                "modalVar" : "datacenter.ServiceName",\r
+                "labelField" : "itemLabel",\r
+                "optionsValue" : $scope.data ? JSON.stringify($scope.data.dropdownlocationData.item) : ""\r
+            };\r
+\r
+            $('#myModal #ServiceName').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));\r
 \r
             var dataCPU = {"ErrMsg" :     {"textboxErr" : "The name is required.", "modalVar":"datacenter.Cpu"}};\r
             $('#myModal #Cpu').append($compile(Mustache.to_html(text, dataCPU.ErrMsg))($scope));\r
@@ -1238,7 +1357,18 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             var dataHarddisk = {"ErrMsg" :     {"textboxErr" : "The name is required.", "modalVar":"datacenter.HardDisk"}};\r
             $('#myModal #HardDisk').append($compile(Mustache.to_html(text, dataHarddisk.ErrMsg))($scope));\r
 \r
+            $scope.checkboxes = { 'checked': false, items: {} };\r
 \r
+            $scope.neTableParams = new NgTableParams({count: 5, sorting: {Id: 'asc'}    //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}\r
+            }, { counts:[5, 10, 20, 50], dataset: $scope.data.datacenterData});\r
+\r
+            $scope.$watch('checkboxes.checked', function(value) {\r
+                angular.forEach($scope.data.datacenterData, function(item) {\r
+                    if (angular.isDefined(item.Id)) {\r
+                        $scope.checkboxes.items[item.Id] = value;\r
+                    }\r
+                });\r
+            });\r
 \r
         }\r
 \r
@@ -1261,6 +1391,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
         $scope.closeModal = function() {\r
             console.log("Closing Modal...");\r
             $('#myModal').modal('hide');\r
+            $state.reload();\r
         }\r
 \r
 \r
@@ -1279,22 +1410,23 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
             $scope.numericErr = false;\r
         }\r
         $scope.saveData = function(id) {\r
-            if(id) {\r
-                //edit data\r
-                console.log("Editing data.." + JSON.stringify($scope.datacenter));\r
-                datacenterDataService.editDatacenterData($scope.datacenter)\r
-                    .then(function (data) {\r
+            if (!$scope.textboxErr && !$scope.numericErr) {\r
+                if(id) {\r
+                    //edit data\r
+                    console.log("Editing data.." + JSON.stringify($scope.datacenter));\r
+                    datacenterDataService.editDatacenterData($scope.datacenter)\r
+                        .then(function (data) {\r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
                         },\r
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
-            }\r
-            else {\r
-                console.log("Adding data.." + JSON.stringify($scope.datacenter));\r
-                datacenterDataService.addDatacenterData($scope.datacenter)\r
-                    .then(function (data) {\r
+                }\r
+                else {\r
+                    console.log("Adding data.." + JSON.stringify($scope.datacenter));\r
+                    datacenterDataService.addDatacenterData($scope.datacenter)\r
+                        .then(function (data) {\r
 \r
                             $scope.message = "Success :-)";\r
                             $state.reload();\r
@@ -1302,8 +1434,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         function (reason) {\r
                             $scope.message = reason.status + " " + reason.statusText;\r
                         });\r
+                }\r
+                $('#myModal').modal('hide');\r
             }\r
-            $('#myModal').modal('hide');\r
         }\r
 \r
         $scope.deleteData = function(id) {\r
@@ -1320,8 +1453,15 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
                         "text": "OK", "action": "deleteConfirmation("+id+")"\r
                     }]\r
             }};\r
-            var html = Mustache.to_html(dialog_tpl, error.err_data);\r
-            $($compile(html)($scope)).modal({backdrop: "static"});\r
+            angular.forEach($scope.checkboxes.items, function(value) {\r
+                if(value) {\r
+                    checkbox = true;\r
+                }\r
+            });\r
+            if (checkbox || (typeof id !== "undefined")) {\r
+                var html = Mustache.to_html(dialog_tpl, error.err_data);\r
+                $($compile(html)($scope)).modal({backdrop: "static"});\r
+            }\r
         }\r
 \r
         $scope.deleteConfirmation = function(id) {\r
@@ -1376,18 +1516,21 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])
 \r
 var modelTemplate = "";\r
 function loadTemplate() {\r
-\r
-    $.get('framework/templateContainer.html', function (template) {\r
+    \r
+    $.get('/openoui/resmgr/templates/template.html', function (template) {\r
+        modelTemplate += template;\r
+    });\r
+    $.get('/openoui/resmgr/templates/templateContainer.html', function (template) {\r
         modelTemplate += template;\r
     });\r
-    $.get('framework/templateWidget.html', function (template) {\r
+    $.get('/openoui/resmgr/templates/templateWidget.html', function (template) {\r
         //console.log("Template is : "+template);\r
         modelTemplate += template;\r
     });\r
-    $.get('framework/templateNotification.html', function (template) {\r
+    $.get('/openoui/resmgr/templates/templateNotification.html', function (template) {\r
         modelTemplate += template;\r
     });\r
-    $.get('framework/templateFunctional.html', function (template) {\r
+    $.get('/openoui/resmgr/templates/templateFunctional.html', function (template) {\r
         modelTemplate += template;\r
     });\r
 }\r
index 3424afe..f125156 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("datacenterDataService", function($http,DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     uri += "/openoapi/resmgr/v1/datacenters/";\r
     return {\r
         getDatacenterData : function() {\r
index 512bf77..4bfb2f5 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("locationDataService", function($http,DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     uri += "/openoapi/resmgr/v1/locations/";\r
     return {\r
         getLocationData : function() {\r
index 4040c79..cf250f4 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("linkDataService", function($http, DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     uri += "/openoapi/sdnobrs/v1/topological-links";\r
     return {\r
         getAllLinkData: function () {\r
index 13307cd..7245fcb 100644 (file)
@@ -45,7 +45,7 @@
         <td title="'IP Address'" filter="{ ipaddress: 'number'}" sortable="'ipaddress'">\r
             {{neData.ipaddress}}\r
         </td>\r
-        <td title="'NE Role'" filter="{ nerole: 'text'}" sortable="'nerole'">\r
+        <td title="'Role'" filter="{ nerole: 'text'}" sortable="'nerole'">\r
             {{neData.nerole}}\r
         </td>\r
         <td title="'Admin State'" filter="{ adminState: 'text'}" sortable="'adminState'">\r
index ba9e8b0..f6fabb4 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("neDataService", function($http, DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     uri += "/openoapi/sdnobrs/v1/managed-elements";\r
     return {\r
         getAllNEData : function() {\r
index c6c59d0..6bed264 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("portDataService", function($http,DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     uri += "/openoapi/sdnobrs/v1/logical-termination-points";\r
     return {\r
         getAllPortData : function() {\r
index c407f7f..08c89fc 100644 (file)
@@ -14,7 +14,7 @@
  */\r
 \r
 app.factory("siteDataService", function($http, DataService, $log){\r
-    var uri = 'http://192.168.9.13:18008';\r
+    var uri = '';\r
     return {\r
         getAllSiteData : function() {\r
             /*return $http({\r
index 4742778..3428c96 100644 (file)
@@ -43,9 +43,9 @@
                                 <li>\r
                                     <a ui-sref=".datacenter" ui-sref-active="link_active">Data Center</a>\r
                                 </li>\r
-                                <li>\r
+                                <!--<li>\r
                                     <a ui-sref=".vim" ui-sref-active="link_active">VIM</a>\r
-                                </li>\r
+                                </li>-->\r
                             </ul>\r
                         </div>\r
                     </div>\r