odoo-8
खेतों के लिए कस्टम विगेट्स
खोज…
टिप्पणियों
- सुनिश्चित करें कि आपने अपने मॉड्यूल में जावास्क्रिप्ट फ़ाइल को ठीक से जोड़ा है
- __openerp__.py पर निर्भरता के रूप में 'वेब' जोड़ना न भूलें:
'depends': ['web',....]
TreeView में उपयोग करने के लिए संख्यात्मक क्षेत्रों के लिए कस्टम विजेट
नीचे दिया गया उदाहरण विजेट दर्शाता है कि किसी विशेष सेल में फ़ील्ड के मान के आधार पर, ट्री व्यू कॉलम के अलग-अलग सेल को सशर्त रूप से प्रारूपित करने का तरीका। यदि फ़ील्ड का मान ऋणात्मक है, तो इसे लाल रंग में प्रदर्शित किया जाएगा और माइनस प्रतीक को छिपाया जाएगा, अन्यथा इसे सामान्य रंग में प्रदर्शित किया जाएगा।
एक विजेट जावास्क्रिप्ट में लिखा जाना चाहिए, नए विजेट के लिए एक नाम के रूप में custom_widget_name
उपयोग करने देता है, और your_module_name
आपके मॉड्यूल का तकनीकी नाम है (आपके मॉड्यूल की रूट निर्देशिका नाम के समान)
अपने मॉड्यूल में स्टैण्डर्ड / src / js / फोल्डर को उसमें कस्टम विजेट के साथ जावास्क्रिप्ट फाइल (static / src / js / custom_widget .js) जोड़ें।
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...
//
};
उपरोक्त उदाहरण विजेट का उपयोग प्रकार फ़्लोट के क्षेत्र के लिए एक सूची दृश्य में किया जा सकता है और यह निम्न प्रकार से कस्टम नियम लागू करता है:
- नकारात्मक संख्या:
- लाल रंग में दिखाए गए हैं।
- माइनस प्रतीक (एक '-' वर्ण) "छिपा हुआ" है।
- सकारात्मक संख्याओं के लिए डिफ़ॉल्ट लेआउट का उपयोग किया जाता है।
इस उदाहरण विजेट को ओडू के एक पेड़ के दृश्य में एक क्षेत्र में लागू किया जा सकता है। आप कस्टम नियम लागू करने के लिए आवश्यक कॉलम के लिए इस तरह विजेट का उपयोग कर सकते हैं:
. . . <tree > . . . <field name="some_field" widget="my_widget" /> . . . </tree> . . .