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класс