Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
4743 Представления

Hello,

In Odoo 15, we were overriding a JavaScript function of the web_editor module.



odoo.define('isha_crm.ShowCodeView', function (require) {
"use strict";
var FieldHtml = require('web_editor.field. html'); //it is web_editor.field[dot]html
var fieldRegistry=require('web.field_registry');
alert('Js module registered');
FieldHtml.include({
_onLoadWysiwyg: function () {
alert("This alert was coming in Odoo 15. But not coming now in Odoo 16.");
///My code...
}
});
fieldRegistry.add('html', FieldHtml);
});

The above code was working fine in Odoo 15. But not in Odoo 16.

I am not getting this alert :

alert("This alert was coming in Odoo 15. But not coming now in Odoo 16.");





I tried using the Odoo 16 JavaScript as below :



/** @odoo-module */
import {NewFieldHTML} from '@web_editor/js/backend/field_html';
import {fieldRegistry} from '@web/legacy/js/fields/registry';

export class TemplateFieldHTML extends NewFieldHTML {

setup() {
super.setup();
alert("inside super")
}
_onLoadWysiwyg() {
alert("inside overridden function")
 
}

}
fieldRegistry.add('template_field_html', TemplateFieldHTML); 

The above code says :

Missing dependencies: "@web/legacy/js/fields/registry"


Аватар
Отменить
Лучший ответ

Hello Varun,
can you user like this:
import fieldRegistry from 'web.field_registry';
import { FieldHtml } from 'web_editor.field.html'
const TemplateFieldHTML = FieldHtml.extend({
 _onLoadWysiwyg() {
}

});
fieldRegistry.add('template_field_html', TemplateFieldHTML);

Note: please use widget='template_field_html' in your field

Аватар
Отменить
Лучший ответ

you can try this way
import fieldRegistry from 'web.field_registry';
import { FieldHtml } from 'web_editor.field.html'
const TemplateFieldHTML = FieldHtml.extend({
 _onLoadWysiwyg() {
}

});
fieldRegistry.add('template_field_html', TemplateFieldHTML);

note: please use widget='template_field_html' in your field

Аватар
Отменить
Автор Лучший ответ

Hello Dilip Patel,

Thank you. I used the code shared by you, as below :

/** @odoo-module */
import { fieldRegistry } from 'web.field_registry';
import { FieldHtml } from 'web_editor.field.html';
alert("registering method");
const TemplateFieldHTML = FieldHtml.extend({
​_onLoadWysiwyg() {
​alert("inside method");
​var $button = this._renderTranslateButton();
​}
});
fieldRegistry.add('template_field_html', TemplateFieldHTML);


Unfortunately, It's not displaying alert("inside method"); 








Аватар
Отменить
Related Posts Ответы Просмотры Активность
0
янв. 25
770
2
июл. 24
4803
1
апр. 24
1862
0
янв. 24
1452
0
янв. 24
1502