覆盖JS消息

时间:2018-12-12 07:52:22

标签: odoo odoo-9

这就是我试图在线程中重写函数的方式,通常,我只是将display_order: ORDER.ASC更改为display_order: ORDER.DESC。基本上,我的目标只是更改铁饼中消息的顺序。 但是我的代码无效,但是我在日志中收到一条消息,指出它正在运行

  <template id="config.assets_backend" name="config assets" inherit_id="web.assets_backend" >
                    <xpath expr="." position="inside" >
                        <script type="text/javascript" src="/config/static/src/js/thread.js" ></script>
                    </xpath>
                </template>
 odoo.define('config.thread', function (require) {
        "use strict";

        var Thread  = require('mail.ChatThread');
         var ORDER = {
          ASC: 1,
         DESC: -1,
          };

        console.log("ChatThread: ", Thread);

        Thread.include({
            init: function (parent, options) {
                this._super.apply(this, arguments);
                this.options = _.defaults(options || {}, {
                    display_order: ORDER.DESC,
                });
            }
        });
    });

赏金更新: 当我尝试在参数this._super.apply(this, arguments);的此行调试时,我收到display_order:1,所以我猜这是

this.options = _.defaults(options || {}, {
                    display_order: ORDER.DESC,
                });

无法正常工作。所以有什么建议。

1 个答案:

答案 0 :(得分:1)

这是我的问题的解决方案:

odoo.define('modulename.ChatThread',
    function (require) {
    "use strict";
    var core = require('web.core');
    var MailThread = require('mail.ChatThread');
    var Thread = MailThread.include({
    className: 'o_mail_thread',
    init: function (parent, options) {
        this._super.apply(this, arguments);
        this.options.display_order = -1;
    },
    });
});