odoo-8
Niestandardowe widżety dla pól
Szukaj…
Uwagi
- upewnij się, że poprawnie dodałeś plik javascript do swojego modułu
- nie zapomnij dodać „web” jako zależności w __openerp__.py:
'depends': ['web',....]
Niestandardowy widget dla pól numerycznych do użycia w TreeView
Poniższy przykładowy widget pokazuje, jak warunkowo sformatować poszczególne komórki kolumny TreeView, w zależności od wartości pola w danej komórce. Jeśli wartość pola jest ujemna, zostanie wyświetlona w kolorze czerwonym, a symbol minus będzie ukryty, w przeciwnym razie zostanie wyświetlony w kolorze normalnym.
Widżet powinien być napisany w JavaScript, użyjmy custom_widget_name
jako nazwy nowego widżetu, a your_module_name
to techniczna nazwa twojego modułu (taka sama jak nazwa katalogu głównego modułu)
W folderze static / src / js / w swoim module dodaj plik javascript (np. Static / src / js / custom_widget .js) z niestandardowym widgetem:
openerp.your_module_name = function (instance) {
instance.web.list.columns.add('field.custom_widget_name', 'instance.your_module_name.custom_widget_name');
instance.your_module_name.custom_widget_name = instance.web.list.Column.extend({
_format: function (row_data, options) {
res = this._super.apply(this, arguments);
var amount = parseFloat(res);
if (amount < 0){
return "<font color='#ff0000'>"+(-amount)+"</font>";
}
return res
}
});
//
//here you can add more widgets if you need, as above...
//
};
powyższy przykładowy widżet może być używany w widoku listy dla pola typu float i stosuje następujące reguły niestandardowe:
- Liczby ujemne:
- Są pokazane na czerwono.
- Symbol minus (znak „-”) jest „ukryty”.
- W przypadku liczb dodatnich używany jest domyślny układ.
Ten przykładowy widget można zastosować do pola w widoku drzewa Odoo. Możesz użyć takiego widżetu w kolumnie, w której musisz zastosować reguły niestandardowe do:
. . . <tree > . . . <field name="some_field" widget="my_widget" /> . . . </tree> . . .