Skip to Content
Menú
This question has been flagged
2 Respostes
1469 Vistes


I have inherited web.listrenderer and added xpath to add pin icon to all the list views..but pin icon is showing in one2many fields also..how to hide??

Avatar
Descartar
Best Answer

Hi Shankar:

Since the One2many field is rendered by a template named 'web.X2ManyField', which includes ListRenderer and KanbanRenderer as its components. Check the file in: addons/web/static/src/views/fields/x2many/x2many_field.xml.


So, there are 2 ways you can seperate the list views between regular list and  o2m list:

1、overwrite the web.ListRenderer in "primary" mode, leaving the original template as it is.

​​In xml file:

        <t t-name="your_module.ListRenderer" t-inherit="web.ListRenderer" t-inherit-mode="primary" owl="1">
        <xpath ...>
            ...
         </xpath>
     </t>

​and then in .js file, you need to replace the ListRenderer's template with the above one:

		​ListRenderer.template = "your_module.ListRenderer";


2、Inherit the web.ListRenderer as you did,  and overwrite the 'web.X2ManyField' including a template reverting the ListRenderer as its component.  

I think this way is more complex and redundant, personally i prefer to the above one.


Avatar
Descartar
Autor

hi..i have tried 1st method..still for o2m list views pin icon is showing..

Hi Shankar:

How you replace the ListRenderer.template value in .js file?
There are 2 ways to inherit js class : extend and patch.
You need to patch the class ListRenderer, which means the js class can work as it did but its attributes and methods might be updated as you patched.

Best Answer

Hi,
You can refer into coding added in this app:   https://apps.odoo.com/apps/modules/17.0/list_tree_pin_records

Thanks

Avatar
Descartar
Autor

Above reference is to pin the records..but i have inherited pin in list view headers and i need to hide in one2many fields..

Related Posts Respostes Vistes Activitat
1
de jul. 20
4725
0
de març 15
4664
1
de maig 20
8060
2
de maig 20
9218
0
de juny 19
7803