Skip to Content
Menu
This question has been flagged
2 Replies
1463 Views


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
Discard
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
Discard
Author

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
Discard
Author

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 Replies Views Activity
1
Jul 20
4703
0
Mar 15
4656
1
May 20
8042
2
May 20
9211
0
Jun 19
7800