<?php
namespace TourOperatorProBlock\block_testimonial_carousel;
use Elementor\Controls_Manager;
use Elementor\Widget_Base;
use TourOperatorPro\Mvc\Model\Model;
use TourOperatorPro\Wordpress\TBPRO_Widget_Base;
use TourOperatorPro\Wordpress\TBPRO_Widget_Base_Interface;

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly


/**
 * Class CategoriesWidget
 */
class testimonial_carouselWidget  extends TBPRO_Widget_Base
{

    /**
     * Retrieve the widget icon.
     *
     * @since 1.0.0
     *
     * @access public
     *
     * @return string Widget icon.
     */
    public function get_icon() {
        return 'eicon-posts-ticker';
    }

    public function get_name() {

        return  "testimonial_carousel";
    }
    public function get_title() {

        return  "Tour testimonial carousel";
    }
    public function get_data_config($settings) {
        $data_setting=new \stdClass();
        $data_setting->filter_by_destination=$settings['filter_by_destination'];
        return $data_setting;
    }


    protected function _register_controls() {
        $this->start_controls_section(
            'section_content',
            [
                'label' => esc_html('Content', 'touroperatorpro' ),
            ]
        );



        $modelDestination=Model::getInstance('destinations');
        $list_destination=$modelDestination->getList();
        $option=array();
        $option[0]= esc_html('Select all', 'touroperatorpro' );
        foreach ($list_destination as $destination){
            $option[$destination->id]= esc_html( $destination->name );
        }

        $this->add_control(
            'filter_by_destination',
            [
                'label' => esc_html('Filter by destination', 'touroperatorpro' ),
                'type' => Controls_Manager::MEDIA,
                'default' => 0,
                'options' =>$option,
                'selectors' => [
                    '{{WRAPPER}} .destination' => 'destination: {{VALUE}};',
                ],
            ]
        );
        $this->end_controls_section();

        $this->start_controls_section(
            'section_style',
            [
                'label' => esc_html('Style', 'touroperatorpro' ),
                'tab' => Controls_Manager::TAB_STYLE,
            ]
        );

        $this->add_control(
            'text_transform',
            [
                'label' => esc_html('Text Transform', 'touroperatorpro' ),
                'type' => Controls_Manager::SELECT,
                'default' => '',
                'options' => [
                    '' => esc_html('None', 'touroperatorpro' ),
                    'uppercase' => esc_html('UPPERCASE', 'touroperatorpro' ),
                    'lowercase' => esc_html('lowercase', 'touroperatorpro' ),
                    'capitalize' => esc_html('Capitalize', 'touroperatorpro' ),
                ],
                'selectors' => [
                    '{{WRAPPER}} .title' => 'text-transform: {{VALUE}};',
                ],
            ]
        );
        $this->end_controls_section();
    }


    /**
     * Retrieve the list of scripts the widget depended on.
     *
     * Used to set scripts dependencies required to run the widget.
     *
     * @since 1.0.0
     *
     * @access public
     *
     * @return array Widget scripts dependencies.
     */
    public function get_script_depends() {
        return [ 'touroperatorpro' ];
    }

    /**
     * Register the widget controls.
     *
     * Adds different input fields to allow the user to change and customize the widget settings.
     *
     * @since 1.0.0
     *
     * @access protected
     */


}
