owncast/webroot/js/MessageList.js
2020-06-02 10:38:13 -07:00

46 lines
970 B
JavaScript

define(
"MessageList",
[
"Message"
],
function(Message) {
function MessageList(ws) {
var that = this;
this.messages = ko.observableArray();
this.editingMessage = ko.observable(new Message());
this.send = function() {
var model = this.editingMessage().toModel();
ws.send($.toJSON(model));
var message = new Message();
message.author(model.author);
message.image("https://robohash.org/" + model.author);
this.editingMessage(message);
localStorage.author = model.author
console.log(model.author)
};
ws.onmessage = function (e) {
var model = $.evalJSON(e.data);
var msg = new Message(model);
that.messages.push(msg);
// Scroll DIV to the bottom
scrollSmoothToBottom("messages-container")
};
}
return MessageList;
}
);
function scrollSmoothToBottom(id) {
var div = document.getElementById(id);
$('#' + id).animate({
scrollTop: div.scrollHeight - div.clientHeight
}, 500);
}