ui2022/button--a.html.twig line 1

Open in your IDE?
  1. {% set icon = _args.icon|default(null) %}
  2. {% set text = _args.text|default(null) %}
  3. {% set image = _args.image|default(null) %}
  4. {% set link = _args.link|default('#') %}
  5. {% set target = _args.target|default(null) %}
  6. {% set styles = _args.styles|default(['default']) %}
  7. {% set dropdown = _args.dropdown|default(null) %}
  8. {% set drop = _args.drop|default('down') %}
  9. {% set dropattr = _args.dropattr|default({}) %}
  10. {% set modal = _args.modal|default(null) %}
  11. {% set sidepanel = _args.sidepanel|default(null) %}
  12. {% set attr = _args.attr|default({}) %}
  13. {% set post = _args.post|default(null) %}
  14. {% set form = _args.form|default(null) %}
  15. {% set churnzero = _args.churnzero|default(null) %}
  16. {% if styles is not iterable %}
  17.     {% set styles = styles|split(' ') %}
  18. {% endif %}
  19. {% if icon is not empty %}
  20.     {% set styles = styles|merge(['icon']) %}
  21. {% endif %}
  22. {% set dropattr = dropattr|merge({
  23.     class: 'btn-group drop%s %s'|format(
  24.         drop,
  25.         dropattr.class|default(''),
  26.     )|trim,
  27. }) %}
  28. {% set attr = attr|merge({
  29.     class: '%s btn btn-%s %s'|format(
  30.         attr.class|default(''),
  31.         styles|join(' btn-')|trim,
  32.         (dropdown) ? 'dropdown-toggle' : ''
  33.     )|trim,
  34.     href: link,
  35.     target: target,
  36.     'data-post': (post) ? ((post is same as(true)) ? '' : post|json_encode) : null,
  37.     'data-toggle': sidepanel ? 'sidepanel' : ((dropdown) ? 'dropdown' : ((modal) ? 'modal' : null)),
  38.     'data-target': sidepanel ? ('#' ~ sidepanel) : (modal ? ('#' ~ modal) : null),
  39.     'data-form': form ? ('#' ~ form) : null,
  40.     'data-churnzero': churnzero and churnzero.event is defined ? churnzero.event : null,
  41.     'data-churnzero-extras': churnzero and churnzero.extras is defined ? churnzero.extras|json_encode : null,
  42. }) %}
  43. {% if dropdown %}
  44. <div {{ attributes(dropattr) }}>
  45. {% endif %}
  46.     <a {{ attributes(attr) }}>
  47.         {% if image %}
  48.             <img src="{{ image }}" />
  49.         {% endif %}
  50.         {% if text %}<span>{{ text }}</span>{% endif %}
  51.         {% if icon %}<i class="{{ icon }}"></i>{% endif %}
  52.     </a>
  53. {% if dropdown %}
  54.     {% include '@ui2022/dropdown__menu.html.twig' with dropdown %}
  55. </div>
  56. {% endif %}