diff options
Diffstat (limited to 'js/dojo/dojox/xmpp/widget/ChatSession.js')
| -rw-r--r-- | js/dojo/dojox/xmpp/widget/ChatSession.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/js/dojo/dojox/xmpp/widget/ChatSession.js b/js/dojo/dojox/xmpp/widget/ChatSession.js new file mode 100644 index 0000000..21424a6 --- /dev/null +++ b/js/dojo/dojox/xmpp/widget/ChatSession.js @@ -0,0 +1,46 @@ +//>>built +// wrapped by build app +define("dojox/xmpp/widget/ChatSession", ["dijit","dojo","dojox","dojo/require!dijit/layout/LayoutContainer,dijit/_Templated"], function(dijit,dojo,dojox){ +dojo.provide("dojox.xmpp.widget.ChatSession"); + +dojo.require("dijit.layout.LayoutContainer"); +dojo.require("dijit._Templated"); + +dojo.declare("dojox.xmpp.widget.ChatSession", + [dijit.layout.LayoutContainer, dijit._Templated], + { + templateString: dojo.cache("dojox.xmpp.widget", "templates/ChatSession.html", "<div>\n<div dojoAttachPoint=\"messages\" dojoType=\"dijit.layout.ContentPane\" layoutAlign=\"client\" style=\"overflow:auto\">\n</div>\n<div dojoType=\"dijit.layout.ContentPane\" layoutAlign=\"bottom\" style=\"border-top: 2px solid #333333; height: 35px;\"><input dojoAttachPoint=\"chatInput\" dojoAttachEvent=\"onkeypress: onKeyPress\" style=\"width: 100%;height: 35px;\" /></div>\n</div>"), + enableSubWidgets: true, + widgetsInTemplate: true, + + widgetType: "ChatSession", + chatWith: null, + instance: null, + postCreate: function(){ + //console.log("Neato!"); + }, + + displayMessage: function(message, type) { + //console.log("displayMessage", this, message); + if(message) { + var name = message.from ? this.chatWith : "me"; + this.messages.domNode.innerHTML += "<b>" + name + ":</b> " + message.body + "<br/>"; + this.goToLastMessage(); + } + + }, + + goToLastMessage: function() { + this.messages.domNode.scrollTop = this.messages.domNode.scrollHeight; + }, + + onKeyPress: function(e){ + var key = e.keyCode || e.charCode; + if ((key == dojo.keys.ENTER) && (this.chatInput.value != "")){ + this.instance.sendMessage({body: this.chatInput.value}); + this.displayMessage( {body: this.chatInput.value}, "out"); + this.chatInput.value = ""; + } + } +}); +}); |
