GIF89a;
| Direktori : /home/serb/public_html/livechat/js/app/view/ |
| Current File : /home/serb/public_html/livechat/js/app/view/ChatBoxView.js |
//==============================================================================
//
// Chat box view
//
//==============================================================================
(function(app, $)
{
var ChatBoxView = app.ChatBoxView = Backbone.View.extend({
initialize : function()
{
// Initialize models
this.settings = app.model.settings;
// Cache view components
this.$wrapper = this.$('.customer-chat-content-messages-wrapper');
// -----
this.$el.mCustomScrollbar();
this.messageViews = [];
},
addMessage : function(message, scrollDown, ignoreScrollSettings)
{
// Create the message element from template
var messageView = new app.MessageView({ model : message, fullDate : this.options.fullDate });
// Store the reference to the view
this.messageViews.push(messageView);
// Append message to the view
this.$wrapper.append(messageView.el);
// Update the scroll area
var _this = this;
setTimeout(function()
{
_this.$el.mCustomScrollbar('update');
if(ignoreScrollSettings)
{
if(scrollDown) _this.$el.mCustomScrollbar('scrollTo', 'bottom');
}
else
{
if(_this.settings.get('scroll') || scrollDown) // Auto-scroll if desired
{
_this.$el.mCustomScrollbar('scrollTo', 'bottom');
}
}
}, 200);
},
clear : function()
{
// Destroy messages
for(var i = 0; i < this.messageViews.length; i++)
{
this.messageViews[i]
.remove()
.clean();
}
// Remove all messages
this.$wrapper.html('');
this.messageViews = [];
}
});
})(window.Application, jQuery);