{% set groupSeparator = field.hundredsSeparator if field.hundredsSeparator else 
    ',' %}
{% set radixPoint = field.decimalSeparator if field.decimalSeparator else 
    '.' %}

<div class="form-group">
     {% if field.uiSettings.labelTemplate %}
            {% include resolvePath( field.uiSettings.labelTemplate) %}
        {% else %}
    <label for="{{key}}">{{ field.name | tr }}
        {% if field.uiSettings.descriptionText %}
            <small id="{{key}}-help" class="{{ field.uiSettings.descriptionTextClasses if field.uiSettings.descriptionTextClasses }} description-label">{{ field.uiSettings.descriptionText | tr }}</small>
        {% endif %}
    </label>
    {% endif %}
    {% set _val = data[key] + '' %}
    {% if _val and _val.indexOf('.') > -1 %}
        {% set _val = _val.split('.')[0] + radixPoint + _val.split('.')[1] %}
    {% endif %}
    <input class="form-control" 
        id="currency-{{key}}"
        inputmode="decimal" 
        value="{{_val}}" 
        {{ "min="+field.min if field.min}}
        {{ "max="+field.min if field.max}}    
        {{ "step="+field.step if field.step}}
        {{ "readonly" if field.readOnly }} 
        {{ "required" if field.required }}
/>
    <input id="currency-{{key}}-real" name="{{key}}" value="{{data[key]}}" type="hidden"/>
</div>
<script>
    if (!window.currencies) {
        window.currencies = [];
    }
    window
        .currencies
        .push(function () {

            $("#currency-{{key}}").inputmask("currency", {
                rightAlign: false,
                groupSeparator: "{{ groupSeparator }}",
                radixPoint: "{{ radixPoint }}",
                digits: {{field.digits if field.digits !== null or field.digits !== undefined  else 2 }}
            });
            $("#currency-{{key}}").on("input", function (e) {
                var input = $(this);
                var val = input.val();

                if (input.data("lastval") != val) {
                    input.data("lastval", val);

                    val = val
                        .replaceAll('{{ groupSeparator }}', '')
                        .replaceAll('{{radixPoint}}', '.');
                    $("#currency-{{key}}-real").val(val);
                }

            });
        });
</script>