stack/src/components/forms/filtration-form/filtration-form--raw.twig line 1

Open in your IDE?
  1. {% set com_props = props %}
  2. {% set form_props = {
  3.   validate: true,
  4.   id: props.id,
  5.   data: {
  6.     "product-id": props.product_id,
  7.     "category-id": props.category_id,
  8.     "family-id": props.family_id,
  9.   },
  10.   extra_class: "f-filtration__form w-100"
  11. } %}
  12. {% if com_props.vars %}
  13.   {% set form_props = props.vars|default({})|merge(form_props) %}
  14. {% endif %}
  15. {% set is_inline = props.variant == "inline" ?? false %}
  16. {% embed "@Components/base-form/base-form.twig" with {props: form_props} %}
  17.   {% block content %}
  18.     <div class="f-filtration__body-inner {{ not is_inline ? " d-flex flex-column gap-5 p-3 p-xxl-5" : " p-2" }}">
  19.       <div class="f-filtration__form-list {{ not is_inline ? " row gy-3 gx-6" : " d-flex flex-column gap-3" }}">
  20.         {% for item in com_props.form_list %}
  21.           <div class="{{ not is_inline ? "col-md-6 col-lg-4 col-xl-3" : "f-filtration__item" }}">
  22.             {% if item.checkbox_select %}
  23.               {% include "@Components/fields/checkbox-select-field/checkbox-select-field.twig" with {props: item.checkbox_select|merge({
  24.                 variant: com_props.variant
  25.               })} %}
  26.             {% endif %}
  27.             {% if item.range %}
  28.               {% include "@Components/fields/range-slider-field/range-slider-field.twig" with {props: item.range|merge({
  29.                 data: {
  30.                   "filter-prefix": item.range.label ~ ":"
  31.                 }
  32.               })} %}
  33.             {% endif %}
  34.           </div>
  35.         {% endfor %}
  36.       </div>
  37.       {% if not is_inline %}
  38.         <div class="f-filtration__filtration-list d-flex flex-wrap align-items-center gap-2 js-filter-list" data-filter-target="{{ com_props.id }}">
  39.           <template>
  40.             {% include "@Components/items/selected-tag-item/selected-tag-item.twig" %}
  41.           </template>
  42.           {% if com_props.selected %}
  43.             {% for item in com_props.selected %}
  44.               {% include "@Components/items/selected-tag-item/selected-tag-item.twig" with {props: item } %}
  45.             {% endfor %}
  46.           {% endif %}
  47.           {% if com_props.reset_btn %}
  48.             {% include "@Components/items/tag-item/tag-item.twig" with {props: com_props.reset_btn|merge({
  49.               tag: "span",
  50.               size: "sm",
  51.               radius: true,
  52.               hoverable: true,
  53.               variant: "outline",
  54.               icon: {
  55.                 src: "@Images/svg/trash.svg",
  56.                 size: "md",
  57.               },
  58.               data: {
  59.                 "filter-target": com_props.id
  60.               },
  61.               extra_class: "f-filtration__reset-btn js-filter-clear"
  62.             }) } %}
  63.           {% endif %}
  64.         </div>
  65.       {% endif %}
  66.     </div>
  67.   {% endblock %}
  68. {% endembed %}