plugin_url() . 'controls/'; } public static function get_dir(){ return \MetForm\Plugin::instance()->plugin_dir() . 'controls/'; } public function init() { // Includes necessary files $this->include_files(); // Initilizating control hooks add_action('elementor/controls/controls_registered', array( $this, 'formpicker' ), 11 ); // Initilizating control scripts add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'formpicker_enqueue_styles_editor' ), 11 ); add_action( 'elementor/frontend/after_enqueue_scripts', array( $this, 'formpicker_enqueue_scripts_editor' ), 11 ); // Initilizating control classes $formpicker_utils = new Form_Picker_Utils(); $formpicker_utils->init(); // Admin Add New Form $admin_add_new_form_button = new Admin_Add_New_Form(); $admin_add_new_form_button->init(); } private function include_files(){ // Controls_Manager include_once self::get_dir() . 'control-manager.php'; // formpicker include_once self::get_dir() . 'form-picker-utils.php'; include_once self::get_dir() . 'form-picker.php'; } public function formpicker( $controls_manager ) { $controls_manager->register( new \MetForm\Controls\Form_Picker() ); } public function formpicker_enqueue_scripts_editor() { if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) { wp_enqueue_script( 'metform-js-formpicker-control-editor', self::get_url() . 'assets/js/form-picker-editor.js', [], \MetForm\Plugin::instance()->version() ); } } public function formpicker_enqueue_styles_editor() { if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) { wp_enqueue_style( 'metform-css-formpicker-control-editor', self::get_url() . 'assets/css/form-picker-editor.css', [], '1.0.0' ); } } }