PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 2.1.7
JetFormBuilder — Dynamic Blocks Form Builder v2.1.7
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 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / widgets / elementor-controller.php
jetformbuilder / includes / widgets Last commit date
types 3 years ago elementor-controller.php 3 years ago
elementor-controller.php
96 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Widgets;
5
6 use Jet_Form_Builder\Plugin;
7 use Jet_Form_Builder\Widgets\Types;
8
9 class Elementor_Controller {
10
11 private $_types = array();
12
13 public function __construct() {
14 add_action( 'elementor/init', array( $this, 'setup_widgets' ) );
15 add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'editor_styles' ) );
16 add_action( 'elementor/preview/enqueue_scripts', array( $this, 'enqueue_form_assets' ) );
17 add_action( 'elementor/elements/categories_registered', array( $this, 'register_category' ) );
18
19 // compatibility with 3.7
20 if (
21 defined( 'ELEMENTOR_VERSION' ) &&
22 version_compare( ELEMENTOR_VERSION, '3.5.0', '>=' )
23 ) {
24 add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ) );
25 } else {
26 add_action( 'elementor/widgets/widgets_registered', array( $this, 'register_widgets' ) );
27 }
28 }
29
30 public function enqueue_form_assets() {
31 wp_enqueue_style( 'jet-form-builder-frontend' );
32 }
33
34 private function widgets() {
35 return array(
36 new Types\Form(),
37 );
38 }
39
40 /**
41 * Register category for elementor if not exists
42 *
43 * @return void
44 */
45 public function register_category() {
46
47 $elements_manager = \Elementor\Plugin::instance()->elements_manager;
48
49 $elements_manager->add_category(
50 'jet-form-builder',
51 array(
52 'title' => esc_html__( 'JetFormBuilder', 'jet-form-builder' ),
53 'icon' => 'font',
54 )
55 );
56 }
57
58 /**
59 * Enqueue editor styles
60 *
61 * @return void
62 */
63 public function editor_styles() {
64 wp_enqueue_style(
65 'jet-form-builder-icons',
66 jet_form_builder()->plugin_url( 'assets/css/icons.css' ),
67 array(),
68 jet_form_builder()->get_version()
69 );
70
71 }
72
73 public function setup_widgets() {
74 foreach ( $this->widgets() as $widget ) {
75 $this->setup_widget( $widget );
76 }
77 }
78
79 private function setup_widget( $widget ) {
80 $widget->init_hooks();
81 $this->_types[ $widget->get_name() ] = $widget;
82 }
83
84 public function register_widgets( $manager ) {
85 foreach ( $this->_types as $widget ) {
86 // compatibility with 3.7
87 if ( method_exists( $manager, 'register' ) ) {
88 $manager->register( $widget );
89 } else {
90 $manager->register_widget_type( $widget );
91 }
92 }
93 }
94
95 }
96