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);
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
}
]
}
}
]
}
}
]
}