Update records list in BBLocalStorage on fetch
Previously, would only update the known messages.
This commit is contained in:
parent
2288f8adc1
commit
0f4b53c176
3 changed files with 12 additions and 0 deletions
|
@ -99,11 +99,15 @@ extend(Backbone.LocalStorage.prototype, {
|
||||||
|
|
||||||
// Retrieve a model from `this.data` by id.
|
// Retrieve a model from `this.data` by id.
|
||||||
find: function(model) {
|
find: function(model) {
|
||||||
|
var store = this.localStorage().getItem(this.name);
|
||||||
|
this.records = (store && store.split(",")) || [];
|
||||||
return this.serializer.deserialize(this.localStorage().getItem(this.name+"-"+model.id));
|
return this.serializer.deserialize(this.localStorage().getItem(this.name+"-"+model.id));
|
||||||
},
|
},
|
||||||
|
|
||||||
// Return the array of all models currently in storage.
|
// Return the array of all models currently in storage.
|
||||||
findAll: function() {
|
findAll: function() {
|
||||||
|
var store = this.localStorage().getItem(this.name);
|
||||||
|
this.records = (store && store.split(",")) || [];
|
||||||
var result = [];
|
var result = [];
|
||||||
for (var i = 0, id, data; i < this.records.length; i++) {
|
for (var i = 0, id, data; i < this.records.length; i++) {
|
||||||
id = this.records[i];
|
id = this.records[i];
|
||||||
|
|
|
@ -22,6 +22,7 @@ Whisper.Layout = new (Backbone.View.extend({
|
||||||
|
|
||||||
new Whisper.ConversationListView({el: $('#contacts')});
|
new Whisper.ConversationListView({el: $('#contacts')});
|
||||||
window.addEventListener('resize', this.resize.bind(this));
|
window.addEventListener('resize', this.resize.bind(this));
|
||||||
|
window.addEventListener('storage', function(){Whisper.Threads.fetch();});
|
||||||
Whisper.Threads.fetch({reset: true});
|
Whisper.Threads.fetch({reset: true});
|
||||||
},
|
},
|
||||||
events: {
|
events: {
|
||||||
|
|
|
@ -14,12 +14,19 @@ var Whisper = Whisper || {};
|
||||||
this.view = new Whisper.MessageListView({collection: this.model.messages()});
|
this.view = new Whisper.MessageListView({collection: this.model.messages()});
|
||||||
this.model.messages().fetch({reset: true});
|
this.model.messages().fetch({reset: true});
|
||||||
this.$el.find('.discussion-container').append(this.view.el);
|
this.$el.find('.discussion-container').append(this.view.el);
|
||||||
|
window.addEventListener('storage', (function(){
|
||||||
|
this.fetch();
|
||||||
|
}).bind(this));
|
||||||
},
|
},
|
||||||
events: {
|
events: {
|
||||||
'submit .send': 'sendMessage',
|
'submit .send': 'sendMessage',
|
||||||
'close': 'remove'
|
'close': 'remove'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
fetch: function() {
|
||||||
|
this.model.messages().fetch({reset: true});
|
||||||
|
},
|
||||||
|
|
||||||
sendMessage: function(e) {
|
sendMessage: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var input = this.$el.find('.send input');
|
var input = this.$el.find('.send input');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue