diff options
26 files changed, 742 insertions, 109 deletions
diff --git a/extsys/src/main/webapp/extsys/sdncontroller/js/app.js b/extsys/src/main/webapp/extsys/sdncontroller/js/app.js index 25fb256b..e856ef7d 100644 --- a/extsys/src/main/webapp/extsys/sdncontroller/js/app.js +++ b/extsys/src/main/webapp/extsys/sdncontroller/js/app.js @@ -88,7 +88,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) var text = $(modelTemplate).filter('#textfield').html();
var dropDown = $(modelTemplate).filter('#simpleDropdownTmpl').html();
- var extName = {"ErrMsg" : {"errmsg" : "Name is required.", "modalVar":"ext.Name", "errtag":"textboxErrName", "errfunc":"validatetextboxName", "required":true}};
+ var extName = {"ErrMsg" : {"errmsg" : "Name is required.", "modalVar":"ext.name", "errtag":"textboxErrName", "errfunc":"validatetextboxName", "required":true}};
$('#myModal #name').append($compile(Mustache.to_html(text, extName.ErrMsg))($scope));
var extURL = {"ErrMsg" : {"errmsg" : "URL is required.", "modalVar":"ext.url", "errtag":"textboxErrURL", "errfunc":"validatetextboxURL", "required":true}};
@@ -97,16 +97,16 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) var extUserName = {"ErrMsg" : {"errmsg" : "UserName is required.", "modalVar":"ext.userName", "errtag":"textboxErrUserName", "errfunc":"validatetextboxUserName", "required":true}};
$('#myModal #username').append($compile(Mustache.to_html(text, extUserName.ErrMsg))($scope));
- var extPassword = {"ErrMsg" : {"errmsg" : "Password is required.", "modalVar":"ext.Password", "errtag":"textboxErrPassword", "errfunc":"validatetextboxPassword", "required":true}};
+ var extPassword = {"ErrMsg" : {"errmsg" : "Password is required.", "modalVar":"ext.password", "errtag":"textboxErrPassword", "errfunc":"validatetextboxPassword", "required":true}};
$('#myModal #password').append($compile(Mustache.to_html(text, extPassword.ErrMsg))($scope));
- var extVersion = {"ErrMsg" : {"errmsg" : "Version is required.", "modalVar":"ext.Version"}};
+ var extVersion = {"ErrMsg" : {"errmsg" : "Version is required.", "modalVar":"ext.version"}};
$('#myModal #version').append($compile(Mustache.to_html(text, extVersion.ErrMsg))($scope));
- var extVendor = {"ErrMsg" : {"errmsg" : "Vendor is required.", "modalVar":"ext.Vendor"}};
+ var extVendor = {"ErrMsg" : {"errmsg" : "Vendor is required.", "modalVar":"ext.vendor"}};
$('#myModal #vendor').append($compile(Mustache.to_html(text, extVendor.ErrMsg))($scope));
- var extDescription = {"ErrMsg" : {"textboxErr" : "Description is required.", "modalVar":"ext.Description"}};
+ var extDescription = {"ErrMsg" : {"textboxErr" : "Description is required.", "modalVar":"ext.description"}};
$('#myModal #description').append($compile(Mustache.to_html(text, extDescription.ErrMsg))($scope));
/*var extProtocol = {"ErrMsg" : {"textboxErr" : "Protocol is required.", "modalVar":"ext.protocol"}};
@@ -122,7 +122,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) $('#myModal #protocol').append($compile(Mustache.to_html(dropDown, dropdowndata_protocol))($scope));*/
- var dropdownResponse=[{"id":"netconf","name":"netconf"},{"id":"snmp","name":"snmp"}];
+ var dropdownResponse=[{"id":"netconf","name":"netconf"},{"id":"snmp","name":"snmp"},{"id":"https","name":"https"},{"id":"http","name":"http"}];
var dropdownInfo = translateToDropdownInfo(dropdownResponse);
$('#myModal #protocolDD').html(dropdownInfo);
@@ -156,7 +156,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) //var data = [{id: 1, name: "Moroni", age: 50}, {id: 2, name: "ABC", age: 30}, {id: 3, name: "Morhoni", age: 10}, {id: 4, name: "DABC", age: 31}, {id: 5, name: "Noor", age: 30}, {id: 6, name: "ABCD", age: 40}, {id: 7, name: "DABC", age: 31}, {id: 8, name: "Noor", age: 30}, {id: 9, name: "ABCD", age: 40}, {id: 10, name: "DABC", age: 31}, {id: 11, name: "Noor", age: 30}, {id: 12, name: "ABCD", age: 40}];
$scope.controllerTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
- }, { counts:[5, 10, 20, 50], dataset: $scope.data.controllerData});
+ }, { counts:[5, 10, 20, 50], dataset: $scope.data});
/*$scope.$watch('checkboxes.checked', function(value) {
angular.forEach($scope.data.controllerData, function(item) {
@@ -171,7 +171,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) }
$scope.validatetextboxName = function (value){
- if($scope.ext.Name) {
+ if($scope.ext.name) {
$scope.textboxErrName = false;
}
else
@@ -195,7 +195,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) }
$scope.validatetextboxPassword = function (value){
- if($scope.ext.Password) {
+ if($scope.ext.password) {
$scope.textboxErrPassword = false;
}
else
@@ -239,6 +239,9 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) $scope.textboxErrPassword = false;
}
$scope.saveData = function (id) {
+
+ $scope.ext.protocol = $('#protocolDD').val();
+
if (!$scope.textboxErrName && !$scope.textboxErrURL && !$scope.textboxErrUserName && !$scope.textboxErrPassword) {
if (id) {
//edit data
@@ -284,7 +287,7 @@ var app = angular.module("ControllerApp", ["ui.router", "ngTable"]) "msg": "Do you really wanted to Delete?.",
"buttons": [
{
- "text": "Ok", "action": "deleteConfirmation("+id+")"
+ "text": "Ok", "action": "deleteConfirmation('"+[id]+"')"
}]
}};
angular.forEach($scope.checkboxes.items, function(value) {
diff --git a/extsys/src/main/webapp/extsys/sdncontroller/templates/controller.html b/extsys/src/main/webapp/extsys/sdncontroller/templates/controller.html index 1aab2bdf..cc3d9524 100644 --- a/extsys/src/main/webapp/extsys/sdncontroller/templates/controller.html +++ b/extsys/src/main/webapp/extsys/sdncontroller/templates/controller.html @@ -30,38 +30,38 @@ <input type="checkbox" ng-model="checkboxes.items[controllerData.id]" />
</td>-->
<td title="'Name'" filter="{ Name: 'text'}" sortable="'Name'">
- {{controllerData.Name}}
+ {{controllerData.name}}
</td>
<td title="'Protocol'" filter="{ Protocol: 'text'}" sortable="'Protocol'">
- {{controllerData.Protocol}}
+ {{controllerData.protocol}}
</td>
<td title="'Product Name'" filter="{ productName: 'text'}" sortable="'productName'">
{{controllerData.productName}}
</td>
</td>
<td title="'Type'" filter="{ Type: 'text'}" sortable="'Type'">
- {{controllerData.Type}}
+ {{controllerData.type}}
</td>
<td title="'Vendor'" filter="{ Vendor: 'text'}" sortable="'Vendor'">
- {{controllerData.Vendor}}
+ {{controllerData.vendor}}
</td>
<td title="'Version'" filter="{ Version: 'number'}" sortable="'Version'">
- {{controllerData.Version}}
+ {{controllerData.version}}
</td>
<td title="'Description'" filter="{ Description: 'text'}" sortable="'Description'">
- {{controllerData.Description}}
+ {{controllerData.description}}
</td>
<td title="'Create Time'" filter="{ createTime: 'number'}" sortable="'createTime'">
{{controllerData.createTime}}
</td>
<td title="'Operation'" filter="{ Operation: 'text'}" sortable="'Operation'">
- {{controllerData.Operation}}
+ {{controllerData.operation}}
</td>
<td title="'Action'">
<!-- <span class="pull-right glyphicon glyphicon-edit" ng-click="editData(controllerData.name)" style="cursor: pointer;margin: 0 5px"></span>
<span class="pull-right glyphicon glyphicon-trash" ng-click="deleteIndividualData(controllerData.name)" style="cursor: pointer;margin: 0 5px"></span>-->
- <span ng-click="editData(controllerData.id)" style="cursor: pointer;margin: 0 5px"> <img src="framework/images/edit.png" height="15" align="left"/></span>
- <span ng-click="deleteData(controllerData.id)" style="cursor: pointer;margin: 0 5px"><img src="framework/images/delete.png" height="15" align="middle"/></span>
+ <span ng-click="editData(controllerData.sdnControllerId)" style="cursor: pointer;margin: 0 5px"> <img src="/openoui/framework/browser/thirdparty/images/edit.png" height="15" align="left"/></span>
+ <span ng-click="deleteData(controllerData.sdnControllerId)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
</td>
</tr>
</table>
@@ -130,7 +130,7 @@ <div class="form-group row">
<label class="col-xs-4 col-form-label">Protocol</label>
<div id="protocol" class="col-xs-8" >
- <select id="protocolDD" class="form-control inputfield" ng-model="ne.optSelect"></select>
+ <select id="protocolDD" class="form-control inputfield" ng-model="ext.protocol"></select>
</div>
</div>
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/css/style.css b/lifecyclemgr/src/main/webapp/lifecyclemgr/css/style.css index 954ad091..aeab8761 100644 --- a/lifecyclemgr/src/main/webapp/lifecyclemgr/css/style.css +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/css/style.css @@ -12,7 +12,12 @@ * See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
+.containerh{
+ background-color:white !important;
+ min-height:900px !important;
+}
+
.lcmanager{
padding: 0 50px;
}
@@ -74,7 +79,7 @@ text-align: left;
}
-.detailinfo, .topo, .inputdata {
+.detailinfo, .topo, .inputdata, .vpnConnections, .vpnGateway, .siteList, .vpcList {
border-right: 1px solid #ddd;
}
@@ -194,4 +199,13 @@ select { background-color:white !important;
min-height:500px;
-}
\ No newline at end of file +}
+
+.rowSelected td{
+ background-color:#e8f8fe !important;
+}
+
+#overlaytabArea{
+ margin-top: 50px;
+ text-align: center;
+}
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/index.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/index.html index 15cf0359..c9f19319 100644 --- a/lifecyclemgr/src/main/webapp/lifecyclemgr/index.html +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/index.html @@ -44,7 +44,7 @@ </head>
-<body ng-app="lcApp">
+<body ng-app="lcApp" class="containerh">
<div class="homecontent center lcmanager containerh">
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/js/DataService.js b/lifecyclemgr/src/main/webapp/lifecyclemgr/js/DataService.js index 04394a22..34c991f8 100644 --- a/lifecyclemgr/src/main/webapp/lifecyclemgr/js/DataService.js +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/js/DataService.js @@ -18,10 +18,12 @@ app.factory("DataService", function($http, $log){
var lcData = null;
+ var overLayData = null;
var createParamJsonObj = {
templateId:'',
parameters: {}
};
+ var url = "";
var tableDataLoaded = false;
return {
@@ -38,9 +40,10 @@ app.factory("DataService", function($http, $log){ //load main Table
return $http({
- url: '/openoapi/servicegateway/v1/services',
+ url: url+'/openoapi/servicegateway/v1/services',
//url: 'http://localhost:5000/api/getLCData',
method: 'GET',
+ data: null,
headers: {'Content-Type': 'application/json'}
/*url: '/openoapi/inventory/v1/services',
@@ -71,33 +74,114 @@ app.factory("DataService", function($http, $log){ else
return null;
},
- getOverlayData : function() {
+ getOverlayData : function(id) {
return $http({
- url: '/openoapi/sdnooverlayvpn/v1/site2dc-vpn',
+ url: url+'/openoapi/sdnooverlay/v1/vpns/' + id,
//url: 'http://localhost:5000/api/getOverlayVPNData',
method: 'GET',
+ data: null,
headers: {'Content-Type': 'application/json'}
}).then(function(response){
//$log.info(response);
+ overLayData = response.data;
return response.data;
});
},
- getUnderlayData : function() {
+ getOverlayVPNConnData : function(id, type){
+ var returnData = null;
+ if(overLayData) {
+ return overLayData[type];
+ }
+ else
+ return [];
+ },
+ getSiteListData : function() {
+ return $http({
+ url: url+'/openoapi/sdnobrs/v1/sites',
+ //url: 'http://localhost:5000/api/getOverlayVPNData',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ if(overLayData) {
+ var sites = [];
+ var index = 0;
+ for(var i = 0 ; i < response.data.length; i++){
+ var isContains = false;
+ for(var j = 0; j < overLayData.siteList.length; j++){
+ if(response.data[i].id == overLayData.siteList[j]){
+ isContains = true;
+ }
+ }
+ if(isContains){
+ sites[index] = response.data[i];
+ index ++;
+ }
+ }
+ return sites;
+ }
+ else {
+ return [];
+ }
+ });
+ },
+ getVpcListData : function() {
return $http({
- url: '/openoapi/sdnol3vpn/v1/l3vpns',
+ url: url+'/openoapi/sdnovpc/v1/vpcs',
+ //url: 'http://localhost:5000/api/getOverlayVPNData',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function(response){
+ if(overLayData) {
+ var vpcs = [];
+ var index = 0;
+ for(var i = 0 ; i < response.data.length; i++){
+ var isContains = false;
+ for(var j = 0; j < overLayData.vpcList.length; j++){
+ if(response.data[i].id == overLayData.vpcList[j]){
+ isContains = true;
+ }
+ }
+ if(isContains){
+ vpcs[index] = response.data[i];
+ index ++;
+ }
+ }
+ return vpcs;
+ }
+ else {
+ return [];
+ }
+ });
+ },
+ getUnderlayData : function(id) {
+ return $http({
+ url: url+'/openoapi/sdnol3vpn/v1/l3vpns/' + id,
//url: 'http://localhost:5000/api/getUnderlayVPNData',
method: 'GET',
+ data: null,
headers: {'Content-Type': 'application/json'}
}).then(function(response){
//$log.info(response);
+ underlayData = response.data;
return response.data;
});
},
+ getTPLinkData : function(){
+ var returnData = null;
+ if(underlayData) {
+ return underlayData.accessPointList;
+ }
+ else
+ return [];
+ },
loadServiceTopoSequence : function(id) {
return $http({
- url: '/openoapi/gso/v1/services/toposequence/' + id,
+ url: url+'/openoapi/gso/v1/services/toposequence/' + id,
//url: 'http://localhost:5000/api/getOverlayVPNData',
method: 'GET',
+ data: null,
headers: {'Content-Type': 'application/json'}
}).then(function(response){
//$log.info(response);
@@ -118,9 +202,10 @@ app.factory("DataService", function($http, $log){ generateTemplatesComponent : function() {
//dropdown data
return $http({
- url: '/openoapi/catalog/v1/servicetemplates',
+ url: url+'/openoapi/catalog/v1/servicetemplates',
//url: 'http://localhost:5000/api/getTemplateData',
method: 'GET',
+ data: null,
headers: {'Content-Type': 'application/json'}
}).then(function(response){
//$log.info(response);
@@ -806,7 +891,7 @@ function scaleServiceInstance(nsInstanceId, scaleType, aspectId, numberOfSteps, }
]
};
- var nfvoUri = '/openoapi/nslcm/1.0/ns/' + nsInstanceId + '/scale';
+ var nfvoUri = '/openoapi/nslcm/v1/ns/' + nsInstanceId + '/scale';
$.when(
$.ajax({
type: "POST",
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/js/app.js b/lifecyclemgr/src/main/webapp/lifecyclemgr/js/app.js index e1dbdbed..8803c623 100644 --- a/lifecyclemgr/src/main/webapp/lifecyclemgr/js/app.js +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/js/app.js @@ -128,9 +128,35 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' })
.state("home.lcTabs.detailInfo.vpnManager.underlayVPN", {
url: "/underlayVPN",
- templateUrl : "templates/underlayVPN.html",
+ templateUrl : "templates/underlayVPN_L3.html",
controller : "underlayVPNCtrl"
})
+
+ .state("home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs", {
+ url: "/overlayTabs/:overlayId",
+ templateUrl : "templates/overlayTabs.html",
+ controller : "overlayTabsCtrl"
+ })
+ .state("home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs.vpnConnections", {
+ url: "/vpnConnections",
+ templateUrl : "templates/vpnConnections.html",
+ controller : "vpnConnectionsCtrl"
+ })
+ .state("home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs.vpnGateway", {
+ url: "/vpnGateway",
+ templateUrl : "templates/vpnGateway.html",
+ controller : "vpnGatewayCtrl"
+ })
+ .state("home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs.siteList", {
+ url: "/siteList",
+ templateUrl : "templates/siteList.html",
+ controller : "siteListCtrl"
+ })
+ .state("home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs.vpcList", {
+ url: "/vpcList",
+ templateUrl : "templates/vpcList.html",
+ controller : "vpcListCtrl"
+ })
/*modalStateProvider.state("home.lcTabs1", {
url: '/lcTabs',
templateUrl: 'templates/lctabs.html'
@@ -149,10 +175,10 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' });
if(!DataService.getTableDataLoaded()) {
DataService.loadGetServiceData()
- .then(function (data) {
- if (data) {
- $scope.tableData = data.data;
- var tableData = data.data;
+ .then(function (response) {
+ if (response.data) {
+ $scope.tableData = response.data;
+ var tableData = response.data;
loadTableData();
//$timeout(loadTableData, 0);
}
@@ -535,10 +561,16 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' .controller('detailInfoCtrl', function($scope, $stateParams, $compile, DataService) {
console.log("detailInfoCtrl --> $stateParams.id:: " + $stateParams.id);
//$scope.currentId = $stateParams.id;
- $scope.rightPanelHeader = "VPN Manager";
+
var rowData = DataService.getSavedLCData($stateParams.id);
var jsonData =[];
- if(rowData.serviceType === "SDNO" || rowData.serviceType === "NFVO"){
+ if(rowData.serviceType === "SDNO"){
+ $scope.rightPanelHeader = "SDNO VPN Manager";
+ jsonData[0] = {"id": $stateParams.id, "name": rowData.serviceType};
+ }
+ else if(rowData.serviceType === "NFVO"){
+ //TODO - NFVO Pages should be loaded here
+ $scope.rightPanelHeader = "NFVO VPN Manager";
jsonData[0] = {"id": $stateParams.id, "name": rowData.serviceType};
}
else{
@@ -566,7 +598,12 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' var content = '';
content += '<div class="panel panel-default"><div class="panel-heading">';
content += '<h6 class="panel-title">';
- content += '<a style="text-decoration:none;" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne_'+type+'" ui-sref=".vpnManager" ui-sref-active="link_active_DetailInfo" href="#/home/lcTabs/'+id+'/detailInfo/vpnManager">';
+ if(type == "sdno") {
+ content += '<a style="text-decoration:none;" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne_' + type + '" ui-sref=".vpnManager" ui-sref-active="link_active_DetailInfo" href="#/home/lcTabs/' + id + '/detailInfo/vpnManager">';
+ }
+ else if(type == "nfvo") {
+ content += '<a style="text-decoration:none;" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne_' + type + '" ui-sref=".nfvoDetail" ui-sref-active="link_active_DetailInfo" href="#/home/lcTabs/' + id + '/detailInfo/nfvoDetailInfo">';
+ }
content += '<span id="sdnoLink">'+text+'</span></a>';
content += '</h6></div>';
if(type == "sdno") {
@@ -622,14 +659,16 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' /*-------------------------------------------------------------------------------OverlayVPN---------------------------------------------------------------------*/
- .controller("overlayVPNCtrl", function($scope, $rootScope, $compile, DataService, NgTableParams){
+ .controller("overlayVPNCtrl", function($scope, $rootScope, $stateParams, $compile, DataService, NgTableParams){
$scope.message = "Overlay VPN";
+ console.log("Service Id: "+ $stateParams.id);
$scope.init = function() {
//console.log("Overlay VPN... ng-init + " + $rootScope.lcmModelTemplate);
- DataService.getOverlayData()
+ DataService.getOverlayData($stateParams.id)
.then(function(data){
- $scope.overlayData = data.overlayData;
+ $scope.overlayData = [];
+ $scope.overlayData[0] = data;
console.log("Data: ");
loadButtons();
}, function(reason){
@@ -645,7 +684,7 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' var deletehtml = Mustache.to_html(def_button_tpl, delete_data);
$('div.overlayAction').html($compile(deletehtml)($scope));*/
- $scope.tableParams = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ $scope.tableParams = new NgTableParams({count: 3, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
}, { counts:[], dataset: $scope.overlayData});
$scope.checkboxes = { 'checked': false, items: {} };
@@ -665,18 +704,27 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' $scope.checkboxes.items[user.id]
});
};
+
+ $scope.rowHighilited=function(row)
+ {
+ $scope.selectedRow = row;
+ }
+
})
/*-------------------------------------------------------------------------------UnderlayVPN---------------------------------------------------------------------*/
- .controller("underlayVPNCtrl", function($scope, $rootScope, $compile, DataService, NgTableParams){
+ .controller("underlayVPNCtrl", function($scope, $rootScope, $stateParams, $compile, DataService, NgTableParams){
$scope.message = "Underlay VPN";
+ console.log("Service Id: "+ $stateParams.id);
+ $scope.tpTableShowing = false;
$scope.init = function() {
//console.log("Underlay VPN... ng-init + " + $rootScope.lcmModelTemplate);
- DataService.getUnderlayData()
- .then(function(data){
- $scope.underlayVPN = data.underlayVPN;
+ DataService.getUnderlayData($stateParams.id)
+ .then(function(response){
+ $scope.underlayVPN = [];
+ $scope.underlayVPN[0] = response;
console.log("Data: ");
loadButtons();
}, function(reason){
@@ -692,7 +740,7 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' $('div.underlayAction').html($compile(deletehtml)($scope));*/
$scope.tableParams = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
- }, { counts:[5, 10], dataset: $scope.underlayVPN.underlayData});
+ }, { counts:[5, 10], dataset: $scope.underlayVPN});
$scope.checkboxes = { 'checked': false, items: {} };
@@ -705,8 +753,8 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' });
});
- $scope.tableParams_tpDetails = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
- }, { counts:[5, 10], dataset: $scope.underlayVPN.tp_details});
+ /*$scope.tableParams_tpDetails = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: $scope.underlayVPN.tp_details});*/
}
$scope.checkAll = function() {
console.log("Checked ..");
@@ -714,6 +762,21 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' $scope.checkboxes.items[data.id]
});
};
+
+ $scope.loadTPLinkData = function(id, row){
+ $scope.selectedRow = row;
+ $scope.tpTableShowing = true;
+ console.log("Underlay table row click");
+ var tp_detData = DataService.getTPLinkData();
+ $scope.tableParams_tpDetails = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: tp_detData});
+ }
+
+ $scope.rowHighilited=function(row)
+ {
+ $scope.selectedRow = row;
+ }
+
})
.controller('inputDataCtrl', function($scope, $stateParams, $log, DataService) {
@@ -767,6 +830,46 @@ var app = angular.module("lcApp", ["ui.router", "ngTable"])/*, 'ui.bootstrap', ' })
+ .controller('overlayTabsCtrl', function($scope, $state) {
+ $state.go('home.lcTabs.detailInfo.vpnManager.overlayVPN.overlayTabs.vpnConnections');
+ })
+
+ .controller('vpnConnectionsCtrl', function($scope, $stateParams, NgTableParams, DataService) {
+ $scope.message = "VPN Connections";
+ var rowData = DataService.getOverlayVPNConnData($stateParams.overlayId, "vpnConnections");
+ $scope.vpnConnTable = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: rowData});
+ })
+
+ .controller('vpnGatewayCtrl', function($scope, $stateParams, NgTableParams, DataService) {
+ $scope.message = "VPN Gateway";
+ var rowData = DataService.getOverlayVPNConnData($stateParams.overlayId, "vpnGateways");
+ $scope.vpnGateTable = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: rowData});
+ })
+
+ .controller('siteListCtrl', function($scope, $stateParams, NgTableParams, DataService) {
+ $scope.message = "Site List";
+ //var rowData = DataService.getSiteListData();
+ DataService.getSiteListData()
+ .then(function (response) {
+ $scope.siteListData = response.sites;
+ $scope.siteTable = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: $scope.siteListData});
+ }, function (reason) {
+ $scope.message = "Error is :" + JSON.stringify(reason);
+ });
+ })
+
+ .controller('vpcListCtrl', function($scope, $stateParams, NgTableParams, DataService) {
+ $scope.message = "VPN List";
+ var rowData = DataService.getVpcListData();
+ $scope.vpcListTable = new NgTableParams({count: 5, sorting: {id: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
+ }, { counts:[5, 10], dataset: rowData});
+ })
+
+
+
var lcmModelTemplate = "";
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayTabs.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayTabs.html new file mode 100644 index 00000000..c2e04eb5 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayTabs.html @@ -0,0 +1,36 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<!--<div id="lctabArea" ng-init="init()"></div>-->
+
+
+<div id="overlaytabArea">
+
+ <ul class="nav nav-tabs">
+ <li class="col-md-3 col-sm-3 col-xs-3 nopadding vpnConnections"><a ui-sref=".vpnConnections" ui-sref-active="link_active" class="nomargin">VPN Connections</a></li>
+ <!--<li class="col-md-4 col-sm-4 col-xs-4 nopadding topo"><a ui-sref=".topo" ui-sref-active="link_active" class="nomargin" >Topo</a></li>-->
+ <li class="col-md-3 col-sm-3 col-xs-3 nopadding vpnGateway"><a ui-sref=".vpnGateway" ui-sref-active="link_active" class="nomargin" >VPN Gateway</a></li>
+ <li class="col-md-3 col-sm-3 col-xs-3 nopadding siteList"><a ui-sref=".siteList" ui-sref-active="link_active" class="nomargin" >Site List</a></li>
+ <li class="col-md-3 col-sm-3 col-xs-3 nopadding vpcList"><a ui-sref=".vpcList" ui-sref-active="link_active" class="nomargin" >VPC List</a></li>
+ </ul>
+
+ <div class="tab-content"></div>
+ <ui-view></ui-view>
+
+
+</div>
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayVPN.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayVPN.html index 16719833..d7ca3ba4 100644 --- a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayVPN.html +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/overlayVPN.html @@ -18,46 +18,44 @@ <div class="headerTitle">{{message}}</div>
<br>
-
+<div class="col-md-12 col-sm-12 col-lg-12">
<div class="overlayAction" ng-init="init()">
<!--<button ng-click="showAddModal()" class="btnDefault pull-left">Add</button>-->
<!--<button ng-click="deleteData()" class="btnDefault pull-left prvdel">Delete Selected</button>-->
</div>
<br>
<div class="panel panel-default">
-<table ng-table="tableParams" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
- <tr ng-repeat="overlayData in $data">
+<table id="overlayTable" ng-table="tableParams" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="overlayData in $data" ui-sref=".overlayTabs({overlayId: overlayData.id})" ui-sref-active="selected-row">
<!--<td header="'ng-table/headers/checkbox.html'">
<input type="checkbox" ng-model="checkboxes.items[overlayData.id]" />
</td>-->
+ <td title="'Id'" filter="{ id: 'text'}" sortable="'id'">
+ {{overlayData.id}}
+ </td>
<td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
{{overlayData.name}}
</td>
<td title="'Description'" filter="{ desc: 'text'}" sortable="'desc'">
- {{overlayData.desc}}
- </td>
- <td title="'Thin CPE'" filter="{ thinCPE: 'text'}" sortable="'thinCPE'">
- {{overlayData.thinCPE}}
- </td>
- <td title="'Port : Vlan ID'" filter="{ portVlan: 'number'}" sortable="'portVlan'">
- {{overlayData.portVlan}}
- </td>
- <td title="'DC Name'" filter="{ dcName: 'text'}" sortable="'dcName'">
- {{overlayData.dcName}}
+ {{overlayData.description}}
</td>
- <td title="'VPC'" filter="{ vpc: 'text'}" sortable="'vpc'">
- {{overlayData.vpc}}
+ <td title="'Action State'" filter="{ actionState: 'text'}" sortable="'actionState'">
+ {{overlayData.actionState}}
</td>
- <td title="'VPC CIDR'" filter="{ vpcCIDR: 'text'}" sortable="'vpcCIDR'">
- {{overlayData.vpcCIDR}}
+ <td title="'Port : VPN Descriptor'" filter="{ vpnDescriptor: 'number'}" sortable="'vpnDescriptor'">
+ {{overlayData.vpnDescriptor}}
</td>
- <td title="'Action'">
- <!--<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>-->
+
+ <!--<td title="'Action'">
+ <!–<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>–>
<span ng-click="deleteIndividualData(overlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
- </td>
+ </td>-->
+
</tr>
</table>
</div>
+<ui-view></ui-view>
+</div>
<script type="text/ng-template" id="ng-table/headers/checkbox.html">
<input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/siteList.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/siteList.html new file mode 100644 index 00000000..0a4339b9 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/siteList.html @@ -0,0 +1,45 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+<br>
+<div class="panel panel-default">
+ <table ng-table="siteTable" class="table table table-striped table-hover table-bordered lctable " show-filter="true">
+ <tr ng-repeat="siteData in $data">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[overlayData.id]" />
+ </td>-->
+ <td title="'Id'" filter="{ id: 'text'}" sortable="'id'">
+ {{siteData.id}}
+ </td>
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{siteData.name}}
+ </td>
+
+ <!--<td title="'Action'">
+ <!–<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>–>
+ <span ng-click="deleteIndividualData(overlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>-->
+ </tr>
+ </table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L2.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L2.html new file mode 100644 index 00000000..4b8eedb5 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L2.html @@ -0,0 +1,78 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+
+<div class="underlayAction" ng-init="init()">
+ <!--<button ng-click="showAddModal()" class="btnDefault pull-left">Add</button>-->
+ <!--<button ng-click="deleteData()" class="btnDefault pull-left prvdel">Delete Selected</button>-->
+</div>
+<br>
+<div class="panel panel-default">
+ <table id="underlayTable" ng-table="tableParams" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="underlayData in $data" ng-class="{rowSelected:$index==selectedRow}" ng-click="loadTPLinkData(underlayData.id, $index)">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[underlayData.id]" />
+ </td>-->
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{underlayData.name}}
+ </td>
+ <td title="'State'" filter="{ thinCPE: 'text'}" sortable="'thinCPE'">
+ {{underlayData.thinCPE}}
+ </td>
+ <td title="'Description'" filter="{ desc: 'text'}" sortable="'desc'">
+ {{underlayData.desc}}
+ </td>
+ <td title="'Action'">
+ <!--<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(underlayData.id)" style="cursor: pointer;margin: 0 5px"></span>-->
+ <span ng-click="deleteIndividualData(underlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>
+ </tr>
+ </table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
+
+<br>
+<div id="tpLinkBlock" ng-show="tpTableShowing">
+ <div class="headerTitle">TP Details</div>
+ <div class="panel panel-default">
+ <table ng-table="tableParams_tpDetails" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="tpDetailsData in $data" ng-class="{rowSelected:$index==selectedRow}" ng-click="rowHighilited($index)">
+ <td title="'TP Name'" filter="{ tp_name: 'text'}" sortable="'tp_name'">
+ {{tpDetailsData.tp_name}}
+ </td>
+ <td title="'PE Name'" filter="{ pe_name: 'text'}" sortable="'pe_name'">
+ {{tpDetailsData.pe_name}}
+ </td>
+ <td title="'VLAN ID'" filter="{ vlanId: 'text'}" sortable="'vlanId'">
+ {{tpDetailsData.vlanId}}
+ </td>
+ <td title="'Site CIDR'" filter="{ site_cidr: 'text'}" sortable="'site_cidr'">
+ {{tpDetailsData.site_cidr}}
+ </td>
+ <td title="'IP'" filter="{ ip: 'text'}" sortable="'ip'">
+ {{tpDetailsData.ip}}
+ </td>
+ </tr>
+ </table>
+ </div>
+</div>
\ No newline at end of file diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L3.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L3.html new file mode 100644 index 00000000..230e0dfe --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/underlayVPN_L3.html @@ -0,0 +1,72 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+
+<div class="underlayAction" ng-init="init()">
+ <!--<button ng-click="showAddModal()" class="btnDefault pull-left">Add</button>-->
+ <!--<button ng-click="deleteData()" class="btnDefault pull-left prvdel">Delete Selected</button>-->
+</div>
+<br>
+<div class="panel panel-default">
+<table id="underlayTable" ng-table="tableParams" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="underlayData in $data" ng-class="{rowSelected:$index==selectedRow}" ng-click="loadTPLinkData(underlayData.id, $index)">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[underlayData.id]" />
+ </td>-->
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{underlayData.name}}
+ </td>
+ <td title="'Status'" filter="{ operStatus: 'text'}" sortable="'operStatus'">
+ {{underlayData.operStatus}}
+ </td>
+ <td title="'Description'" filter="{ desc: 'text'}" sortable="'desc'">
+ {{underlayData.desc}}
+ </td>
+ <td title="'Action'">
+ <!--<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(underlayData.id)" style="cursor: pointer;margin: 0 5px"></span>-->
+ <span ng-click="deleteIndividualData(underlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>
+ </tr>
+</table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
+
+<br>
+<div id="tpLinkBlock" ng-show="tpTableShowing">
+ <div class="headerTitle">TP Details</div>
+ <div class="panel panel-default">
+ <table ng-table="tableParams_tpDetails" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="tpDetailsData in $data" ng-class="{rowSelected:$index==selectedRow}" ng-click="rowHighilited($index)">
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{tpDetailsData.name}}
+ </td>
+ <td title="'Status'" filter="{ operStatus: 'text'}" sortable="'operStatus'">
+ {{tpDetailsData.operStatus}}
+ </td>
+ <td title="'Type'" filter="{ type: 'text'}" sortable="'type'">
+ {{tpDetailsData.type}}
+ </td>
+ </tr>
+ </table>
+ </div>
+</div>
\ No newline at end of file diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpcList.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpcList.html new file mode 100644 index 00000000..1412a4c8 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpcList.html @@ -0,0 +1,45 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+<br>
+<div class="panel panel-default">
+ <table ng-table="vpcListTable" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="vpcListData in $data">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[overlayData.id]" />
+ </td>-->
+ <td title="'Id'" filter="{ id: 'text'}" sortable="'id'">
+ {{vpcListData.id}}
+ </td>
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{vpcListData.name}}
+ </td>
+
+ <!--<td title="'Action'">
+ <!–<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>–>
+ <span ng-click="deleteIndividualData(overlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>-->
+ </tr>
+ </table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnConnections.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnConnections.html new file mode 100644 index 00000000..f57c0735 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnConnections.html @@ -0,0 +1,60 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+<br>
+<div class="panel panel-default">
+ <table ng-table="vpnConnTable" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="vpnConnData in $data">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[overlayData.id]" />
+ </td>-->
+ <td title="'Id'" filter="{ id: 'text'}" sortable="'id'">
+ {{vpnConnData.id}}
+ </td>
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{vpnConnData.name}}
+ </td>
+ <td title="'Description'" filter="{ description: 'text'}" sortable="'description'">
+ {{vpnConnData.description}}
+ </td>
+ <td title="'Port : Deploy Status'" filter="{ deployStatus: 'number'}" sortable="'deployStatus'">
+ {{vpnConnData.deployStatus}}
+ </td>
+ <td title="'Action State'" filter="{ actionState: 'text'}" sortable="'actionState'">
+ {{vpnConnData.actionState}}
+ </td>
+ <td title="'Port : Running Status'" filter="{ runningStatus: 'number'}" sortable="'runningStatus'">
+ {{vpnConnData.runningStatus}}
+ </td>
+ <td title="'Port : Route Type'" filter="{ routeType: 'number'}" sortable="'routeType'">
+ {{vpnConnData.routeType}}
+ </td>
+
+ <!--<td title="'Action'">
+ <!–<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>–>
+ <span ng-click="deleteIndividualData(overlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>-->
+ </tr>
+ </table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
diff --git a/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnGateway.html b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnGateway.html new file mode 100644 index 00000000..44d4c8d3 --- /dev/null +++ b/lifecyclemgr/src/main/webapp/lifecyclemgr/templates/vpnGateway.html @@ -0,0 +1,58 @@ +<!--
+
+ Copyright 2017, Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<div class="headerTitle">{{message}}</div>
+<br>
+<br>
+<div class="panel panel-default">
+ <table ng-table="vpnGateTable" class="table table table-striped table-hover table-bordered lctable" show-filter="true">
+ <tr ng-repeat="vpnGateData in $data">
+ <!--<td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[overlayData.id]" />
+ </td>-->
+ <td title="'Id'" filter="{ id: 'text'}" sortable="'id'">
+ {{vpnGateData.id}}
+ </td>
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{vpnGateData.name}}
+ </td>
+ <td title="'Description'" filter="{ description: 'text'}" sortable="'description'">
+ {{vpnGateData.description}}
+ </td>
+
+ <td title="'Action State'" filter="{ actionState: 'text'}" sortable="'actionState'">
+ {{vpnGateData.actionState}}
+ </td>
+
+ <td title="'VPC Id'" filter="{ vpcid: 'text'}" sortable="'vpcid'">
+ {{vpnGateData.vpcId}}
+ </td>
+
+
+
+ <!--<td title="'Action'">
+ <!–<span class="pull-right glyphicon glyphicon-edit" ng-click="editData(overlayData.id)" style="cursor: pointer;margin: 0 5px"></span>–>
+ <span ng-click="deleteIndividualData(overlayData.id)" style="cursor: pointer;margin: 0 5px"><img src="/openoui/framework/browser/thirdparty/images/delete.png" height="15" align="middle"/></span>
+ </td>-->
+ </tr>
+ </table>
+</div>
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
diff --git a/performance/src/main/webapp/performance/performance_view.html b/performance/src/main/webapp/performance/performance_view.html index 9cda55af..bff3177c 100755 --- a/performance/src/main/webapp/performance/performance_view.html +++ b/performance/src/main/webapp/performance/performance_view.html @@ -97,10 +97,10 @@ </div> </div> </div> - <script src="/openoui/common/thirdparty/jquery/jquery-1.10.2.min.js"></script> - <script src="/openoui/common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script> - <script src="/openoui/common/js/international/loadi18n.js" type="text/javascript"></script> - <script src="/openoui/common/js/tools.js"></script> + <script src="/openoui/thirdparty/jquery/jquery-1.10.2.min.js"></script> + <script src="/openoui/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script> + <script src="/openoui/performance/js/loadi18n.js" type="text/javascript"></script> + <script src="/openoui/monitor/js/tools.js"></script> <script> loadi18n_WebFramework('web-performance-i18n', 'i18n/', 'openo_performance_i18n'); </script> diff --git a/resmgr/src/main/webapp/resmgr/index.html b/resmgr/src/main/webapp/resmgr/index.html index 36a6b17b..9572b117 100644 --- a/resmgr/src/main/webapp/resmgr/index.html +++ b/resmgr/src/main/webapp/resmgr/index.html @@ -1,4 +1,4 @@ -<!--/* Copyright 2017, Huawei Technologies Co., Ltd. +<!-- Copyright 2017, Huawei Technologies Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -11,7 +11,7 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. -*/--> +--> <!DOCTYPE html> diff --git a/resmgr/src/main/webapp/resmgr/js/app.js b/resmgr/src/main/webapp/resmgr/js/app.js index ac91dab3..542b0421 100644 --- a/resmgr/src/main/webapp/resmgr/js/app.js +++ b/resmgr/src/main/webapp/resmgr/js/app.js @@ -136,9 +136,18 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) var portName = {"ErrMsg" : {"errmsg" : "Name is required.", "modalVar":"port.name", "errtag":"textboxErrName", "errfunc":"validatetextboxName", "required":true}};
$('#myModal #name').append($compile(Mustache.to_html(text, portName.ErrMsg))($scope));
- var portMe = {"ErrMsg" : {"errmsg" : "ME is required.", "modalVar":"port.meID", "errtag":"textboxErrMe", "errfunc":"validatetextboxMe", "required":true}};
- $('#myModal #meID').append($compile(Mustache.to_html(text, portMe.ErrMsg))($scope));
-
+ portDataService.getAllNEData().then(function(response) {
+ var medata = [];
+ for(var i = 0; i < response.managedElements.length; i+=1){
+ medata[i] = {"serviceTemplateId":response.managedElements[i].id,"templateName":response.managedElements[i].name};
+ }
+ var dropdownInfo = translateToDropdownInfo(medata);
+ $("#myModal #medropdown").html(dropdownInfo);
+ console.log("Data: ");
+ $log.info(data);
+ }, function(reason) {
+ $scope.message = "Error is :" + JSON.stringify(reason);
+ });
//var portType = {"ErrMsg" : {"textboxErr" : "The name is required.", "modalVar":"port.type"}};
//$('#myModal #type').append($compile(Mustache.to_html(dropDown, $scope.data.dropdowntypeData))($scope));
@@ -150,7 +159,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $('#myModal #type').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));*/
- var dropdownResponse=[{"serviceTemplateId":"tenant_site","templateName":"portType1"},{"serviceTemplateId":"tenant_site2","templateName":"portType2"}];
+ var dropdownResponse=[{"serviceTemplateId":"ETH","templateName":"ETH"},{"serviceTemplateId":"POS","templateName":"POS"},{"serviceTemplateId":"Trunk","templateName":"Trunk"},{"serviceTemplateId":"Loopback","templateName":"Loopback"}];
var dropdownInfo = translateToDropdownInfo(dropdownResponse);
document.getElementById("portdropdown").innerHTML = dropdownInfo;
@@ -171,7 +180,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $('#myModal #Edgepoint').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));*/
- var dropdownResponse=[{"serviceTemplateId":"tenant_site","templateName":"Edgepoint1"},{"serviceTemplateId":"tenant_site2","templateName":"Edgepoint2"}];
+ var dropdownResponse=[{"serviceTemplateId":"true","templateName":"true"},{"serviceTemplateId":"false","templateName":"false"}];
var dropdownInfo = translateToDropdownInfo(dropdownResponse);
document.getElementById("portEdropdown").innerHTML = dropdownInfo;
@@ -191,6 +200,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) var portOperatingState = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"port.operState"}};
$('#myModal #operState').append($compile(Mustache.to_html(text, portOperatingState.ErrMsg))($scope));
+ var neNativeId = {"ErrMsg" : {"errmsg" : "The nativeid required.", "modalVar":"port.nativeID"}};
+ $('#myModal #nativeId').append($compile(Mustache.to_html(text, neNativeId.ErrMsg))($scope));
+
$scope.checkboxes = { 'checked': false, items: {} };
$scope.portTableParams = new NgTableParams({count: 5, sorting: {name: 'asc'} //{page: 1,count: 10,filter: {name: 'M'},sorting: {name: 'desc'}
@@ -285,6 +297,9 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $scope.numericErr = false;
}
$scope.saveData = function(id) {
+ $scope.port.isEdgePoint = $('#portEdropdown').val();
+ $scope.port.logicalType = $('#portdropdown').val();
+ $scope.port.meID = $('#medropdown').val();
if (!$scope.textboxErrName && !$scope.textboxErrMe) {
var ports ={};
ports.logicalTerminationPoint=$scope.port;
@@ -466,7 +481,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $('#myModal #type').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));*/
- var dropdownResponse=[{"serviceTemplateId":"tenant_site","templateName":"tenant_site"},{"serviceTemplateId":"tenant_site2","templateName":"tenant_site2"}];
+ var dropdownResponse=[{"serviceTemplateId":"network_site","templateName":"network_site"},{"serviceTemplateId":"tenant_site","templateName":"tenant_site"}];
var dropdownInfo = translateToDropdownInfo(dropdownResponse);
document.getElementById("sitedropdown").innerHTML = dropdownInfo;
@@ -525,6 +540,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $scope.textboxErrName = false;
}
$scope.saveData = function(id) {
+ $scope.site.type = $('#sitedropdown').val();
if (!$scope.textboxErrName) {
@@ -1033,6 +1049,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $scope.numericErr = false;
}
$scope.saveData = function(id) {
+ $scope.link.type = $('#linkdropdown').val();
if (!$scope.textboxErr) {
var links ={}
@@ -1189,7 +1206,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) var neVersion = {"ErrMsg" : {"errmsg" : "The version is required.", "modalVar":"ne.version"}}; //,"errtag":"textboxErrVersion", "errfunc":"validatetextboxVersion","required":true
$('#myModal #version').append($compile(Mustache.to_html(text, neVersion.ErrMsg))($scope));
- var neNERole = {"ErrMsg" : {"errmsg" : "The role is required.", "modalVar":"ne.role"}}; //,"errtag":"textboxErrRole", "errfunc":"validatetextboxRole","required":true
+ var neNERole = {"ErrMsg" : {"errmsg" : "The role is required.", "modalVar":"ne.neRole"}}; //,"errtag":"textboxErrRole", "errfunc":"validatetextboxRole","required":true
$('#myModal #nerole').append($compile(Mustache.to_html(text, neNERole.ErrMsg))($scope));
var serialNumber = {"ErrMsg" : {"errmsg" : "The serialNumber is required.", "modalVar":"ne.serialNumber"}}; //,"errtag":"textboxErrSerial", "errfunc":"validatetextboxSerial","required":true
@@ -1207,14 +1224,14 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $('#myModal #controller').append($compile(Mustache.to_html(dropDown, dropSimple_data))($scope));*/
- var dropdownResponse=[{"serviceTemplateId":"meCtrl","templateName":"mecontroller1"},{"serviceTemplateId":"meCtrl2","templateName":"mecontroller"}];
+ /*var dropdownResponse=[{"serviceTemplateId":"meCtrl","templateName":"mecontroller1"},{"serviceTemplateId":"meCtrl2","templateName":"mecontroller"}];
var dropdownInfo = translateToDropdownInfo(dropdownResponse);
- document.getElementById("medropdown").innerHTML = dropdownInfo;
+ document.getElementById("medropdown").innerHTML = dropdownInfo;*/
neDataService.getNECtrlDDList()
.then(function (response) {
- $scope.ctrlList = response.data;
+ $scope.ctrlList = response;
var dropdownInfo = translateCtrlIDToDropdownInfo($scope.ctrlList);
$("#myModal #medropdown").html(dropdownInfo);
console.log("Data: ");
@@ -1226,12 +1243,12 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) /*var neController = {"ErrMsg" : {"errmsg" : "IP Address is required.", "modalVar":"ne.controller"}};
$('#myModal #controller').append($compile(Mustache.to_html(text, neController.ErrMsg))($scope));*/
- var neIPAddress = {"ErrMsg" : {"errmsg" : "IP Address is required.", "modalVar":"ne.ipAddress","errtag":"textboxErrIP", "errfunc":"validatetextboxIP","required":true}};
+ var neIPAddress = {"ErrMsg" : {"errmsg" : "IP Address is required.", "modalVar":"ne.ipAddress"}};
$('#myModal #ipAddress').append($compile(Mustache.to_html(text, neIPAddress.ErrMsg))($scope));
- var neNativeId = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"ne.nativeId"}};
+ var neNativeId = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"ne.nativeID"}};
$('#myModal #nativeId').append($compile(Mustache.to_html(text, neNativeId.ErrMsg))($scope));
/*var neOperatingState = {"ErrMsg" : {"errmsg" : "The name is required.", "modalVar":"ne.operatingState"}};
@@ -1318,7 +1335,7 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) }
$scope.validatetextboxRole = function (value){
- if($scope.ne.role) {
+ if($scope.ne.neRole) {
$scope.textboxErrRole = false;
}
else
@@ -1365,6 +1382,11 @@ var app = angular.module("ResourceMgrApp", ["ui.router", "ngTable"]) $("#myModal").modal({}).draggable();
}
$scope.saveData = function(id) {
+ $scope.ne.controllerID = [];
+ $scope.ne.controllerID[0] = $('#medropdown').val();
+ $scope.ne.siteID = [];
+ $scope.ne.siteID[0] = $('#siteIdDropdown').val();
+
if (!$scope.textboxErrName && !$scope.textboxErrIP) {
var nes = {};
diff --git a/resmgr/src/main/webapp/resmgr/nfv-resmgr/vim/vimgraph.html b/resmgr/src/main/webapp/resmgr/nfv-resmgr/vim/vimgraph.html index 2bde05b5..badaa021 100644 --- a/resmgr/src/main/webapp/resmgr/nfv-resmgr/vim/vimgraph.html +++ b/resmgr/src/main/webapp/resmgr/nfv-resmgr/vim/vimgraph.html @@ -50,7 +50,7 @@ <br>
<label style="font-size:14px;">Cpu status</label>
</div>
- <div style="...">
+ <div style="width:30%;float: left;text-align:center;display: inline">
<canvas id="memoryChart"></canvas>
<br>
<label style="font-size:14px;">Memory status</label>
diff --git a/resmgr/src/main/webapp/resmgr/sdn-resmgr/link/link.html b/resmgr/src/main/webapp/resmgr/sdn-resmgr/link/link.html index 63cdf2d1..96febbd7 100644 --- a/resmgr/src/main/webapp/resmgr/sdn-resmgr/link/link.html +++ b/resmgr/src/main/webapp/resmgr/sdn-resmgr/link/link.html @@ -94,7 +94,7 @@ <div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Type</label>
<div id="logicalType" class="col-xs-8" >
- <select id="linkdropdown" class="form-control inputfield" ng-model="siteData.optSelect" ng-options="item.templateName for item in optionsValue"></select>
+ <select id="linkdropdown" class="form-control inputfield" ng-model="link.type" ng-options="item.templateName for item in optionsValue"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
diff --git a/resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/ne.html b/resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/ne.html index 6ddb5f66..92f8c2fc 100644 --- a/resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/ne.html +++ b/resmgr/src/main/webapp/resmgr/sdn-resmgr/ne/ne.html @@ -121,7 +121,7 @@ <div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Controller</label>
<div id="controller" class="col-xs-8" >
- <select id="medropdown" class="form-control inputfield" ng-model="ne.optSelect"></select>
+ <select id="medropdown" class="form-control inputfield" ng-model="ne.controller"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
@@ -133,7 +133,7 @@ <div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Site Name</label>
<div id="siteId" class="col-xs-8" >
- <select id="siteIdDropdown" class="form-control inputfield" ng-model="ne.siteId"></select>
+ <select id="siteIdDropdown" class="form-control inputfield" ng-model="ne.siteID"></select>
</div>
</div>
</div>
diff --git a/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/port.html b/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/port.html index f81265b0..5fe7b2a4 100644 --- a/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/port.html +++ b/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/port.html @@ -93,14 +93,15 @@ </div>
<div class="form-group row" id="rowSpacing">
- <label class="col-xs-4 col-form-label" id="textCenter">me</label>
+ <label class="col-xs-4 col-form-label" id="textCenter">ME</label>
<div id="meID" class="col-xs-8" >
+ <select id="medropdown" class="form-control inputfield" ng-model="port.meID"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Type</label>
<div id="logicalType" class="col-xs-8" >
- <select id="portdropdown" class="form-control inputfield" ng-model="siteData.optSelect" ng-options="item.templateName for item in optionsValue"></select>
+ <select id="portdropdown" class="form-control inputfield" ng-model="port.logicalType" ng-options="item.templateName for item in optionsValue"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
@@ -111,7 +112,7 @@ <div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Edge Point</label>
<div id="isEdgePoint" class="col-xs-8" >
- <select id="portEdropdown" class="form-control inputfield" ng-model="siteData.optSelect" ng-options="item.templateName for item in optionsValue"></select>
+ <select id="portEdropdown" class="form-control inputfield" ng-model="port.isEdgePoint" ng-options="item.templateName for item in optionsValue"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
@@ -124,6 +125,11 @@ <div id="ipAddress" class="col-xs-8" >
</div>
</div>
+ <div class="form-group row" id="rowSpacing">
+ <label class="col-xs-4 col-form-label" id="textCenter">Native ID</label>
+ <div id="nativeId" class="col-xs-8" >
+ </div>
+ </div>
<div id="footerBtns" class="modal-footer">
</div>
diff --git a/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/portRest.js b/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/portRest.js index 6bed2640..0d7c2349 100644 --- a/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/portRest.js +++ b/resmgr/src/main/webapp/resmgr/sdn-resmgr/port/portRest.js @@ -90,6 +90,14 @@ app.factory("portDataService", function($http,DataService, $log){ console.log(response);
return response;
});
+ },
+ getAllNEData : function() {
+ return DataService.get("/openoapi/sdnobrs/v1/managed-elements")
+ .then(function(response){
+ $log.info("in get data service data is :"+response);
+ console.log(response);
+ return response;
+ });
}
}
});
\ No newline at end of file diff --git a/resmgr/src/main/webapp/resmgr/sdn-resmgr/site/site.html b/resmgr/src/main/webapp/resmgr/sdn-resmgr/site/site.html index 80a22467..76029246 100644 --- a/resmgr/src/main/webapp/resmgr/sdn-resmgr/site/site.html +++ b/resmgr/src/main/webapp/resmgr/sdn-resmgr/site/site.html @@ -82,7 +82,7 @@ <div class="form-group row" id="rowSpacing">
<label class="col-xs-4 col-form-label" id="textCenter">Type</label>
<div id="tenantID" class="col-xs-8" >
- <select id="sitedropdown" class="form-control inputfield" ng-model="siteData.optSelect" ng-options="item.templateName for item in optionsValue"></select>
+ <select id="sitedropdown" class="form-control inputfield" ng-model="site.type" ng-options="item.templateName for item in optionsValue"></select>
</div>
</div>
<div class="form-group row" id="rowSpacing">
diff --git a/resmgr/src/main/webapp/resmgr/templates/resource.html b/resmgr/src/main/webapp/resmgr/templates/resource.html index 0838cc13..cb01af39 100644 --- a/resmgr/src/main/webapp/resmgr/templates/resource.html +++ b/resmgr/src/main/webapp/resmgr/templates/resource.html @@ -43,9 +43,9 @@ <li>
<a ui-sref=".datacenter" ui-sref-active="link_active">Data Center</a>
</li>
- <li>
+ <!--<li>
<a ui-sref=".vim" ui-sref-active="link_active">VIM</a>
- </li>
+ </li>-->
</ul>
</div>
</div>
diff --git a/resmgr/src/main/webapp/resmgr/templates/templateContainer.html b/resmgr/src/main/webapp/resmgr/templates/templateContainer.html index ef6f01c6..a1640acd 100644 --- a/resmgr/src/main/webapp/resmgr/templates/templateContainer.html +++ b/resmgr/src/main/webapp/resmgr/templates/templateContainer.html @@ -61,7 +61,7 @@ <!--Table-->
<script id="table" type="text/html">
- {{#filter}}<input type="text" id="myInput" onkeyup="{{action}}" placeholder="Search for {{searchField}}">{{/filter}}
+ {{#filter}}<input type="text" autocomplete="off" id="myInput" onkeyup="{{action}}" placeholder="Search for {{searchField}}">{{/filter}}
<table id="myTable{{#filter}}_search{{/filter}}" class="table {{#striped}}table-striped{{/striped}} {{#border}}table-bordered{{/border}} {{#hover}}table-hover{{/hover}} {{#condensed}}table-condensed{{/condensed}}">
<thead>
<tr>
diff --git a/resmgr/src/main/webapp/resmgr/templates/templateWidget.html b/resmgr/src/main/webapp/resmgr/templates/templateWidget.html index bb8eef48..338cf47b 100644 --- a/resmgr/src/main/webapp/resmgr/templates/templateWidget.html +++ b/resmgr/src/main/webapp/resmgr/templates/templateWidget.html @@ -97,7 +97,7 @@ <!--text-->
<script id="textfield" type="text/html">
<div class="css-form">
- <input id ="textbox" name="textbox" class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="text" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}> {{#required}}<span class="staricon">*</span>{{/required}}
+ <input id ="textbox" autocomplete="off" name="textbox" class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="text" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}> {{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -105,7 +105,7 @@ <!--email-->
<script id="email" type="text/html">
<div class="css-form">
- <input class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="email" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="email" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -113,7 +113,7 @@ <!--url-->
<script id="url" type="text/html">
<div class="css-form">
- <input class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="url" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="url" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -123,7 +123,7 @@ <div class="css-form">
- <input class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="password" pattern=".{3,}" maxlength="{{#maxLength}}{{maxLength}}{{/maxLength}}{{^maxLength}}9{{/maxLength}}" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="password" pattern=".{3,}" maxlength="{{#maxLength}}{{maxLength}}{{/maxLength}}{{^maxLength}}9{{/maxLength}}" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -131,7 +131,7 @@ <!--numeric-->
<script id="numeric" type="text/html">
<div class="css-form">
- <input class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="number" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}/>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="number" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}/>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -139,7 +139,7 @@ <!--dot-->
<script id="dot" type="text/html">
<div class="css-form">
- <input class="form-control inputfield" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="datetime-local" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" placeholder="{{placeholder}}" ng-model="{{modalVar}}" type="datetime-local" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -180,7 +180,7 @@ <!--ipv4-->
<script id="ipv4" type="text/html">
<div class="css-form">
- <input class="form-control inputfield" type="ipv4" placeholder="{{placeholder}}" ng-model="{{modalVar}}" pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
+ <input class="form-control inputfield" autocomplete="off" type="ipv4" placeholder="{{placeholder}}" ng-model="{{modalVar}}" pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
@@ -196,7 +196,7 @@ <!--textarea-->
<script id="textarea" type="text/html">
<div class="css-form">
- <textarea class="form-control inputfield" rows="4" cols="50" placeholder="{{placeholder}}" ng-model="{{modalVar}}" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}></textarea>{{#required}}<span class="staricon">*</span>{{/required}}
+ <textarea class="form-control inputfield" autocomplete="off" rows="4" cols="50" placeholder="{{placeholder}}" ng-model="{{modalVar}}" ng-blur="{{errfunc}}({{modalVar}})" {{#required}}required{{/required}}></textarea>{{#required}}<span class="staricon">*</span>{{/required}}
<span class="errMsg" ng-show="{{errtag}}">{{errmsg}}</span>
</div>
</script>
|