onboarding_builder = new Onboarding_Builder(); } public function on_uninstall() { } public function init_hooks() { add_action( 'init', array( $this, 'register_elements' ), 10 ); add_action( 'wp_enqueue_scripts', array( $this, 'editor_styles' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'frontend_scripts' ), 20 ); $this->get_onboarding_builder()->init_hooks(); } public function remove_hooks() { remove_action( 'init', array( $this, 'register_elements' ) ); remove_action( 'wp_enqueue_scripts', array( $this, 'editor_styles' ) ); remove_action( 'wp_enqueue_scripts', array( $this, 'frontend_scripts' ), 20 ); } public function register_elements() { $file_path = $this->get_dir( 'widgets/form.php' ); Elements::register_element( $file_path, '', 'JFB_Compatibility\Bricks\Widgets\Form' ); do_action( 'jet-form-builder/bricks/register-elements' ); } public function editor_styles() { // Enqueue your files on the canvas & frontend, not the builder panel. Otherwise custom CSS might affect builder) if ( Tools::is_editor() ) { wp_enqueue_style( $this->get_handle( 'icons' ), $this->get_url( 'assets/build/editor/icons.css' ), array(), Plugin::instance()->get_version() ); } } /** * Enqueue frontend scripts for AJAX popup support * * @since 3.5.6 */ public function frontend_scripts() { // Only enqueue on frontend, not in editor if ( Tools::is_editor() ) { return; } $asset_file = $this->get_dir( 'assets/build/frontend.asset.php' ); if ( file_exists( $asset_file ) ) { $asset = require $asset_file; } else { $asset = array( 'dependencies' => array(), 'version' => Plugin::instance()->get_version(), ); } // Start with dependencies from asset file $dependencies = $asset['dependencies'] ?? array(); $script_url = $this->get_url( 'assets/build/frontend.js' ); $script_handle = $this->get_handle( 'frontend' ); wp_enqueue_script( $script_handle, $script_url, $dependencies, $asset['version'] ?? Plugin::instance()->get_version(), true ); } /** * @return Onboarding_Builder */ public function get_onboarding_builder(): Onboarding_Builder { return $this->onboarding_builder; } }