Spaces:
No application file
No application file
File size: 6,574 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
{#
Varables
- field
- formName (optional, string)
- fieldPage
- mappedFields (\Mautic\FormBundle\Collection\MappedObjectCollection)
- inBuilder
- fields
- inForm (optional, bool)
- required (optional, bool)
#}
{% set containerType = type|default('text') %}
{% set defaultInputClass = inputClass|default('input') %}
{# start: field_helper #}
{% set defaultInputFormClass = defaultInputFormClass|default('') %}
{% set defaultLabelClass = defaultLabelClass|default('label') %}
{% set formName = formName|default('') %}
{% set defaultInputClass = 'mauticform-' ~ defaultInputClass %}
{% set defaultLabelClass = 'mauticform-' ~ defaultLabelClass %}
{% set containerClass = containerClass|default(containerType) %}
{% set order = field.order|default(0) %}
{% set validationMessage = '' %}
{% set inputAttributes = htmlAttributesStringToArray(field.inputAttributes|default('')) %}
{% set labelAttributes = htmlAttributesStringToArray(field.labelAttributes|default('')) %}
{% set containerAttributes = htmlAttributesStringToArray(field.containerAttributes|default('')) %}
{% if ignoreName is not defined or (ignoreName is defined and ignoreName is empty) %}
{% set inputName = 'mauticform[' ~ field.alias ~ ']' %}
{% if field.properties.multiple is defined %}
{% set inputName = inputName ~ '[]' %}
{% endif %}
{% set inputAttributes = inputAttributes|merge({
'name': inputName,
}) %}
{% endif %}
{% if field.type not in ['checkboxgrp', 'radiogrp', 'textarea'] %}
{% set inputAttributes = inputAttributes|merge({
'value': field.defaultValue|default(''),
}) %}
{% endif %}
{% if ignoreId is not defined or (ignoreId is defined and ignoreId is empty) %}
{% set inputAttributes = inputAttributes|merge({
'id': 'mauticform_input' ~ formName ~ '_' ~ field.alias,
}) %}
{% set labelAttributes = labelAttributes|merge({
'id': 'mauticform_label' ~ formName ~ '_' ~ field.alias,
'for': 'mauticform_input' ~ formName ~ '_' ~ field.alias,
}) %}
{% endif %}
{% if field.properties.placeholder is defined and field.properties.placeholder is not empty %}
{% set inputAttributes = inputAttributes|merge({
'placeholder': field.properties.placeholder,
}) %}
{% endif %}
{# Label and input #}
{% if inForm is defined and (true == inForm or inForm is not empty) %}
{% if field.type in ['button', 'pagebreak'] %}
{% set defaultInputFormClass = defaultInputFormClass ~ ' btn btn-default' %}
{% endif %}
{% set labelAttributes = labelAttributes|merge({
'class': labelAttributes.class|default([])|merge([defaultLabelClass]),
}) %}
{% set inputAttributes = inputAttributes|merge({
'disabled': 'disabled',
'class': inputAttributes.class|default([])|merge([defaultInputClass, defaultInputFormClass]),
}) %}
{% else %}
{% set labelAttributes = labelAttributes|merge({
'class': labelAttributes.class|default([])|merge([defaultLabelClass]),
}) %}
{% set inputAttributes = inputAttributes|merge({
'class': inputAttributes.class|default([])|merge([defaultInputClass]),
}) %}
{% endif %}
{# Container #}
{% set containerAttributes = containerAttributes|merge({
'id': 'mauticform' ~ formName|default('') ~ '_' ~ id,
'class': containerAttributes.class|default([])|merge([
'mauticform-row',
'mauticform-' ~ containerClass,
'mauticform-field-' ~ order,
]),
}) %}
{% if field.parent and fields[field.parent] is defined %}
{% set values = field.conditions.values|join('|') %}
{% if field.conditions.any != false and 'notIn' != field.conditions.expr %}
{% set values = '*' %}
{% endif %}
{% set containerAttributes = containerAttributes|merge({
'data-mautic-form-show-on': fields[field.parent].alias ~ ':' ~ values,
'data-mautic-form-expr': field.conditions.expr,
'class': containerAttributes.class|merge([
'mauticform-field-hidden',
]),
}) %}
{% endif %}
{# Field is required #}
{% if field.isRequired is defined and field.isRequired %}
{% set required = true %}
{% set validationMessage = field.validationMessage %}
{% if validationMessage is empty %}
{% set validationMessage = 'mautic.form.field.generic.required'|trans([], 'validators', language|default(null)) %}
{% endif %}
{% set containerAttributes = containerAttributes|merge({
'class': containerAttributes.class|default([])|merge([
'mauticform-required',
]),
'data-validate': field.alias,
'data-validation-type': field.type,
}) %}
{% if field.properties.multiple is defined and field.properties.multiple is not empty %}
{% set containerAttributes = containerAttributes|merge({
'data-validate-multiple': 'true',
}) %}
{% endif %}
{% elseif required is defined and true == required %}
{# Forced to be required #}
{% set containerAttributes = containerAttributes|merge({
'class': containerAttributes.class|default([])|merge([
'mauticform-required',
]),
}) %}
{% endif %}
{# end: field_helper #}
<div {% for attrName, attrValue in containerAttributes %}{{ attrName }}="{% if attrValue is iterable %}{{ attrValue|join(' ') }}{% else %}{{ attrValue }}{% endif %}"{% endfor %}>
{% if field.showLabel %}<label {% for attrName, attrValue in labelAttributes %}{{ attrName }}="{% if attrValue is iterable %}{{ attrValue|join(' ') }}{% else %}{{ attrValue }}{% endif %}"{% endfor %}>{{ field.label }}</label>{% endif %}
{% if field.helpMessage is not empty %}<span class="mauticform-helpmessage">{{ field.helpMessage|purify }}</span>{% endif %}
{% if 'textarea' == field.type %}
<textarea {% for attrName, attrValue in inputAttributes %}{{ attrName }}="{% if attrValue is iterable %}{{ attrValue|join(' ') }}{% else %}{{ attrValue }}{% endif %}"{% endfor %}>{{ field.defaultValue }}</textarea>
{% elseif 'number' == field.type %}
<input type="{{ containerType }}" {% for attrName, attrValue in inputAttributes %}{{ attrName }}="{% if attrValue is iterable %}{{ attrValue|join(' ') }}{% else %}{{ attrValue }}{% endif %}"{% endfor %} step="{{ step }}"/>
{% else %}
<input type="{{ containerType }}" {% for attrName, attrValue in inputAttributes %}{{ attrName }}="{% if attrValue is iterable %}{{ attrValue|join(' ') }}{% else %}{{ attrValue }}{% endif %}"{% endfor %} />
{% endif %}
<span class="mauticform-errormsg" style="display:none;">{{ validationMessage }}</span>
</div> |