This question has been flagged
1 Reply
4087 Views

How do I create my first widget? And how to display it on my form view? If someone can give me a very detailed example, that would be great. A simple widget displaying a text/button in my form. Just so I understand how it works. I've tested several things but nothing works. Please help me !!!!!
My version is Odoo 14.

Avatar
Discard
Best Answer

Using this way or try 

odoo.define('your_file.any_name', function(require) {
"use strict";

var field_registry = require('web.field_registry');
var AbstractField = require('web.AbstractField');

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

FormController.include({
_update: function () {
var _super_update = this._super.apply(this, arguments);
 
this.trigger('view_updated');
return _super_update;
},
});

var widget_name = AbstractField.extend({
template: 'TemplatName',
start: function() {
var self = this;
 
this.getParent().getParent().on('view_updated', self, function() {
self.your_method();
self.getParent().$('a[data-toggle="tab"]').on('shown.bs.tab', function() {
self.your_method();
});
});
return this._super();
},
your_method: function() {
},

});

field_registry.add('name_widget_add_to_field', widget_name);

return {
widget_name: widget_name,
};

});
Avatar
Discard