Mercurial > hg > rlgwebd
comparison rlgterm.js @ 56:7f3ca16409fe
RLG-Web client: display a list of current games.
Incorporate information from /status to create a list of ongoing games.
Eventually these will be watchable.
author | John "Elwin" Edwards <elwin@sdf.org> |
---|---|
date | Mon, 18 Jun 2012 14:30:05 -0700 |
parents | 96815eae4ebe |
children | e7c864e80a79 |
comparison
equal
deleted
inserted
replaced
55:96815eae4ebe | 56:7f3ca16409fe |
---|---|
404 document.getElementById("input_pw").value = ""; | 404 document.getElementById("input_pw").value = ""; |
405 } | 405 } |
406 }; | 406 }; |
407 req.open('POST', '/login', true); | 407 req.open('POST', '/login', true); |
408 req.send(JSON.stringify(loginmsg)); | 408 req.send(JSON.stringify(loginmsg)); |
409 return; | |
410 } | |
411 | |
412 function getcurrent() { | |
413 if (termemu.sessid) | |
414 return; | |
415 var req = new XMLHttpRequest(); | |
416 req.onreadystatechange = function () { | |
417 if (req.readyState != 4 || req.status != 200) | |
418 return; | |
419 var reply; | |
420 try { | |
421 reply = JSON.parse(req.responseText); | |
422 } catch (e) { | |
423 if (e instanceof SyntaxError) | |
424 return; | |
425 } | |
426 if (!reply.s) { | |
427 return; | |
428 } | |
429 var gamediv = document.getElementById("gametable"); | |
430 while (gamediv.children.length > 2) | |
431 gamediv.removeChild(optdiv.children[2]); | |
432 for (var i = 0; i < reply.g.length; i++) { | |
433 var row = document.createElement("div"); | |
434 var cell1 = document.createElement("div"); | |
435 var cell2 = document.createElement("div"); | |
436 cell1.appendChild(document.createTextNode(reply.g[i].p)); | |
437 cell2.appendChild(document.createTextNode(reply.g[i].g)); | |
438 row.appendChild(cell1); | |
439 row.appendChild(cell2); | |
440 gamediv.appendChild(row); | |
441 } | |
442 }; | |
443 req.open('GET', '/status', true); | |
444 req.send(); | |
409 return; | 445 return; |
410 } | 446 } |
411 | 447 |
412 function getchoices() { | 448 function getchoices() { |
413 if (termemu.sessid != null || !lcred) | 449 if (termemu.sessid != null || !lcred) |
585 if (mode == "play") { | 621 if (mode == "play") { |
586 document.getElementById("keyboard").style.display = "block"; | 622 document.getElementById("keyboard").style.display = "block"; |
587 document.getElementById("startgame").style.display = "none"; | 623 document.getElementById("startgame").style.display = "none"; |
588 document.getElementById("login").style.display = "none"; | 624 document.getElementById("login").style.display = "none"; |
589 document.getElementById("register").style.display = "none"; | 625 document.getElementById("register").style.display = "none"; |
626 document.getElementById("current").style.display = "none"; | |
590 } | 627 } |
591 if (mode == "choose") { | 628 if (mode == "choose") { |
592 document.getElementById("keyboard").style.display = "none"; | 629 document.getElementById("keyboard").style.display = "none"; |
593 document.getElementById("startgame").style.display = "block"; | 630 document.getElementById("startgame").style.display = "block"; |
594 document.getElementById("login").style.display = "none"; | 631 document.getElementById("login").style.display = "none"; |
595 document.getElementById("register").style.display = "none"; | 632 document.getElementById("register").style.display = "none"; |
633 document.getElementById("current").style.display = "block"; | |
596 getchoices(); | 634 getchoices(); |
635 getcurrent(); | |
597 } | 636 } |
598 else if (mode == "login") { | 637 else if (mode == "login") { |
599 document.getElementById("keyboard").style.display = "none"; | 638 document.getElementById("keyboard").style.display = "none"; |
600 document.getElementById("startgame").style.display = "none"; | 639 document.getElementById("startgame").style.display = "none"; |
601 document.getElementById("login").style.display = "block"; | 640 document.getElementById("login").style.display = "block"; |
602 document.getElementById("register").style.display = "none"; | 641 document.getElementById("register").style.display = "none"; |
642 document.getElementById("current").style.display = "block"; | |
643 getcurrent(); | |
603 } | 644 } |
604 else if (mode == "register") { | 645 else if (mode == "register") { |
605 document.getElementById("keyboard").style.display = "none"; | 646 document.getElementById("keyboard").style.display = "none"; |
606 document.getElementById("startgame").style.display = "none"; | 647 document.getElementById("startgame").style.display = "none"; |
607 document.getElementById("login").style.display = "none"; | 648 document.getElementById("login").style.display = "none"; |
608 document.getElementById("register").style.display = "block"; | 649 document.getElementById("register").style.display = "block"; |
650 document.getElementById("current").style.display = "none"; | |
609 } | 651 } |
610 } | 652 } |
611 | 653 |
612 function debug(level, msg) { | 654 function debug(level, msg) { |
613 if (level < debugSuppress) | 655 if (level < debugSuppress) |