From 37f4e50b49bf0bfa3e5d10554e55dddf39b36f05 Mon Sep 17 00:00:00 2001 From: Zachary Vance Date: Tue, 7 Jul 2015 12:29:32 -0700 Subject: [PATCH] Change library permissions --- chat.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/chat.js b/chat.js index ded15d4..fab5b6e 100644 --- a/chat.js +++ b/chat.js @@ -37,10 +37,18 @@ Datastore.prototype = { }, store: function(callback, key, value) { //localStorage[key] = JSON.stringify(value); + var rev; + if (value._rev) { + rev = value._rev; + delete value._rev; + } + var data = { content: JSON.stringify(value) }; + if (rev) data._rev = rev; + $.ajax({ type: 'PUT', url: this.url + "/chats/" + key, - data: JSON.stringify({ content: JSON.stringify(value) }), + data: JSON.stringify(data), contentType: 'application/json', dataType: 'application/json', success: callback, @@ -55,7 +63,9 @@ Datastore.prototype = { dataType: 'jsonp', success: function(value) { if (value && value.content) { - callback(JSON.parse(value.content)); + var content = JSON.parse(value.content); + content._rev = value._rev; + callback(content); } else { callback(default_); } @@ -82,12 +92,18 @@ Playback.prototype = { this.datastore.getChat(function(messages) { self.messages = messages; _.each(self.messages, self.queueSend, self); + var lastTime = self.messages[self.messages.length - 1].delayMs; + setTimeout(function() { + self.stop(); + }, instantReplay ? 0 : lastTime + 100); }, this.key); }, send: function(author, message) { this.chat.display(author, message); }, - stop: function() {}, + stop: function() { + this.chat.display("Chat", "(end of message)"); + }, queueSend: function(message) { var self = this; setTimeout(function() { -- 2.47.3