Модуль basis.ui
является базой для построения интерфейса. Основной предоставляемый класс – basis.ui.Node
. По сути, пользовательский интерфейс представляет собой одно большое дерево экземпляров basis.ui.Node
и экземпляров потомков basis.ui.Node
.
Большую часть функциональности класс basis.ui.Node
наследует от своих предков, которые предоставляют определенные слои функциональности. Рекомендуется изучить эти классы перед тем как приступать к разработке на basis.js
.
Классы-предки в порядке наследования и их функциональность:
- basis.event.Emitter – события (паттерн observer);
- basis.data.AbstractData – состояние, подписка, абстрактная синхронизация;
- basis.data.Object – хранение данных, делегирование;
- basis.dom.wrapper.AbstractNode – модель DOM и ее дополнения, паттерн "владелец", сателлиты;
- basis.dom.wrapper.Node – сортировка, группировка, работа с выделением, доступность, привязка данных.
basis.ui.Node
к этому стеку добавляет возможность привязки шаблона и взаимодействия с ним посредством биндингов и действий.
Так же в basis.ui
определены классы basis.ui.GroupingNode
и basis.ui.PartitionNode
для работы с шаблонами, которые унаследованы от basis.dom.wrapper.GroupingNode
и basis.dom.wrapper.PartitionNode
соответственно.