{%- macro search_input(content, name="q", value="", label=_("Search"), placeholder=_("Search...")) -%} {{ ui.input(content, name=name, label=label, value=value, type="search", placeholder=placeholder, **kwargs) }} {%- endmacro %} {%- macro search_submit_button(content=ui.icon("search") ~ _("Search")) -%} {{ ui.button(content, type="submit", **kwargs) }} {%- endmacro %} {%- macro search_sort_control(content, name="sort", selected="", options=[], label=_("Order by")) -%} {{ ui.select(content, name=name, label=label, selected=selected, options=options, **kwargs) if options }} {%- endmacro %} {%- macro search_results_text(count, error, type, query, template) -%} {%- call ui.util.call(ui.heading, level=2, **kwargs) -%} {%- if error %} {{ _('Error: {error}').format(error=error) }} {%- else %} {%- if count %} {% set template = template or ungettext("Found {count} result", "Found {count} results", count) %} {{ template.format(count=count) }} {%- else %} {{ _('No results found') }} {%- endif %} {%- endif %} {%- endcall %} {%- endmacro %} {%- macro search_active_filters(active_filters, facet_titles, facets, use_htmx) -%} {%- if active_filters -%} {%- call ui.util.call(ui.list, **kwargs) -%} {%- for key, values in active_filters|groupby(0) -%} {%- call ui.util.call(ui.list_item) -%} {{ facet_titles.get(key, key) }}: {%- for _, value in values %} {%- with label=h.list_dict_filter(facets[key]["items"], 'name', 'display_name', value) -%} {{ ui.link(label, h.remove_url_param(key, value), hx={"boost": "true" if use_htmx else "false"}) }} {%- endwith %} {% endfor %} {%- endcall %} {%- endfor %} {%- endcall %} {%- endif %} {%- endmacro %} {%- macro search_advanced_controls() -%} {%- do kwargs -%} {%- endmacro %} {%- macro search_form_box(content, use_htmx) -%} {%- if use_htmx -%} {%- do kwargs.setdefault("hx", {"boost": "true", "disinherit": "hx-boost", "trigger": "change, submit"}) -%} {%- endif %} {%- call ui.util.call(ui.form, **kwargs) -%} {{ content }} {%- endcall %} {%- endmacro %} {%- macro search_form(query, sorting, sorting_options, error, count, facets, facet_titles, active_filters, use_htmx, query_name="q", sorting_name="sort") -%} {%- do kwargs -%} {%- include "macros/ui/snippets/search_form.html" -%} {%- endmacro %}