Переопределить сообщение JS в - PullRequest
0 голосов
/ 12 декабря 2018

Так я пытался переопределить функцию в потоке, обычно я просто изменил display_order: ORDER.ASC на display_order: ORDER.DESC.По сути, моя цель - просто изменить порядок сообщений в Discus.но мой код не имеет никакого эффекта, но я получаю сообщение в журнале, что он работает

  <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 голосов
/ 19 декабря 2018

Вот решение моей проблемы:

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;
    },
    });
});
...