Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
wpr-addons-pro
/
modules
/
content-toggle-pro
/
widgets
:
wpr-content-toggle-pro.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace WprAddonsPro\Modules\ContentTogglePro\Widgets; use Elementor\Controls_Manager; use Elementor\Repeater; if ( ! defined( 'ABSPATH' ) ) exit; class Wpr_Content_Toggle_Pro extends \WprAddons\Modules\ContentToggle\Widgets\Wpr_Content_Toggle { public function add_control_switcher_style() { $this->add_control( 'switcher_style', [ 'label' => esc_html__( 'Switcher Style', 'wpr-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'dual', 'options' => [ 'dual' => esc_html__( 'Dual', 'wpr-addons' ), 'multi' => esc_html__( 'Multi', 'wpr-addons' ), ], 'prefix_class' => 'wpr-switcher-style-', 'render_type' => 'template', ] ); } public function add_repeater_switcher_items() { $repeater = new Repeater(); $repeater->add_control( 'switcher_label', [ 'label' => esc_html__( 'Label', 'wpr-addons' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'default' => 'Label 1', ] ); $repeater->add_control( 'switcher_show_icon', [ 'label' => esc_html__( 'Show Icon', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', ] ); $repeater->add_control( 'switcher_icon', [ 'label' => esc_html__( 'Select Icon', 'wpr-addons' ), 'type' => Controls_Manager::ICONS, 'skin' => 'inline', 'label_block' => false, 'default' => [ 'value' => 'fas fa-angle-right', 'library' => 'fa-solid', ], 'condition' => [ 'switcher_show_icon' => 'yes', ], ] ); $repeater->add_control( 'switcher_content_type', [ 'label' => esc_html__( 'Content Type', 'wpr-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'editor', 'options' => [ 'template' => esc_html__( 'Elementor Template', 'wpr-addons' ), 'editor' => esc_html__( 'Editor', 'wpr-addons' ), ], 'separator' => 'before', ] ); $repeater->add_control( 'switcher_content', [ 'label' => esc_html__( 'Content', 'wpr-addons' ), 'type' => Controls_Manager::WYSIWYG, 'placeholder' => esc_html__( 'Tab Content', 'wpr-addons' ), 'default' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima incidunt voluptates nemo, dolor optio quia architecto quis delectus perspiciatis. Nobis atque id hic neque possimus voluptatum voluptatibus tenetur, perspiciatis consequuntur.', 'condition' => [ 'switcher_content_type' => 'editor', ], ] ); $repeater->add_control( 'switcher_select_template', [ 'label' => esc_html__( 'Select Template', 'wpr-addons' ), 'type' => 'wpr-ajax-select2', 'options' => 'ajaxselect2/get_elementor_templates', 'label_block' => true, 'condition' => [ 'switcher_content_type' => 'template', ], ] ); $this->add_control( 'switcher_items', [ 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'title_field' => '{{{ switcher_label }}}', 'condition' => [ 'switcher_style' => 'multi', ], ] ); } public function add_control_switcher_label_style() { $this->add_control( 'switcher_label_style', [ 'label' => esc_html__( 'Label Position', 'wpr-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'outer', 'options' => [ 'inner' => esc_html__( 'Inside', 'wpr-addons' ), 'outer' => esc_html__( 'Outside', 'wpr-addons' ), ], 'prefix_class' => 'wpr-switcher-label-style-', 'render_type' => 'template', 'condition' => [ 'switcher_style' => 'dual', ], ] ); } public function add_section_settings() { $this->start_controls_section( 'section_settings', [ 'label' => esc_html__( 'Settings', 'wpr-addons' ), ] ); $this->add_control( 'active_switcher', [ 'label' => esc_html__( 'Active Switcher Index', 'wpr-addons' ), 'type' => Controls_Manager::NUMBER, 'label_block' => false, 'default' => 1, 'min' => 1, 'frontend_available' => true, ] ); $this->add_control( 'content_animation', [ 'label' => esc_html__( 'Content Animation', 'wpr-addons' ), 'type' => 'wpr-animations-alt', 'default' => 'none', 'separator' => 'before', ] ); $this->add_control( 'content_anim_size', [ 'type' => Controls_Manager::SELECT, 'label' => esc_html__( 'Animation Size', 'wpr-addons' ), 'default' => 'large', 'options' => [ 'small' => esc_html__( 'Small', 'wpr-addons' ), 'medium' => esc_html__( 'Medium', 'wpr-addons' ), 'large' => esc_html__( 'Large', 'wpr-addons' ), ], 'condition' => [ 'content_animation!' => 'none', ], ] ); $this->add_control( 'content_anim_duration', [ 'label' => esc_html__( 'Animation Duration', 'wpr-addons' ), 'type' => Controls_Manager::NUMBER, 'default' => 1, 'min' => 0, 'max' => 5, 'step' => 0.1, 'selectors' => [ '{{WRAPPER}} .wpr-switcher-content-inner' => '-webkit-transition-duration: {{VALUE}}s;transition-duration: {{VALUE}}s;', '{{WRAPPER}} .wpr-tabs-content-wrap' => '-webkit-transition-duration: {{VALUE}}s;transition-duration: {{VALUE}}s;', ], 'condition' => [ 'content_animation!' => 'none', ], ] ); $this->end_controls_section(); // End Controls Section } public function wpr_multi_switcher() { $settings = $this->get_settings(); $switcher = $this->get_settings_for_display( 'switcher_items' ); $active_switcher = $settings['active_switcher']; if ( ! defined('WPR_ADDONS_PRO_VERSION') ) { $active_switcher = 1; } if ( $active_switcher > sizeof( $switcher ) ) { $active_switcher = sizeof( $switcher ); } $id_int = substr( $this->get_id_int(), 0, 3 ); ?> <div class="wpr-switcher-container" data-active-switcher="<?php echo esc_attr( $active_switcher ); ?>"> <div class="wpr-switcher-outer"> <div class="wpr-switcher-wrap"> <?php foreach ( $switcher as $index => $item ) : $switcher_count = $index + 1; $switcher_setting_key = $this->get_repeater_setting_key( 'wpr_switcher', 'switcher_items', $index ); $this->add_render_attribute( $switcher_setting_key, [ 'id' => 'wpr-switcher-' . $id_int . $switcher_count, 'class' => [ 'wpr-switcher', 'elementor-repeater-item-'. $item['_id'] ], 'data-switcher' => $switcher_count, ] ); ?> <div <?php echo $this->get_render_attribute_string( $switcher_setting_key ); ?>> <div class="wpr-switcher-inner"> <?php if ( '' !== $item['switcher_label'] ) : ?> <div class="wpr-switcher-label"><?php echo $item['switcher_label']; ?></div> <?php endif; ?> <?php if ( 'yes' === $item['switcher_show_icon'] && '' !== $item['switcher_icon']['value'] ) : ?> <div class="wpr-switcher-icon"> <i class="<?php echo esc_attr( $item['switcher_icon']['value'] ); ?>"></i> </div> <?php endif; ?> </div> </div> <?php endforeach; ?> <div class="wpr-switcher-bg"></div> </div> </div> </div> <div class="wpr-switcher-content-wrap"> <?php foreach ( $switcher as $index => $item ) : $switcher_count = $index + 1; $switcher_content_setting_key = $this->get_repeater_setting_key( 'wpr_switcher_content', 'switcher_items', $index ); $this->add_render_attribute( $switcher_content_setting_key, [ 'id' => 'wpr-switcher-content-' . $id_int . $switcher_count, 'class' => [ 'wpr-switcher-content', 'elementor-repeater-item-'. $item['_id'] ], 'data-switcher' => $switcher_count, ] ); ?> <div <?php echo $this->get_render_attribute_string( $switcher_content_setting_key ); ?>> <?php echo '<div class="wpr-switcher-content-inner wpr-anim-size-'. $settings['content_anim_size'] .' wpr-overlay-'. $settings['content_animation'] .'">'; if ( 'template' === $item['switcher_content_type'] ) { echo $this->wpr_switcher_template( $item['switcher_select_template'] ); } else if( 'editor' === $item['switcher_content_type'] ) { echo $item['switcher_content']; } echo '</div>'; ?> </div> <?php endforeach; ?> </div> <?php } }