web_tree_image
ウィジェットを変更しようとしています。ちょうど列に小さな画像を表示するのではなく、ホバリングまたはクリックすると大きな画像が表示されます。これを実現するために、the documentationで説明されているように、start
関数をオーバーライドして、ウィジェットがレンダリングされた後にコールバックを追加しようとしています。web.list.Columnのサブクラスに作成されたDOM要素にコールバックを追加します。
従って私はweb_tree_image.jsに次のコードを追加しました:
openerp.web_tree_image = function (instance) {
instance.web.list.Image = instance.web.list.Column.extend({
// [...]
start: function() {
console.log("start called");
// [... add callbacks ...]
},
// [...]
});
};
はしかし、start
関数が呼び出されることはありませんので、これは動作しません。
通常はstart
が呼び出されるコードパスを完全には理解していませんが、web.list.Column
では何とか違っているようです。
start
を呼び出す必要がありますか、私は何か間違っていますか?または、DOM要素が作成された後にコードを実行する別の方法がありますか?
'extend'の代わりに' include'を試してください。 – ChesuCR
'include'でも動作しません。また、[documentation](https://www.odoo.com/documentation/8.0/reference/javascript.html#subclassing-widget)は、それが 'extend'で動作することを明確に述べています。 – ValarDohaeris
私はOdooに慣れていませんが、ドキュメンテーションによると、* var my_widget = new MyWidget(this);で*インスタンスを作成し、*レンダリングし、 'my_widget.appendTo("。some-div。 ");' – Anonymous0day