templates/includes/form/form-control.html.twig line 1

Open in your IDE?
  1. {# id, name and label are required variables #}
  2. {% set styleModifier = styleModifier | default('') %}
  3. {% set className = className | default('') %}
  4. {% set classNames = {
  5.     input: inputModifier | default(''),
  6.     label: labelModifier | default(''),
  7.     error: errorModifier | default(''),
  8.     helpText: ''
  9. } | merge(classNames | default({})) %}
  10. {% set required = required | default(false) %}
  11. {% set floating = floating | default(false) %}
  12. {% set hideLabel = hideLabel | default(false) %}
  13. {% set type = type | default('text') %}
  14. {% set disabled = disabled | default(false) %}
  15. {% set readonly = readonly | default(false) %}
  16. {% set inputAttributes = inputAttributes | default({}) %}
  17. {% set errors = errors | default([]) %}
  18. {% set inputAttributes = inputAttributes
  19.     | merge(id is defined ? {id: id}: {})
  20.     | merge({type: type})
  21.     | merge(name is defined  ? {name: name}: {})
  22.     | merge(placeholder is defined  ? {placeholder: placeholder}: {})
  23.     | merge(floating and placeholder is not defined ? {placeholder: label}: {})
  24.     | merge(value is defined  ? {value: value}: {})
  25.     | merge(required ? {required: ''}: {})
  26.     | merge(disabled ? {disabled: ''}: {})
  27.     | merge(readonly ? {readonly: ''}: {})
  28.     | merge(helpText is defined ? {'aria-describedby': id ~'-help-block'}: {}) %}
  29. <div class="form-group
  30. {{ (errors | length > 0) ? ' is-invalid': '' }}
  31. {{ styleModifier ? ' ' ~ styleModifier : '' }}
  32. {{ className ? ' ' ~ className : '' }}
  33. {{ floating ? ' form-floating' }}">
  34.     {% block label %}
  35.         {% if floating is same as(false) and hideLabel is same as(false) %}
  36.             {{ include('includes/form/form-elements/form-control-label.html.twig', {
  37.                 className:'form-label ' ~ classNames.label
  38.             }) }}
  39.         {% endif %}
  40.     {% endblock %}
  41.     {% block input %}
  42.         <input class="form-control{{ (errors | length > 0 )? ' is-invalid': '' }} {{ attribute(classNames, 'input') }}"
  43.         {% for key, value in inputAttributes %}
  44.             {{ key }}="{{ value }}"
  45.         {% endfor %}
  46.         >
  47.     {% endblock %}
  48.     {% block labelFloating %}
  49.         {% if floating is same as(true) and hideLabel is same as(false) %}
  50.             {{ include('includes/form/form-elements/form-control-label.html.twig', {
  51.                 className:'form-label ' ~ classNames.label
  52.             }) }}
  53.         {% endif %}
  54.     {% endblock %}
  55.     {% block erros %}
  56.         {{ include('includes/form/form-elements/form-errors.html.twig', {
  57.             className:classNames.error
  58.         }) }}
  59.     {% endblock %}
  60.     {% block help %}
  61.         {{ include('includes/form/form-elements/form-control-help-text.html.twig', {
  62.             className:classNames.helpText
  63.         }) }}
  64.     {% endblock %}
  65. </div>