summaryrefslogtreecommitdiff
path: root/addons/web/static/src/xml/kanban.xml
diff options
context:
space:
mode:
authorJulien Mougenot <jum@odoo.com>2020-07-13 13:17:14 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2020-07-23 08:21:10 +0000
commit7ff2e5822f08616dd22c142e0e05ed4355801760 (patch)
treed0ec500ac5aa91a12f5421e73139469a83ecd93c /addons/web/static/src/xml/kanban.xml
parentd6ffbfd479fcd235e6e8fdad2cbd84286ca359b6 (diff)
[IMP] web: Search panel Owl
Refactoring of the search panel and its inner logic to Owl. The previous search panel widget has been divided in 2 parts: 1. Component The "Search Panel" component's responsibilities are now to render the search panel data given by its model, display some rendering logic (expanded categories, checked groups) and dispatch the events triggered on it. 2. Model Extension The "Search Panel Model Extension" holds all the search logic of the search panel. Its responsibilities are calling the server to update its data and to provide them to its component and other search extensions. Part of task 2228968 Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Diffstat (limited to 'addons/web/static/src/xml/kanban.xml')
-rw-r--r--addons/web/static/src/xml/kanban.xml126
1 files changed, 0 insertions, 126 deletions
diff --git a/addons/web/static/src/xml/kanban.xml b/addons/web/static/src/xml/kanban.xml
index f4657d4b3a3..2fd7f8ca211 100644
--- a/addons/web/static/src/xml/kanban.xml
+++ b/addons/web/static/src/xml/kanban.xml
@@ -209,132 +209,6 @@
</div>
</t>
-<!-- Kanban SearchPanel -->
-<t t-name="SearchPanel.SectionHeader">
- <header class="o_search_panel_section_header text-uppercase">
- <i t-attf-class="mr-1 fa #{section.icon} o_search_panel_section_icon" t-attf-style="#{section.color ? ('color: ' + section.color) : ''}"/>
- <b><t t-esc="section.description"/></b>
- </header>
-</t>
-
-<t t-name="SearchPanel.Category">
- <section class="o_search_panel_section o_search_panel_category">
- <t t-call="SearchPanel.SectionHeader">
- <t t-set="section" t-value="category"/>
- </t>
- <div t-if="category.errorMsg" class="alert alert-warning">
- <span><t t-esc="category.errorMsg"/></span>
- </div>
- <ul t-else="" class="list-group d-block o_search_panel_field" t-att-data-field-name="category.fieldName">
- <li class="o_search_panel_category_value border-0 list-group-item" t-att-data-category-id="category.id">
- <header t-att-class="'list-group-item-action' + (!category.activeValueId ? ' active' : '')">
- <label class="o_search_panel_label mb0">
- <div class="o_toggle_fold"/>
- <span class="o_search_panel_label_title"><b>All</b></span>
- </label>
- </header>
- </li>
- <t t-call="SearchPanel.CategoryValues">
- <t t-set="values" t-value="category.rootIds"/>
- </t>
- </ul>
- </section>
-</t>
-<t t-name="SearchPanel.CategoryValues">
- <t t-foreach="values" t-as="valueId">
- <t t-set="value" t-value="category.values[valueId]"/>
- <li class="o_search_panel_category_value border-0 list-group-item" t-att-data-id="value.id" t-att-data-category-id="category.id">
- <header t-att-class="'list-group-item-action' + (value.id === category.activeValueId ? ' active' : '')">
- <label t-attf-class="o_search_panel_label mb0{{ category.enableCounters ? ' o_with_counters' : '' }}">
- <div class="o_toggle_fold">
- <i t-if="value.childrenIds.length" t-attf-class="fa fa-caret-{{ value.folded ? 'right' : 'down' }}"/>
- </div>
- <span class="o_search_panel_label_title"><t t-esc="value.display_name"/></span>
- </label>
- <span t-if="category.enableCounters and value.__count > 0"
- class="o_search_panel_counter text-muted ml-2 small"
- t-esc="value.__count"
- />
- </header>
- <ul t-if="!value.folded and value.childrenIds.length" class="list-group d-block">
- <t t-call="SearchPanel.CategoryValues">
- <t t-set="values" t-value="value.childrenIds"/>
- </t>
- </ul>
- </li>
- </t>
-</t>
-
-<t t-name="SearchPanel.Filter">
- <section class="o_search_panel_section o_search_panel_filter">
- <t t-call="SearchPanel.SectionHeader">
- <t t-set="section" t-value="filter"/>
- </t>
- <div t-if="filter.errorMsg" class="alert alert-warning">
- <span><t t-esc="filter.errorMsg"/></span>
- </div>
- <ul t-else="" class="list-group d-block o_search_panel_field" t-att-data-field-name="filter.fieldName">
- <t t-if="filter.groups" t-call="SearchPanel.FilterGroups">
- <t t-set="groups" t-value="filter.groups"/>
- </t>
- <t t-else="" t-call="SearchPanel.FilterValues">
- <t t-set="sortedValueIds" t-value="filter.sortedValueIds"/>
- <t t-set="values" t-value="filter.values"/>
- </t>
- </ul>
- </section>
-</t>
-<t t-name="SearchPanel.FilterGroups">
- <li t-foreach="filter.sortedGroupIds" t-as="groupId" t-att-data-group-id="groupId" t-att-data-filter-id="filter.id"
- class="o_search_panel_filter_group list-group-item border-0">
- <t t-set="group" t-value="groups[groupId]"/>
- <t t-set="inputId" t-value="_.uniqueId('input_')"/>
- <header class="o_search_panel_group_header">
- <div class="custom-control custom-checkbox">
- <input type="checkbox" t-att-id="inputId" t-att-checked="group.state === 'checked' ? 'checked' : undefined" class="custom-control-input"/>
- <label t-att-for="inputId" t-attf-class="o_search_panel_label custom-control-label{{ group.enableCounters ? ' o_with_counters' : '' }}" t-att-title="group.tooltip">
- <span class="o_search_panel_label_title">
- <span t-if="group.hex_color" t-attf-style="color: {{ group.hex_color }};">●</span>
- <t t-esc="group.name"/>
- </span>
- </label>
- </div>
- </header>
- <ul t-if="!group.folded" class="list-group d-block">
- <t t-call="SearchPanel.FilterValues">
- <t t-set="sortedValueIds" t-value="group.sortedValueIds"/>
- <t t-set="values" t-value="group.values"/>
- </t>
- </ul>
- </li>
- <ul t-if="groups['false']" class="list-group d-block">
- <t t-call="SearchPanel.FilterValues">
- <t t-set="group" t-value="groups['false']"/>
- <t t-set="sortedValueIds" t-value="group.sortedValueIds"/>
- <t t-set="values" t-value="group.values"/>
- </t>
- </ul>
-</t>
-<t t-name="SearchPanel.FilterValues">
- <li t-foreach="sortedValueIds" t-as="valueId" t-att-data-value-id="valueId" t-att-data-filter-id="filter.id"
- class="o_search_panel_filter_value list-group-item border-0">
- <t t-set="value" t-value="values[valueId]"/>
- <t t-set="inputId" t-value="_.uniqueId('input_')"/>
- <header class="o_search_panel_group_header">
- <div class="custom-control custom-checkbox w-100">
- <input type="checkbox" t-att-id="inputId" t-att-checked="value.checked ? 'checked' : undefined" class="custom-control-input"/>
- <label t-att-for="inputId" class="o_search_panel_label custom-control-label" t-att-title="group &amp;&amp; group.tooltip">
- <span class="o_search_panel_label_title" t-esc="value.display_name"/>
- <span t-if="filter.enableCounters and value.__count > 0"
- class="o_search_panel_counter text-muted ml-2 small"
- t-esc="value.__count"
- />
- </label>
- </div>
- </header>
- </li>
-</t>
-
<!-- Mobile templates -->
<t t-name="KanbanView.MobileTabs">
<div class="o_kanban_mobile_tabs_container">