register( new Fields_Repeater() ); $controls_manager->register( new Fields_Map() ); } public function enqueue_editor_scripts() { wp_enqueue_script( 'helloplus-forms-editor', HELLOPLUS_SCRIPTS_URL . 'helloplus-forms-editor.js', [ 'elementor-editor', 'wp-i18n' ], HELLOPLUS_VERSION, true ); $promotion_data = [ 'title' => __( 'Collect Submissions', 'hello-plus' ), 'description' => [ __( 'Unlock form submissions by upgrading to Elementor Pro on an eligible plan.', 'hello-plus' ) ], 'upgrade_text' => __( 'Upgrade', 'hello-plus' ), 'upgrade_url' => 'https://go.elementor.com/biz-form-submissions', 'image' => HELLOPLUS_IMAGES_URL . 'collect-submission.jpg', 'image_alt' => __( 'Upgrade', 'hello-plus' ), ]; wp_localize_script( 'helloplus-forms-editor', 'ehpFormsPromotionData', $promotion_data ); wp_set_script_translations( 'helloplus-forms-editor', 'hello-plus' ); } public function register_scripts() { wp_register_script( 'helloplus-forms-fe', HELLOPLUS_SCRIPTS_URL . 'helloplus-forms-fe.js', [ 'elementor-frontend-modules', 'elementor-frontend' ], HELLOPLUS_VERSION, true ); wp_localize_script( 'helloplus-forms-fe', 'ehpFormsData', [ 'nonce' => wp_create_nonce( Ajax_Handler::NONCE_ACTION ), ] ); } protected function get_component_ids(): array { return [ 'Ajax_Handler' ]; } public static function get_site_domain() { return str_ireplace( 'www.', '', wp_parse_url( home_url(), PHP_URL_HOST ) ); } protected function register_hooks(): void { parent::register_hooks(); add_action( 'elementor/frontend/after_register_scripts', [ $this, 'register_scripts' ] ); add_action( 'elementor/frontend/after_register_styles', [ $this, 'register_styles' ] ); add_action( 'elementor/controls/register', [ $this, 'register_controls' ] ); add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'enqueue_editor_scripts' ] ); } /** * Module constructor. */ public function __construct() { parent::__construct(); // Initialize registrars. $this->actions_registrar = new Form_Actions_Registrar(); $this->fields_registrar = new Form_Fields_Registrar(); } }