Skip to Content
Menu
This question has been flagged
1 Reply
3803 Views

ello everyone! I used to define custom form widgets in odoo 12 as follow: 

var core = require('web.core');
var form_common = require('web.form_common');
var MyWidget = form_common.FormWidget.extend({
init: function (parent, object) {
console.log('INIT!!!');
this._super.apply(this, arguments);
},
start: function () {
         //codes
},
events: {
"click button.ct_button_filter": "open_search_dialog",
},
open_search_dialog: function () {
//codes...
},
display_filter: function () {
//codes...
},
});

core.form_custom_registry.add(
'my_widget', MyWidget
);

and invoke it in this way:
...<field name="trace_id" widget="my_widget" />
Do you have any idea guys?

Avatar
Discard
Best Answer

Hi,

We can use several types of widgets using odoo
abc.js:

openerp.web_sample_widget = function(instance,local) {
    var _t = instance.web._t,
    _lt = instance.web._lt;
    var QWeb = instance.web.qweb;
    console.log("sample widget head"); //It prints fine

    local.WidgetName = instance.Widget.extend({
        start: function() {
            console.log("sample widget"); // this not print
        }
    });

    instance.web.client_actions.add(
      'sample.widget', 'instance.web_sample_widget.WidgetName');
}



XML: 

<odoo>

<data>

<template id="assets_backend" name="web_graph assets" inherit_id="web.assets_backend">

<xpath expr="." position="inside">

<script type="text/javascript" src="/web_sample_widget/static/src/js/abc.js"></script>

</xpath>

</template>

</data>

</odoo>

For creating video widgets you can refer to the blog: https://www.cybrosys.com/blog/how-to-create-widget-odoo#:~:text=There%20are%20so%20many%20widgets,create%20widgets%20preview%20using%20JS.

Hope it helps

Avatar
Discard
Related Posts Replies Views Activity
1
Jul 24
1206
0
Mar 24
2740
1
Sep 22
5604
1
Mar 22
5107
0
May 21
3484