CurrencyField

CurrencyField – это разновидность текстового поля, предназначенная для ввода денежных единиц. CurrencyField используется по умолчанию при генерации экранов в Studio для атрибутов, помеченных аннотацией @CurrencyValue. Поле содержит ярлык с обозначением валюты и по умолчанию имеет выравнивание по правому краю.

currency field

XML-имя компонента: currencyField.

Основы

CurrencyField в основном повторяет функциональность TextField. Вы можете вручную указать datatype для поля, за исключением того, что CurrencyField поддерживает только следующие числовые типы данных:

  • decimal

  • int

  • long

  • double

  • float

CurrencyField можно привязать к контейнеру данных с помощью атрибутов dataContainer и property:

@JmixEntity
@Table(name = "UIEX1_PRODUCT")
@Entity(name = "UIEX1_Product")
public class Product {
    @JmixGeneratedValue
    @Column(name = "ID", nullable = false)
    @Id
    private UUID id;

    @Column(name = "PRICE", nullable = false)
    @CurrencyValue(currency = "USD")
    protected BigDecimal price;
    // ...
}
<data>
    <instance id="productDc"
              class="ui.ex1.entity.Product"
              fetchPlan="_base"/>
</data>
<layout>
    <currencyField id="priceField"
                   currencyLabelPosition="LEFT"
                   dataContainer="productDc"
                   property="price"/>
</layout>

Атрибуты

Данный компонент имеет три специфических атрибута:

  • currency - текст, который будет отображаться в ярлыке валюты.

  • currencyLabelPosition - определяет положение ярлыка внутри текстового поля. Имеет следующие возможные значения:

    • RIGHT - справа от поля ввода (значение по умолчанию).

    • LEFT - слева от поля ввода.

  • showCurrencyLabel - управляет видимостью ярлыка со значком валюты.

<currencyField id="currencyField"
               currency="€"
               currencyLabelPosition="LEFT"
               showCurrencyLabel="true"/>

События и слушатели

Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите компонент в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI.

В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана.

ValueChangeEvent

ContextHelpIconClickEvent

Validator

См. Validator.

Все XML-атрибуты

Просматривать и редактировать атрибуты, применимые к компоненту, можно с помощью панели инспектора Jmix UI в конструкторе экранов Studio.