Version Description
- Tweak:
Metro
layout improved in Grid widget. - Tweak: Get Modal Box images
Alt` attribute from media library to enhance SEO.
- Fixed: Animation issues with multiple Carousel widgets used.
Download this release
Release Info
Developer | leap13 |
Plugin | ![]() |
Version | 3.1.6 |
Comparing to | |
See all releases |
Code changes from version 3.1.5 to 3.1.6
- admin/settings/version-control.php +1 -1
- assets/css/premium-addons.css +20 -19
- assets/js/premium-addons.js +38 -23
- premium-addons-for-elementor.php +3 -3
- readme.txt +7 -1
- widgets/premium-carousel.php +73 -70
- widgets/premium-grid.php +65 -33
- widgets/premium-modalbox.php +30 -9
admin/settings/version-control.php
CHANGED
@@ -79,7 +79,7 @@ class PA_Version_Control {
|
|
79 |
<tr class="pa-roll-row">
|
80 |
<th>Rollback Version</th>
|
81 |
<td>
|
82 |
-
<div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.1.
|
83 |
<p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
|
84 |
</td>
|
85 |
</tr>
|
79 |
<tr class="pa-roll-row">
|
80 |
<th>Rollback Version</th>
|
81 |
<td>
|
82 |
+
<div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.1.5</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
|
83 |
<p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
|
84 |
</td>
|
85 |
</tr>
|
assets/css/premium-addons.css
CHANGED
@@ -3125,24 +3125,6 @@ button.premium-modal-box-modal-close {
|
|
3125 |
align-items: center;
|
3126 |
justify-content: center;
|
3127 |
}
|
3128 |
-
/*.premium-grid-50 .premium-gallery-item:nth-child(2n+1) {
|
3129 |
-
clear: left;
|
3130 |
-
}*/
|
3131 |
-
/*.premium-grid-33330 .premium-gallery-item:nth-child(3n+1) {
|
3132 |
-
clear: left;
|
3133 |
-
}*/
|
3134 |
-
/*.premium-grid-25 .premium-gallery-item:nth-child(4n+1) {
|
3135 |
-
clear: left;
|
3136 |
-
}*/
|
3137 |
-
/*.premium-grid-20 .premium-gallery-item:nth-child(5n+1) {
|
3138 |
-
clear: left;
|
3139 |
-
}
|
3140 |
-
.premium-grid-1666 .premium-gallery-item:nth-child(6n+1) {
|
3141 |
-
clear: left;
|
3142 |
-
}
|
3143 |
-
.premium-grid-8333 .premium-gallery-item:nth-child(12n+1) {
|
3144 |
-
clear: left;
|
3145 |
-
}*/
|
3146 |
.premium-img-gallery {
|
3147 |
clear: both;
|
3148 |
overflow: hidden;
|
@@ -3152,7 +3134,7 @@ button.premium-modal-box-modal-close {
|
|
3152 |
float: left; /* Google Chrome isotope issue */
|
3153 |
}
|
3154 |
.premium-gallery-container .grid-sizer {
|
3155 |
-
width:
|
3156 |
}
|
3157 |
.premium-img-gallery-filter .premium-gallery-cats-container li a.category {
|
3158 |
border-radius: 75px;
|
@@ -3372,6 +3354,25 @@ button.premium-modal-box-modal-close {
|
|
3372 |
.premium-gallery-container .pa-gallery-item {
|
3373 |
padding: 10px;
|
3374 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3375 |
/************ Premium Vertical Scroll ************/
|
3376 |
/*************************************************/
|
3377 |
.premium-vscroll-inner {
|
3125 |
align-items: center;
|
3126 |
justify-content: center;
|
3127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3128 |
.premium-img-gallery {
|
3129 |
clear: both;
|
3130 |
overflow: hidden;
|
3134 |
float: left; /* Google Chrome isotope issue */
|
3135 |
}
|
3136 |
.premium-gallery-container .grid-sizer {
|
3137 |
+
width: 33.33%;
|
3138 |
}
|
3139 |
.premium-img-gallery-filter .premium-gallery-cats-container li a.category {
|
3140 |
border-radius: 75px;
|
3354 |
.premium-gallery-container .pa-gallery-item {
|
3355 |
padding: 10px;
|
3356 |
}
|
3357 |
+
/**
|
3358 |
+
* Metro Style
|
3359 |
+
*/
|
3360 |
+
.premium-img-gallery-metro .premium-gallery-item {
|
3361 |
+
overflow: hidden
|
3362 |
+
}
|
3363 |
+
/*.premium-img-gallery-metro .pa-gallery-img-container {
|
3364 |
+
height: 100%;
|
3365 |
+
object-fit: fill;
|
3366 |
+
}*/
|
3367 |
+
.premium-img-gallery-metro .pa-gallery-img,
|
3368 |
+
.premium-img-gallery-metro .pa-gallery-img-container {
|
3369 |
+
height: 100%;
|
3370 |
+
}
|
3371 |
+
.premium-img-gallery-metro .pa-gallery-image {
|
3372 |
+
min-height: 100%;
|
3373 |
+
width: 100%;
|
3374 |
+
object-fit: fill;
|
3375 |
+
}
|
3376 |
/************ Premium Vertical Scroll ************/
|
3377 |
/*************************************************/
|
3378 |
.premium-vscroll-inner {
|
assets/js/premium-addons.js
CHANGED
@@ -68,11 +68,36 @@
|
|
68 |
var galleryElement = $scope.find(".premium-gallery-container"),
|
69 |
isotopeOptions = galleryElement.data("settings"),
|
70 |
layout = isotopeOptions['img_size'],
|
|
|
71 |
columnWidth = null;
|
72 |
-
|
73 |
if( layout === 'metro' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
layout = 'masonry';
|
75 |
-
columnWidth =
|
76 |
}
|
77 |
var grid = galleryElement.imagesLoaded(function() {
|
78 |
grid.isotope({
|
@@ -327,39 +352,29 @@
|
|
327 |
if (slidesScrolled == 1) {
|
328 |
if (centerMode == true) {
|
329 |
animate = slideToAnimate - 2;
|
330 |
-
$inViewPort = $(
|
331 |
-
|
332 |
-
);
|
333 |
-
$inViewPort.addClass($inViewPort.data("animation"));
|
334 |
} else {
|
335 |
-
$inViewPort = $(
|
336 |
-
|
337 |
-
|
338 |
-
" [data-slick-index='" +
|
339 |
-
slideToAnimate +
|
340 |
-
"']"
|
341 |
-
);
|
342 |
-
if( undefined != $inViewPort.data("animation") ) {
|
343 |
-
$inViewPort.find('p, h1, h2, h3, h4, h5, h6, span, a, img, i, button').addClass($inViewPort.data("animation")).removeClass("premium-carousel-content-hidden");
|
344 |
}
|
345 |
|
346 |
}
|
347 |
} else {
|
348 |
for (var i = slidesScrolled + currentSlide; i >= 0; i--) {
|
349 |
-
$inViewPort = $(
|
350 |
-
"#" + $currentParent + " [data-slick-index='" + i + "']"
|
351 |
);
|
352 |
-
if(
|
353 |
-
$inViewPort.find('p, h1, h2,h3,h4,h5,h6,span, img, i, button').addClass(
|
354 |
}
|
355 |
}
|
356 |
}
|
357 |
});
|
358 |
$(this).on("beforeChange", function(event, slick, currentSlide) {
|
359 |
-
$inViewPort = $("[data-slick-index='" + currentSlide + "']");
|
360 |
-
|
361 |
-
|
362 |
-
$inViewPort.siblings().find('p, h1, h2, h3, h4, h5,h6, span, a, img, i, button').removeClass($inViewPort.data("animation")).addClass("premium-carousel-content-hidden");
|
363 |
}
|
364 |
});
|
365 |
if (carouselSettings["vertical"]) {
|
68 |
var galleryElement = $scope.find(".premium-gallery-container"),
|
69 |
isotopeOptions = galleryElement.data("settings"),
|
70 |
layout = isotopeOptions['img_size'],
|
71 |
+
deviceType = $("body").data("elementor-device-mode"),
|
72 |
columnWidth = null;
|
73 |
+
|
74 |
if( layout === 'metro' ) {
|
75 |
+
var suffix = "";
|
76 |
+
|
77 |
+
if ( "tablet" === deviceType ) {
|
78 |
+
suffix = "_tablet";
|
79 |
+
} else if ( "mobile" === deviceType ) {
|
80 |
+
suffix = "_mobile";
|
81 |
+
}
|
82 |
+
var gridWidth = galleryElement.width(),
|
83 |
+
cellSize = Math.floor( ( gridWidth / 12 ) );
|
84 |
+
galleryElement.find(".premium-gallery-item").each(function(index, item ) {
|
85 |
+
var cells = $(item).data("metro")[ "cells" + suffix],
|
86 |
+
vCells = $(item).data("metro")[ "vcells" + suffix];
|
87 |
+
if ( '' == cells || undefined == cells ) {
|
88 |
+
var cells = $(item).data("metro")[ "cells" ];
|
89 |
+
}
|
90 |
+
if ( '' == vCells || undefined == vCells ) {
|
91 |
+
var vCells = $(item).data("metro")[ "vcells" ];
|
92 |
+
}
|
93 |
+
$(item).css({
|
94 |
+
"width": Math.ceil( cells * cellSize ),
|
95 |
+
"height": Math.ceil( vCells * cellSize )
|
96 |
+
} );
|
97 |
+
});
|
98 |
+
|
99 |
layout = 'masonry';
|
100 |
+
columnWidth = cellSize;
|
101 |
}
|
102 |
var grid = galleryElement.imagesLoaded(function() {
|
103 |
grid.isotope({
|
352 |
if (slidesScrolled == 1) {
|
353 |
if (centerMode == true) {
|
354 |
animate = slideToAnimate - 2;
|
355 |
+
$inViewPort = $(this).find("[data-slick-index='" + animate + "']");
|
356 |
+
//$inViewPort.addClass($inViewPort.data("animation"));
|
|
|
|
|
357 |
} else {
|
358 |
+
$inViewPort = $(this).find("[data-slick-index='" +slideToAnimate +"']");
|
359 |
+
if( 'null' != carouselSettings["animation"] ) {
|
360 |
+
$inViewPort.find('p, h1, h2, h3, h4, h5, h6, span, a, img, i, button').addClass(carouselSettings["animation"]).removeClass("premium-carousel-content-hidden");
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}
|
362 |
|
363 |
}
|
364 |
} else {
|
365 |
for (var i = slidesScrolled + currentSlide; i >= 0; i--) {
|
366 |
+
$inViewPort = $(this).find("[data-slick-index='" + i + "']"
|
|
|
367 |
);
|
368 |
+
if( 'null' != carouselSettings["animation"] ) {
|
369 |
+
$inViewPort.find('p, h1, h2, h3, h4, h5, h6, span, a, img, i, button').addClass(carouselSettings["animation"]).removeClass("premium-carousel-content-hidden");
|
370 |
}
|
371 |
}
|
372 |
}
|
373 |
});
|
374 |
$(this).on("beforeChange", function(event, slick, currentSlide) {
|
375 |
+
$inViewPort = $(this).find("[data-slick-index='" + currentSlide + "']");
|
376 |
+
if( 'null' != carouselSettings["animation"] ) {
|
377 |
+
$inViewPort.siblings().find('p, h1, h2, h3, h4, h5, h6, span, a, img, i, button').removeClass(carouselSettings["animation"]).addClass("premium-carousel-content-hidden");
|
|
|
378 |
}
|
379 |
});
|
380 |
if (carouselSettings["vertical"]) {
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 3.1.
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
@@ -14,12 +14,12 @@ License: GNU General Public License v3.0
|
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
-
define('PREMIUM_ADDONS_VERSION', '3.1.
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(PREMIUM_ADDONS_FILE));
|
22 |
-
define('PREMIUM_ADDONS_STABLE_VERSION', '3.1.
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
/*
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 3.1.6
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
+
define('PREMIUM_ADDONS_VERSION', '3.1.6');
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(PREMIUM_ADDONS_FILE));
|
22 |
+
define('PREMIUM_ADDONS_STABLE_VERSION', '3.1.5');
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
/*
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 3.1.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -139,6 +139,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
139 |
|
140 |
== Changelog ==
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
= 3.1.5 =
|
143 |
|
144 |
- Tweak: Added `2/3 Column` option for `Metro Layout Image Width` in Grid widget.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 3.1.6
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
139 |
|
140 |
== Changelog ==
|
141 |
|
142 |
+
= 3.1.6 =
|
143 |
+
|
144 |
+
- Tweak: `Metro` layout improved in Grid widget.
|
145 |
+
- Tweak: Get Modal Box images` `Alt` attribute from media library to enhance SEO.
|
146 |
+
- Fixed: Animation issues with multiple Carousel widgets used.
|
147 |
+
|
148 |
= 3.1.5 =
|
149 |
|
150 |
- Tweak: Added `2/3 Column` option for `Metro Layout Image Width` in Grid widget.
|
widgets/premium-carousel.php
CHANGED
@@ -302,6 +302,76 @@ class Premium_Carousel extends Widget_Base {
|
|
302 |
);
|
303 |
|
304 |
$this->end_controls_section();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
|
306 |
$this->start_controls_section('premium_carousel_navigation_arrows',
|
307 |
[
|
@@ -689,74 +759,6 @@ class Premium_Carousel extends Widget_Base {
|
|
689 |
|
690 |
$this->end_controls_section();
|
691 |
|
692 |
-
$this->start_controls_section('premium-carousel-advance-settings',
|
693 |
-
[
|
694 |
-
'label' => __( 'Additional Settings' , 'premium-addons-for-elementor' ),
|
695 |
-
'tab' => Controls_Manager::TAB_STYLE
|
696 |
-
]
|
697 |
-
);
|
698 |
-
|
699 |
-
$this->add_control('premium_carousel_draggable_effect',
|
700 |
-
[
|
701 |
-
'label' => __( 'Draggable Effect', 'premium-addons-for-elementor' ),
|
702 |
-
'description' => __( 'Allow the slides to be dragged by mouse click', 'premium-addons-for-elementor' ),
|
703 |
-
'type' => Controls_Manager::SWITCHER,
|
704 |
-
'default' => 'yes'
|
705 |
-
]
|
706 |
-
);
|
707 |
-
|
708 |
-
$this->add_control('premium_carousel_touch_move',
|
709 |
-
[
|
710 |
-
'label' => __( 'Touch Move', 'premium-addons-for-elementor' ),
|
711 |
-
'description' => __( 'Enable slide moving with touch', 'premium-addons-for-elementor' ),
|
712 |
-
'type' => Controls_Manager::SWITCHER,
|
713 |
-
'default' => 'yes'
|
714 |
-
]
|
715 |
-
);
|
716 |
-
|
717 |
-
$this->add_control('premium_carousel_RTL_Mode',
|
718 |
-
[
|
719 |
-
'label' => __( 'RTL Mode', 'premium-addons-for-elementor' ),
|
720 |
-
'description' => __( 'Turn on RTL mode if your language starts from right to left', 'premium-addons-for-elementor' ),
|
721 |
-
'type' => Controls_Manager::SWITCHER,
|
722 |
-
'condition' => [
|
723 |
-
'premium_carousel_slider_type!' => 'vertical'
|
724 |
-
]
|
725 |
-
]
|
726 |
-
);
|
727 |
-
|
728 |
-
$this->add_control('premium_carousel_adaptive_height',
|
729 |
-
[
|
730 |
-
'label' => __( 'Adaptive Height', 'premium-addons-for-elementor' ),
|
731 |
-
'description' => __( 'Adaptive height setting gives each slide a fixed height to avoid huge white space gaps', 'premium-addons-for-elementor' ),
|
732 |
-
'type' => Controls_Manager::SWITCHER,
|
733 |
-
]
|
734 |
-
);
|
735 |
-
|
736 |
-
$this->add_control('premium_carousel_pausehover',
|
737 |
-
[
|
738 |
-
'label' => __( 'Pause on Hover', 'premium-addons-for-elementor' ),
|
739 |
-
'description' => __( 'Pause the slider when mouse hover', 'premium-addons-for-elementor' ),
|
740 |
-
'type' => Controls_Manager::SWITCHER,
|
741 |
-
]
|
742 |
-
);
|
743 |
-
|
744 |
-
$this->add_control('premium_carousel_center_mode',
|
745 |
-
[
|
746 |
-
'label' => __( 'Center Mode', 'premium-addons-for-elementor' ),
|
747 |
-
'description' => __( 'Center mode enables a centered view with partial next/previous slides. Animations and all visible scroll type doesn\'t work with this mode', 'premium-addons-for-elementor' ),
|
748 |
-
'type' => Controls_Manager::SWITCHER,
|
749 |
-
]
|
750 |
-
);
|
751 |
-
|
752 |
-
$this->add_control('premium_carousel_space_btw_items',
|
753 |
-
[
|
754 |
-
'label' => __( 'Slides\' Spacing', 'premium-addons-for-elementor' ),
|
755 |
-
'description' => __('Set a spacing value in pixels (px)', 'premium-addons-for-elementor'),
|
756 |
-
'type' => Controls_Manager::NUMBER,
|
757 |
-
'default' => '15'
|
758 |
-
]
|
759 |
-
);
|
760 |
}
|
761 |
|
762 |
protected function render() {
|
@@ -949,7 +951,7 @@ class Premium_Carousel extends Widget_Base {
|
|
949 |
$extra_class = $settings['premium_carousel_extra_class'] !== '' ? ' '.$settings['premium_carousel_extra_class'] : '';
|
950 |
|
951 |
$animation_class = $settings['premium_carousel_animation_list'];
|
952 |
-
$animation = ! empty( $animation_class ) ? '
|
953 |
|
954 |
$dot_anim = $settings['premium_carousel_navigation_effect'] == 'yes' ? 'hvr-ripple-out' : '';
|
955 |
|
@@ -978,6 +980,7 @@ class Premium_Carousel extends Widget_Base {
|
|
978 |
'slidesDesk' => $slides_on_desk,
|
979 |
'slidesTab' => $slides_on_tabs,
|
980 |
'slidesMob' => $slides_on_mob,
|
|
|
981 |
];
|
982 |
|
983 |
$premium_elements_page_id = array();
|
@@ -1019,7 +1022,7 @@ class Premium_Carousel extends Widget_Base {
|
|
1019 |
<?php
|
1020 |
foreach( $premium_elements_page_id as $elementor_post_id ) :
|
1021 |
?>
|
1022 |
-
<div
|
1023 |
<?php echo $premium_elements_frontend->get_builder_content( $elementor_post_id, true ); ?>
|
1024 |
</div>
|
1025 |
<?php endforeach; ?>
|
302 |
);
|
303 |
|
304 |
$this->end_controls_section();
|
305 |
+
|
306 |
+
$this->start_controls_section('premium-carousel-advance-settings',
|
307 |
+
[
|
308 |
+
'label' => __( 'Additional Settings' , 'premium-addons-for-elementor' ),
|
309 |
+
]
|
310 |
+
);
|
311 |
+
|
312 |
+
$this->add_control('premium_carousel_draggable_effect',
|
313 |
+
[
|
314 |
+
'label' => __( 'Draggable Effect', 'premium-addons-for-elementor' ),
|
315 |
+
'description' => __( 'Allow the slides to be dragged by mouse click', 'premium-addons-for-elementor' ),
|
316 |
+
'type' => Controls_Manager::SWITCHER,
|
317 |
+
'default' => 'yes'
|
318 |
+
]
|
319 |
+
);
|
320 |
+
|
321 |
+
$this->add_control('premium_carousel_touch_move',
|
322 |
+
[
|
323 |
+
'label' => __( 'Touch Move', 'premium-addons-for-elementor' ),
|
324 |
+
'description' => __( 'Enable slide moving with touch', 'premium-addons-for-elementor' ),
|
325 |
+
'type' => Controls_Manager::SWITCHER,
|
326 |
+
'default' => 'yes'
|
327 |
+
]
|
328 |
+
);
|
329 |
+
|
330 |
+
$this->add_control('premium_carousel_RTL_Mode',
|
331 |
+
[
|
332 |
+
'label' => __( 'RTL Mode', 'premium-addons-for-elementor' ),
|
333 |
+
'description' => __( 'Turn on RTL mode if your language starts from right to left', 'premium-addons-for-elementor' ),
|
334 |
+
'type' => Controls_Manager::SWITCHER,
|
335 |
+
'condition' => [
|
336 |
+
'premium_carousel_slider_type!' => 'vertical'
|
337 |
+
]
|
338 |
+
]
|
339 |
+
);
|
340 |
+
|
341 |
+
$this->add_control('premium_carousel_adaptive_height',
|
342 |
+
[
|
343 |
+
'label' => __( 'Adaptive Height', 'premium-addons-for-elementor' ),
|
344 |
+
'description' => __( 'Adaptive height setting gives each slide a fixed height to avoid huge white space gaps', 'premium-addons-for-elementor' ),
|
345 |
+
'type' => Controls_Manager::SWITCHER,
|
346 |
+
]
|
347 |
+
);
|
348 |
+
|
349 |
+
$this->add_control('premium_carousel_pausehover',
|
350 |
+
[
|
351 |
+
'label' => __( 'Pause on Hover', 'premium-addons-for-elementor' ),
|
352 |
+
'description' => __( 'Pause the slider when mouse hover', 'premium-addons-for-elementor' ),
|
353 |
+
'type' => Controls_Manager::SWITCHER,
|
354 |
+
]
|
355 |
+
);
|
356 |
+
|
357 |
+
$this->add_control('premium_carousel_center_mode',
|
358 |
+
[
|
359 |
+
'label' => __( 'Center Mode', 'premium-addons-for-elementor' ),
|
360 |
+
'description' => __( 'Center mode enables a centered view with partial next/previous slides. Animations and all visible scroll type doesn\'t work with this mode', 'premium-addons-for-elementor' ),
|
361 |
+
'type' => Controls_Manager::SWITCHER,
|
362 |
+
]
|
363 |
+
);
|
364 |
+
|
365 |
+
$this->add_control('premium_carousel_space_btw_items',
|
366 |
+
[
|
367 |
+
'label' => __( 'Slides\' Spacing', 'premium-addons-for-elementor' ),
|
368 |
+
'description' => __('Set a spacing value in pixels (px)', 'premium-addons-for-elementor'),
|
369 |
+
'type' => Controls_Manager::NUMBER,
|
370 |
+
'default' => '15'
|
371 |
+
]
|
372 |
+
);
|
373 |
+
|
374 |
+
$this->end_controls_section();
|
375 |
|
376 |
$this->start_controls_section('premium_carousel_navigation_arrows',
|
377 |
[
|
759 |
|
760 |
$this->end_controls_section();
|
761 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
762 |
}
|
763 |
|
764 |
protected function render() {
|
951 |
$extra_class = $settings['premium_carousel_extra_class'] !== '' ? ' '.$settings['premium_carousel_extra_class'] : '';
|
952 |
|
953 |
$animation_class = $settings['premium_carousel_animation_list'];
|
954 |
+
$animation = ! empty( $animation_class ) ? 'animated ' . $animation_class : 'null';
|
955 |
|
956 |
$dot_anim = $settings['premium_carousel_navigation_effect'] == 'yes' ? 'hvr-ripple-out' : '';
|
957 |
|
980 |
'slidesDesk' => $slides_on_desk,
|
981 |
'slidesTab' => $slides_on_tabs,
|
982 |
'slidesMob' => $slides_on_mob,
|
983 |
+
'animation' => $animation
|
984 |
];
|
985 |
|
986 |
$premium_elements_page_id = array();
|
1022 |
<?php
|
1023 |
foreach( $premium_elements_page_id as $elementor_post_id ) :
|
1024 |
?>
|
1025 |
+
<div class="item-wrapper">
|
1026 |
<?php echo $premium_elements_frontend->get_builder_content( $elementor_post_id, true ); ?>
|
1027 |
</div>
|
1028 |
<?php endforeach; ?>
|
widgets/premium-grid.php
CHANGED
@@ -93,12 +93,12 @@ class Premium_Grid extends Widget_Base {
|
|
93 |
'16.66%' => __( '6 Columns', 'premium-addons-for-elementor' ),
|
94 |
'8.33%' => __( '12 Columns', 'premium-addons-for-elementor' ),
|
95 |
],
|
96 |
-
'selectors' => [
|
97 |
-
'{{WRAPPER}} .premium-gallery-container div.premium-gallery-item' => 'width: {{VALUE}};',
|
98 |
-
],
|
99 |
'condition' => [
|
100 |
-
'premium_gallery_img_size_select!'
|
101 |
],
|
|
|
|
|
|
|
102 |
'render_type' => 'template'
|
103 |
]
|
104 |
);
|
@@ -206,29 +206,42 @@ class Premium_Grid extends Widget_Base {
|
|
206 |
],
|
207 |
]);
|
208 |
|
209 |
-
$img_repeater->add_responsive_control('
|
210 |
[
|
211 |
'label' => __( 'Width', 'premium-addons-for-elementor' ),
|
212 |
'description' => __('Works only when layout set to \'Metro\'', 'premium-addons-for-elementor'),
|
213 |
'label_block' => true,
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
'
|
219 |
-
|
220 |
-
'
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
'render_type' => 'template'
|
233 |
]
|
234 |
);
|
@@ -1140,7 +1153,7 @@ class Premium_Grid extends Widget_Base {
|
|
1140 |
$settings = $this->get_settings_for_display();
|
1141 |
$filter = $settings['premium_gallery_filter'];
|
1142 |
|
1143 |
-
$number_columns =
|
1144 |
|
1145 |
$layout = $settings['premium_gallery_img_style'];
|
1146 |
$min_size = $settings['premium_gallery_min_range'].'px';
|
@@ -1161,16 +1174,21 @@ class Premium_Grid extends Widget_Base {
|
|
1161 |
}
|
1162 |
|
1163 |
$grid_settings = [
|
1164 |
-
'img_size'
|
1165 |
-
'filter'
|
1166 |
-
'light_box'
|
1167 |
-
'overlay_gallery'
|
1168 |
-
'active_cat'=> $category_formatted
|
1169 |
];
|
1170 |
|
1171 |
-
$this->add_render_attribute( 'grid',
|
1172 |
-
|
1173 |
-
|
|
|
|
|
|
|
|
|
|
|
1174 |
|
1175 |
$active_category_index = $settings['premium_gallery_first_cat_switcher'] == 'yes' ? $settings['premium_gallery_active_cat'] - 1 : $settings['premium_gallery_active_cat'];
|
1176 |
|
@@ -1218,7 +1236,7 @@ class Premium_Grid extends Widget_Base {
|
|
1218 |
</div>
|
1219 |
<?php endif; ?>
|
1220 |
|
1221 |
-
<div class="premium-gallery-container js-isotope
|
1222 |
<?php if ( 'metro' === $settings['premium_gallery_img_size_select'] ) : ?>
|
1223 |
<div class="grid-sizer"></div>
|
1224 |
<?php endif;
|
@@ -1235,6 +1253,20 @@ class Premium_Grid extends Widget_Base {
|
|
1235 |
]
|
1236 |
]
|
1237 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1238 |
|
1239 |
?>
|
1240 |
<div <?php echo $this->get_render_attribute_string($key); ?>>
|
93 |
'16.66%' => __( '6 Columns', 'premium-addons-for-elementor' ),
|
94 |
'8.33%' => __( '12 Columns', 'premium-addons-for-elementor' ),
|
95 |
],
|
|
|
|
|
|
|
96 |
'condition' => [
|
97 |
+
'premium_gallery_img_size_select!' => 'metro'
|
98 |
],
|
99 |
+
'selectors' => [
|
100 |
+
'{{WRAPPER}} .premium-img-gallery-masonry div.premium-gallery-item, {{WRAPPER}} .premium-img-gallery-fitRows div.premium-gallery-item' => 'width: {{VALUE}};',
|
101 |
+
],
|
102 |
'render_type' => 'template'
|
103 |
]
|
104 |
);
|
206 |
],
|
207 |
]);
|
208 |
|
209 |
+
$img_repeater->add_responsive_control('premium_gallery_image_cell',
|
210 |
[
|
211 |
'label' => __( 'Width', 'premium-addons-for-elementor' ),
|
212 |
'description' => __('Works only when layout set to \'Metro\'', 'premium-addons-for-elementor'),
|
213 |
'label_block' => true,
|
214 |
+
'default' => [
|
215 |
+
'unit' => 'px',
|
216 |
+
'size' => 4
|
217 |
+
],
|
218 |
+
'type' => Controls_Manager::SLIDER,
|
219 |
+
'range' => [
|
220 |
+
'px' => [
|
221 |
+
'min' => 1,
|
222 |
+
'max' => 12,
|
223 |
+
],
|
224 |
+
],
|
225 |
+
'render_type' => 'template'
|
226 |
+
]
|
227 |
+
);
|
228 |
+
|
229 |
+
$img_repeater->add_responsive_control('premium_gallery_image_vcell',
|
230 |
+
[
|
231 |
+
'label' => __( 'Height', 'premium-addons-for-elementor' ),
|
232 |
+
'description' => __('Works only when layout set to \'Metro\'', 'premium-addons-for-elementor'),
|
233 |
+
'label_block' => true,
|
234 |
+
'type' => Controls_Manager::SLIDER,
|
235 |
+
'default' => [
|
236 |
+
'unit' => 'px',
|
237 |
+
'size' => 4
|
238 |
+
],
|
239 |
+
'range' => [
|
240 |
+
'px' => [
|
241 |
+
'min' => 1,
|
242 |
+
'max' => 12,
|
243 |
+
],
|
244 |
+
],
|
245 |
'render_type' => 'template'
|
246 |
]
|
247 |
);
|
1153 |
$settings = $this->get_settings_for_display();
|
1154 |
$filter = $settings['premium_gallery_filter'];
|
1155 |
|
1156 |
+
// $number_columns = intval ( 100 / substr( $settings['premium_gallery_column_number'], 0, strpos( $settings['premium_gallery_column_number'], '%') ) );
|
1157 |
|
1158 |
$layout = $settings['premium_gallery_img_style'];
|
1159 |
$min_size = $settings['premium_gallery_min_range'].'px';
|
1174 |
}
|
1175 |
|
1176 |
$grid_settings = [
|
1177 |
+
'img_size' => $settings['premium_gallery_img_size_select'],
|
1178 |
+
'filter' => $settings['premium_gallery_filter'],
|
1179 |
+
'light_box' => $settings['premium_gallery_light_box'],
|
1180 |
+
'overlay_gallery'=> 'yes' == $settings['premium_gallery_overlay_gallery'] ? true : false,
|
1181 |
+
'active_cat' => $category_formatted
|
1182 |
];
|
1183 |
|
1184 |
+
$this->add_render_attribute( 'grid', [
|
1185 |
+
'id' => 'premium-img-gallery-' . esc_attr( $this->get_id() ),
|
1186 |
+
'class' => [
|
1187 |
+
'premium-img-gallery',
|
1188 |
+
'premium-img-gallery-' . $settings['premium_gallery_img_size_select']
|
1189 |
+
]
|
1190 |
+
]
|
1191 |
+
);
|
1192 |
|
1193 |
$active_category_index = $settings['premium_gallery_first_cat_switcher'] == 'yes' ? $settings['premium_gallery_active_cat'] - 1 : $settings['premium_gallery_active_cat'];
|
1194 |
|
1236 |
</div>
|
1237 |
<?php endif; ?>
|
1238 |
|
1239 |
+
<div class="premium-gallery-container js-isotope" data-settings='<?php echo wp_json_encode($grid_settings); ?>'>
|
1240 |
<?php if ( 'metro' === $settings['premium_gallery_img_size_select'] ) : ?>
|
1241 |
<div class="grid-sizer"></div>
|
1242 |
<?php endif;
|
1253 |
]
|
1254 |
]
|
1255 |
);
|
1256 |
+
|
1257 |
+
if ( 'metro' === $settings['premium_gallery_img_size_select'] ) {
|
1258 |
+
|
1259 |
+
$cells = [
|
1260 |
+
'cells' => $image['premium_gallery_image_cell']['size'],
|
1261 |
+
'vcells' => $image['premium_gallery_image_vcell']['size'],
|
1262 |
+
'cells_tablet' => $image['premium_gallery_image_cell_tablet']['size'],
|
1263 |
+
'vcells_tablet' => $image['premium_gallery_image_vcell_tablet']['size'],
|
1264 |
+
'cells_mobile' => $image['premium_gallery_image_cell_mobile']['size'],
|
1265 |
+
'vcells_mobile' => $image['premium_gallery_image_vcell_mobile']['size'],
|
1266 |
+
];
|
1267 |
+
|
1268 |
+
$this->add_render_attribute( $key, 'data-metro', wp_json_encode( $cells ) );
|
1269 |
+
}
|
1270 |
|
1271 |
?>
|
1272 |
<div <?php echo $this->get_render_attribute_string($key); ?>>
|
widgets/premium-modalbox.php
CHANGED
@@ -12,7 +12,7 @@ class Premium_Modalbox extends Widget_Base {
|
|
12 |
return 'premium-addon-modal-box';
|
13 |
}
|
14 |
|
15 |
-
public function check_rtl(){
|
16 |
return is_rtl();
|
17 |
}
|
18 |
|
@@ -24,9 +24,11 @@ class Premium_Modalbox extends Widget_Base {
|
|
24 |
return 'pa-modal-box';
|
25 |
}
|
26 |
|
27 |
-
public function get_script_depends()
|
28 |
-
|
29 |
-
|
|
|
|
|
30 |
}
|
31 |
|
32 |
public function get_categories() {
|
@@ -1313,12 +1315,31 @@ class Premium_Modalbox extends Widget_Base {
|
|
1313 |
|
1314 |
$this->add_render_attribute('image', 'src', $settings['premium_modal_box_image_src']['url'] );
|
1315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1316 |
$this->add_render_attribute('text', 'class', 'premium-modal-box-text-selector' );
|
1317 |
|
1318 |
$this->add_render_attribute('text', 'data-toggle', 'premium-modal' );
|
1319 |
|
1320 |
$this->add_render_attribute('text', 'data-target', '#premium-modal-' . $this->get_id() );
|
1321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1322 |
?>
|
1323 |
|
1324 |
<div <?php echo $this->get_render_attribute_string('modal') ?>>
|
@@ -1351,12 +1372,12 @@ class Premium_Modalbox extends Widget_Base {
|
|
1351 |
<button type="button" class="premium-modal-box-modal-close" data-dismiss="premium-modal">×</button>
|
1352 |
</div>
|
1353 |
<?php endif; ?>
|
1354 |
-
<?php if ( !empty( $settings['premium_modal_box_title'] ) ) : ?>
|
1355 |
<h3 class="premium-modal-box-modal-title">
|
1356 |
-
<?php if( $settings['premium_modal_box_icon_selection']
|
1357 |
-
<i
|
1358 |
-
<?php elseif( $settings['premium_modal_box_icon_selection']
|
1359 |
-
<img
|
1360 |
<?php endif;
|
1361 |
echo $settings['premium_modal_box_title']; ?>
|
1362 |
</h3>
|
12 |
return 'premium-addon-modal-box';
|
13 |
}
|
14 |
|
15 |
+
public function check_rtl() {
|
16 |
return is_rtl();
|
17 |
}
|
18 |
|
24 |
return 'pa-modal-box';
|
25 |
}
|
26 |
|
27 |
+
public function get_script_depends() {
|
28 |
+
return [
|
29 |
+
'premium-addons-js',
|
30 |
+
'modal-js'
|
31 |
+
];
|
32 |
}
|
33 |
|
34 |
public function get_categories() {
|
1315 |
|
1316 |
$this->add_render_attribute('image', 'src', $settings['premium_modal_box_image_src']['url'] );
|
1317 |
|
1318 |
+
if ( 'image' === $settings['premium_modal_box_display_on'] ) {
|
1319 |
+
|
1320 |
+
$alt = Control_Media::get_image_alt( $settings['premium_modal_box_image_src'] );
|
1321 |
+
$this->add_render_attribute('image', 'alt', $alt );
|
1322 |
+
|
1323 |
+
}
|
1324 |
+
|
1325 |
$this->add_render_attribute('text', 'class', 'premium-modal-box-text-selector' );
|
1326 |
|
1327 |
$this->add_render_attribute('text', 'data-toggle', 'premium-modal' );
|
1328 |
|
1329 |
$this->add_render_attribute('text', 'data-target', '#premium-modal-' . $this->get_id() );
|
1330 |
|
1331 |
+
if ( 'fonticon' === $settings['premium_modal_box_icon_selection'] ) {
|
1332 |
+
|
1333 |
+
$this->add_render_attribute('title_icon', 'class', $settings['premium_modal_box_font_icon'] );
|
1334 |
+
|
1335 |
+
} else {
|
1336 |
+
|
1337 |
+
$this->add_render_attribute('title_icon', 'src', $settings['premium_modal_box_image_icon']['url'] );
|
1338 |
+
$alt = Control_Media::get_image_alt( $settings['premium_modal_box_image_icon'] );
|
1339 |
+
$this->add_render_attribute('title_icon', 'alt', $alt );
|
1340 |
+
|
1341 |
+
}
|
1342 |
+
|
1343 |
?>
|
1344 |
|
1345 |
<div <?php echo $this->get_render_attribute_string('modal') ?>>
|
1372 |
<button type="button" class="premium-modal-box-modal-close" data-dismiss="premium-modal">×</button>
|
1373 |
</div>
|
1374 |
<?php endif; ?>
|
1375 |
+
<?php if ( ! empty( $settings['premium_modal_box_title'] ) ) : ?>
|
1376 |
<h3 class="premium-modal-box-modal-title">
|
1377 |
+
<?php if( 'fonticon' === $settings['premium_modal_box_icon_selection'] ) : ?>
|
1378 |
+
<i <?php echo $this->get_render_attribute_string('title_icon'); ?>></i>
|
1379 |
+
<?php elseif( 'image' === $settings['premium_modal_box_icon_selection'] ) : ?>
|
1380 |
+
<img <?php echo $this->get_render_attribute_string('title_icon'); ?>>
|
1381 |
<?php endif;
|
1382 |
echo $settings['premium_modal_box_title']; ?>
|
1383 |
</h3>
|