I have created my own widget to be called in tree views this way:
<field name="selected" widget="toggle_switch"/>
The field selected
is of type boolean. I created the widget class extending the Column
class:
var ListView = require('web.ListView');
var ToggleSwitch = ListView.Column.extend({
...
})
And I have registered it this way:
var core = require('web.core');
core.list_widget_registry.add('field.toggle_switch', ToggleSwitch);
And it is working, but now I want to modify the value of the selected
field each time the user clicks on the main element of the template I made for the widget.
The problem is that I am not able to do that. It seems that events
dictionary is not available for the Column
class, and I cannot use something like this.on('click', this, this.on_click);
or this.$el.find(...)
, as this
brings only the field
data.
Can anyone help me? Should I inherit from other classes to use events in my widget (in fact I have tried, but in every case my Qweb template just disappeared from the tree view...)?