Fixed the send button in the webclient; made the prompt command work with the webclient (still not displaying correctly)

This commit is contained in:
Griatch 2016-04-11 22:31:20 +02:00
parent aa1b8357d8
commit 039bb0c540
3 changed files with 25 additions and 17 deletions

View file

@ -156,10 +156,12 @@ class WebSocketClient(Protocol, Session):
text = args[0] text = args[0]
if text is None: if text is None:
return return
else:
return
flags = self.protocol_flags flags = self.protocol_flags
text = to_str(text, force_string=True) text = to_str(text, force_string=True)
options = kwargs.get("options", {}) options = kwargs.pop("options", {})
raw = options.get("raw", False) raw = options.get("raw", False)
nomarkup = options.get("nomarkup", False) nomarkup = options.get("nomarkup", False)
screenreader = options.get("screenreader", flags.get("SCREENREADER", False)) screenreader = options.get("screenreader", flags.get("SCREENREADER", False))
@ -174,6 +176,7 @@ class WebSocketClient(Protocol, Session):
args[0] = text args[0] = text
else: else:
args[0] = parse_html(text, strip_ansi=nomarkup) args[0] = parse_html(text, strip_ansi=nomarkup)
print "send_text:", cmd, args, kwargs
# send to client on required form [cmdname, args, kwargs] # send to client on required form [cmdname, args, kwargs]
self.sendLine(json.dumps([cmd, args, kwargs])) self.sendLine(json.dumps([cmd, args, kwargs]))

View file

@ -190,11 +190,11 @@ function onText(args, kwargs) {
// Handle prompt output from the server // Handle prompt output from the server
function onPrompt(args, kwargs) { function onPrompt(args, kwargs) {
// show prompt // show prompt
$('prompt').replaceWith( $('#prompt').replaceWith(
"<div id='prompt' class='msg out'>" + args[0] + "</div>"); "<div id='prompt'>" + args[0] + "</div>");
} }
// Handle silencing events we don't do anything with. // Silences events we don't do anything with.
function onSilence(cmdname, args, kwargs) {} function onSilence(cmdname, args, kwargs) {}
// Handle unrecognized commands from server // Handle unrecognized commands from server
@ -224,6 +224,9 @@ $(document).keydown(onKeydown)
.bind("paste", resizeInputField) .bind("paste", resizeInputField)
.bind("cut", resizeInputField); .bind("cut", resizeInputField);
// Pressing the send button
$("#inputsend").bind("click", doSendText);
// Event when client finishes loading // Event when client finishes loading
$(document).ready(function() { $(document).ready(function() {
// This is safe to call, it will always only // This is safe to call, it will always only
@ -237,6 +240,8 @@ $(document).ready(function() {
Evennia.emitter.on("connection_open", onSilence); Evennia.emitter.on("connection_open", onSilence);
Evennia.emitter.on("connection_close", onSilence); Evennia.emitter.on("connection_close", onSilence);
// Handle pressing the send button
$("#inputsend").bind("click", doSendText);
// Event when closing window (have to have Evennia initialized) // Event when closing window (have to have Evennia initialized)
$(window).bind("beforeunload", Evennia.connection.close); $(window).bind("beforeunload", Evennia.connection.close);

View file

@ -15,7 +15,7 @@
<div id="prompt"></div> <div id="prompt"></div>
<div id="inputcontrol"> <div id="inputcontrol">
<textarea id="inputfield" type="text"></textarea> <textarea id="inputfield" type="text"></textarea>
<input id="inputsend" type="button" onClick="doSendText()" value="&gt;"/> <input id="inputsend" type="button" value="&gt;"/>
</div> </div>
</div> </div>
<div id="inputsizer"></div> <div id="inputsizer"></div>