parent
d064b16b04
commit
9d688cb761
2 changed files with 25 additions and 2 deletions
|
@ -45,7 +45,8 @@
|
|||
});
|
||||
|
||||
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.view.render();
|
||||
|
|
|
@ -24,9 +24,31 @@
|
|||
Whisper.ListView = Backbone.View.extend({
|
||||
tagName: 'ul',
|
||||
itemView: Backbone.View,
|
||||
initialize: function() {
|
||||
initialize: function(options) {
|
||||
this.listenTo(this.collection, 'add', this.addOne);
|
||||
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) {
|
||||
|
|
Loading…
Reference in a new issue