Элементы управления — это объекты, которые используются для организации взаимодействия между пользователем и приложением. Например, кнопки, детали, поля и т. д. Как правило, элементы управления отображаются в навигационных панелях, диалоговых окнах и на панелях инструментов.
Terrasoft.controls.Component — родительский класс для элементов управления. Родительским классом для класса Component является класс Terrasoft.BaseObject. Миксин Bindable класса Component позволяет связать свойства элемента управления с необходимыми свойствами, методами или атрибутами модели представления.
Для корректной работы в элементе управления объявляются события. События, которые элемент управления наследует от класса Component:
- added — срабатывает после добавления элемента в контейнер.
- afterrender — срабатывает после рендеринга элемента управления и добавления HTML-представления в DOM.
- afterrerender — срабатывает после рендеринга элемента управления и обновления HTML-представления в DOM.
- beforererender — срабатывает перед рендерингом элемента управления и добавления HTML-представления в DOM.
- destroy — срабатывает перед окончательным уничтожением элемента управления.
- destroyed — срабатывает после удаления элемента управления.
- init — срабатывает после инициализации элемента управления.
Подробнее о событиях класса Component читайте в Библиотеке JS классов.
Также элемент управления может подписываться на события браузера и определять свои собственные события.
Реализуйте элемент управления в массиве модификаций diff.
Внешний вид элемента управления определяется шаблоном (template <tpl>). Представление элемента генерируется согласно заданному шаблону во время рендеринга элемента управления в представление страницы.
Элемент управления не имеет бизнес-логики. Бизнес-логика реализована в модуле, в который добавляется элемент управления.
Элемент управления имеет атрибуты styles и selectors, которые определены в родительском классе Component. Эти атрибуты позволяют гибко настраивать стили.