start_controls_section( 'eael_fancy_chart_setting', [ 'label' => esc_html__( 'General', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_fancy_chart_title', [ 'label' => esc_html__( 'Chart Title', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Type your chart title', 'essential-addons-elementor' ), 'default' => esc_html__( 'Sample Chart Title', 'essential-addons-elementor' ), 'dynamic' => [ 'active' => true ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_title_tag', [ 'label' => esc_html__( 'Title Tag', 'essential-addons-elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'h4', 'options' => [ 'h1' => esc_html__( 'H1', 'essential-addons-elementor' ), 'h2' => esc_html__( 'H2', 'essential-addons-elementor' ), 'h3' => esc_html__( 'H3', 'essential-addons-elementor' ), 'h4' => esc_html__( 'H4', 'essential-addons-elementor' ), 'h5' => esc_html__( 'H5', 'essential-addons-elementor' ), 'h6' => esc_html__( 'H6', 'essential-addons-elementor' ), 'span' => esc_html__( 'Span', 'essential-addons-elementor' ), 'p' => esc_html__( 'P', 'essential-addons-elementor' ), 'div' => esc_html__( 'Div', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_des', [ 'label' => esc_html__( 'Description', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'rows' => 5, 'default' => esc_html__( 'Sample chart description', 'essential-addons-elementor' ), 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_heading_20', [ 'label' => esc_html__( 'Settings', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_fancy_chart_chart_style', [ 'label' => esc_html__( 'Chart Style', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'bar', 'options' => [ 'bar' => esc_html__( 'Bar', 'essential-addons-elementor' ), 'area' => esc_html__( 'Area', 'essential-addons-elementor' ), 'line' => esc_html__( 'Line', 'essential-addons-elementor' ), 'radar' => esc_html__( 'Radar', 'essential-addons-elementor' ), 'pie' => esc_html__( 'Pie', 'essential-addons-elementor' ), 'donut' => esc_html__( 'Donut', 'essential-addons-elementor' ), 'polarArea' => esc_html__( 'Polar Area', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_chart_type', [ 'label' => esc_html__( 'Chart Orientation', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'vertical', 'options' => [ 'vertical' => esc_html__( 'Vertical', 'essential-addons-elementor' ), 'horizontal' => esc_html__( 'Horizontal', 'essential-addons-elementor' ), ], 'condition' => [ 'eael_fancy_chart_chart_style' => 'bar' ] ] ); $this->add_control( 'eael_fancy_chart_stroke', [ 'label' => esc_html__( 'Stroke Style', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'smooth', 'options' => [ 'smooth' => esc_html__( 'Smooth', 'essential-addons-elementor' ), 'straight' => esc_html__( 'Straight', 'essential-addons-elementor' ), 'stepline' => esc_html__( 'Step line', 'essential-addons-elementor' ), ], 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'area', 'line' ] ] ] ); $this->add_control( 'eael_fancy_chart_fill_type', [ 'label' => esc_html__( 'Fill Type', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'solid', 'options' => [ 'gradient' => esc_html__( 'Gradient', 'essential-addons-elementor' ), 'solid' => esc_html__( 'Solid', 'essential-addons-elementor' ), 'pattern' => esc_html__( 'Pattern', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_stacked', [ 'label' => esc_html__( 'Stacked', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'On', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Off', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => '', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area' ] ] ] ); $this->add_control( 'eael_show_donut_central_labels', [ 'label' => esc_html__( 'Show Central Labels', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', 'condition' => [ 'eael_fancy_chart_chart_style' => 'donut' ] ] ); $this->add_control( 'eael_show_donut_total', [ 'label' => esc_html__( 'Show Total', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', 'condition' => [ 'eael_fancy_chart_chart_style' => 'donut', 'eael_show_donut_central_labels' => 'yes' ] ] ); $this->add_control( 'eael_show_donut_total_always', [ 'label' => esc_html__( 'Show Always Total', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => '', 'condition' => [ 'eael_fancy_chart_chart_style' => 'donut', 'eael_show_donut_central_labels' => 'yes' ] ] ); //Advanched features $this->add_control( 'eael_fancy_chart_heading_af', [ 'label' => esc_html__( 'Advanced Settings', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_fancy_chart_toolbar_show', [ 'label' => esc_html__( 'Toolbar', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_tooltip_enable', [ 'label' => esc_html__( 'Tooltip Enable', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_fancy_chart_data_label_enable', [ 'label' => esc_html__( 'Data Label', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_fancy_chart_data_position', [ 'label' => esc_html__( 'Data Position', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'center', 'options' => [ 'top' => esc_html__( 'Top', 'essential-addons-elementor' ), 'center' => esc_html__( 'Center', 'essential-addons-elementor' ), 'bottom' => esc_html__( 'Bottom', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_legend_show', [ 'label' => esc_html__( 'Show Legend', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_legend_position', [ 'label' => esc_html__( 'Legend Position', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'top', 'options' => [ 'top' => esc_html__( 'Top', 'essential-addons-elementor' ), 'right' => esc_html__( 'Right', 'essential-addons-elementor' ), 'bottom' => esc_html__( 'Bottom', 'essential-addons-elementor' ), 'left' => esc_html__( 'Left', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_data_prefix', [ 'label' => esc_html__( 'Data Prefix', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( '$', 'essential-addons-elementor' ), 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_data_suffix', [ 'label' => esc_html__( 'Data Suffix', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'thousands', 'essential-addons-elementor' ), 'ai' => [ 'active' => false, ], ] ); $this->end_controls_section(); /** * Chart data controll */ $this->start_controls_section( 'eael_fancy_chart_data_setting_panel', [ 'label' => esc_html__( 'Data', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_fancy_chart_data_option_type', [ 'label' => esc_html__( 'Data Source', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'manual', 'options' => [ 'manual' => esc_html__( 'Static', 'essential-addons-elementor' ), 'json' => esc_html__( 'JSON', 'essential-addons-elementor' ), 'csv' => esc_html__( 'CSV', 'essential-addons-elementor' ), 'google_sheet' => esc_html__( 'Google Sheets', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_fancy_chart_csv_note', [ 'type' => Controls_Manager :: RAW_HTML, 'raw' => __( 'You will have to copy/paste the content from your .CSV file to show your data.', 'essential-addons-elementor' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_data_option_type' => 'csv', ], ] ); $this->add_control( 'eael_fancy_chart_json_note', [ 'type' => Controls_Manager :: RAW_HTML, 'raw' => __( 'You will have to copy/paste the content from your .JSON file to show your data.', 'essential-addons-elementor' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_data_option_type' => 'json', ], ] ); /** * Category List */ $this->add_control( 'eael_fancy_chart_data_option_json', [ 'label' => esc_html__( 'JSON Datasets', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'rows' => 15, 'default' => '{ "category": ["Category 1", "Category 2", "Category 3", "Category 4"], "dataset": [ { "name": "Dataset 1", "data": ["44", "75", "35", "13"], "color": "#7385FF" }, { "name": "Dataset 2", "data": ["55", "85", "41", "101"], "color": "#A88FF7" }, { "name": "Dataset 3", "data": ["57", "90", "36", "72"], "color": "#FC9DD9" }, { "name": "Dataset 4", "data": ["45", "26", "12", "60"], "color": "#75C5B1" } ] }', 'placeholder' => esc_html__( 'Insert JSON data here', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => [ 'json' ], ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_demo_json', [ 'type' => Controls_Manager :: RAW_HTML, 'raw' => 'Dataset Format:
{
"category": ["Category 1", "Category 2"],
"dataset": [
{
"name": "Dataset 1", "data": ["44", "75", "35", "13"], "color": "#7385FF"
},
{
"name": "Dataset 2", "data": ["55", "85", "41", "101"], "color": "#A88FF7"
}
]
}', 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => 'json', ], ] ); $this->add_control( 'eael_fancy_chart_data_single_json', [ 'label' => esc_html__( 'JSON Dataset', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'rows' => 10, 'default' => '{ "category": ["Category 1", " Category 2", "Category 3", "Category 4"], "dataset": [ {"data": "44", "color": "#7385FF"}, {"data": "76", "color": "#A88FF7"}, {"data": "35", "color": "#FC9DD9"}, {"data": "13", "color": "#75C5B1"} ] }', 'placeholder' => esc_html__( 'Insert JSON data here', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_data_option_type' => [ 'json' ], 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_demo_single_json', [ 'type' => Controls_Manager :: RAW_HTML, 'raw' => 'Dataset Format:
{
"category": ["Category 1", "Category 2", "Category 3", "Category 4"],
"dataset": [
{ "data": "44", "color": "#7385FF" },
{ "data": "76", "color": "#A88FF7" },
{ "data": "35", "color": "#FC9DD9" },
{ "data": "13", "color": "#75C5B1" }
]
}', 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_data_option_type' => 'json', 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], ], ] ); $this->add_control( 'eael_fancy_chart_data_option_csv', [ 'label' => esc_html__( 'CSV Datasets', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'default' => 'Category,Category 1,Category 2,Category 3, Category 4 Dataset 1, 44, 75, 35, 13 Dataset 2, 55, 85, 41, 101 Dataset 3, 57, 90, 36, 72 Dataset 4, 45, 26, 12, 60 #color,#7385FF,#A88FF7,#FC9DD9,#75C5B1', 'rows' => 10, 'placeholder' => esc_html__( 'Insert CSV data here', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => 'csv', ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_demo_csv', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => 'Dataset Format:
Category,Category 1,Category 2,Category 3,Category 4
Dataset 1, 44, 75, 35, 13
Dataset 2, 55, 85, 41, 101
Dataset 3, 57, 90, 36, 72
Dataset 4, 45, 26, 12, 60
#color,#7385FF,#A88FF7,#FC9DD9,#75C5B1', 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => 'csv', ], ] ); $this->add_control( 'eael_fancy_chart_data_single_csv', [ 'label' => esc_html__( 'CSV Dataset', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXTAREA, 'default' => 'Category,Category 1, Category 2, Category 3, Category 4 44, #7385FF 76, #A88FF7 55, #FC9DD9 35, #75C5B1', 'rows' => 10, 'placeholder' => esc_html__( 'Insert CSV data here', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], 'eael_fancy_chart_data_option_type' => 'csv', ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_demo_single_csv', [ 'type' => Controls_Manager :: RAW_HTML, 'raw' => 'Dataset Format:
Category,Category 1, Category 2, Category 3, Category 4
44, #7385FF
76, #A88FF7
55, #FC9DD9
35, #75C5B1', 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], 'eael_fancy_chart_data_option_type' => 'csv', ], ] ); $this->add_control( 'eael_fancy_chart_api_key', [ 'label' => esc_html__( 'API Key', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Insert API Key Here', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_data_option_type' => 'google_sheet', ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_sheet_id', [ 'label' => esc_html__( 'Sheet ID', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Insert Sheet ID', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_data_option_type' => 'google_sheet', ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_table_range', [ 'label' => esc_html__( 'Table Range', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Type Range Name', 'essential-addons-elementor' ), 'default' => esc_html__( 'Sheet1', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_data_option_type' => 'google_sheet', ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_sheet_cache_limit', [ 'label' => __( 'Data Cache Time', 'essential-addons-elementor' ), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'default' => 60, 'description' => esc_html__( 'Cache expiration time (Minutes)', 'essential-addons-elementor' ), 'condition' => [ 'eael_fancy_chart_data_option_type' => 'google_sheet', ], ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'eael_fancy_chart_category', [ 'label' => esc_html__( 'Category Title', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Category Title', 'essential-addons-elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true ], 'ai' => [ 'active' => false, ], ] ); $this->add_control( 'eael_fancy_chart_heading_21', [ 'label' => esc_html__( 'Categories', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'eael_fancy_chart_data_option_type' => 'manual', ], ] ); $this->add_control( 'eael_fancy_chart_category_list', [ 'label' => esc_html__( '', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'eael_fancy_chart_category' => esc_html__( 'Category 1', 'essential-addons-elementor' ) ], [ 'eael_fancy_chart_category' => esc_html__( 'Category 2', 'essential-addons-elementor' ) ], [ 'eael_fancy_chart_category' => esc_html__( 'Category 3', 'essential-addons-elementor' ) ], [ 'eael_fancy_chart_category' => esc_html__( 'Category 4', 'essential-addons-elementor' ) ], ], 'title_field' => '{{{ eael_fancy_chart_category }}}', 'condition' => [ 'eael_fancy_chart_data_option_type' => 'manual', ], ] ); /** * Data List */ $data_repeater = new \Elementor\Repeater(); $data_repeater->add_control( 'eael_data_chart_list', [ 'label' => esc_html__( 'Value', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Value', 'essential-addons-elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true ], 'ai' => [ 'active' => false, ], ] ); $data_repeater->add_control( 'eael_chart_dat_color', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_control( 'eael_fancy_chart_heading_22', [ 'label' => esc_html__( 'Datasets', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], 'eael_fancy_chart_data_option_type' => 'manual', ], ] ); $this->add_control( 'eael_fancy_chart_data_list', [ 'label' => esc_html__( '', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $data_repeater->get_controls(), 'default' => [ [ 'eael_data_chart_list' => esc_html__( '44', 'essential-addons-elementor' ), 'eael_chart_dat_color' => '#7385FF', ], [ 'eael_data_chart_list' => esc_html__( '76', 'essential-addons-elementor' ), 'eael_chart_dat_color' => '#A88FF7', ], [ 'eael_data_chart_list' => esc_html__( '35', 'essential-addons-elementor' ), 'eael_chart_dat_color' => '#FC9DD9', ], [ 'eael_data_chart_list' => esc_html__( '13', 'essential-addons-elementor' ), 'eael_chart_dat_color' => '#75C5B1', ], ], 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'pie', 'donut', 'polarArea' ], 'eael_fancy_chart_data_option_type' => 'manual', ], 'title_field' => '{{{ eael_data_chart_list }}}', ] ); /** * Group Data List */ $group_data_repeater = new \Elementor\Repeater(); $group_data_repeater->add_control( 'eael_group_data_chart_title', [ 'label' => esc_html__( 'Data Label', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Data Label', 'essential-addons-elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true ], 'ai' => [ 'active' => false, ], ] ); $group_data_repeater->add_control( 'eael_group_data_lists', [ 'label' => esc_html__( 'Value', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Value', 'essential-addons-elementor' ), 'label_block' => true, 'dynamic' => [ 'active' => true ], 'ai' => [ 'active' => false, ], ] ); $group_data_repeater->add_control( 'eael_fancy_chart_global_warning_text', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => esc_html__( ' Group data values by Comma ( , ) Example: 14, 25, 35, 9, 55', 'essential-addons-elementor' ), 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info', ] ); $group_data_repeater->add_control( 'eael_group_data_list_color', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_control( 'eael_fancy_chart_heading_23', [ 'label' => esc_html__( 'Datasets', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => 'manual', ], ] ); $this->add_control( 'eael_fancy_chart_group_data_list', [ 'label' => esc_html__( '', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $group_data_repeater->get_controls(), 'default' => [ [ 'eael_group_data_chart_title' => esc_html__( 'Dataset 1', 'essential-addons-elementor' ), 'eael_group_data_lists' => esc_html__( '44, 75, 35, 13', 'essential-addons-elementor' ), 'eael_group_data_list_color' => '#7385FF', ], [ 'eael_group_data_chart_title' => esc_html__( 'Dataset 2', 'essential-addons-elementor' ), 'eael_group_data_lists' => esc_html__( '55, 85, 41, 101', 'essential-addons-elementor' ), 'eael_group_data_list_color' => '#A88FF7', ], [ 'eael_group_data_chart_title' => esc_html__( 'Dataset 3', 'essential-addons-elementor' ), 'eael_group_data_lists' => esc_html__( '57, 90, 36, 72', 'essential-addons-elementor' ), 'eael_group_data_list_color' => '#FC9DD9', ], [ 'eael_group_data_chart_title' => esc_html__( 'Dataset 4', 'essential-addons-elementor' ), 'eael_group_data_lists' => esc_html__( '45, 26, 12, 60', 'essential-addons-elementor' ), 'eael_group_data_list_color' => '#75C5B1', ], ], 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], 'eael_fancy_chart_data_option_type' => [ 'manual' ], ], 'title_field' => '{{{ eael_group_data_chart_title }}}', ] ); $this->end_controls_section(); /** * Start style section */ $this->start_controls_section( 'eael_header_section', [ 'label' => esc_html__( 'Header Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_fancy_chart_title_align', [ 'label' => esc_html__( 'Title Alignment', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'center', 'toggle' => false, 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_title' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Text Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_title' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_fancy_chart_header_typography', 'selector' => '{{WRAPPER}} .eael_fancy_chart_title', ] ); $this->add_control( 'eael_fancy_chart_title_margin', [ 'label' => esc_html__( 'Margin', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em', 'rem' ], 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); //Descriptions $this->add_control( 'eael_fancy_chart_desc_style', [ 'label' => esc_html__( 'Description', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_fancy_chart_desc_align', [ 'label' => esc_html__( 'Alignment', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'center', 'toggle' => false, 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_header p' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'eael_fancy_chart_desc_color', [ 'label' => esc_html__( 'Text Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_header p' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_fancy_chart_desc_typography', 'selector' => '{{WRAPPER}} .eael_fancy_chart_header p', ] ); $this->add_control( 'eael_fancy_chart_desc_margin', [ 'label' => esc_html__( 'Margin', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em', 'rem' ], 'selectors' => [ '{{WRAPPER}} .eael_fancy_chart_header p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_chart_section', [ 'label' => esc_html__( 'Chart Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_chart_bg_color', [ 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_control( 'eael_fancy_chart_border_radious', [ 'label' => esc_html__( 'Border Radious', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::NUMBER, 'min' => 0, 'max' => 100, 'step' => 1, 'default' => 0, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar' ] ] ] ); $this->add_control( 'eael_fancy_chart_height', [ 'label' => esc_html__( 'Height', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px', '%' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 2000, 'step' => 10, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => 'px', 'size' => 450, ], ] ); $this->add_control( 'eael_fancy_chart_width', [ 'label' => esc_html__( 'Width', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px', '%' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 2000, 'step' => 10, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => 100, ], ] ); $this->add_control( 'eael_fancy_chart_offsetx', [ 'label' => esc_html__( 'OffsetX', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, 'step' => 1, ], ], 'default' => [ 'size' => 0, ], ] ); $this->add_control( 'eael_fancy_chart_offsety', [ 'label' => esc_html__( 'OffsetY', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, 'step' => 1, ], ], 'default' => [ 'size' => 0, ], ] ); $this->end_controls_section(); //Data labels style settings $this->start_controls_section( 'eael_fancy_chart_data_labels_styles_section', [ 'label' => esc_html__( 'Data Labels', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_data_label_enable' => 'yes', ], ] ); $this->add_control( 'eael_fancy_chart_data_label_color', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'default' => '#fff' ] ); $this->add_control( 'eael_fancy_chart_data_label_font_size', [ 'label' => esc_html__( 'Font Size (PX)', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 200, 'step' => 0.5, ], ], 'default' => [ 'unit' => 'px', 'size' => 12, ], ] ); // $this->add_control( // 'eael_fancy_chart_data_label_font_family', // [ // 'label' => esc_html__( 'Font Family', 'essential-addons-elementor' ), // 'type' => \Elementor\Controls_Manager::FONT, // 'selectors' => [ // '{{WRAPPER}} .eael_fancy_chart' => 'font-family: {{VALUE}}', // ], // ] // ); $this->end_controls_section(); //Bar Setting $this->start_controls_section( 'eael_fancy_chart_bar_section', [ 'label' => esc_html__( 'Bar Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'radar' ], ], ] ); $this->add_control( 'eael_fancy_chart_bar_width', [ 'label' => esc_html__( 'Bar Width', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 200, 'step' => 1, ], ], 'default' => [ 'size' => 25, ], ] ); $this->end_controls_section(); //Animation Setting $this->start_controls_section( 'eael_fancy_chart_animation_section', [ 'label' => esc_html__( 'Animation', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_fancy_chart_animation_show', [ 'label' => esc_html__( 'Animation', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_animation_speed', [ 'label' => esc_html__( 'Speed', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 5000, 'step' => 10, ], ], 'default' => [ 'size' => 1100, ], 'condition' => [ 'eael_fancy_chart_animation_show' => 'true', ], ] ); $this->add_control( 'eael_fancy_chart_animation_delay', [ 'label' => esc_html__( 'Delay', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 5000, 'step' => 10, ], ], 'default' => [ 'size' => 250, ], 'condition' => [ 'eael_fancy_chart_animation_show' => 'true', ], ] ); $this->end_controls_section(); //Grid Setting $this->start_controls_section( 'eael_fancy_chart_grid_section', [ 'label' => esc_html__( 'Grid Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], ], ] ); $this->add_control( 'eael_fancy_chart_show_grid', [ 'label' => esc_html__( 'Show Grid', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_grid_border_color', [ 'label' => esc_html__( 'Border Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'default' => '#ddd', ] ); $this->add_control( 'eael_fancy_chart_grid_dash_stroke', [ 'label' => esc_html__( 'Dash Stroke', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::NUMBER, 'min' => 1, 'max' => 100, 'step' => 1, 'default' => 0, ] ); $this->add_control( 'eael_fancy_chart_y_axis_line', [ 'label' => esc_html__( 'Y-Axis Line', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_x_axis_line', [ 'label' => esc_html__( 'X-Axis Line', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'false', // 'default' => 'false', ] ); $this->end_controls_section(); //Grid Setting $this->start_controls_section( 'eael_fancy_chart_stroke_section', [ 'label' => esc_html__( 'Stroke Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'radar', 'pie', 'donut', 'polarArea' ], ], ] ); $this->add_control( 'eael_fancy_chart_stroke_show', [ 'label' => esc_html__( 'Stroke Show', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'true', 'default' => 'true', ] ); $this->add_control( 'eael_fancy_chart_stroke_color', [ 'label' => esc_html__( 'Stroke Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'default' => '#FFF', ] ); $this->add_control( 'eael_fancy_chart_stroke_width', [ 'label' => esc_html__( 'Width', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 2, ], ] ); $this->add_control( 'eael_fancy_chart_dash_stroke', [ 'label' => esc_html__( 'Dash Stroke', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::NUMBER, 'min' => 1, 'max' => 100, 'step' => 1, 'default' => 0, ] ); $this->end_controls_section(); //Tooltip $this->start_controls_section( 'eael_fancy_chart_tooltip_style', [ 'label' => esc_html__( 'Tooltip Style', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_tooltip_enable' => 'yes', 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ], ], ] ); $this->add_control( 'eael_fancy_chart_tooltip_bg_color', [ 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .apexcharts-tooltip.apexcharts-theme-light' => 'background-color: {{VALUE}}', '{{WRAPPER}} .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title' => 'background-color: {{VALUE}}', ], ] ); $this->add_control( 'eael_fancy_chart_tooltip_text_color', [ 'label' => esc_html__( 'Text Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .apexcharts-tooltip.apexcharts-theme-light' => 'color: {{VALUE}}', ], ] ); $this->add_control( 'eael_fancy_chart_tooltip_border_color', [ 'label' => esc_html__( 'Border Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .apexcharts-tooltip.apexcharts-theme-light' => 'border-color: {{VALUE}}', '{{WRAPPER}} .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title' => 'border-color: {{VALUE}}', ], ] ); $this->end_controls_section(); //X-Axis $this->start_controls_section( 'eael_fancy_chart_x_axis_setting', [ 'label' => esc_html__( 'X-Axis Settings', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ] ] ] ); $this->add_control( 'eael_fancy_chart_data_x_label', [ 'label' => esc_html__( 'Labels', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_fancy_chart_data_x_position', [ 'label' => esc_html__( 'Position', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'bottom' => [ 'title' => esc_html__( 'Bottom', 'essential-addons-elementor' ), 'icon' => 'eicon-arrow-down', ], 'top' => [ 'title' => esc_html__( 'Top', 'essential-addons-elementor' ), 'icon' => 'eicon-arrow-up', ], ], 'default' => 'bottom', 'toggle' => false, ] ); $this->add_control( 'eael_chart_front_color_x_axis', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_fancy_cahrt_xaxis_typography', 'selector' => '{{WRAPPER}} .eael_fancy_cahrt_xaxis tspan', ] ); $this->end_controls_section(); //Y-Axis $this->start_controls_section( 'eael_fancy_chart_y_axis_setting', [ 'label' => esc_html__( 'Y-Axis Settings', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_chart_style' => [ 'bar', 'area', 'line', 'radar' ] ], ] ); $this->add_control( 'eael_fancy_chart_data_y_label', [ 'label' => esc_html__( 'Labels', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'essential-addons-elementor' ), 'label_off' => esc_html__( 'Hide', 'essential-addons-elementor' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_fancy_chart_data_y_position', [ 'label' => esc_html__( 'Position', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ true => [ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ), 'icon' => 'eicon-arrow-right', ], false => [ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ), 'icon' => 'eicon-arrow-left', ], ], 'default' => false, 'toggle' => false, ] ); $this->add_control( 'eael_chart_front_color_y_axis', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_fancy_cahrt_yaxis_typography', 'selector' => '{{WRAPPER}} .eael_fancy_cahrt_yaxis tspan', ] ); $this->end_controls_section(); //Legend $this->start_controls_section( 'eael_fancy_chart_legend_setting', [ 'label' => esc_html__( 'Legend Settings', 'essential-addons-elementor' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_fancy_chart_legend_show' => 'true' ], ] ); $this->add_control( 'eael_fancy_chart_legend_color', [ 'label' => esc_html__( 'Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->add_control( 'eael_fancy_chart_legend_font_size', [ 'label' => esc_html__( 'Font Size', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'em' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'rem' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'unit' => 'px', 'size' => 14, ], ] ); $this->add_control( 'eael_fancy_chart_legend_horizontal_alignment', [ 'label' => esc_html__( 'Horizontal Alignment', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'essential-addons-elementor' ), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'center', 'toggle' => true, 'condition' => [ 'eael_fancy_chart_legend_position' => ['top', 'bottom'] ], ] ); $this->add_control( 'eael_fancy_chart_legend_markers', [ 'label' => esc_html__( 'Markers', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_fancy_chart_legend_marker_width', [ 'label' => esc_html__( 'Width', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 12, ], ] ); $this->add_control( 'eael_fancy_chart_legend_marker_height', [ 'label' => esc_html__( 'Height', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 12, ], ] ); $this->add_control( 'eael_fancy_chart_legend_marker_radious', [ 'label' => esc_html__( 'Radius', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 2, ], ] ); $this->add_control( 'eael_fancy_chart_legend_marker_offsetx', [ 'label' => esc_html__( 'OffsetX', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => -100, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 0, ], ] ); $this->add_control( 'eael_fancy_chart_legend_marker_offsety', [ 'label' => esc_html__( 'OffsetY', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => -100, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'size' => 0, ], ] ); $this->add_control( 'eael_fancy_chart_legend_marker_stroke_width', [ 'label' => esc_html__( 'Stroke Width', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 0, 'max' => 10, 'step' => 1, ], ], 'default' => [ 'size' => 0, ], ] ); $this->add_control( 'eael_fancy_chart_legend_stroke_color', [ 'label' => esc_html__( 'Stroke Color', 'essential-addons-elementor' ), 'type' => \Elementor\Controls_Manager::COLOR, ] ); $this->end_controls_section(); } protected function eael_replace_color( $default, $replace ) { foreach ( $replace as $k => $v ) { $default[ $k ] = empty( $v ) ? $default[ $k ] ?? '#000' : $v; } return $default; } //Legend settings method protected function get_chart_legend_options( $settings ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $legend_options_array = [ 'show' => $fancy_chart_settings['eael_fancy_chart_legend_show'], 'position' => $fancy_chart_settings['eael_fancy_chart_legend_position'], 'labels' => [ 'colors' => $fancy_chart_settings['legend_color'], ], 'fontSize' => $fancy_chart_settings['legend_font_size'], 'horizontalAlign' => $fancy_chart_settings['legend_horizontal_alignment'], 'markers' => [ 'width' => $fancy_chart_settings['legend_marker_width'], 'height' => $fancy_chart_settings['legend_marker_height'], 'strokeWidth' => $fancy_chart_settings['legend_marker_stroke_width'], 'strokeColor' => $fancy_chart_settings['legend_stroke_color'], 'radius' => $fancy_chart_settings['legend_marker_radious'], 'offsetX' => $fancy_chart_settings['legend_marker_offsetx'], 'offsetY' => $fancy_chart_settings['legend_marker_offsety'], ] ]; return $legend_options_array; } //Method for bar options protected function get_chart_style_bar_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $horizontal_true = 'horizontal' === $fancy_chart_settings['eael_fancy_chart_type']; $stacked = $settings['eael_fancy_chart_stacked'] === 'yes'; $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], 'stacked' => $stacked ], 'series' => $eael_dafault_data_attrs['eael_chart_data_set'], 'xaxis' => [ 'categories' => $eael_dafault_data_attrs['eael_chart_data_cat_set'], 'position' => $fancy_chart_settings['eael_fancy_chart_data_x_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_x_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_xaxis', 'colors' => $settings['eael_chart_front_color_x_axis'], ], ] ], 'yaxis' => [ 'show' => true, 'opposite' => ( $fancy_chart_settings['eael_fancy_chart_data_y_position'] == 0 ) ? '' : $fancy_chart_settings['eael_fancy_chart_data_y_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_y_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_yaxis', 'colors' => $settings['eael_chart_front_color_y_axis'], ], ], ], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'grid' => [ 'show' => $settings['eael_fancy_chart_show_grid'], 'borderColor' => $settings['eael_fancy_chart_grid_border_color'], 'strokeDashArray' => $settings['eael_fancy_chart_grid_dash_stroke'], 'xaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_x_axis_line'] ] ], 'yaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_y_axis_line'] ] ], ], 'plotOptions' => [ 'bar' => [ 'borderRadius' => $fancy_chart_settings['eael_fancy_chart_border_radious'], 'dataLabels' => [ 'position' => $fancy_chart_settings['eael_fancy_chart_data_position'], ], 'horizontal' => $horizontal_true, 'columnWidth' => $fancy_chart_settings['eael_fancy_chart_bar_width'], 'barHeight' => $fancy_chart_settings['eael_fancy_chart_bar_width'], ], ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], 'dashArray' => $settings['eael_fancy_chart_dash_stroke'], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ 'colors' => [ $fancy_chart_settings['data_label_color'] ], //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ], ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } //Method for area options protected function get_chart_style_area_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $stacked = $settings['eael_fancy_chart_stacked'] === 'yes'; $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], 'stacked' => $stacked ], 'series' => $eael_dafault_data_attrs['eael_chart_data_set'], 'xaxis' => [ 'categories' => $eael_dafault_data_attrs['eael_chart_data_cat_set'], 'position' => $fancy_chart_settings['eael_fancy_chart_data_x_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_x_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_xaxis', 'colors' => $settings['eael_chart_front_color_x_axis'], ], ] ], 'yaxis' => [ 'show' => true, 'opposite' => ( $fancy_chart_settings['eael_fancy_chart_data_y_position'] == 0 ) ? '' : $fancy_chart_settings['eael_fancy_chart_data_y_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_y_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_yaxis', 'colors' => $settings['eael_chart_front_color_y_axis'], ], ], ], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'grid' => [ 'show' => $settings['eael_fancy_chart_show_grid'], 'borderColor' => $settings['eael_fancy_chart_grid_border_color'], 'strokeDashArray' => $settings['eael_fancy_chart_grid_dash_stroke'], 'xaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_x_axis_line'] ] ], 'yaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_y_axis_line'] ] ], ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'curve' => $settings['eael_fancy_chart_stroke'], 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], 'dashArray' => $settings['eael_fancy_chart_dash_stroke'], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ], 'background' => [ 'enabled' => true, 'foreColor' => $fancy_chart_settings['data_label_color'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } //Method for line data options protected function get_chart_style_line_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], ], 'series' => $eael_dafault_data_attrs['eael_chart_data_set'], 'xaxis' => [ 'categories' => $eael_dafault_data_attrs['eael_chart_data_cat_set'], 'position' => $fancy_chart_settings['eael_fancy_chart_data_x_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_x_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_xaxis', 'colors' => $settings['eael_chart_front_color_x_axis'], ], ] ], 'yaxis' => [ 'show' => true, 'opposite' => ( $fancy_chart_settings['eael_fancy_chart_data_y_position'] == 0 ) ? '' : $fancy_chart_settings['eael_fancy_chart_data_y_position'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_y_label'], 'style' => [ 'cssClass' => 'eael_fancy_cahrt_yaxis', 'colors' => $settings['eael_chart_front_color_y_axis'], ], ], ], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'grid' => [ 'show' => $settings['eael_fancy_chart_show_grid'], 'borderColor' => $settings['eael_fancy_chart_grid_border_color'], 'strokeDashArray' => $settings['eael_fancy_chart_grid_dash_stroke'], 'xaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_x_axis_line'] ] ], 'yaxis' => [ 'lines' => [ 'show' => $settings['eael_fancy_chart_y_axis_line'] ] ], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ], 'background' => [ 'enabled' => true, 'foreColor' => $fancy_chart_settings['data_label_color'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } $data_options['stroke']['curve'] = $settings['eael_fancy_chart_stroke']; return $data_options; } //Method for rader options protected function get_chart_style_radar_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], ], 'series' => $eael_dafault_data_attrs['eael_chart_data_set'], 'legend' => $this->get_chart_legend_options( $settings ), 'xaxis' => [ 'categories' => $eael_dafault_data_attrs['eael_chart_data_cat_set'], 'labels' => [ 'show' => $fancy_chart_settings['eael_fancy_chart_data_x_label'], ] ], 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'curve' => 'smooth', 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], 'dashArray' => $settings['eael_fancy_chart_dash_stroke'], ], 'plotOptions' => [ 'radar' => [ 'polygons' => [ 'strokeColors' => $settings['eael_fancy_chart_grid_border_color'], 'strokeWidth' => 1, ], ], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ], 'background' => [ 'enabled' => true, 'foreColor' => $fancy_chart_settings['data_label_color'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } //Mehtod for pie options protected function get_chart_style_pie_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], ], 'series' => $eael_dafault_data_attrs['new_group_data_lists'], 'labels' => $eael_dafault_data_attrs['eael_chart_category_lists'], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'curve' => 'smooth', 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], 'dashArray' => $settings['eael_fancy_chart_dash_stroke'], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ 'colors' => [ $fancy_chart_settings['data_label_color'] ], //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } //Methos for donut options protected function get_chart_style_donut_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], ], 'series' => $eael_dafault_data_attrs['new_group_data_lists'], 'labels' => $eael_dafault_data_attrs['eael_chart_category_lists'], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'plotOptions' => [ 'pie' => [ 'donut' => [ 'labels' => [ 'show' => isset( $settings['eael_show_donut_central_labels'] ) && $settings['eael_show_donut_central_labels'] === 'yes', 'name' => [ 'show' => isset( $settings['eael_show_donut_total'] ) && $settings['eael_show_donut_total'] === 'yes' ], 'value' => [ 'show' => isset( $settings['eael_show_donut_total'] ) && $settings['eael_show_donut_total'] === 'yes' ], 'total' => [ 'showAlways' => isset( $settings['eael_show_donut_total_always'] ) && $settings['eael_show_donut_total_always'] === 'yes', 'show' => isset( $settings['eael_show_donut_total'] ) && $settings['eael_show_donut_total'] === 'yes' ] ] ] ], ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'curve' => 'smooth', 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ 'colors' => [ $fancy_chart_settings['data_label_color'] ], //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } //Method for polararea options protected function get_chart_style_polararea_options( $settings, $eael_dafault_data_attrs ) { $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); $data_options = [ 'chart' => [ 'toolbar' => [ 'show' => $settings['eael_fancy_chart_toolbar_show'] ], 'type' => $fancy_chart_settings['eael_chart_style'], 'background' => $settings['eael_chart_bg_color'], 'height' => $fancy_chart_settings['eael_chart_height'] . $fancy_chart_settings['eael_chart_height_unit'], 'width' => $fancy_chart_settings['eael_chart_width'] . $fancy_chart_settings['eael_chart_width_unit'], 'animations' => [ 'enabled' => $settings['eael_fancy_chart_animation_show'], 'easing' => 'easeinout', 'speed' => $fancy_chart_settings['eael_fancy_chart_animation_speed'], 'animateGradually' => [ 'delay' => $fancy_chart_settings['eael_fancy_chart_animation_delay'], ], ], 'offsetX' => $settings['eael_fancy_chart_offsetx']['size'], 'offsetY' => $settings['eael_fancy_chart_offsety']['size'], ], 'series' => $eael_dafault_data_attrs['new_group_data_lists'], 'labels' => $eael_dafault_data_attrs['eael_chart_category_lists'], 'legend' => $this->get_chart_legend_options( $settings ), 'tooltip' => [ 'enabled' => $fancy_chart_settings['eael_chart_style_tooltip_enabel'], 'y' => array( 'prefix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_prefix'] ), 'suffix' => Helper::eael_wp_kses( $fancy_chart_settings['eael_fancy_chart_data_suffix'] ), ), ], 'stroke' => [ 'show' => $settings['eael_fancy_chart_stroke_show'], 'curve' => 'smooth', 'lineCap' => 'butt', 'colors' => [ $settings['eael_fancy_chart_stroke_color'] ], 'width' => $settings['eael_fancy_chart_stroke_width']['size'], ], 'plotOptions' => [ 'polarArea' => [ 'rings' => [ 'strokeWidth' => 1, 'strokeColor' => $settings['eael_fancy_chart_grid_border_color'], ], 'spokes' => [ 'strokeWidth' => 1, 'connectorColors' => $eael_dafault_data_attrs['eael_group_color_array'], ], ], ], 'dataLabels' => [ 'enabled' => $settings['eael_fancy_chart_data_label_enable'] === 'yes', 'style' => [ //'fontFamily' => $settings['eael_fancy_chart_data_label_font_family'], 'fontSize' => $fancy_chart_settings['data_label_font_size'], ], 'background' => [ 'enabled' => true, 'foreColor' => $fancy_chart_settings['data_label_color'], ] ] ]; if ( ! empty( $eael_dafault_data_attrs['eael_group_color_array'] ) ) { $data_options['colors'] = $eael_dafault_data_attrs['eael_group_color_array']; $data_options['fill'] = [ 'colors' => $eael_dafault_data_attrs['eael_group_color_array'], 'opacity' => 0.9, 'type' => $settings['eael_fancy_chart_fill_type'], ]; if ( $settings['eael_fancy_chart_fill_type'] === 'gradient' ) { $data_options['fill']['gradient'] = [ 'shadeIntensity' => 0, 'opacityFrom' => 0.5, 'opacityTo' => 0.9, 'stops' => [ 0, 90, 100 ] ]; } } return $data_options; } /** * Get setting from elementor control * * @param $settings * * @return array */ protected function get_fancy_chart_settings( $settings ) { $fancy_chart_settings = []; $fancy_chart_settings['category_lists'] = ! empty( $settings['eael_fancy_chart_category_list'] ) ? $settings['eael_fancy_chart_category_list'] : ''; $fancy_chart_settings['data_lists'] = ! empty( $settings['eael_fancy_chart_data_list'] ) ? $settings['eael_fancy_chart_data_list'] : ''; $fancy_chart_settings['group_data_lists'] = ! empty( $settings['eael_fancy_chart_group_data_list'] ) ? $settings['eael_fancy_chart_group_data_list'] : ''; $fancy_chart_settings['eael_chart_style'] = ! empty( $settings['eael_fancy_chart_chart_style'] ) ? $settings['eael_fancy_chart_chart_style'] : ''; $fancy_chart_settings['eael_chart_style_tooltip_enabel'] = ! empty( $settings['eael_fancy_chart_tooltip_enable'] ) ? $settings['eael_fancy_chart_tooltip_enable'] : ''; $fancy_chart_settings['eael_fancy_chart_data_prefix'] = ! empty( $settings['eael_fancy_chart_data_prefix'] ) ? $settings['eael_fancy_chart_data_prefix'] : ''; $fancy_chart_settings['eael_fancy_chart_data_suffix'] = ! empty( $settings['eael_fancy_chart_data_suffix'] ) ? $settings['eael_fancy_chart_data_suffix'] : ''; $fancy_chart_settings['eael_fancy_chart_border_radious'] = ! empty( $settings['eael_fancy_chart_border_radious'] ) ? $settings['eael_fancy_chart_border_radious'] : ''; $fancy_chart_settings['eael_fancy_chart_data_position'] = ! empty( $settings['eael_fancy_chart_data_position'] ) ? $settings['eael_fancy_chart_data_position'] : ''; $fancy_chart_settings['eael_fancy_chart_legend_position'] = ! empty( $settings['eael_fancy_chart_legend_position'] ) ? $settings['eael_fancy_chart_legend_position'] : ''; $fancy_chart_settings['eael_fancy_chart_legend_show'] = ! empty( $settings['eael_fancy_chart_legend_show'] ) ? $settings['eael_fancy_chart_legend_show'] : ''; $fancy_chart_settings['eael_fancy_chart_data_y_label'] = ! empty( $settings['eael_fancy_chart_data_y_label'] ) ? $settings['eael_fancy_chart_data_y_label'] : ''; $fancy_chart_settings['eael_fancy_chart_data_y_position'] = ! empty( $settings['eael_fancy_chart_data_y_position'] ) ? $settings['eael_fancy_chart_data_y_position'] : ''; $fancy_chart_settings['eael_fancy_chart_data_x_label'] = ! empty( $settings['eael_fancy_chart_data_x_label'] ) ? $settings['eael_fancy_chart_data_x_label'] : ''; $fancy_chart_settings['eael_fancy_chart_data_x_position'] = ! empty( $settings['eael_fancy_chart_data_x_position'] ) ? $settings['eael_fancy_chart_data_x_position'] : ''; $fancy_chart_settings['eael_fancy_chart_type'] = ! empty( $settings['eael_fancy_chart_chart_type'] ) ? $settings['eael_fancy_chart_chart_type'] : ''; $fancy_chart_settings['eael_chart_width_unit'] = ! empty( $settings['eael_fancy_chart_width']['unit'] ) ? $settings['eael_fancy_chart_width']['unit'] : ''; $fancy_chart_settings['eael_chart_width'] = ! empty( $settings['eael_fancy_chart_width']['size'] ) ? $settings['eael_fancy_chart_width']['size'] : ''; $fancy_chart_settings['eael_chart_height_unit'] = ! empty( $settings['eael_fancy_chart_height']['unit'] ) ? $settings['eael_fancy_chart_height']['unit'] : ''; $fancy_chart_settings['eael_chart_height'] = ! empty( $settings['eael_fancy_chart_height']['size'] ) ? $settings['eael_fancy_chart_height']['size'] : ''; $fancy_chart_settings['eael_get_data_type'] = ! empty( $settings['eael_fancy_chart_data_option_type'] ) ? $settings['eael_fancy_chart_data_option_type'] : ''; $fancy_chart_settings['eael_fancy_chart_animation_speed'] = ! empty( $settings['eael_fancy_chart_animation_speed']['size'] ) ? $settings['eael_fancy_chart_animation_speed']['size'] : ''; $fancy_chart_settings['eael_fancy_chart_animation_delay'] = ! empty( $settings['eael_fancy_chart_animation_delay']['size'] ) ? $settings['eael_fancy_chart_animation_delay']['size'] : ''; $fancy_chart_settings['data_label_font_size'] = ! empty( $settings['eael_fancy_chart_data_label_font_size']['size'] ) && ! empty( $settings['eael_fancy_chart_data_label_font_size']['unit'] ) ? $settings['eael_fancy_chart_data_label_font_size']['size'] . $settings['eael_fancy_chart_data_label_font_size']['unit'] : '12px'; $fancy_chart_settings['data_label_color'] = ! empty( $settings['eael_fancy_chart_data_label_color'] ) ? $settings['eael_fancy_chart_data_label_color'] : '#fff'; $fancy_chart_settings['eael_fancy_chart_bar_width'] = ! empty( $settings['eael_fancy_chart_bar_width']['size'] ) ? $settings['eael_fancy_chart_bar_width']['size'] : ''; $fancy_chart_settings['legend_color'] = ! empty( $settings['eael_fancy_chart_legend_color'] ) ? $settings['eael_fancy_chart_legend_color'] : '#333'; $fancy_chart_settings['legend_font_size'] = ! empty( $settings['eael_fancy_chart_legend_font_size']['size'] ) && ! empty( $settings['eael_fancy_chart_legend_font_size']['unit'] ) ? $settings['eael_fancy_chart_legend_font_size']['size'] . $settings['eael_fancy_chart_legend_font_size']['unit'] : '12px'; $fancy_chart_settings['legend_horizontal_alignment'] = ! empty( $settings['eael_fancy_chart_legend_horizontal_alignment'] ) ? $settings['eael_fancy_chart_legend_horizontal_alignment'] : ''; $fancy_chart_settings['legend_marker_width'] = ! empty( $settings['eael_fancy_chart_legend_marker_width']['size'] ) ? $settings['eael_fancy_chart_legend_marker_width']['size'] : ''; $fancy_chart_settings['legend_marker_height'] = ! empty( $settings['eael_fancy_chart_legend_marker_height']['size'] ) ? $settings['eael_fancy_chart_legend_marker_height']['size'] : ''; $fancy_chart_settings['legend_marker_radious'] = ! empty( $settings['eael_fancy_chart_legend_marker_radious']['size'] ) ? $settings['eael_fancy_chart_legend_marker_radious']['size'] : ''; $fancy_chart_settings['legend_marker_offsetx'] = ! empty( $settings['eael_fancy_chart_legend_marker_offsetx']['size'] ) ? $settings['eael_fancy_chart_legend_marker_offsetx']['size'] : ''; $fancy_chart_settings['legend_marker_offsety'] = ! empty( $settings['eael_fancy_chart_legend_marker_offsety']['size'] ) ? $settings['eael_fancy_chart_legend_marker_offsety']['size'] : ''; $fancy_chart_settings['legend_marker_stroke_width'] = ! empty( $settings['eael_fancy_chart_legend_marker_stroke_width']['size'] ) && ! empty( $settings['eael_fancy_chart_legend_marker_stroke_width']['unit'] ) ? $settings['eael_fancy_chart_legend_marker_stroke_width']['size'] . $settings['eael_fancy_chart_legend_marker_stroke_width']['unit']: '0'; $fancy_chart_settings['legend_stroke_color'] = ! empty( $settings['eael_fancy_chart_legend_stroke_color'] ) ? $settings['eael_fancy_chart_legend_stroke_color'] : '#fff'; return $fancy_chart_settings; } protected function eael_fancy_chart_new_array_set( $csv_slice_array ) { $new_array = []; for ( $i = 0; $i < count( (array) $csv_slice_array[0] ); $i ++ ) { $sub_array = []; for ( $j = 0; $j < count( $csv_slice_array ); $j ++ ) { $sub_array[] = $csv_slice_array[ $j ][ $i ]; } $new_array[] = $sub_array; } return $new_array; } protected function eael_fancy_chart_dataset( $eael_sheet_category, $fancy_chart_data ) { $eael_sheet_data_set = []; for ( $i = 0; $i < count( $eael_sheet_category ); $i ++ ) { $eael_sheet_data_set[] = array( 'name' => $eael_sheet_category[ $i ], 'data' => $fancy_chart_data[ $i ], ); } return $eael_sheet_data_set; } protected function render() { $settings = $this->get_settings_for_display(); $fancy_chart_settings = $this->get_fancy_chart_settings( $settings ); //Get manual data //Create new category array list category_data_group_name $eael_chart_category_lists = []; $new_group_data_lists = []; $eael_group_data_array = []; $eael_group_color_array = []; // $eael_group_color_array = ['#7385FF', '#A88FF7', '#FC9DD9', '#75C5B1', '#4FC0D0']; if ( is_array( $fancy_chart_settings['category_lists'] ) ) { foreach ( $fancy_chart_settings['category_lists'] as $value ) { $eael_chart_category_lists[] = $value['eael_fancy_chart_category']; } } //Create new data array list if ( is_array( $fancy_chart_settings['data_lists'] ) ) { foreach ( $fancy_chart_settings['data_lists'] as $value ) { $new_group_data_lists[] = (int) $value['eael_data_chart_list']; $eael_get_static_color_array[] = $value['eael_chart_dat_color']; } $eael_group_color_array = array_values( array_filter( $eael_get_static_color_array, 'strlen' ) ); } // if ( is_array( $fancy_chart_settings['group_data_lists'] ) ) { foreach ( $fancy_chart_settings['group_data_lists'] as $value ) { $eael_group_data_array[] = [ 'name' => $value['eael_group_data_chart_title'], 'data' => explode( ",", $value['eael_group_data_lists'] ), ]; $eael_group_color_array[] = $value['eael_group_data_list_color']; } } //Get JSON Data if ( 'json' === $fancy_chart_settings['eael_get_data_type'] ) { $eael_get_json_data = $settings['eael_fancy_chart_data_option_json']; $eael_get_json_single_data = $settings['eael_fancy_chart_data_single_json']; //Get JSON group data $get_json_data_chunk = ''; if ( ! empty( $eael_get_json_data ) ) { $get_json_data_convert = json_decode( $eael_get_json_data, true ); $get_json_data_chunk = array_chunk( $get_json_data_convert, 1 ); } //Get JSON single data if ( ! empty( $eael_get_json_single_data ) ) { $json_single_data_convert = json_decode( $eael_get_json_single_data, true ); $eael_chart_category_lists = $json_single_data_convert['category']; foreach ( $json_single_data_convert['dataset'] as $item ) { $new_group_data_lists[] = (int) $item['data']; $eael_get_json_single_color[] = $item['color']; } $eael_group_color_array = array_merge( $eael_get_json_single_color, $eael_group_color_array ); } } //CSV Data Set if ( 'csv' === $fancy_chart_settings['eael_get_data_type'] ) { $eael_group_color_array = [ '#7385FF', '#A88FF7', '#FC9DD9', '#75C5B1', '#4FC0D0' ]; $eael_get_csv_data = $settings['eael_fancy_chart_data_option_csv']; $eael_csv_group_data = []; $eael_csv_chart_legend = ''; if ( $eael_get_csv_data !== null ) { $eael_csv_data_array = explode( "\n", trim( $eael_get_csv_data ) ); $eael_csv_chart_legend = str_getcsv( array_shift( $eael_csv_data_array ) ); array_shift( $eael_csv_chart_legend ); //Create new array according to comma separated value if ( is_array( $eael_csv_data_array ) ) { $result_array = []; foreach ( $eael_csv_data_array as $items ) { if ( strpos( $items, '#color' ) === 0 ) { $explode_color_array = explode( ',', trim( $items ) ); $eael_color_array_slice = array_slice( $explode_color_array, 1 ); $eael_group_color_array = $this->eael_replace_color( $eael_group_color_array, $eael_color_array_slice ); } else { $result_array[] = explode( ',', $items ); } } $eael_csv_array_slice = []; foreach ( $result_array as $item ) { $eael_get_csv_cat[] = $item[0]; $eael_csv_array_slice[] = array_slice( $item, 1 ); } // $eael_csv_create_new_array = $this->eael_fancy_chart_new_array_set( $eael_csv_array_slice ); $eael_csv_group_data = $this->eael_fancy_chart_dataset( $eael_csv_chart_legend, $eael_csv_create_new_array ); } } //For single value like Pie, Donut, Polar $eael_get_csv_data_single = $settings['eael_fancy_chart_data_single_csv']; if ( $eael_get_csv_data_single !== null ) { $eael_csv_data_array_single = explode( "\n", trim( $eael_get_csv_data_single ) ); $eael_get_csv_cat_single = str_getcsv( array_shift( $eael_csv_data_array_single ) ); array_shift( $eael_get_csv_cat_single ); $eael_chart_category_lists = $eael_get_csv_cat_single; for ( $i = 0; $i < count( $eael_csv_data_array_single ); $i ++ ) { $create_color_array = strrchr( $eael_csv_data_array_single[ $i ], '#' ); if ( ! empty( $create_color_array ) ) { $eael_group_color_array[ $i ] = $create_color_array; } $new_group_data_lists[] = (int) trim( $eael_csv_data_array_single[ $i ] ); } } } //Get Google Sheet data if ( 'google_sheet' == $fancy_chart_settings['eael_get_data_type'] ) { $eael_group_color_array = [ '#7385FF', '#A88FF7', '#FC9DD9', '#75C5B1', '#4FC0D0' ]; if ( empty( $settings['eael_fancy_chart_api_key'] ) || empty( $settings['eael_fancy_chart_sheet_id'] ) || empty( $settings['eael_fancy_chart_table_range'] ) ) { esc_html_e( 'Please insert correct API / Sheet ID', 'essential-addons-elementor' ); return; } $arg = [ 'google_sheet_api_key' => $settings['eael_fancy_chart_api_key'], 'google_sheet_id' => $settings['eael_fancy_chart_sheet_id'], 'table_range' => $settings['eael_fancy_chart_table_range'], 'cache_time' => $settings['eael_fancy_chart_sheet_cache_limit'], ]; $transient_key = 'eael_fancy_chart_source_google_sheet_' . md5( implode( '', $arg ) ); $results = get_transient( $transient_key ); if ( empty( $results ) || empty( $results['rowData'] ) ) { $connection = wp_remote_get( "https://sheets.googleapis.com/v4/spreadsheets/{$settings['eael_fancy_chart_sheet_id']}/?key={$settings['eael_fancy_chart_api_key']}&ranges={$settings['eael_fancy_chart_table_range']}&includeGridData=true", [ 'timeout' => 70 ] ); if ( ! is_wp_error( $connection ) ) { $connection = json_decode( wp_remote_retrieve_body( $connection ), true ); if ( isset( $connection['sheets'][0]['data'][0]['rowData'] ) ) { $results = []; $results['rowData'] = $connection['sheets'][0]['data'][0]['rowData']; $results['startRow'] = empty( $connection['sheets'][0]['data'][0]['startRow'] ) ? 0 : $connection['sheets'][0]['data'][0]['startRow']; $results['startColumn'] = empty( $connection['sheets'][0]['data'][0]['startColumn'] ) ? 0 : $connection['sheets'][0]['data'][0]['startColumn']; set_transient( $transient_key, $results, $settings['eael_fancy_chart_sheet_cache_limit'] * MINUTE_IN_SECONDS ); } } } $eael_sheet_category = []; $eael_sheet_group_name = []; $eael_sheet_data = []; $eael_sheet_group_bg = []; if ( ! empty( $results['rowData'] ) ) { foreach ( $results['rowData'] as $key => $results_data ) { if ( isset( $results_data['values'] ) ) { $result = $results_data['values']; } if ( $key == 0 ) { foreach ( $result as $key => $th ) { if ( isset( $th['userEnteredFormat']['backgroundColor'] ) ) { $eael_sheet_group_bg[] = $th['userEnteredFormat']['backgroundColor']; } $catValue = empty( $th['formattedValue'] ) ? '' : $th['formattedValue']; if ( $key != 0 ) { $eael_sheet_group_name[] = $catValue; } } } else { foreach ( $result as $key => $value ) { $dataValue = empty( $value['formattedValue'] ) ? '' : $value['formattedValue']; if ( $key === 0 ) { $eael_sheet_category[] = $dataValue; } else { $eael_sheet_data[] = [ 'key' => $key, 'val' => $dataValue, ]; } } } } } $results = []; $indinx = - 1; foreach ( $eael_sheet_data as $item ) { if ( $item['key'] === 1 ) { $indinx ++; } $results[ $indinx ][] = $item['val']; //For pie,donut,polar if ( $item['key'] === 1 ) { $new_group_data_lists[ $indinx ] = (int) $item['val']; } } $eael_sheet_new_array = $this->eael_fancy_chart_new_array_set( $results ); $eael_sheet_data_set = $this->eael_fancy_chart_dataset( $eael_sheet_group_name, $eael_sheet_new_array ); //Create color array if ( ! empty( $eael_sheet_group_bg ) ) { foreach ( $eael_sheet_group_bg as $colors ) { $red_value = ! empty( $colors['red'] ) ? $colors['red'] : 0; $green_value = ! empty( $colors['green'] ) ? $colors['green'] : 0; $blue_value = ! empty( $colors['blue'] ) ? $colors['blue'] : 0; $red = $red_value * 255; $green = $green_value * 255; $blue = $blue_value * 255; $hexColor[] = sprintf( "#%02X%02X%02X", $red, $green, $blue ); } $eael_group_color_array = array_merge( $hexColor, $eael_group_color_array ); } //For pie,donut,polar $eael_sheet_single_style = [ 'pie', 'donut', 'polarArea' ]; if ( in_array( $settings['eael_fancy_chart_chart_style'], $eael_sheet_single_style ) ) { $eael_chart_category_lists = $eael_sheet_category; $eael_group_color_array = $eael_group_color_array; } } // $eael_chart_data_set = []; $eael_chart_data_cat_set = []; switch ( $fancy_chart_settings['eael_get_data_type'] ) { case 'manual': $eael_chart_data_set = $eael_group_data_array; $eael_chart_data_cat_set = $eael_chart_category_lists; break; case 'json': $eael_chart_data_set = ( ! empty( $get_json_data_chunk ) ) ? $get_json_data_chunk[1][0] : ''; $eael_chart_data_cat_set = ( ! empty( $get_json_data_chunk ) ) ? $get_json_data_chunk[0][0] : ''; break; case 'csv': $eael_chart_data_set = $eael_csv_group_data; $eael_chart_data_cat_set = $eael_get_csv_cat; break; case 'google_sheet': $eael_chart_data_set = $eael_sheet_data_set; $eael_chart_data_cat_set = $eael_sheet_category; break; } // $eael_dafault_data_attrs = [ 'eael_chart_data_set' => $eael_chart_data_set, 'eael_chart_data_cat_set' => $eael_chart_data_cat_set, 'eael_group_color_array' => $eael_group_color_array, 'new_group_data_lists' => $new_group_data_lists, 'eael_chart_category_lists' => $eael_chart_category_lists, ]; switch ( $fancy_chart_settings['eael_chart_style'] ) { case 'bar': $data_options = $this->get_chart_style_bar_options( $settings, $eael_dafault_data_attrs ); break; case 'area': $data_options = $this->get_chart_style_area_options( $settings, $eael_dafault_data_attrs ); break; case 'line': $data_options = $this->get_chart_style_line_options( $settings, $eael_dafault_data_attrs ); break; case 'radar': $data_options = $this->get_chart_style_radar_options( $settings, $eael_dafault_data_attrs ); break; case 'pie': $data_options = $this->get_chart_style_pie_options( $settings, $eael_dafault_data_attrs ); break; case 'donut': $data_options = $this->get_chart_style_donut_options( $settings, $eael_dafault_data_attrs ); break; case 'polarArea': $data_options = $this->get_chart_style_polararea_options( $settings, $eael_dafault_data_attrs ); break; } $json_data_options = json_encode( $data_options ); // $this->add_render_attribute( 'eael-fancy-chart', [ 'data-options' => $json_data_options, 'class' => 'eael_fanct_chart_wrapper', ] ); // $widget_id = $this->get_id(); ?>
print_render_attribute_string( 'eael-fancy-chart' ); ?>>
< class="eael_fancy_chart_title"> >