diff --git a/inventory_provider/static/interfaces.html b/inventory_provider/static/interfaces.html new file mode 100644 index 0000000000000000000000000000000000000000..898841231a75e0dc874307377bef7bae27c4a6b6 --- /dev/null +++ b/inventory_provider/static/interfaces.html @@ -0,0 +1,29 @@ +<!doctype html> +<html ng-app="inventoryApp"> + <head> + <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.5/angular.min.js"></script> + <script src="interfaces.js"></script> + <link rel="stylesheet" href="style.css"> + </head> + <body> + + <div ng-controller="interfaces"> + <h2>Interfaces</h2> + <div> + <select + ng-options="r for r in routers" + ng-change="update_interfaces()" + ng-model="router"></select> + <select + ng-options="i for i in interfaces" + ng-change="update_status()" + ng-model="interface"> + </select> + </div> + + <div> + STATUS: {{status}} + </div> + </div> + </body> +</html> \ No newline at end of file diff --git a/inventory_provider/static/interfaces.js b/inventory_provider/static/interfaces.js new file mode 100644 index 0000000000000000000000000000000000000000..499350b2567bc0295ad6576d283359bdff6c1912 --- /dev/null +++ b/inventory_provider/static/interfaces.js @@ -0,0 +1,51 @@ +var myApp = angular.module('inventoryApp', []); + +myApp.controller('interfaces', function($scope, $http) { + + $scope.routers = []; + $scope.router = ''; + + $scope.interfaces = []; + $scope.interface = ''; + + $scope.status = 'not yet loaded'; + + $http({ + method: 'GET', + url: window.location.origin + "/data/routers" + }).then( + function(rsp) {$scope.routers = rsp.data;}, + function(rsp) {$scope.routers = ['error'];} + ); + + $scope.update_interfaces = function() { + + $http({ + method: 'GET', + url: window.location.origin + "/data/interfaces/" + $scope.router + }).then( + function(rsp) { + $scope.interfaces = rsp.data.map(function(x){ + return x.name + }); + }, + function(rsp) {$scope.interfaces = ['error'];} + ); + } + + $scope.update_status = function() { + + $http({ + method: 'GET', + url: window.location.origin + + "/alarmsdb/interface-status?equipment=" + + $scope.router + + "&interface=" + + $scope.interface + }).then( + function(rsp) {$scope.status = rsp.data.status;}, + function(rsp) {$scope.interfaces = 'query error';} + ); + } + +}); \ No newline at end of file diff --git a/inventory_provider/static/juniper.html b/inventory_provider/static/juniper.html index 112984e5dd505f9ec9d47ed9137a6a2ed0594a02..5ccb25324d28e99a0aea763fe3536aa65201fcf4 100644 --- a/inventory_provider/static/juniper.html +++ b/inventory_provider/static/juniper.html @@ -2,21 +2,12 @@ <html ng-app="inventoryApp"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.5/angular.min.js"></script> - <script src="inventoryProvider.js"></script> + <script src="juniper.js"></script> <link rel="stylesheet" href="style.css"> </head> <body> - <!-- - <h2>Routers</h2> - <div ng-controller="inventoryProvider"> - <ul name="routers" class="unstyled"> - <li ng-repeat="r in routers">{{r}}</li> - </ul> - </div> - --> - - <div ng-controller="inventoryProvider"> + <div ng-controller="juniper"> <h2>Interfaces</h2> <div> <select diff --git a/inventory_provider/static/inventoryProvider.js b/inventory_provider/static/juniper.js similarity index 95% rename from inventory_provider/static/inventoryProvider.js rename to inventory_provider/static/juniper.js index 283b3445058691855a9bac87c35954c31bd9bc21..035a0b442dc07c63ebc427cc4523585b21bbd085 100644 --- a/inventory_provider/static/inventoryProvider.js +++ b/inventory_provider/static/juniper.js @@ -1,6 +1,6 @@ var myApp = angular.module('inventoryApp', []); -myApp.controller('inventoryProvider', function($scope, $http) { +myApp.controller('juniper', function($scope, $http) { $scope.routers = []; $scope.router = '';