<?php

/**

 * @author    ThemePunch <info@themepunch.com>

 * @link      https://www.themepunch.com/

 * @copyright 2019 ThemePunch

 */



if(!defined('ABSPATH')) exit();



class RevSliderElementorWidget extends \Elementor\Widget_Shortcode {



	public function get_name() {

		

		return 'slider_revolution';

		

	}



	public function get_title() {

		

		return 'Slider Revolution 6';

		

	}



	public function get_icon() {

		

		return 'eicon-sync';

		

	}



	public function get_categories() {

		

		return array('general');

		

	}



	protected function _register_controls() {

		

		/*Fallback

		$shortcode = $this->get_settings_for_display( 'text' );

		if(empty($shortcode)) $shortcode = $this->get_settings_for_display( 'shortcode' ); 



		$revslidertitle = $this->get_settings_for_display( 'sliderTitle' );

		if(empty($revslidertitle)) $revslidertitle = $this->get_settings_for_display( 'revslidertitle' ); 



		var_dump($revslidertitle);

		*/



		$this->start_controls_section(

			'content_section',

			array(

				'label' => 'Slider Revolution 6',

				'tab' => \Elementor\Controls_Manager::TAB_CONTENT,

			)

		);

		

		$this->add_control(

			'revslidertitle',

			array(

				'label' => __( 'Selected Module:', 'revslider' ),

				'type' => \Elementor\Controls_Manager::TEXT,

				'render_type' => 'none',

				'placeholder' => '',

				'default' => '',

				'event' => 'themepunch.selectslider',

			)

		);

		

		$this->add_control(

			'shortcode',

			array(

				//'type' => \Elementor\Controls_Manager::HIDDEN,

				'type' => \Elementor\Controls_Manager::TEXT,

				'label' => __( 'Shortcode', 'revslider' ),

				'dynamic' => ['active' => true],

				'placeholder' => '',

				'default' => '',

			)

		);



		// Advanced 		

		$this->add_control(

			'select_slider',

			array(

				'type' => \Elementor\Controls_Manager::BUTTON,

				'button_type' => 'default',

				'text' => __( '<i type="button" class="material-icons">cached</i> Select Module', 'revslider' ),

				'event' => 'themepunch.selectslider',

			)

		);

		

		$this->add_control(

			'edit_slider',

			array(

				'type' => \Elementor\Controls_Manager::BUTTON,

				'button_type' => 'default',

				'text' => __( '<i type="button" class="material-icons">edit</i> Edit Module', 'revslider' ),

				'event' => 'themepunch.editslider',

			)

		);



		$this->add_control(

			'settings_slider',

			array(

				'type' => \Elementor\Controls_Manager::BUTTON,

				'button_type' => 'default',

				'text' => __( '<i type="button" class="material-icons">tune</i> Block Settings', 'revslider' ),

				'event' => 'themepunch.settingsslider',

			)

		);



		$this->add_control(

			'optimize_slider',

			array(

				'type' => \Elementor\Controls_Manager::BUTTON,

				'button_type' => 'default',

				'text' => __( '<i type="button" class="material-icons">flash_on</i> Optimize File Sizes', 'revslider' ),

				'event' => 'themepunch.optimizeslider',

			)

		);

		$this->end_controls_section();	

	}



	protected function render() {

		

		$shortcode = $this->get_settings_for_display( 'shortcode' );

		$shortcode = do_shortcode( shortcode_unautop( $shortcode ) );



		$zindex = $this->get_settings_for_display( 'zindex' );

		$style = $zindex ? ' style="z-index:'.$zindex.';"' : '';



		/*if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {

			//EDIT

		} else {

			//FRONTEND

		}*/



		// hack to make sure object library only opens when the user manually adds a slider to the page

		if(empty($shortcode)) {

		?>

		<script type="text/javascript">window.parent.elementorSelectRevSlider();</script>

		<?php

		}

		?>



		<div class="wp-block-themepunch-revslider"<?php echo $style;?>><?php echo $shortcode; ?></div>



		<?php

	}

	



}