_( 'Alignment', 'jet-elements' ),
'type' => Controls_Manager::CHOOSE,
'default' => 'center',
'options' => array(
'flex-start' => array(
'title' => esc_html__( 'Start', 'jet-elements' ),
'icon' => ! is_rtl() ? 'eicon-h-align-left' : 'eicon-h-align-right',
),
'center' => array(
'title' => esc_html__( 'Center', 'jet-elements' ),
'icon' => 'eicon-h-align-center',
),
'flex-end' => array(
'title' => esc_html__( 'End', 'jet-elements' ),
'icon' => ! is_rtl() ? 'eicon-h-align-right' : 'eicon-h-align-left',
),
),
'separator' => 'before',
'selectors' => array(
'{{WRAPPER}} .jet-slider__fraction-pagination' => 'justify-content: {{VALUE}};',
),
),
25
);
$this->_add_group_control(
Group_Control_Typography::get_type(),
array(
'name' => 'fraction_typography',
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
'separator' => 'before',
'selector' => '{{WRAPPER}} .jet-slider__fraction-pagination span',
),
50
);
$this->_add_responsive_control(
'fraction_gap',
array(
'label' => esc_html__( 'Gap', 'jet-elements' ),
'type' => Controls_Manager::SLIDER,
'default' => array(
'size' => 5,
'unit' => 'px',
),
'range' => array(
'px' => array(
'min' => 0,
'max' => 50,
),
),
'selectors' => array(
'{{WRAPPER}} .jet-slider__fraction-pagination .separator' => 'margin-right: {{SIZE}}{{UNIT}}; margin-left: {{SIZE}}{{UNIT}};',
),
),
25
);
$this->_add_responsive_control(
'fraction_margin',
array(
'label' => esc_html__( 'Pagination Margin', 'jet-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', '%' ),
'selectors' => array(
'{{WRAPPER}} .jet-slider__fraction-pagination' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
),
50
);
$this->_add_group_control(
Group_Control_Border::get_type(),
array(
'name' => 'fraction_border',
'selector' => '{{WRAPPER}} .jet-slider__fraction-pagination span:not(.separator)',
)
);
$this->_add_control(
'fraction_border_radius',
array(
'label' => esc_html__( 'Border Radius', 'jet-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', '%', 'em' ),
'selectors' => array(
'{{WRAPPER}} .jet-slider__fraction-pagination .current' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} .jet-slider__fraction-pagination .total' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
)
);
$this->_end_controls_section();
}
/**
* Generate setting json
*
* @return string
*/
public function generate_setting_json() {
$module_settings = $this->get_settings();
$widget_id = $this->get_id();
$settings = array(
'sliderWidth' => $module_settings['slider_width'],
'sliderHeight' => $module_settings['slider_height'],
'sliderNavigation' => filter_var( $module_settings['slider_navigation'], FILTER_VALIDATE_BOOLEAN ),
'sliderNavigationIcon' => 'jet-slider__arrow-icon-' . $widget_id,
'sliderNaviOnHover' => filter_var( $module_settings['slider_navigation_on_hover'], FILTER_VALIDATE_BOOLEAN ),
'sliderPagination' => filter_var( $module_settings['slider_pagination'], FILTER_VALIDATE_BOOLEAN ),
'sliderAutoplay' => filter_var( $module_settings['slider_autoplay'], FILTER_VALIDATE_BOOLEAN ),
'sliderAutoplayDelay' => $module_settings['slider_autoplay_delay'],
'sliderAutoplayOnHover' => $module_settings['slide_autoplay_on_hover'],
'sliderFullScreen' => filter_var( $module_settings['slider_fullScreen'], FILTER_VALIDATE_BOOLEAN ),
'sliderFullscreenIcon' => 'jet-slider__fullscreen-icon-' . $widget_id,
'sliderShuffle' => filter_var( $module_settings['slider_shuffle'], FILTER_VALIDATE_BOOLEAN ),
'sliderLoop' => filter_var( $module_settings['slider_loop'], FILTER_VALIDATE_BOOLEAN ),
'sliderFadeMode' => filter_var( $module_settings['slider_fade_mode'], FILTER_VALIDATE_BOOLEAN ),
'slideDistance' => $module_settings['slide_distance'],
'slideDuration' => $module_settings['slide_duration'],
'imageScaleMode' => $module_settings['slide_image_scale_mode'],
'thumbnails' => filter_var( $module_settings['thumbnails'], FILTER_VALIDATE_BOOLEAN ),
'thumbnailWidth' => $module_settings['thumbnail_width'],
'thumbnailHeight' => $module_settings['thumbnail_height'],
'rightToLeft' => is_rtl(),
'touchswipe' => filter_var( $module_settings['slider_touchswipe'], FILTER_VALIDATE_BOOLEAN ),
'fractionPag' => filter_var( $module_settings['fraction_pagination'], FILTER_VALIDATE_BOOLEAN ),
);
$settings = json_encode( $settings );
return sprintf( 'data-settings=\'%1$s\'', $settings );
}
/**
* [__loop_button_item description]
* @param array $keys [description]
* @param string $format [description]
* @return [type] [description]
*/
protected function _loop_button_item( $keys = array(), $format = '%s' ) {
$item = $this->_processed_item;
$params = [];
foreach ( $keys as $key => $value ) {
if ( ! array_key_exists( $value, $item ) ) {
return false;
}
if ( empty( $item[$value] ) ) {
return false;
}
$params[] = $item[ $value ];
}
return vsprintf( $format, $params );
}
/**
* [__loop_item_image_tag description]
* @return [type] [description]
*/
protected function _loop_item_image_tag( $lazyload = 'true' ) {
$item = $this->_processed_item;
$image = $item['item_image'];
if ( empty( $image['id'] ) && empty( $image['url'] ) ) {
return false;
}
$format = 'true' === $lazyload ? '' : '
';
if ( empty( $image['id'] ) ) {
return sprintf( $format, Utils::get_placeholder_image_src(), '' );
}
$image['id'] = apply_filters( 'wpml_object_id', $image['id'], 'attachment', true );
$src = Group_Control_Image_Size::get_attachment_image_src( $image['id'], 'slider_image', $this->get_settings() );
$alt = Control_Media::get_image_alt( $image );
return sprintf( $format, esc_url( $src ), esc_attr( $alt ) );
}
protected function _loop_item_image_thumb() {
$item = $this->_processed_item;
$image = $item['item_image'];
if ( empty( $image['id'] ) && empty( $image['url'] ) ) {
return false;
}
$format = '
';
if ( empty( $image['id'] ) ) {
return sprintf( $format, Utils::get_placeholder_image_src(), '' );
}
$image['id'] = apply_filters( 'wpml_object_id', $image['id'], 'attachment', true );
$src = wp_get_attachment_image_url( $image['id'], 'thumbnail' );
$alt = Control_Media::get_image_alt( $image );
return sprintf( $format, esc_url( $src ), esc_attr( $alt ) );
}
/**
* Get item template content.
*
* @return string|void
*/
protected function _loop_item_template_content() {
$template_id = $this->_processed_item['template_id'];
if ( empty( $template_id ) ) {
return;
}
// for multi-language plugins
$template_id = apply_filters( 'jet-elements/widgets/template_id', $template_id, $this );
$content = jet_elements()->elementor()->frontend->get_builder_content_for_display( $template_id );
if ( jet_elements()->elementor()->editor->is_edit_mode() ) {
$edit_url = add_query_arg(
array(
'elementor' => '',
),
get_permalink( $template_id )
);
$edit_link = sprintf(
'',
esc_url( $edit_url ),
esc_html__( 'Edit Template', 'jet-elements' )
);
$content .= $edit_link;
}
return $content;
}
/**
* [render description]
* @return [type] [description]
*/
protected function render() {
$this->_context = 'render';
$this->_open_wrap();
include $this->_get_global_template( 'index' );
$this->_close_wrap();
}
protected function content_template() {}
}