Loading...
rs' => [ '{{WRAPPER}} .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th' => 'color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:before' => 'border-bottom-color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:after' => 'border-top-color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_head_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} thead' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_head_cell_border', 'label' => __('Cell Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => 'solid', ], 'width' => [ 'default' => [ 'unit' => 'px', 'top' => '1', 'right' => '1', 'bottom' => '1', 'left' => '1', 'isLinked' => true, ], ], 'color' => [ 'default' => '#eeeeee', ], ], 'selector' => '{{WRAPPER}} th', ] ); $this->add_responsive_control( 'ea_adv_data_table_head_cell_padding', [ 'label' => __('Padding', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'desktop_default' => [ 'unit' => 'px', 'top' => '10', 'right' => '10', 'bottom' => '10', 'left' => '10', 'isLinked' => true, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table th' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'ea_section_adv_data_table_style_body', [ 'label' => __('Body', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'ea_adv_data_table_body_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} td', ] ); $this->add_control( 'ea_adv_data_table_body_horizontal_alignment', [ 'label' => esc_html__('Text Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'left', 'selectors' => [ '{{WRAPPER}} td' => 'text-align: {{VALUE}};', '{{WRAPPER}} td .ql-editor' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_body_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#666666', 'selectors' => [ '{{WRAPPER}} td' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_body_link_color', [ 'label' => __('Link Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td a' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_body_link_hovercolor', [ 'label' => __('Link Hover Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td a:hover' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_body_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} tbody' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_body_cell_border', 'label' => __('Cell Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => 'solid', ], 'width' => [ 'default' => [ 'unit' => 'px', 'top' => '1', 'right' => '1', 'bottom' => '1', 'left' => '1', 'isLinked' => true, ], ], 'color' => [ 'default' => '#eeeeee', ], ], 'selector' => '{{WRAPPER}} td', ] ); $this->add_control( 'ea_adv_data_table_body_highlight', [ 'label' => esc_html__('Highlight', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__('None', 'essential-addons-for-elementor-lite'), 'f-col' => esc_html__('First Column', 'essential-addons-for-elementor-lite'), 'l-col' => esc_html__('Last Column', 'essential-addons-for-elementor-lite'), 'e-col' => esc_html__('Even Column', 'essential-addons-for-elementor-lite'), 'o-col' => esc_html__('Odd Column', 'essential-addons-for-elementor-lite'), 'e-row' => esc_html__('Even Row', 'essential-addons-for-elementor-lite'), 'o-row' => esc_html__('Odd Row', 'essential-addons-for-elementor-lite'), ], 'default' => 'none', ] ); // first col $this->add_control( 'ea_adv_data_table_body_f_col_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody td:first-child' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'f-col', ], ] ); $this->add_control( 'ea_adv_data_table_body_f_col_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody td:first-child' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'f-col', ], ] ); // last col $this->add_control( 'ea_adv_data_table_body_l_col_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody td:last-child' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'l-col', ], ] ); $this->add_control( 'ea_adv_data_table_body_l_col_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody td:last-child' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'l-col', ], ] ); // even col $this->add_control( 'ea_adv_data_table_body_e_col_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody td:nth-child(even)' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'e-col', ], ] ); $this->add_control( 'ea_adv_data_table_body_e_col_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody td:nth-child(even)' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'e-col', ], ] ); // odd col $this->add_control( 'ea_adv_data_table_body_o_col_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody td:nth-child(odd)' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'o-col', ], ] ); $this->add_control( 'ea_adv_data_table_body_o_col_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody td:nth-child(odd)' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'o-col', ], ] ); // even row $this->add_control( 'ea_adv_data_table_body_e_row_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody tr:nth-child(even)' => 'color: {{VALUE}}', '{{WRAPPER}} tbody tr:nth-child(even) td' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'e-row', ], ] ); $this->add_control( 'ea_adv_data_table_body_e_row_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody tr:nth-child(even)' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'e-row', ], ] ); // odd row $this->add_control( 'ea_adv_data_table_body_o_row_highlight_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#444444', 'selectors' => [ '{{WRAPPER}} tbody tr:nth-child(odd)' => 'color: {{VALUE}}', '{{WRAPPER}} tbody tr:nth-child(odd) td' => 'color: {{VALUE}}', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'o-row', ], ] ); $this->add_control( 'ea_adv_data_table_body_o_row_highlight_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fbfbfb', 'selectors' => [ '{{WRAPPER}} tbody tr:nth-child(odd)' => 'background-color: {{VALUE}} !important', ], 'condition' => [ 'ea_adv_data_table_body_highlight' => 'o-row', ], ] ); $this->add_responsive_control( 'ea_adv_data_table_body_cell_padding', [ 'label' => __('Padding', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'desktop_default' => [ 'unit' => 'px', 'top' => '10', 'right' => '10', 'bottom' => '10', 'left' => '10', 'isLinked' => true, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table td' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'ea_section_adv_data_table_style_search', [ 'label' => __('Search', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'ea_adv_data_table_search' => 'yes', ], ] ); $this->add_control( 'ea_adv_data_table_search_width', [ 'label' => __('Width', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 100, 'max' => 1000, 'step' => 1, ], '%' => [ 'min' => 1, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'unit' => 'px', 'size' => 200, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'width: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'ea_adv_data_table_search_height', [ 'label' => __('Height', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 10, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'unit' => 'px', 'size' => 40, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'height: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'ea_adv_data_table_search_padding', [ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'ea_adv_data_table_search_margin', [ 'label' => __('Margin Bottom', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'default' => [ 'unit' => 'px', 'size' => 10, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'margin-bottom: {{SIZE}}{{UNIT}}', ], ] ); $this->add_control( 'ea_adv_data_table_search_alignment', [ 'label' => esc_html__('Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'label_block' => true, 'options' => [ 'left' => [ 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'right', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'ea_adv_data_table_search_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .ea-advanced-data-table-search', ] ); $this->add_control( 'ea_adv_data_table_search_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#666666', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_search_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_search_border', 'label' => __('Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => 'solid', ], 'width' => [ 'default' => [ 'unit' => 'px', 'top' => '1', 'right' => '1', 'bottom' => '1', 'left' => '1', 'isLinked' => true, ], ], 'color' => [ 'default' => '#eeeeee', ], ], 'selector' => '{{WRAPPER}} .ea-advanced-data-table-search', ] ); $this->add_control( 'ea_adv_data_table_search_border_radius', [ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-search' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'ea_section_adv_data_table_style_pagination', [ 'label' => __('Pagination', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'ea_adv_data_table_pagination' => 'yes', ], ] ); $this->add_responsive_control( 'ea_adv_data_table_pagination_select_width', [ 'label' => __('Width', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 100, 'max' => 10000, 'step' => 1, ], '%' => [ 'min' => 10, 'max' => 100, 'step' => 1, ], ], 'desktop_default' => [ 'unit' => 'px', 'size' => 100, ], 'tablet_default' => [ 'unit' => 'px', 'size' => 100, ], 'mobile_default' => [ 'unit' => '%', 'size' => 100, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'width: {{SIZE}}{{UNIT}}', ], 'condition' => [ 'ea_adv_data_table_pagination_type' => 'select', ], ] ); $this->add_control( 'ea_adv_data_table_pagination_alignment', [ 'label' => esc_html__('Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'default' => 'left', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination' => 'text-align: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'ea_adv_data_table_pagination_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .ea-advanced-data-table-pagination a, {{WRAPPER}} .ea-advanced-data-table-pagination select', ] ); $this->add_responsive_control( 'ea_adv_data_table_pagination_padding', [ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'desktop_default' => [ 'unit' => 'px', 'top' => '5', 'right' => '15', 'bottom' => '5', 'left' => '15', 'isLinked' => false, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'ea_adv_data_table_pagination_margin', [ 'label' => esc_html__('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'desktop_default' => [ 'unit' => 'px', 'top' => '5', 'right' => '5', 'bottom' => '0', 'left' => '0', 'isLinked' => false, ], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->start_controls_tabs('ea_adv_data_table_pagination_tabs'); $this->start_controls_tab('normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]); $this->add_control( 'ea_adv_data_table_pagination_color', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#666666', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a' => 'color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_pagination_background', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a' => 'background-color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_pagination_border', 'label' => __('Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => 'solid', ], 'width' => [ 'default' => [ 'unit' => 'px', 'top' => '1', 'right' => '1', 'bottom' => '1', 'left' => '1', 'isLinked' => true, ], ], 'color' => [ 'default' => '#eeeeee', ], ], 'selector' => '{{WRAPPER}} .ea-advanced-data-table-pagination a, {{WRAPPER}} .ea-advanced-data-table-pagination select', ] ); $this->add_control( 'ea_adv_data_table_pagination_border_radius', [ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab('hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]); $this->add_control( 'ea_adv_data_table_pagination_color_hover', [ 'label' => __('Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#666666', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a:hover' => 'color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination a.ea-adtp-current' => 'color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select:hover' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_pagination_background_hover', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fafafa', 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination a.ea-adtp-current' => 'background-color: {{VALUE}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select:hover' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_pagination_border_hover', 'label' => __('Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => 'solid', ], 'width' => [ 'default' => [ 'unit' => 'px', 'top' => '1', 'right' => '1', 'bottom' => '1', 'left' => '1', 'isLinked' => true, ], ], 'color' => [ 'default' => '#eeeeee', ], ], 'selector' => '{{WRAPPER}} .ea-advanced-data-table-pagination a:hover, {{WRAPPER}} .ea-advanced-data-table-pagination a.ea-adtp-current, {{WRAPPER}} .ea-advanced-data-table-pagination select:hover', ] ); $this->add_control( 'ea_adv_data_table_pagination_border_radius_hover', [ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} .ea-advanced-data-table-pagination a:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .ea-advanced-data-table-pagination a.ea-adtp-current' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .ea-advanced-data-table-pagination select' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'ea_section_adv_data_table_style_button', [ 'label' => __('Button', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'ea_adv_data_table_source' => 'ninja' ] ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'ea_adv_data_table_button_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} td button, {{WRAPPER}} td .button', ] ); $this->start_controls_tabs('ea_adv_data_table_button_tabs'); $this->start_controls_tab('ea_adv_data_table_button_tab_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]); $this->add_control( 'ea_adv_data_table_button_color', [ 'label' => __('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td button' => 'color: {{VALUE}};', '{{WRAPPER}} td .button' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_button_background_color', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td button' => 'background-color: {{VALUE}};', '{{WRAPPER}} td .button' => 'background-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->start_controls_tab('ea_adv_data_table_button_tab_hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]); $this->add_control( 'ea_adv_data_table_button_color_hover', [ 'label' => __('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td button:hover' => 'color: {{VALUE}};', '{{WRAPPER}} td .button:hover' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'ea_adv_data_table_button_background_color_hover', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} td button:hover' => 'background-color: {{VALUE}};', '{{WRAPPER}} td .button:hover' => 'background-color: {{VALUE}};', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'ea_adv_data_table_button_border', 'label' => __('Border', 'essential-addons-for-elementor-lite'), 'fields_options' => [ 'border' => [ 'default' => '', ], 'width' => [ 'default' => [ 'unit' => 'px', 'isLinked' => true, ], ], 'color' => [ 'default' => '', ], ], 'selector' => '{{WRAPPER}} td button, {{WRAPPER}} td .button', ] ); $this->add_control( 'ea_adv_data_table_button_border_radius', [ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} td button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} td .button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'ea_adv_data_table_button_box_shadow', 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} td button, {{WRAPPER}} td .button', ] ); $this->add_control( 'ea_adv_data_table_button_border_padding', [ 'label' => __('Padding', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'selectors' => [ '{{WRAPPER}} td button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} td .button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); } protected function render() { $settings = $this->get_settings_for_display(); if (in_array($settings['ea_adv_data_table_source'], ['database', 'remote', 'google'])) { if (!apply_filters('eael/pro_enabled', false)) { return; } } else if ($settings['ea_adv_data_table_source'] == "tablepress") { if (!apply_filters('eael/pro_enabled', false)) { return; } if (!apply_filters('eael/is_plugin_active', 'tablepress/tablepress.php')) { return; } } else if ($settings['ea_adv_data_table_source'] == "ninja") { if (!apply_filters('eael/is_plugin_active', 'ninja-tables/ninja-tables.php')) { return; } } $this->add_render_attribute('ea-adv-data-table-wrap', [ 'class' => "ea-advanced-data-table-wrap", 'data-id' => $this->get_id(), ]); $this->add_render_attribute('ea-adv-data-table', [ 'class' => "ea-advanced-data-table ea-advanced-data-table-{$settings['ea_adv_data_table_source']} ea-advanced-data-table-{$this->get_id()}", 'data-id' => $this->get_id(), ]); if (Plugin::$instance->editor->is_edit_mode()) { $this->add_render_attribute('ea-adv-data-table', [ 'class' => "ea-advanced-data-table-editable", ]); } if ($settings['ea_adv_data_table_sort'] == 'yes') { $this->add_render_attribute('ea-adv-data-table', [ 'class' => "ea-advanced-data-table-sortable", ]); } if ($settings['ea_adv_data_table_pagination'] == 'yes') { $this->add_render_attribute('ea-adv-data-table', [ 'class' => "ea-advanced-data-table-paginated", 'data-items-per-page' => ! empty( $settings['ea_adv_data_table_items_per_page'] ) ? $settings['ea_adv_data_table_items_per_page'] : 10, ]); } if ($settings['ea_adv_data_table_search'] == 'yes') { $this->add_render_attribute('ea-adv-data-table', [ 'class' => "ea-advanced-data-table-searchable", ]); $this->add_render_attribute('ea-adv-data-table-search-wrap', [ 'class' => "ea-advanced-data-table-search-wrap ea-advanced-data-table-search-{$settings['ea_adv_data_table_search_alignment']}", ]); } echo '
get_render_attribute_string('ea-adv-data-table-wrap') . '>'; if ($content = $this->get_table_content()) { if ($settings['ea_adv_data_table_search'] == 'yes') { echo '
get_render_attribute_string('ea-adv-data-table-search-wrap') . '>
'; } echo '
get_render_attribute_string('ea-adv-data-table') . '>' . Helper::eael_wp_kses( $content ) . '
'; if ($settings['ea_adv_data_table_pagination'] == 'yes') { if (Plugin::$instance->editor->is_edit_mode()) { if ($settings['ea_adv_data_table_pagination_type'] == 'button') { echo '
« 1 2 »
'; } else { echo '
'; } } else { echo '
'; } } } else { $no_content = apply_filters( 'eael/advanced-data-table/no-content-found-text', __( 'No content found', 'essential-addons-for-elementor-lite' ) ); echo esc_html( $no_content ); } echo '
'; } public function get_table_content() { $settings = $this->get_settings_for_display(); if ($settings['ea_adv_data_table_source'] == 'static') { return $settings['ea_adv_data_table_static_html']; } else if ($settings['ea_adv_data_table_source'] == 'ninja') { return $this->ninja_integration(); } if ( $settings[ 'ea_adv_data_table_source' ] == 'remote' ) { $settings_legacy = $this->get_settings(); $settings[ 'ea_adv_data_table_source_remote_host' ] = $settings_legacy[ 'ea_adv_data_table_source_remote_host' ]; $settings[ 'ea_adv_data_table_source_remote_username' ] = $settings_legacy[ 'ea_adv_data_table_source_remote_username' ]; $settings[ 'ea_adv_data_table_source_remote_password' ] = $settings_legacy[ 'ea_adv_data_table_source_remote_password' ]; $settings[ 'ea_adv_data_table_source_remote_database' ] = $settings_legacy[ 'ea_adv_data_table_source_remote_database' ]; } $content = apply_filters('eael/advanced-data-table/table_html/integration/' . $settings['ea_adv_data_table_source'], $settings); if (is_array($content)) { return ''; } return $content; } public function ninja_integration() { $settings = $this->get_settings_for_display(); if (empty($settings['ea_adv_data_table_source_ninja_table_id'])) { return; } $html = ''; $table_settings = ninja_table_get_table_settings($settings['ea_adv_data_table_source_ninja_table_id']); $table_headers = ninja_table_get_table_columns($settings['ea_adv_data_table_source_ninja_table_id']); $table_rows = ninjaTablesGetTablesDataByID($settings['ea_adv_data_table_source_ninja_table_id']); if (!empty($table_rows)) { if (!isset($table_settings['hide_header_row']) || $table_settings['hide_header_row'] != true) { $html .= ''; foreach ($table_headers as $key => $th) { $style = isset($settings['ea_adv_data_table_dynamic_th_width']) && isset($settings['ea_adv_data_table_dynamic_th_width'][$key]) ? ' style="width:' . $settings['ea_adv_data_table_dynamic_th_width'][$key] . '"' : ''; $html .= '' . $th['name'] . ''; } $html .= ''; } $html .= ''; foreach ($table_rows as $key => $tr) { $html .= ''; foreach ($table_headers as $th) { if (!isset($th['data_type'])) { $th['data_type'] = ''; } if ($th['data_type'] == 'image') { $html .= '' . (isset($tr[$th['key']]['image_thumb']) ? '' : '') . ''; } elseif ($th['data_type'] == 'selection') { $html .= '' . (!empty($tr[$th['key']]) ? implode((array) $tr[$th['key']], ', ') : '') . ''; } elseif ($th['data_type'] == 'button') { $html .= '' . (!empty($tr[$th['key']]) ? '' . $th['button_text'] . '' : '') . ''; } else { $html .= '' . ( isset( $tr[ $th['key'] ] ) ? $tr[ $th['key'] ] : '' ) . ''; } } $html .= ''; } $html .= ''; } return $html; } }