parent
d064b16b04
commit
9d688cb761
2 changed files with 25 additions and 2 deletions
|
@ -45,7 +45,8 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
this.view = new Whisper.MessageListView({
|
this.view = new Whisper.MessageListView({
|
||||||
collection: this.model.messageCollection
|
collection: this.model.messageCollection,
|
||||||
|
window: this.appWindow.contentWindow
|
||||||
});
|
});
|
||||||
this.$('.discussion-container').append(this.view.el);
|
this.$('.discussion-container').append(this.view.el);
|
||||||
this.view.render();
|
this.view.render();
|
||||||
|
|
|
@ -24,9 +24,31 @@
|
||||||
Whisper.ListView = Backbone.View.extend({
|
Whisper.ListView = Backbone.View.extend({
|
||||||
tagName: 'ul',
|
tagName: 'ul',
|
||||||
itemView: Backbone.View,
|
itemView: Backbone.View,
|
||||||
initialize: function() {
|
initialize: function(options) {
|
||||||
this.listenTo(this.collection, 'add', this.addOne);
|
this.listenTo(this.collection, 'add', this.addOne);
|
||||||
this.listenTo(this.collection, 'reset', this.addAll);
|
this.listenTo(this.collection, 'reset', this.addAll);
|
||||||
|
|
||||||
|
if (options.window) {
|
||||||
|
var $window = this.$(options.window);
|
||||||
|
$window.scroll(this.onScroll.bind(this));
|
||||||
|
$window.resize(this.onResize.bind(this));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onResize: function(e) {
|
||||||
|
this.resizing = true;
|
||||||
|
clearTimeout(this.resizeTimer);
|
||||||
|
resizeTimer = setTimeout(function() {
|
||||||
|
resizing = false;
|
||||||
|
}, 500);
|
||||||
|
this.$el.scrollTop(this.scrollPercent * this.$el.height());
|
||||||
|
},
|
||||||
|
|
||||||
|
onScroll: function(e) {
|
||||||
|
if (!this.resizing) {
|
||||||
|
this.scrollTop = this.$el.scrollTop();
|
||||||
|
this.scrollPercent = this.scrollTop / this.$el.height();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
addOne: function(model) {
|
addOne: function(model) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue