summaryrefslogtreecommitdiff
path: root/public/js/lib/views/room
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/lib/views/room')
-rw-r--r--public/js/lib/views/room/chat.js13
-rw-r--r--public/js/lib/views/room/room.js2
-rw-r--r--public/js/lib/views/room/userlist.js1
3 files changed, 15 insertions, 1 deletions
diff --git a/public/js/lib/views/room/chat.js b/public/js/lib/views/room/chat.js
index 0932e47..aadd9bc 100644
--- a/public/js/lib/views/room/chat.js
+++ b/public/js/lib/views/room/chat.js
@@ -32,6 +32,19 @@ var ChatView = View.extend({
}
},
+ addMany: function(msgs){
+ var base = this
+ var wasScrolled = this.scrolled
+ this.scrolled = true
+ msgs.forEach(function(msg){
+ base.add(msg)
+ })
+ this.scrolled = wasScrolled
+ if (! this.scrolled) {
+ this.scrollToBottom()
+ }
+ },
+
send: function(e){
e && e.preventDefault()
var val = this.$msg.sanitize()
diff --git a/public/js/lib/views/room/room.js b/public/js/lib/views/room/room.js
index f8b6324..88f5b20 100644
--- a/public/js/lib/views/room/room.js
+++ b/public/js/lib/views/room/room.js
@@ -17,7 +17,7 @@ var RoomView = View.extend({
app.socket.on("welcome", function(room){
console.log(room)
- room.messages.forEach(base.chat.add)
+ base.chat.addMany( room.messages )
base.userlist.users = room.users
base.userlist.update()
base.settings.update(room.settings)
diff --git a/public/js/lib/views/room/userlist.js b/public/js/lib/views/room/userlist.js
index 09b911b..43a3a1f 100644
--- a/public/js/lib/views/room/userlist.js
+++ b/public/js/lib/views/room/userlist.js
@@ -23,6 +23,7 @@ var UserlistView = View.extend({
this.$el.empty()
Object.keys(base.users).sort().forEach(function(nick){
var el = document.createElement("div")
+ el.innerHTML = nick
base.el.appendChild(el)
})
},