如何解决为新对话框继承 Odoo JS
我需要在 odoo 14 中添加一个自定义对话框。我的一个朋友修改了 odoo web 模块的 JS 文件,他的代码开始按我的预期工作。现在我需要重置 Web 模块文件并希望将修改迁移到自定义模块。 我对 JS 的了解不够,在谷歌搜索后,我将自定义代码从 form_controller.js 迁移到自定义文件。但是我找不到将代码从 dialog.js 迁移到自定义文件的方法。我朋友对这个文件的修改如下: 我删除了很多行,只保留了一些行。我想将 (is_validate) 保留在下面的代码中,但保留在单独的文件中。我需要知道如何继承 dialog.js 文件来放置这段代码。原始文件可以在此链接中查看。 https://github.com/odoo/odoo/blob/14.0/addons/web/static/src/js/core/dialog.js
init: function (parent,options) {
var self = this;
this._super(parent);
this._opened = new Promise(function (resolve) {
self._openedResolver = resolve;
});
if (this.on_attach_callback) {
this._opened = this.opened(this.on_attach_callback);
}
options = _.defaults(options || {},{
title: _t('odoo'),subtitle: '',many lines of code. I just need below line (is_validate)
**is_validate: false,**
});
this.$content = options.$content;
this.title = options.title;
many lines of code here. I removed. I need just below line
**this.is_validate = options.is_validate;**
core.bus.on('close_dialogs',this,this.destroy.bind(this));
},
willStart: function () {
var self = this;
return this._super.apply(this,arguments).then(function () {
// Render modal once xml dependencies are loaded
self.$modal = $(QWeb.render('Dialog',{
fullscreen: self.fullscreen,title: self.title,many lines of code. I just need below line (is_validate)
**is_validate: self.is_validate,**
}));
// static method to open simple confirm dialog
Dialog.validate = function (owner,message,options) {
var buttons = [
{
text: _t("Ok"),classes: 'btn-primary',close: true,click: options && options.confirm_callback,},{
text: _t("Cancel"),click: options && options.cancel_callback
}
];
return new Dialog(owner,_.extend({
is_validate: true,size: 'medium',buttons: buttons,$content: $('<main/>',{
role: 'alert',text: message,}),title: _t("Validate"),onForceClose: options && (options.onForceClose || options.cancel_callback),options)).open({shouldFocusButtons:true});
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。