--- /dev/null
+/* Copyright 2017, Huawei Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"])\r
+\r
+ .config(function($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider){\r
+ $urlMatcherFactoryProvider.caseInsensitive(true);\r
+ $urlRouterProvider.otherwise('/resource/site');\r
+\r
+ $stateProvider\r
+ .state("resource", {\r
+ url: "/resource",\r
+ templateUrl : "templates/resource.html",\r
+ controller : "resourceCtrl"\r
+ })\r
+\r
+ .state("resource.site", {\r
+ url: "/site",\r
+ templateUrl : "sdn-resmgr/site/site.html",\r
+ controller : "siteCtrl"\r
+\r
+ })\r
+ .state("resource.me", {\r
+ url: "/ne",\r
+ templateUrl : "sdn-resmgr/ne/ne.html",\r
+ controller : "neCtrl"\r
+ })\r
+ .state("resource.port", {\r
+ url: "/port",\r
+ templateUrl : "sdn-resmgr/port/port.html",\r
+ controller : "portCtrl"\r
+\r
+ })\r
+ .state("resource.link", {\r
+ url: "/link",\r
+ templateUrl : "sdn-resmgr/link/link.html",\r
+ controller : "linkCtrl"\r
+\r
+ })\r
+ .state("resource.location", {\r
+ url: "/location",\r
+ templateUrl : "nfv-resmgr/location/location.html",\r
+ controller : "locationCtrl"\r
+\r
+ })\r
+ .state("resource.datacenter", {\r
+ url: "/datacenter",\r
+ 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
+ url: "/vim",\r
+ templateUrl : "nfv-resmgr/vim/vim.html",\r
+ controller : "vimCtrl"\r
+ })\r
+\r
+ })\r
+\r
+ .controller("resourceCtrl", function($scope, $log){\r
+ $scope.message = "Resource";\r
+ console.log("Hello All");\r
+\r
+ $scope.loadTemplate = function() {\r
+\r
+ }\r
+ $scope.getTemplate = function(templateId) {\r
+ console.log("getTemplate() : " + $scope.templates);\r
+ return $($scope.templates).filter('#defaultButtons').html();\r
+ }\r
+ })\r
+/*------------------------------------------------------------------------------PORT--------------------------------------------------------------------------------------*/\r
+ .controller("portCtrl", function($scope,portDataService,$log, $compile,NgTableParams, $state ){\r
+ $scope.title = "Port";\r
+\r
+ $scope.init = function() {\r
+ portDataService.getAllPortData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\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
+ 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 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
+ $('#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
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
+ var number = $(modelTemplate).filter('#numeric').html();\r
+ var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();\r
+\r
+\r
+ var portName = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"port.name", "errtag":"textboxErr", "errfunc":"validatetextbox", "required":true}};\r
+ $('#myModal #name').append($compile(Mustache.to_html(text, portName.ErrMsg))($scope));\r
+\r
+ var portMe = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"port.me", "errtag":"textboxErr", "errfunc":"validatetextbox", "required":true}};\r
+ $('#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
+\r
+ var portLayerRate = {"ErrMsg" : {"textboxErr" : "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
+\r
+ var portIndex = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"port.portindex"}};\r
+ $('#myModal #portindex').append($compile(Mustache.to_html(text, portIndex.ErrMsg))($scope));\r
+\r
+ var portIp = {"ErrMsg" : {"textboxErr" : "The ip is required.", "modalVar":"port.ipaddress"}};\r
+ $('#myModal #ipaddress').append($compile(Mustache.to_html(text, portIp.ErrMsg))($scope));\r
+\r
+ var portAdmin = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"port.adminState"}};\r
+ $('#myModal #adminState').append($compile(Mustache.to_html(text, portAdmin.ErrMsg))($scope));\r
+\r
+ var portOperatingState = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"port.operatingState"}};\r
+ $('#myModal #operatingState').append($compile(Mustache.to_html(text, portOperatingState.ErrMsg))($scope));\r
+\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.port.name) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validateipv4 = function (value){\r
+ if($scope.port.ipaddress) {\r
+ $scope.ipv4Err = false;\r
+ }\r
+ else\r
+ $scope.ipv4Err = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.port.portindex) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.port.layerrate) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.portData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.port = {};\r
+ //$("#myModal").modal();\r
+ $("#myModal").modal({}).draggable();\r
+ $scope.textboxErr = false;\r
+ $scope.ipv4Err = false;\r
+ $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
+ $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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in port data is ::");\r
+ $log.info($scope.data.portData);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined"){\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function(value , key) {\r
+ if(value) {\r
+ console.log("deleting name is :"+key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: "+deleteArr);\r
+ for(var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : "+deleteArr[i]);\r
+ portDataService.deletePortData(deleteArr[i])\r
+ .then(function(data){\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function(reason){\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.portData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.id == id) {\r
+ console.log("Found : " + data.id);\r
+ $scope.port = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+\r
+ })\r
+/*-----------------------------------------------------------------------------SITE-----------------------------------------------------------------------------------*/\r
+ .controller("siteCtrl", function($scope,siteDataService, $log, $compile, $state, NgTableParams ){\r
+ $scope.title = "Site";\r
+\r
+ $scope.init = function() {\r
+ siteDataService.getAllSiteData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\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
+ 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 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
+ $('#siteAction').html($compile(addhtml)($scope));\r
+ $('#siteAction').append($compile(deletehtml)($scope));\r
+\r
+ $scope.checkboxes = { 'checked': false, items: {} };\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
+ $scope.$watch('checkboxes.checked', function(value) {\r
+ angular.forEach($scope.data.siteData, 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(site.id)"};\r
+ var modelSubmit_html = Mustache.to_html(def_button_tpl, modelSubmit_data);\r
+ $('#myModal #footerBtns').html($compile(modelSubmit_html)($scope));\r
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();\r
+\r
+ var siteName = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"site.name", "errtag":"textboxErr", "errfunc":"validatetextbox", "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
+\r
+ var siteTenantName = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"site.tenatname"}};\r
+ $('#myModal #tenantname').append($compile(Mustache.to_html(text, siteTenantName.ErrMsg))($scope));\r
+\r
+ var siteTenantType = {"ErrMsg" : {"textboxErr" : "The tenanttype is required.", "modalVar":"site.tenanttype"}};\r
+ $('#myModal #tenanttype').append($compile(Mustache.to_html(text, siteTenantType.ErrMsg))($scope));\r
+\r
+ var siteLocation = {"ErrMsg" : {"textboxErr" : "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.validatetextbox = function (value){\r
+ if($scope.site.name) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.siteData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.site = {};\r
+ //$("#myModal").modal();\r
+ $("#myModal").modal({}).draggable();\r
+ $scope.textboxErr = 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
+ $scope.message = "Success :-)";\r
+ $state.reload();\r
+ },\r
+ function (reason) {\r
+ //$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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in site data is :");\r
+ $log.info($scope.data.siteData);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined"){\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function(value , key) {\r
+ if(value) {\r
+ console.log("deleting name is :"+key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: "+deleteArr);\r
+ for(var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : "+deleteArr[i]);\r
+ siteDataService.deleteSiteData(deleteArr[i])\r
+ .then(function(data){\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function(reason){\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.siteData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.id == id) {\r
+ console.log("Found : " + data.id);\r
+ $scope.site = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+\r
+ })\r
+/*-----------------------------------------------------------------------------------LOCATION-----------------------------------------------------------------------------------*/\r
+ .controller("locationCtrl", function($scope,locationDataService,$log, $compile,NgTableParams, $state){\r
+\r
+ $scope.title = "Location";\r
+\r
+ $scope.init = function() {\r
+ locationDataService.getLocationData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\r
+ });\r
+ }\r
+\r
+ function loadButtons() {\r
+\r
+ var def_button_tpl = $(modelTemplate).filter('#defaultButtons').html();\r
+ var 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 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
+ $('#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
+\r
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
+ var number = $(modelTemplate).filter('#numeric').html();\r
+\r
+ var locId = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"loc.Id", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Country", "placeholder":"Id"}};\r
+ $('#myModal #Name').append($compile(Mustache.to_html(text, locId.ErrMsg))($scope));\r
+\r
+ var locCountry = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"loc.Country", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Country","required":true}};\r
+ $('#myModal #Country').append($compile(Mustache.to_html(text, locCountry.ErrMsg))($scope));\r
+\r
+ var locLocation = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"loc.Location", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Location","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
+ $('#myModal #Description').append($compile(Mustache.to_html(text, locDescription.ErrMsg))($scope));\r
+\r
+ var locLatitude = {"ErrMsg" : {"ipv4Err" : "IP Address is required.", "modalVar":"loc.Latitude", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Latitude","required":true}};\r
+ $('#myModal #Latitude').append($compile(Mustache.to_html(text, locLatitude.ErrMsg))($scope));\r
+\r
+ var locLongitude = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"loc.Longitude", "errtag":"textboxErr", "errfunc":"validatetextbox", "placeholder":"Longitude","required":true}};\r
+ $('#myModal #Longitude').append($compile(Mustache.to_html(text, locLongitude.ErrMsg))($scope));\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.loc.Id) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.loc.Country) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.loc.Location) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.loc.Latitude) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.loc.Longitude) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.loc.Latitude) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.loc.Longitude) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.locationData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.location = {};\r
+ //$("#myModal").modal();\r
+ $("#myModal").modal({}).draggable();\r
+ $scope.textboxErr = false;\r
+ $scope.numericErr = 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
+ $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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in location data is :");\r
+ $log.info($scope.data.locationData);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined"){\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function(value , key) {\r
+ if(value) {\r
+ console.log("deleting name is :"+key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: "+deleteArr);\r
+ for(var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : "+deleteArr[i]);\r
+ locationDataService.deleteLocationData(deleteArr[i])\r
+ .then(function(data){\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function(reason){\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.locationData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.Id == id) {\r
+ console.log("Found : " + data.Id);\r
+ $scope.loc = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+\r
+\r
+ })\r
+/*---------------------------------------------------------------LINK----------------------------------------------------------------------------------------------------*/\r
+ .controller("linkCtrl", function($scope,linkDataService,$log, $compile,NgTableParams, $state){\r
+ $scope.title = "Link";\r
+ $scope.init = function() {\r
+ linkDataService.getAllLinkData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\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
+ 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 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
+ $('#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
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
+ var number = $(modelTemplate).filter('#numeric').html();\r
+ var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();\r
+\r
+ var linkName = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"link.name","errtag":"textboxErr", "errfunc":"validatetextbox","required":true}};\r
+ $('#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
+\r
+ var linkLayerRate = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"link.layerRate"}};\r
+ $('#myModal #layerRate').append($compile(Mustache.to_html(text, linkLayerRate.ErrMsg))($scope));\r
+\r
+ var linkSourcePort = {"ErrMsg" : {"numericErr" : "The name is required.", "modalVar":"link.sourcePort"}};\r
+ $('#myModal #sourcePort').append($compile(Mustache.to_html(text, linkSourcePort.ErrMsg))($scope));\r
+\r
+ var linkSinkPort = {"ErrMsg" : {"numericErr" : "IP Address is required.", "modalVar":"link.sinkPort"}};\r
+ $('#myModal #sinkPort').append($compile(Mustache.to_html(text, linkSinkPort.ErrMsg))($scope));\r
+\r
+ var linkSourceNe = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"link.sourceNE"}};\r
+ $('#myModal #sourceNE').append($compile(Mustache.to_html(text, linkSourceNe.ErrMsg))($scope));\r
+\r
+ var linkSinkNe = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"link.sinkNE"}};\r
+ $('#myModal #sinkNE').append($compile(Mustache.to_html(text, linkSinkNe.ErrMsg))($scope));\r
+\r
+ var linkAdminState = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"link.adminState"}};\r
+ $('#myModal #adminState').append($compile(Mustache.to_html(text, linkAdminState.ErrMsg))($scope));\r
+\r
+ var linkOperatingState = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"link.operatingState"}};\r
+ $('#myModal #operatingState').append($compile(Mustache.to_html(text, linkOperatingState.ErrMsg))($scope));\r
+\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.link.name) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.link.sourcePort) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.link.sinkPort) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.linkData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.link = {};\r
+ //$("#myModal").modal();\r
+ $("#myModal").modal({}).draggable();\r
+ $scope.textboxErr = false;\r
+ $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
+ $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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in link data is :");\r
+ $log.info($scope.data.linkData);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined"){\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function(value , key) {\r
+ if(value) {\r
+ console.log("deleting name is :"+key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: "+deleteArr);\r
+ for(var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : "+deleteArr[i]);\r
+ linkDataService.deleteLinkData(deleteArr[i])\r
+ .then(function(data){\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function(reason){\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.linkData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.id == id) {\r
+ console.log("Found : " + data.id);\r
+ $scope.link = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+ })\r
+ /*------------------------------------------------------------------------------NE---------------------------------------------------------------------------------------*/\r
+ .controller("neCtrl", function($scope,neDataService, $log, $compile, NgTableParams, $state) {\r
+\r
+ $scope.title = "ME";\r
+\r
+ $scope.init = function() {\r
+ neDataService.getAllNEData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\r
+ });\r
+ }\r
+\r
+ function loadButtons() {\r
+\r
+ var def_button_tpl = $(modelTemplate).filter('#defaultButtons').html();\r
+ var 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 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
+ $('#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
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
+ var number = $(modelTemplate).filter('#numeric').html();\r
+ var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();\r
+\r
+ var neName = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"ne.name", "errtag":"textboxErr", "errfunc":"validatetextbox","required":true}};\r
+ $('#myModal #name').append($compile(Mustache.to_html(text, neName.ErrMsg))($scope));\r
+\r
+ var neVersion = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"ne.version","errtag":"textboxErr", "errfunc":"validatetextbox","required":true}};\r
+ $('#myModal #version').append($compile(Mustache.to_html(text, neVersion.ErrMsg))($scope));\r
+\r
+ var neProductName = {"ErrMsg" : {"textboxErr" : "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
+\r
+ var neIPAddress = {"ErrMsg" : {"ipv4Err" : "IP Address is required.", "modalVar":"ne.ipaddress"}};\r
+ $('#myModal #ipaddress').append($compile(Mustache.to_html(text, neIPAddress.ErrMsg))($scope));\r
+\r
+ var neNERole = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"ne.nerole"}};\r
+ $('#myModal #nerole').append($compile(Mustache.to_html(text, neNERole.ErrMsg))($scope));\r
+\r
+ var neAdminState = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"ne.adminState"}};\r
+ $('#myModal #adminState').append($compile(Mustache.to_html(text, neAdminState.ErrMsg))($scope));\r
+\r
+ var neOperatingState = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"ne.operatingState"}};\r
+ $('#myModal #operatingState').append($compile(Mustache.to_html(text, neOperatingState.ErrMsg))($scope));\r
+\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.ne.name) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.ne.version) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validateipv4 = function (value){\r
+ if($scope.ne.ipaddress) {\r
+ $scope.ipv4Err = false;\r
+ }\r
+ else\r
+ $scope.ipv4Err = true;\r
+ }\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.neData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.ne = {};\r
+ $scope.textboxErr = false;\r
+ $scope.ipv4Err = false;\r
+ $scope.numericErr = false;\r
+ //$("#myModal").modal();\r
+ $("#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
+ $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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in ne data is :");\r
+ $log.info($scope.data.neData);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined") {\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function (value, key) {\r
+ if (value) {\r
+ console.log("deleting name is :" + key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: " + deleteArr);\r
+ for (var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : " + deleteArr[i]);\r
+ neDataService.deleteNEData(deleteArr[i])\r
+ .then(function (data) {\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function (reason) {\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.neData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.id == id) {\r
+ console.log("Found : " + data.id);\r
+ $scope.ne = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+\r
+\r
+ })\r
+/*-------------------------------------------------------------------------------DATA CENTRE---------------------------------------------------------------------*/\r
+ .controller("datacenterCtrl", function($scope,datacenterDataService,$log, $compile, NgTableParams, $state){\r
+\r
+ $scope.title = "Data Center";\r
+\r
+ $scope.init = function() {\r
+ datacenterDataService.getDatacenterData()\r
+ .then(function (data) {\r
+ $scope.data = data;\r
+ console.log("Data: ");\r
+ $log.info(data);\r
+ loadButtons();\r
+ }, function (reason) {\r
+ $scope.message = "Error is :" + JSON.stringify(reason);\r
+ });\r
+ }\r
+\r
+ function loadButtons() {\r
+\r
+ var def_button_tpl = $(modelTemplate).filter('#defaultButtons').html();\r
+ var 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 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
+ $('#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
+\r
+ var modelBtn_data = {"title":"Close", "clickAction":"closeModal()"};\r
+ var modelBtn_html = Mustache.to_html(def_button_tpl, modelBtn_data);\r
+ $('#myModal #footerBtns').append($compile(modelBtn_html)($scope));\r
+\r
+ var text = $(modelTemplate).filter('#textfield').html();\r
+ var ipv4 = $(modelTemplate).filter('#ipv4').html();\r
+ var number = $(modelTemplate).filter('#numeric').html();\r
+ var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();\r
+\r
+ var dataId = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"datacenter.Id"}};\r
+ $('#myModal #Id').append($compile(Mustache.to_html(text, dataId.ErrMsg))($scope));\r
+\r
+ var dataName = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"datacenter.Name","errtag":"textboxErr", "errfunc":"validatetextbox","required":true}};\r
+ $('#myModal #Name').append($compile(Mustache.to_html(text, dataName.ErrMsg))($scope));\r
+\r
+ 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
+\r
+ $('#myModal #Location').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownlocationData))($scope));\r
+\r
+ $('#myModal #ServiceName').append($compile(Mustache.to_html(dropDown, $scope.data.dropdownserviceData))($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
+\r
+ var dataMemory = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"datacenter.Memory"}};\r
+ $('#myModal #Memory').append($compile(Mustache.to_html(text, dataMemory.ErrMsg))($scope));\r
+\r
+ 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
+\r
+\r
+ }\r
+\r
+ $scope.validatetextbox = function (value){\r
+ if($scope.data.Name) {\r
+ $scope.textboxErr = false;\r
+ }\r
+ else\r
+ $scope.textboxErr = true;\r
+ }\r
+\r
+ $scope.validatenumeric = function (value){\r
+ if($scope.data.cpu) {\r
+ $scope.numericErr = false;\r
+ }\r
+ else\r
+ $scope.numericErr = true;\r
+ }\r
+\r
+ $scope.closeModal = function() {\r
+ console.log("Closing Modal...");\r
+ $('#myModal').modal('hide');\r
+ }\r
+\r
+\r
+ $scope.checkAll = function() {\r
+ angular.forEach($scope.datacenterData, function(data) {\r
+ data.select = $scope.selectAll;\r
+ });\r
+ };\r
+\r
+ $scope.showAddModal = function() {\r
+ console.log("Showing Modal to Add data");\r
+ $scope.datacenter = {};\r
+ //$("#myModal").modal();\r
+ $("#myModal").modal({}).draggable();\r
+ $scope.textboxErr = false;\r
+ $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
+ $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
+ $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
+\r
+ $scope.deleteData = function(id) {\r
+ var confirmation=false;\r
+ var dialog_tpl = $(modelTemplate).filter('#personDialog').html();\r
+ var error = {"err_data" : { "title": "Error",\r
+ "showClose": "true",\r
+ "closeBtnTxt": "Cancel",\r
+ "icon": "glyphicon glyphicon-exclamation-sign",\r
+ "iconColor": "icon_error",\r
+ "msg": "Do you really wanted to Delete?.",\r
+ "buttons": [\r
+ {\r
+ "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
+ }\r
+\r
+ $scope.deleteConfirmation = function(id) {\r
+ console.log("data in datacenter data is :");\r
+ $log.info($scope.data.datacenter);\r
+ var deleteArr = [];\r
+ if (typeof id !== "undefined"){\r
+\r
+ deleteArr.push(id);\r
+ }\r
+ else {\r
+ angular.forEach($scope.checkboxes.items, function(value , key) {\r
+ if(value) {\r
+ console.log("deleting name is :"+key);\r
+ deleteArr.push(key);\r
+ }\r
+ });\r
+ }\r
+ console.log("deleteArr: "+deleteArr);\r
+ for(var i = 0; i < deleteArr.length; i++) {\r
+ console.log("To be deleted : "+deleteArr[i]);\r
+ datacenterDataService.deleteDatacenterData(deleteArr[i])\r
+ .then(function(data){\r
+ $scope.message = "Successfully deleted :-)";\r
+ $state.reload();\r
+ },\r
+ function(reason){\r
+ $scope.message = reason.status + " " + reason.statusText;\r
+ });\r
+ }\r
+ }\r
+\r
+ $scope.editData = function(id) {\r
+ console.log("To be edited : " + id);\r
+ var dataFound = false;\r
+ angular.forEach($scope.data.datacenterData, function(data) {\r
+ if(!dataFound) {\r
+ if (data.Id == id) {\r
+ console.log("Found : " + data.id);\r
+ $scope.datacenter = data;\r
+ $("#myModal").modal();\r
+ dataFound = true;\r
+ }\r
+ }\r
+ });\r
+ }\r
+\r
+\r
+ })\r
+\r
+// ---------------------------------------------------------------------------------------------------------------------------------------------\r
+\r
+var modelTemplate = "";\r
+function loadTemplate() {\r
+\r
+ $.get('framework/templateContainer.html', function (template) {\r
+ modelTemplate += template;\r
+ });\r
+ $.get('framework/templateWidget.html', function (template) {\r
+ //console.log("Template is : "+template);\r
+ modelTemplate += template;\r
+ });\r
+ $.get('framework/templateNotification.html', function (template) {\r
+ modelTemplate += template;\r
+ });\r
+ $.get('framework/templateFunctional.html', function (template) {\r
+ modelTemplate += template;\r
+ });\r
+}\r
+\r
+\r
+//------------------------------------------------- Common code ---------------------------------------------\r
+function searchTable() {\r
+ var filter, table, tr, td;\r
+ filter = $("#myInput").val().toUpperCase();\r
+ table = $("#myTable_search");\r
+ tr = $("#myTable_search tr");\r
+\r
+ // Loop through all table rows, and hide those who don't match the search query\r
+ for (var i = 0; i < tr.length; i++) {\r
+ td = tr[i].getElementsByTagName("td")[0];\r
+ if (td) {\r
+ if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {\r
+ tr[i].style.display = "";\r
+ } else {\r
+ tr[i].style.display = "none";\r
+ }\r
+ }\r
+ }\r
+}\r
+\r