PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 1.5.0
JetFormBuilder — Dynamic Blocks Form Builder v1.5.0
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 All 130 releases
jetformbuilder / includes / widgets / elementor-controller.php
elementor-controller.php
82 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Widgets;
5
6
7 use Jet_Form_Builder\Plugin;
8 use Jet_Form_Builder\Widgets\Types;
9
10 class Elementor_Controller {
11
12 private $_types = array();
13
14 public function __construct() {
15 add_action( 'elementor/init', array( $this, 'setup_widgets' ) );
16 add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'editor_styles' ) );
17 add_action( 'elementor/widgets/widgets_registered', array( $this, 'register_widgets' ), 11 );
18 add_action( 'elementor/preview/enqueue_scripts', array( $this, 'enqueue_form_assets' ) );
19 add_action( 'elementor/elements/categories_registered', array( $this, 'register_category' ) );
20 }
21
22 public function enqueue_form_assets() {
23 wp_enqueue_style( 'jet-form-builder-frontend' );
24 }
25
26 private function widgets() {
27 return array(
28 new Types\Form()
29 );
30 }
31
32 /**
33 * Register category for elementor if not exists
34 *
35 * @return void
36 */
37 public function register_category() {
38
39 $elements_manager = \Elementor\Plugin::instance()->elements_manager;
40
41 $elements_manager->add_category(
42 'jet-form-builder',
43 array(
44 'title' => esc_html__( 'JetFormBuilder', 'jet-form-builder' ),
45 'icon' => 'font',
46 )
47 );
48 }
49
50 /**
51 * Enqueue editor styles
52 *
53 * @return void
54 */
55 public function editor_styles() {
56 wp_enqueue_style(
57 'jet-form-builder-icons',
58 jet_form_builder()->plugin_url( 'assets/css/icons.css' ),
59 array(),
60 jet_form_builder()->get_version()
61 );
62
63 }
64
65 public function setup_widgets() {
66 foreach ( $this->widgets() as $widget ) {
67 $this->setup_widget( $widget );
68 }
69 }
70
71 private function setup_widget( $widget ) {
72 $widget->init_hooks();
73 $this->_types[ $widget->get_name() ] = $widget;
74 }
75
76 public function register_widgets( $manager ) {
77 foreach ( $this->_types as $widget ) {
78 $manager->register_widget_type( $widget );
79 }
80 }
81
82 }