Mercurial > hg > rlgwebd
comparison rlgterm.js @ 89:6145e1ea7ace
RLG-Web: add a new message framework.
Add a message() function meant for UI messages, not debugging info.
| author | John "Elwin" Edwards <elwin@sdf.org> |
|---|---|
| date | Tue, 10 Jul 2012 08:08:54 -0700 |
| parents | d644e7d46852 |
| children | 6c6a6e4f1e5b |
comparison
equal
deleted
inserted
replaced
| 88:d644e7d46852 | 89:6145e1ea7ace |
|---|---|
| 259 return; | 259 return; |
| 260 } | 260 } |
| 261 } | 261 } |
| 262 | 262 |
| 263 function errHandler() { | 263 function errHandler() { |
| 264 debug(1, "Server unavailable?"); | 264 //debug(1, "Server unavailable?"); |
| 265 message("Unable to connect to the server."); | |
| 265 } | 266 } |
| 266 | 267 |
| 267 function sendback(str) { | 268 function sendback(str) { |
| 268 /* For responding to terminal queries. */ | 269 /* For responding to terminal queries. */ |
| 269 var msgDict = {"id": session.id, "t": "d", "n": nsend++, "d": str}; | 270 var msgDict = {"id": session.id, "t": "d", "n": nsend++, "d": str}; |
| 443 if (reply.t == 'l') { | 444 if (reply.t == 'l') { |
| 444 /* Success */ | 445 /* Success */ |
| 445 session.lcred = reply.k; | 446 session.lcred = reply.k; |
| 446 session.lname = reply.u; | 447 session.lname = reply.u; |
| 447 setTitle("Logged in as " + reply.u); | 448 setTitle("Logged in as " + reply.u); |
| 448 debug(1, "Logged in as " + reply.u + " with id " + reply.k); | 449 debug(0, "Logged in as " + reply.u + " with id " + reply.k); |
| 450 message("You are now logged in as " + reply.u + "."); | |
| 449 setmode("choose"); | 451 setmode("choose"); |
| 450 } | 452 } |
| 451 else if (reply.t == 'E') { | 453 else if (reply.t == 'E') { |
| 452 debug(1, "Could not log in: " + reply.s); | 454 debug(0, "Could not log in: " + reply.s); |
| 455 message("Logging in failed: " + reply.s); | |
| 453 document.getElementById("input_name").value = ""; | 456 document.getElementById("input_name").value = ""; |
| 454 document.getElementById("input_pw").value = ""; | 457 document.getElementById("input_pw").value = ""; |
| 455 } | 458 } |
| 456 }; | 459 }; |
| 457 req.open('POST', '/login', true); | 460 req.open('POST', '/login', true); |
| 620 session.id = reply.id; | 623 session.id = reply.id; |
| 621 session.playing = true; | 624 session.playing = true; |
| 622 termemu.resize(reply.h, reply.w); | 625 termemu.resize(reply.h, reply.w); |
| 623 setTitle("Playing as " + session.lname); | 626 setTitle("Playing as " + session.lname); |
| 624 debug(1, "Playing with id " + session.id); | 627 debug(1, "Playing with id " + session.id); |
| 628 message("Your game has started."); | |
| 625 setmode("play"); | 629 setmode("play"); |
| 626 getData(); | 630 getData(); |
| 627 } | 631 } |
| 628 else if (reply.t == 'E') { | 632 else if (reply.t == 'E') { |
| 629 debug(1, "Could not start game: " + reply.s); | 633 debug(1, "Could not start game: " + reply.s); |
| 634 message("Your game could not be started: " + reply.s); | |
| 630 if (reply.c == 1) { | 635 if (reply.c == 1) { |
| 631 logout(); | 636 logout(); |
| 632 } | 637 } |
| 633 } | 638 } |
| 634 }; | 639 }; |
| 654 termemu.resize(reply.h, reply.w); | 659 termemu.resize(reply.h, reply.w); |
| 655 termemu.reset(); | 660 termemu.reset(); |
| 656 termemu.toAltBuf(); | 661 termemu.toAltBuf(); |
| 657 setTitle("Watching"); | 662 setTitle("Watching"); |
| 658 debug(1, "Watching with id " + session.id); | 663 debug(1, "Watching with id " + session.id); |
| 664 message("You are now watching."); | |
| 659 setmode("play"); | 665 setmode("play"); |
| 660 getData(); | 666 getData(); |
| 661 } | 667 } |
| 662 else if (reply.t == 'E') { | 668 else if (reply.t == 'E') { |
| 663 debug(1, "Could not watch game " + gamenumber + ": " + reply.s); | 669 debug(1, "Could not watch game " + gamenumber + ": " + reply.s); |
| 670 message("The game could not be watched: " + reply.s); | |
| 664 getcurrent(); | 671 getcurrent(); |
| 665 } | 672 } |
| 666 }; | 673 }; |
| 667 req.open('POST', '/watch', true); | 674 req.open('POST', '/watch', true); |
| 668 req.send(JSON.stringify(wmsg)); | 675 req.send(JSON.stringify(wmsg)); |
| 691 return; | 698 return; |
| 692 var reply = JSON.parse(req.responseText); | 699 var reply = JSON.parse(req.responseText); |
| 693 if (reply.t == 'r') { | 700 if (reply.t == 'r') { |
| 694 /* Success */ | 701 /* Success */ |
| 695 debug(1, "Registered account: " + reply.u); | 702 debug(1, "Registered account: " + reply.u); |
| 703 message("Welcome " + reply.u + ", you are now registered."); | |
| 696 session.lcred = reply.k; | 704 session.lcred = reply.k; |
| 697 session.lname = reply.u; | 705 session.lname = reply.u; |
| 698 setTitle("Logged in as " + session.lname); | 706 setTitle("Logged in as " + session.lname); |
| 699 debug(1, "Logged in as " + session.lname + " with id " + session.lcred); | 707 debug(1, "Logged in as " + session.lname + " with id " + session.lcred); |
| 708 message("You are now logged in as " + reply.u + "."); | |
| 700 setmode("choose"); | 709 setmode("choose"); |
| 701 } | 710 } |
| 702 else if (reply.t == 'E') { | 711 else if (reply.t == 'E') { |
| 703 debug(1, "Could not register: " + reply.s); | 712 debug(1, "Could not register: " + reply.s); |
| 713 message("Registration failed."); | |
| 704 document.getElementById("regin_name").value = ""; | 714 document.getElementById("regin_name").value = ""; |
| 705 document.getElementById("regin_pw").value = ""; | 715 document.getElementById("regin_pw").value = ""; |
| 706 document.getElementById("regin_email").value = ""; | 716 document.getElementById("regin_email").value = ""; |
| 707 } | 717 } |
| 708 }; | 718 }; |
| 793 return; | 803 return; |
| 794 if (element.style.display != "block") | 804 if (element.style.display != "block") |
| 795 element.style.display = "block"; | 805 element.style.display = "block"; |
| 796 else | 806 else |
| 797 element.style.display = "none"; | 807 element.style.display = "none"; |
| 808 } | |
| 809 | |
| 810 function message(msg, type) { | |
| 811 var msgdiv = document.createElement("div"); | |
| 812 var msgtext = document.createTextNode(msg); | |
| 813 msgdiv.appendChild(msgtext); | |
| 814 var msgcontainer = document.getElementById("messages"); | |
| 815 msgcontainer.insertBefore(msgdiv, msgcontainer.firstChild); | |
| 798 } | 816 } |
| 799 | 817 |
| 800 function debug(level, msg) { | 818 function debug(level, msg) { |
| 801 if (level < debugSuppress) | 819 if (level < debugSuppress) |
| 802 return; | 820 return; |
