src/Elements/Bundle/DemiFrontendBundle/Resources/views/Includes/elements/buttons/toggle-button.html.twig line 1

Open in your IDE?
  1. {#
  2. /**
  3.  * @var \Pimcore\Templating\PhpEngine this
  4.  * @var \Pimcore\Templating\PhpEngine view
  5.  * @var \Pimcore\Templating\GlobalVariables app
  6.  * #
  7.  * @var styleModifier string
  8.  * @var isBlock bool
  9.  * @var type string
  10.  * @var name string
  11.  * @var value string
  12.  * @var checked bool
  13.  * @var hasIcon bool
  14.  * @var additionalContent bool
  15.  * @var additionalText string
  16.  * @var additionalCount string
  17.  * @var text string
  18.  * @var icon string
  19.  * @var bubbles boolean
  20.  * @var bubblesId string
  21.  * @var isTruncate boolean
  22.  */ #}
  23. {% set classes = classes is defined ? classes : [] %}
  24. {% set additionalText = additionalText is defined ? additionalText : '' %}
  25. {% set hasIcon = hasIcon is defined ? hasIcon : false %}
  26. {% if hasIcon%}
  27.     {% set classes = classes|merge(['toggle-btn--has-icon']) %}
  28. {% endif %}
  29. {% if additionalContent is defined %}
  30.     {% set classes = classes|merge(['toggle-btn--aligned-left']) %}
  31. {% endif %}
  32. {% set isBlock = isBlock is defined ? isBlock : false %}
  33. {% if isBlock %}
  34.     {% set classes = classes|merge(['btn-block']) %}
  35. {% endif %}
  36. <label tabindex="0"
  37.        class="toggle-btn-wrapper {{ styleModifier }} {{ isBlock ? 'd-block': '' }}"{{ dataAttr is defined ? " #{dataAttr} " : '' }}>
  38.     <input class="sr-only"
  39.            tabindex="-1"
  40.            type="{{ type }}"
  41.            name="{{ name }}"
  42.            value="{{ value }}"
  43.            data-text="{{ text }}"
  44.         {% if checked is defined %}
  45.             checked
  46.         {% endif %}
  47.     >
  48.     {# If the toggle btn should show just "..." on mobile #}
  49.     {% set isTruncate = isTruncate is defined ? isTruncate : false %}
  50.     <span class="btn btn-default toggle-btn px-2 {{ isTruncate ? ' text-truncate' : 'toggle-btn--no-truncate' }} {{ classes | join (" ") }} ">
  51.         {% if additionalContent is defined %}
  52.     <span class="row">
  53.                 <span class="col text-left">
  54.                     {% if hasIcon %}
  55.                         <span class="demi-icon demi-icon-close-circle btn__icon toggle-btn__icon"></span>
  56.                     {% endif %}
  57.                     <span class="toggle-btn__content">
  58.                         {{ text }}
  59.                     </span>
  60.                 </span>
  61.                 <span class="col col-auto">
  62.                     {% if icon %}
  63.                         <span aria-hidden="true" class="demi-icon demi-icon-{{ icon }}"></span>
  64.                     {% elseif additionalText %}
  65.                         <span class="small" title="{{ additionalText }}"
  66.                               aria-label="{{ additionalText }}">({{ additionalCount }})</span>
  67.                     {% endif %}
  68.                 </span>
  69.             </span>
  70.    {% else %}
  71.         {% if hasIcon %}
  72.             <span class="demi-icon demi-icon-close-circle btn__icon toggle-btn__icon"></span>
  73.         {% endif %}
  74.     <span class="toggle-btn__content">
  75.                 {{ text }}
  76.         {% if bubbles is defined %}
  77.             <span class="small js-filter-form__count" data-id="{{ bubblesId is defined ? bubblesId : value }}" title="" aria-label=""></span>
  78.         {% endif %}
  79.             </span>
  80.     </span>
  81. </label>
  82. {% endif %}