Сигналы

Невизуальный класс Signal входит в виде агрегата во все визуальные классы sFF. Signal обеспечивает отслеживание событий (Event), происходящие в DOM c элементом div, с классом компонента, с приложением. При назначении функции-обработчика Signal вызывает назначенную функцию и передаёт в неё параметр, зависящий от типа события (если таковой параметр существует). События компонента и приложения генерируются sFF.

С первого взгляда, отличия незаметны. Но если присмотреться к названиям событий секции Signal в Редакторе свойств, можно увидеть, что все сигналы имеют названия нижнего регистра, и только один из них - горбатого регистра (lowerCamelCase).

Это событие afterCreate. Оно генерируется при завершении операций создания экземпляра компонента в конструкторе его класса. И если событию назначена функция-обработчик, то она будет выполнена. Например, если cоздать любой компонент (Panel), а затем в секции Signal нажать на событии afterCreate, то появится вопрос о том, что в проекте не существует такой функции и нужно ли её создать. В случае положительного ответа вы переместитесь в раздел Code часть Front-функции, где уже будет создана функция с именем on_Panel_0_comp_afterCreate. Если вы напИшите в теле функции код

console.log(this);

, сохраните это изменение кнопкой, вернётесь в раздел Front , откроете и перезагрУзите проект, то при запуске приложения увидите в окне Инструментов разработчика, что событие выполнится и будет выведен экземпляр класса панели. То есть событие вызывается методом JS call() от этого компонента.

Существует функция-обработчик on_app_afterCreate события afterCreate приложения, которая выполняется методами $_GAOS по завершению создания всех компонентов приложения и, соответственно, отностится не к компонентам (через котрые к нему нельзя перейти), а всегда находится в списке Front-функций, откуда не может быть удалено. Эта функция выполняется в контексте объекта Window.

Остальные функции-обработчики секции Signal привязаны к событиям элемента pane компонента. Они носят названия on_имяКомпонента_pane_имяСобытия. Эти функции-обработчики выполняются в контексте элемента pane визуального компонента. Чтобы от pane компонента добраться до него самого, необходимо выполнить в обработчике переход

console.log($_GC(this.id).comp)

Last updated