Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
4668 Lượt xem

I want to add one more event in "mail.Chatter" template(mail/static/src/js/chatter.js). so I extend the "mail.Chatter" like below

odoo.define('override_chatter.override_chatter', function (require) {

"use strict";

var Chatter = require('mail.Chatter');

console.log('Chatter', Chatter)

var Chatter_Extend = Chatter.Chatter.extend({

     init: function (parent, dataset, options) {

          this._super(parent, options);

          this.events = _.extend(this.events, {

                  "click .o_composer_button_chatter_link": "on_open_o_composer_button_chatter",

          });

     },

});

});


But from the console, i got some error. Please check below.

Chatter function Class(){if(this.constructor!==OdooClass){throw new Error("You can only instanciate objects with the 'new' operator");}

Please correct me if am wrong.Is there any other method to override this "mail.Chatter" template?

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

This works for me.


odoo.define('override_chatter.override_chatter', function (require) {

"use strict";


var core = require('web.core');

var Chatter = require('mail.Chatter');

var MailThread = core.form_widget_registry.get('mail_thread');


var NewLink = MailThread.include({

    

         init: function () {

               this._super.apply(this, arguments);

               this.events = _.extend(this.events, {

                          "click .o_chatter_button_new_link": "on_open_get_new_link",

                          });

             },

        on_open_get_new_link: function () {

              },

      });


});

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 9 21
2292
2
thg 4 20
5099
7
thg 12 18
5950
1
thg 4 18
7257
0
thg 4 18
2844