templates/includes/form_elements/switch.html.twig line 1

Open in your IDE?
  1. {% set id = id|default('checkbox-id') %}
  2. {% set name = name|default('checkbox') %}
  3. {% set label = label|default(' ') %}
  4. {% set option1 = option1|default('Option1') %}
  5. {% set option2 = option2|default('Option2') %}
  6. {% set styleModifier = styleModifier|default('') %}
  7. {% set className = className|default('') %}
  8. {% set classNames = {
  9.     input: inputModifier|default(''),
  10.     label: labelModifier|default(''),
  11.     error: errorModifier|default('')
  12. }|merge(classNames|default({})) %}
  13. {% set required = required|default(false) %}
  14. {% set disabled = disabled|default(false) %}
  15. {% set readonly = readonly|default(false) %}
  16. {% set inputAttributes = inputAttributes|default({}) %}
  17. {% set errors = errors|default([]) %}
  18. {% set style = style|default('default') %}
  19. {% set type = type|default('checkbox') %}
  20. {% set styleClasses = {
  21.     'default': '',
  22.     'switch': 'form-switch'
  23. } %}
  24. {% set inputAttributes = inputAttributes
  25.     |merge(id is defined ? {id: id} : {})
  26.     |merge(name is defined ? {name: name} : {})
  27.     |merge(placeholder is defined ? {placeholder: placeholder} : {})
  28.     |merge(value is defined ? {value: value} : {})
  29.     |merge(required ? {required: ''} : {})
  30.     |merge(disabled ? {disabled: ''} : {})
  31.     |merge(readonly ? {readonly: ''} : {})
  32.     |merge({type: type})
  33.     |merge(helpText is defined ? {'aria-describedby': id ~ '-help-block'} : {}) %}
  34. <div class="shadow form-control text-center js-form-validation__group {{ attribute(styleClasses, style) }} {{ (errors|length > 0) ? 'has-error' : '' }} {{ styleModifier }} {{ className }}">
  35.     <div class="switch js-switch-toggle">
  36.         {% block input %}
  37.             <input type="checkbox" id="{{ id }}" class="form-check-input {{ (errors|length > 0) ? 'is-invalid' : '' }} {{ inputModifier }}"
  38.             {% for key, value in inputAttributes %}
  39.                 {{ key }}="{{ value }}"
  40.             {% endfor %} >
  41.         {% endblock %}
  42.         {% block label %}
  43.             {{ include('includes/form_elements/includes/form-control-label.html.twig', _context|merge({
  44.                 className: 'form-check-label d-flex justify-content-between ' ~ classNames.label,
  45.                 switch: true
  46.             }), with_context = false) }}
  47.         {% endblock %}
  48.     </div>
  49.     {% block erros %}
  50.         {{ include('includes/form_elements/includes/form-errors.html.twig', with_context = false) }}
  51.     {% endblock %}
  52.     {% block help %}
  53.         {{ include('includes/form_elements/includes/form-control-help-text.html.twig', with_context = false) }}
  54.     {% endblock %}
  55. </div>