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