odoo/addons/mail/static/src/js/mail.js

49 lines
1.5 KiB
JavaScript
Raw Normal View History

openerp.mail = function(session) {
var mail = session.mail = {};
session.web.form.widgets.add(
'ThreadView', 'openerp.mail.ThreadView');
/* ThreadView Widget: thread of comments */
mail.ThreadView = session.web.form.Field.extend({
// QWeb template to use when rendering the object
template: 'MailTest',
// autogenerated id prefix, specificity helps when debugging
// identifier_prefix: 'my-id-prefix-',
init: function() {
this.timeout;
this._super.apply(this, arguments);
this.ds = new session.web.DataSet(this, this.view.model);
},
stop: function () {
clearTimeout(this.timeout);
this._super();
},
set_value: function() {
this._super.apply(this, arguments);
if (! this.view.datarecord.id) { return; }
return this.fetch_messages();
},
fetch_messages: function () {
return this.ds.call('message_load', [[this.view.datarecord.id]]).then(
this.proxy('display_records'));
},
display_records: function (records) {
// this.$element.empty();
var self = this;
_(records).each(function (record) {
$('<div>').text(record.body_text).appendTo(self.$element);
});
this.timeout = setTimeout(this.proxy('fetch_messages'), 5000);
}
});
};
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: