assets
3 weeks ago
ajax-select2-api.php
3 weeks ago
ajax-select2.php
2 years ago
control-manager.php
4 years ago
image-choose.php
2 years ago
init.php
4 years ago
widget-area-modal.php
3 years ago
widget-area-utils.php
6 months ago
widget-area.php
2 years ago
init.php
82 lines
| 1 | <?php |
| 2 | namespace ElementsKit_Lite\Modules\Controls; |
| 3 | |
| 4 | defined( 'ABSPATH' ) || exit; |
| 5 | |
| 6 | class Init { |
| 7 | |
| 8 | // instance of all control's base class |
| 9 | public static function get_url() { |
| 10 | return \ElementsKit_Lite::module_url() . 'controls/'; |
| 11 | } |
| 12 | public static function get_dir() { |
| 13 | return \ElementsKit_Lite::module_dir() . 'controls/'; |
| 14 | } |
| 15 | |
| 16 | public function __construct() { |
| 17 | |
| 18 | // Includes necessary files |
| 19 | $this->include_files(); |
| 20 | |
| 21 | // Initilizating control hooks |
| 22 | add_action( 'elementor/controls/register', array( $this, 'image_choose' ), 11 ); |
| 23 | add_action( 'elementor/controls/register', array( $this, 'ajax_select2' ), 11 ); |
| 24 | add_action( 'elementor/controls/register', array( $this, 'widgetarea' ), 11 ); |
| 25 | |
| 26 | // Initilizating control scripts |
| 27 | add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'widgetarea_enqueue_styles_editor' ) ); |
| 28 | add_action( 'elementor/frontend/after_enqueue_scripts', array( $this, 'widgetarea_enqueue_scripts_editor' ), 22 ); |
| 29 | |
| 30 | // Initilizating control classes |
| 31 | $widget_area_utils = new Widget_Area_Utils(); |
| 32 | $widget_area_utils->init(); |
| 33 | } |
| 34 | |
| 35 | private function include_files() { |
| 36 | // Controls_Manager |
| 37 | include_once self::get_dir() . 'control-manager.php'; |
| 38 | |
| 39 | // image choose |
| 40 | include_once self::get_dir() . 'image-choose.php'; |
| 41 | |
| 42 | // ajax select2 |
| 43 | include_once self::get_dir() . 'ajax-select2.php'; |
| 44 | include_once self::get_dir() . 'ajax-select2-api.php'; |
| 45 | |
| 46 | // widgetarea |
| 47 | include_once self::get_dir() . 'widget-area-utils.php'; |
| 48 | include_once self::get_dir() . 'widget-area.php'; |
| 49 | } |
| 50 | |
| 51 | public function image_choose( $controls_manager ) { |
| 52 | $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Image_Choose() ); |
| 53 | } |
| 54 | |
| 55 | public function ajax_select2( $controls_manager ) { |
| 56 | $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Ajax_Select2() ); |
| 57 | } |
| 58 | |
| 59 | public function widgetarea( $controls_manager ) { |
| 60 | $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Widget_Area() ); |
| 61 | } |
| 62 | |
| 63 | public function widgetarea_enqueue_scripts_editor() { |
| 64 | /** |
| 65 | * widgetarea-editor.js |
| 66 | * |
| 67 | * Use dependencies ['jquery', 'elementor-frontend'] |
| 68 | * Using ['jquery', 'elementor-editor'] causes Advanced Widgets content editor window not to open |
| 69 | */ |
| 70 | if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) { |
| 71 | wp_enqueue_script( 'elementskit-js-widgetarea-control-editor', self::get_url() . 'assets/js/widgetarea-editor.js', array( 'jquery', 'elementor-frontend' ), \ElementsKit_Lite::version(), true ); |
| 72 | } |
| 73 | } |
| 74 | |
| 75 | public function widgetarea_enqueue_styles_editor() { |
| 76 | if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) { |
| 77 | wp_enqueue_style( 'elementskit-css-widgetarea-control-editor', self::get_url() . 'assets/css/widgetarea-editor.css', array(), \ElementsKit_Lite::version() ); |
| 78 | } |
| 79 | } |
| 80 | |
| 81 | } |
| 82 |