# Filter Button

This module allows to add some selected filters as buttons in the header control panel.

Table of contents

- Use Cases / Context
- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# Use Cases / Context

This developement is aimed to ease the filter access for touch screens users.

# Configuration

To show a filter in the header of the views, it should have the a `context` attribute with the key `shown_in_panel`.

    <filter
        string="My filter"
        name="my_filter"
        domain="[('active', '!=', False)]"
        context="{'shown_in_panel': True}"
    >

This will show the filter in the header with its name. You can customize the button adding an icon or with a custom name passing an object to that key:

    {'shown_in_panel': {'icon': 'fa-thumbs-up', 'name': 'Ok'}}

You might be interested in leaving just the icon. In that case, set an empty string on the `name` property:

    {'shown_in_panel': {'icon': 'fa-thumbs-up', 'name': ''}}

You could also want to add a hotkey. In such case add the `hotkey` property:

    {'shown_in_panel': {'icon': 'fa-thumbs-up', 'hotkey': 'F'}}

You can show filter, groups or even favorites.

# Usage

In a search view with header filter buttons, you’ll see a filter icon (funnel). Use it to unfold the filters.

There’s a demo implementation in `Apps` and you can play around following the Configure section.

# Known issues / Roadmap

- Group filters by kind
- As we use the `context` attribute, the inheritance could be limiting in some cases. Keep it in mind or use `base_view_inheritance_extension` if you want to use proper context inheritance.
- Another nice to have would be to be able to hide the filters in the filter list to be able to show them just in the header, although there’s not a straigh forward way to do it and it could lead to side effects.

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- Tecnativa

## Contributors

- Tecnativa
  - David Vidal

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.