{% import "_includes/forms" as forms %} {% set decimals = not field.getErrors('decimals') ? field.decimals : null %} {% macro numberField(config, decimals) %} {% from '_includes/forms' import textField %} {# Only format the value if it isn’t going to be misrepresented #} {% if not craft.app.formatter.willBeMisrepresented(config.value) %} {{ hiddenInput("#{config.name}[locale]", craft.app.formattingLocale.id) }} {% set config = config|merge({ name: "#{config.name}[value]", value: config.value|number(decimals), }) %} {% endif %} {{ textField(config) }} {% endmacro %} {{ _self.numberField({ label: "Default Value"|t('app'), id: 'defaultValue', name: 'defaultValue', value: field.defaultValue, size: 5, errors: field.getErrors('defaultValue') }, decimals) }} {{ _self.numberField({ label: "Min Value"|t('app'), id: 'min', name: 'min', value: field.min, size: 5, errors: field.getErrors('min') }, decimals) }} {{ _self.numberField({ label: "Max Value"|t('app'), id: 'max', name: 'max', value: field.max, size: 5, errors: field.getErrors('max') }, decimals) }} {{ forms.textField({ label: "Decimal Points"|t('app'), id: 'decimals', name: 'decimals', value: field.decimals, size: 1, errors: field.getErrors('decimals') }) }} {{ forms.textField({ label: "Size"|t('app'), id: 'size', name: 'size', value: field.size, size: 2, errors: field.getErrors('size') }) }} {{ forms.textField({ label: "Prefix Text"|t('app'), instructions: "Text that should be shown before the input."|t('app'), id: 'prefix', name: 'prefix', value: field.prefix, errors: field.getErrors('prefix') }) }} {{ forms.textField({ label: "Suffix Text"|t('app'), instructions: "Text that should be shown after the input."|t('app'), id: 'suffix', name: 'suffix', value: field.suffix, errors: field.getErrors('suffix') }) }} {% set previewFormatInput %}
{{ forms.select({ id: 'preview-format', name: 'previewFormat', options: [ {label: 'As decimal numbers'|t('app'), value: 'decimal'}, {label: 'As currency values'|t('app'), value: 'currency'}, {label: 'Unformatted'|t('app'), value: 'none'}, ], value: field.previewFormat, toggle: true, targetPrefix: 'preview-format-', }) }}
{% endset %}
{{ forms.field({ id: 'preview-format', label: 'Preview Format'|t('app'), instructions: 'How field values will be formatted within element indexes.'|t('app'), errors: field.getErrors('previewFormat')|merge(field.getErrors('previewCurrency')), }, previewFormatInput) }}