Actions
Эта группа классов позволяет добавлять поля управления триггерами в требуемые места и генерировать js код на основе указанных настроек.
enum Type
Здесь перечислены все виды триггеров, их список можно в описании триггеров
Controls
Для каждого типа из enum Type определен соответствующий класс для добавления полей управления. Эти классы расширяют класс ControlsRegistry, так что достаточно только описать конфигурацию для требуемых полей, а зарегистрированы они будут автоматически
Handlers
Для каждого типа из enum Type определен соответствующий класс для генерации js кода из настроек. Эти классы работают на основе абстрактного класса Base.php:
abstract class Base {
abstract public function render( array $data ): string;
public function get_init_script( array $data ): string {
return '';
}
}
Они должны определить метод render и вернуть из него js код для обработки триггера. Метод get_init_script можно переопределить при необходимости для возвращения инициализирующего скрипта и добавления его в футер страницы с помощью класса AdditionalPageTriggers
Fabric
Фабрика создана для более удобного получения экземпляров классов Controls и Handlers. В методы ниже нужно передать тип триггера из enum Type и получить соответствующий класс. Фабрика задает прямое соответствие между типом в enum и классом в Controls и Handlers директориях
function get_control( Type $type, string $slug ): ControlsRegistry- возвращает соответствующийControlклассfunction get_handler( Type $type ): Handlers\Base- возвращает соответствующийHandlerкласс