Я разработал виджет для вида формы:
var core = require('web.core');
var form_common = require('web.form_common');
var MyWidget = form_common.FormWidget.extend(form_common.ReinitializeWidgetMixin, {
template: 'MyWidgetTemplate',
...
});
core.form_custom_registry.add('my_widget', MyWidget);
Я называю его в виде формы следующим образом:
<widget type="my_widget"></widget>
Он работает отлично.Но мне нужно использовать этот виджет в виде дерева.Поэтому я сделал следующие изменения:
var core = require('web.core');
var ListView = require('web.ListView');
var list_widget_registry = core.list_widget_registry;
var MyWidget = ListView.Column.extend({
template: 'MyWidgetTemplate',
...
});
list_widget_registry.add('my_widget', MyWidget);
После этого я переместил строку <widget type="my_widget"></widget>
сразу после поля в виде одного дерева.Но когда я открываю это древовидное представление, я получаю эту ошибку JS:
Uncaught TypeError: Тип не является конструктором
Кто-нибудь имеет представление о том, почему?