},
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,
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_);
}
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() {