X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=src%2Fviews%2Fstarter.ejs;h=07d5f07c532b8afeb9f955de0d57db1267941d99;hb=ea20f018c05bcc4e56b2dfa3eee30af0d6ffabf3;hp=0caa1f52690aee7a65ce57d843835ccb13bec437;hpb=b5e35e05af82a077db86a6400dad2871e1d95ca3;p=VSoRC%2F.git diff --git a/src/views/starter.ejs b/src/views/starter.ejs index 0caa1f5..07d5f07 100644 --- a/src/views/starter.ejs +++ b/src/views/starter.ejs @@ -22,17 +22,16 @@ -
- - - - + + + +
@@ -48,7 +47,13 @@
- +
+ +
+ + +
+
@@ -56,8 +61,10 @@
+
+ +
-
@@ -65,20 +72,36 @@ - let topo = document.getElementById('comandos') //Donde van escrito el DSL - let vsorcout = document.getElementById('vsorcout') //salida del vsorc - let controllerout = document.getElementById('controllerout') //salida del controlador + let topo = document.getElementById('comandos'); //Donde van escrito el DSL + let comando = document.getElementById('vsorccommand'); //Donde va escrito el comando para la terminal + let vsorcout = document.getElementById('vsorcout'); //salida del vsorc + let controllerout = document.getElementById('controllerout'); //salida del controlador + let raspberry = document.getElementById('raspberrys'); //monitor de las rpi disponibles let timeVsorc = 1000; let timeController = 1000; - //Estos time son para especificar cada cuantos ms se pedira leer la data de los archivos aichivo y controllerout + let timeping = 5000; + //Estos time son para especificar cada cuantos ms se pedira leer la data de los archivos aichivo, controllerout y que raspberry estan activas let intervalController = null;//Para tener el id del interval para obtener data del controller let intervalVsorc = null; //Para tener el id del interval para obtener data del vsorc intervalVsorc = setInterval(getvsorcdata, timeVsorc); intervalController=setInterval(getcontrollerdata, timeController); + setInterval(rpiping,timeping); + function rpiping() { + let xhr = new XMLHttpRequest(); + xhr.open('GET', '/rpiping', true); + xhr.onload = function() { + if (xhr.status == 200) { //can use this.status instead + //console.log(xhr.responseText);// para ver en la consola + raspberry.value=xhr.response; + console.log("getting controller data"); + } + } + xhr.send(); + } function startcontroller() { let xhr = new XMLHttpRequest(); xhr.open('GET', '/startcontroller', true); @@ -90,6 +113,18 @@ } xhr.send(); + } + function cancel() { + let xhr = new XMLHttpRequest(); + xhr.open('GET', '/cancel', true); + //console.log(xhr); //para ver en la consola + xhr.onload = function() { + if (xhr.status == 200) { //can use this.status instead + console.log("cancelled"); + } + } + xhr.send(); + } function stopcontroller() { @@ -111,7 +146,15 @@ xhr.onload = function() { if (xhr.status == 200) { //can use this.status instead //console.log(xhr.responseText);// para ver en la consola - controllerout.value=xhr.response; + let controllerstat = xhr.response.split('^'); + if(controllerstat[1] === "true"){ + document.getElementById('btnstopcontroller').disabled = false; + document.getElementById('btnstartcontroller').disabled = true; + }else{ + document.getElementById('btnstopcontroller').disabled = true; + document.getElementById('btnstartcontroller').disabled = false; + } + controllerout.value=controllerstat[0]; console.log("getting controller data"); } } @@ -119,6 +162,19 @@ controllerout.scrollTop = controllerout.scrollHeight; } + function sendcommand() { + let xhr = new XMLHttpRequest(); + cmd = JSON.stringify(comando.value); + xhr.open('GET', '/sendcommand?cmd=' + cmd, true); + xhr.onload = function() { + if (xhr.status == 200) { //can use this.status instead + //console.log(xhr.responseText);// para ver en la consola + console.log("command sended is "+cmd); + } + } + xhr.send(); + + } function startvsorc() { let xhr = new XMLHttpRequest(); @@ -155,7 +211,21 @@ xhr.onload = function() { if (xhr.status == 200) { //can use this.status instead //console.log(xhr.responseText);// para ver en la consola - vsorcout.value=xhr.response; + + //strip + //cambiar boton con vaina[1] + //vsorcout = vaina[0] + let vsorcstat = xhr.response.split('^'); + if(vsorcstat[1] === "true"){ + document.getElementById('btnstopvsorc').disabled = false; + document.getElementById('btnstartvsorc').disabled = true; + }else{ + document.getElementById('btnstopvsorc').disabled = true; + document.getElementById('btnstartvsorc').disabled = false; + } + + vsorcout.value=vsorcstat[0]; + console.log("getting vsorc data"); @@ -165,6 +235,8 @@ vsorcout.scrollTop = vsorcout.scrollHeight; } + + function pingall() { let xhr = new XMLHttpRequest(); xhr.open('GET', '/pingall', true); @@ -187,13 +259,14 @@ if (xhr.status == 200) { //can use this.status instead //console.log(xhr.responseText);// para ver en la consola vsorcout.value+=xhr.response; - console.log("pingall"); + console.log("iperf"); } } xhr.send(); } + function placement() { let xhr = new XMLHttpRequest(); xhr.open('GET', '/placement', true); @@ -241,12 +314,12 @@ function status() { let xhr = new XMLHttpRequest(); - xhr.open('GET', '/status', true); + xhr.open('GET', '/statusnodes', true); xhr.onload = function() { if (xhr.status == 200) { //can use this.status instead //console.log(xhr.responseText);// para ver en la consola vsorcout.value+=xhr.response; - console.log("placement"); + console.log("statusnodes"); } @@ -261,41 +334,14 @@ if (xhr.status == 200) { //can use this.status instead //console.log(xhr.responseText);// para ver en la consola vsorcout.value+=xhr.response; - console.log("placement"); + console.log("interfaces"); } } xhr.send(); } - ///////////////////////////////////////////////////////////////////////CODIGO DE LA terminal - // No idea what these are about. Just copied them from the demo code - // Terminal.applyAddon(attach); - // Terminal.applyAddon(fit); - // Terminal.applyAddon(winptyCompat); - // The terminal - - // const fitAddon = new FitAddon(); - // term.loadAddon(fitAddon); - - - const term = new Terminal(); - // No idea what this does - // term.winptyCompatInit(); - // This kinda makes sense - const container = document.getElementById('terminal'); - term.open(container); - // Open the websocket connection to the backend - const protocol = (location.protocol === 'https:') ? 'wss://' : 'ws://'; - const port = location.port ? `:${location.port}` : ''; - const socketUrl = `${protocol}${location.hostname}${port}/shell`; - const socket = new WebSocket(socketUrl); - const attachAddon = new AttachAddon(socket); - term.loadAddon(attachAddon); - // Attach the socket to the terminal - socket.onopen = (ev) => { term.attach(socket); }; - // Not going to worry about close/error for the websocket - //////////////////////////////////////////////////////////////////////FIN DEL CODIGO DE LA TERMINAL +