Element

Базовый класс для всех визуальных элементов InfinniUI.

Description

Все визуальные элементы (далее просто “элементы”), представленные в InfinniUI, являются потомками Element. В Element реализованы базовые API, которые в итоге будут предоставлять все элементы InfinniUI.

Syntax

new Element(parent, viewMode);

Parameters

Name Type Description
parent Element Родительский элемент
viewMode String Строка со значением режима отображения

Usage

Создать экземпляр Element нельзя, однако можно создать, к примеру, экземпляр кнопки, которая наследуется от Element. Сделаем это, а так же зададим кнопке текст.

//js-demo
var button = new InfinniUI.Button();
var $button = button.render();

button.setText("ButtonText")

$elementForExample.append($button);

Properties

Name Type Description
name String Содержит имя элемента

Methods

Name Description
getView Возвращает родительское представление
getParent Возвращает родительский элемент
setParent Устанавливает родительский элемент
getChildElements Возвращает список дочерних элементов. Речь идет о непосредственных потомках, дочерние дочерних элементов в этот список не входят. В отличии от следующих методов
findAllChildrenByType Возвращает список потомков (дочерних, их дочерних и т. д.) элементов с заданным типом (Button, Label и др.)
findAllChildrenByName Возвращает список потомков (дочерних, их дочерних и т. д.) элементов с заданным именем
addChild Добавляет заданный элемент в качестве дочернего
removeChild Удаляет заданный элемент из списка дочерних
getProperty Возвращает значение указанного свойства элемента. Например ‘text’, ‘visible’ ‘value’, и др.
setProperty Устанавливает значение указанного свойства элемента
getName Возвращает имя элемента
setName Устанавливает имя элемента
getText Возвращает текст элемента (в разных потомках Element, поле text используется по разному. Например, во View это заголовок представления, а в ImageBox это текст кнопки, инициирующей выбор загружаемого изображения)
setText Устанавливает текст элемента
getFocusable Возвращает значение, определяющее, может ли элемент получить фокус
setFocusable Устанавливает значение, определяющее, может ли элемент получить фокус
getFocused Возвращает значение, определяющее, установлен ли на элементе фокус
setFocused Устанавливает/снимает фокус с элемента (в зависимости от передаваемого значения)
getTag Возвращает специальное значение, хранящяеся в элементе. Тег можно использовать для привязки произвольных значений к элементу
setTag Устанавливает специальное значение. Оно может быть любого типа. Тег можно использовать для привязки произвольных значений к элементу
getEnabled Возвращает значение, определяющее, возможен ли доступ к элементу
setEnabled Устанавливает значение, определяющее, возможен ли доступ к элементу
getVisible Возвращает значение, определяющее, отображается ли элемент в интерфейсе
setVisible Устанавливает значение, определяющее, отображается ли элемент в интерфейсе
getHorizontalAlignment Возвращает горизонтальное выравнивание в родительском элементе
setHorizontalAlignment Устанавливает горизонтальное выравнивание в родительском элементе
getTextHorizontalAlignment Возвращает горизонтальное выравнивание текста в элементе
setTextHorizontalAlignment Устанавливает горизонтальное выравнивание текста в элементе
getToolTip Возвращает устанавленное всплывающее сообщение элемента
setToolTip Устанавливает всплывающее сообщение для элемента
getValidationState Возвращает валидационный статус элемента
setValidationState Устанавливает заданный валидационный статус и валидационное сообщение
getTextStyle Возвращает стиль текста элемента
setTextStyle Устанавливает стиль текста элемента
getForeground Возвращает цвет текста элемента
setForeground Устанавливает цвет текста элемента
getBackground Возвращает цвет фона элемента
setBackground Устанавливает цвет фона элемента
getStyle Возвращает кастомный стиль элемента (на деле это класс, стили которых могут быть заданы в подключаемых на страницу стилях)
setStyle Устанавливает элементу кастомный стиль (на деле устанавливает ему одноименный класс, стили которого можно задать самому в подключаемых на страницу стилях). Этот способ кастомизации внешнего вида череват разными последствиями, поскольку примененные к классу css-правила могут противоречить правилам задуманным InfinniUI, в следствии чего верстка может “поехать” неожиданным образом. Следует применять эту возможность как можно реже и как можно аккуратнее
render Создает DOM-представление элемента
remove Удаляет элемент и его DOM-представление
isLoaded Проверяет, готов ли элемент. Возвращает соответствующее значение

Events

Name Description
onLoaded Устанавливает обработчик события о том, что элемент был загружен.
onGotFocus Устанавливает обработчик события о том, что элемент получил фокус ввода
onLostFocus Устанавливает обработчик события о том, что элемент потерял фокус ввода
onBeforeClick Устанавливает обработчик события клика мыши, который будет срабатывать при захвате события на элементе
onClick Устанавливает обработчик события о том, что по элементу сделали одинарный клик мыши
onDoubleClick Устанавливает обработчик события о том, что по элементу сделали двойной клик мыши
onMouseDown Устанавливает обработчик события о том, что на элементе произвели двойное нажатие кнопкой мыши
onMouseUp Устанавливает обработчик события о том, что на элементе отпустили кнопку мыши
onMouseWheel Устанавливает обработчик события о том, что на элементе прокрутили колесо мыши
onMouseEnter Устанавливает обработчик события о том, что указатель мыши вошел в границы элемента
onMouseLeave Устанавливает обработчик события о том, что указатель мыши покинул границы элемента
onMouseMove Устанавливает обработчик события о том, что указатель мыши двигался внутри элемента
onKeyDown Устанавливает обработчик события о том, что на элементе нажали клавишу клавиатуры
onKeyUp Устанавливает обработчик события о том, что на элементе отпустили клавишу клавиатуры
onPropertyChanged Устанавливает обработчик события о том, что одно из свойств элемента изменилось

Element.metadata

Метаданные описывающие настройки Element.

Properties

Name Type Default Description
Name String null Имя элемента (строка). Желательно делать его уникальным внутри представления.
Text String (⇔)(ƒ) “” Текст элемента. В разных потомках Element, поле text используется по разному. Например, во View это заголовок представления, а в ImageBox это текст кнопки, инициирующей выбор загружаемого изображения.
Focusable Boolean (⇔) true Значение, определяющее, может ли элемент получить фокус.
Enabled Boolean (⇔) true Значение, определяющее, значение, возможен ли доступ к элементу.
Visible Boolean (⇔) true Значение, определяющее видимость элемента.
HorizontalAlignment HorizontalAlignment (⇔) “Stretch” Горизонтальное выравнивание элемента.
TextHorizontalAlignment TextHorizontalAlignment (⇔) “Left” Горизонтальное выравнивание внутри элемента.
Style String (⇔) “” Имя кастомного стиля (на деле это одноименный класс, стили которого можно задать самому в подключаемых на страницу стилях)
TextStyle TextStyle (⇔) “” Стиль текста элемента
Foreground Color (⇔) “” Цвет текста.
Background Color (⇔) “” Цвет фона.
ToolTip String (ƒ), Element null Всплывающая над элементом подсказка.
Tag * null Произвольное значение, которое можно привязать к элементу.
OnLoaded Script null Устанавливает обработчик готовности элемента.
OnGotFocus Script null Устанавливает обработчик получения фокуса элементом.
OnLostFocus Script null Устанавливает обработчик потери фокуса у элемента.
OnClick Script null Устанавливает обработчик клика мышью по элементу.
OnDoubleClick Script null Устанавливает обработчик двойного клика мышью по элементу.
OnMouseDown Script null Устанавливает обработчик нажатия кнопки мыши над элементом (обычный клик срабатывает после отпускания кнопки мыши).
OnMouseUp Script null Устанавливает обработчик поднятия кнопки мыши над элементом (обычный клик срабатывает позже).
OnMouseWheel Script null Устанавливает обработчик прокрутки скролла над элементом.
OnMouseEnter Script null Устанавливает обработчик появления курсора над элементом.
OnMouseLeave Script null Устанавливает обработчик выхода курсора из области элемента.
OnMouseMove Script null Устанавливает обработчик движения курсора в области элемента.
OnKeyDown Script null Устанавливает обработчик нажатия клавиши клавиатуры, в момент когда фокус находится на текущем элементе.
OnKeyUp Script null Устанавливает обработчик поднятия клавиши клавиатуры, в момент когда фокус находится на текущем элементе.
OnPropertyChanged Script null Устанавливает обработчик изменения одного из свойств элемента (value, visible и др.).

(⇔) Свойство может быть задано, как DataBinding.

(ƒ) Свойство может быть задано, как JSExpression.

Exampes

Создать экземпляр Element нельзя (это абстрактный класс), однако можно например создать экземпляр кнопки, которая наследуется от Element.

//infinni-ui-demo
{
    "DataSources": [
    ],
    "Items": [{
            "GridPanel": {
                "Items": [
                    {
                        "Cell": {
                            "ColumnSpan": 4,
                            "Items": [
                                {
                                    //infinni-ui-display-begin
"Button": {
    "Name": "my_button",
    "Text": "Button",
    "OnClick": "{ alert(args.source.getName()); }"
}
                                    //infinni-ui-display-end
                                }
                            ]
                        }
                    }
                ]
            }
        }
    ]
}