FieldLabel

public class FieldLabel

Added in version 1.2.1.

Label редактора в карточном представлении.

Объект предоставляет доступ к data-атрибутам dom-элемента label редактора: имя атрибута редактора, текст label и признак видимости.

Data-атрибуты назначаются на dom-элемент label на стороне view (VCardItemImpl) и вычитываются этим классом при создании.

Поиск dom-элемента label выполняется через JavaScript (querySelector внутри контейнера-родителя) и сразу возвращает значения data-атрибутов, а не инкапсулированную ссылку на WebElement. Это намного быстрее XPath-поиска с wildcard (.//*) на большом GWT-DOM: querySelector+``getAttribute`` в браузере занимает единицы миллисекунд против сотен миллисекунд у Selenium-XPath.

Methods

fromAttributes

static FieldLabel fromAttributes(String attributeName, String text, boolean visible)

Added in version 1.2.1.

Создаёт объект FieldLabel с предзаполненными значениями, прочитанными из dom-элемента label.

Предназначен для использования из методов ожидания (wait), которые уже выполнили поиск dom-элемента label и прочитали его data-атрибуты.

Parameters:
  • attributeName – имя атрибута редактора

  • text – текст label

  • visible – признак видимости label

getAttributeName

public String getAttributeName()

Added in version 1.2.1.

Возвращает имя атрибута редактора, для которого получен label.

Returns:

имя атрибута

getText

public String getText()

Added in version 1.2.1.

Возвращает текст, отображаемый в label редактора.

Returns:

текст label, или null, если label отсутствует

hasLabel

public boolean hasLabel()

Added in version 1.2.1.

Проверяет наличие dom-элемента label у редактора.

Returns:

true, если dom-элемент label существует; false — если отсутствует

isVisible

public boolean isVisible()

Added in version 1.2.1.

Возвращает признак видимости label редактора.

Значение синхронизировано с состоянием видимости dom-элемента label на стороне view.

Returns:

true, если label видим; false — если скрыт или отсутствует

of

public static FieldLabel of(AbstractField field)

Added in version 1.2.1.

Выполняет немедленный поиск dom-элемента label редактора и создаёт объект FieldLabel.

Поиск выполняется через JavaScript (querySelector внутри контейнера-родителя) и сразу возвращает значения data-атрибутов, а не ссылку на dom-элемент.

Если dom-элемент label не найден, создаётся объект с hasLabel() равным false.

Parameters:
  • field – поле редактора в карточном представлении

Returns:

объект FieldLabel

of

public static FieldLabel of(AbstractUiElement parent, String attributeName)

Added in version 1.2.1.

Выполняет немедленный поиск dom-элемента label редактора и создаёт объект FieldLabel.

Поиск выполняется через JavaScript (querySelector внутри контейнера-родителя) и сразу возвращает значения data-атрибутов, а не ссылку на dom-элемент.

В отличие от of(AbstractField), не требует предварительного XPath-поиска поля через card.field(name) — достаточно передать контейнер-родитель (карточку) и имя атрибута. Это экономит сотни миллисекунд на большом GWT-DOM.

Если dom-элемент label не найден, создаётся объект с hasLabel() равным false.

Parameters:
  • parent – контейнер-родитель (например, карточка)

  • attributeName – имя атрибута редактора

Returns:

объект FieldLabel

waitFor

public static FieldLabel waitFor(AbstractField field)

Added in version 1.2.1.

Ожидает появление dom-элемента label редактора и создаёт объект FieldLabel с прочитанными data-атрибутами.

Поиск выполняется через JavaScript: асинхронный poll внутри браузера опрашивает контейнер-родитель поля на наличие элемента с совпадающим data-label.attribute-name и сразу вычитывает data-label.text и data-label.visible.

Если label не появился за время ожидания, метод бросает исключение ElementNotFoundException.

Parameters:
  • field – поле редактора в карточном представлении

Throws:
Returns:

объект FieldLabel

waitFor

public static FieldLabel waitFor(AbstractUiElement parent, String attributeName)

Added in version 1.2.1.

Ожидает появление dom-элемента label редактора и создаёт объект FieldLabel с прочитанными data-атрибутами.

Поиск выполняется через JavaScript: асинхронный poll внутри браузера опрашивает контейнер-родитель на наличие элемента с совпадающим data-label.attribute-name и сразу вычитывает data-label.text и data-label.visible.

В отличие от waitFor(AbstractField), не требует предварительного XPath-поиска поля через card.field(name) — достаточно передать контейнер-родитель (карточку) и имя атрибута. Это экономит сотни миллисекунд на большом GWT-DOM.

Если label не появился за время ожидания, метод бросает исключение ElementNotFoundException.

Parameters:
  • parent – контейнер-родитель (например, карточка)

  • attributeName – имя атрибута редактора

Throws:
Returns:

объект FieldLabel