Version Description
- Tweak:
Even
layout enhanced for more usability in Grid widget. - Fixed:
Load More
button loads images fromAll
category even when not onAll
filter tab in Grid widget. - Fixed: Transparent
Stroke Fill Color
option issue in Dual Heading widget.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.5.5 |
Comparing to | |
See all releases |
Code changes from version 3.5.4 to 3.5.5
- admin/includes/version-control.php +1 -1
- assets/frontend/css/premium-addons.css +3 -2
- assets/frontend/js/premium-addons.js +12 -9
- premium-addons-for-elementor.php +3 -3
- readme.txt +7 -1
- widgets/premium-dual-header.php +52 -22
- widgets/premium-grid.php +30 -3
admin/includes/version-control.php
CHANGED
@@ -91,7 +91,7 @@ class Version_Control {
|
|
91 |
<tr class="pa-roll-row">
|
92 |
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
|
93 |
<td>
|
94 |
-
<div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.5.
|
95 |
<p class="pa-roll-desc">
|
96 |
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
|
97 |
</p>
|
91 |
<tr class="pa-roll-row">
|
92 |
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
|
93 |
<td>
|
94 |
+
<div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.5.4', 'premium-addons-for-elementor') ); ?></div>
|
95 |
<p class="pa-roll-desc">
|
96 |
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
|
97 |
</p>
|
assets/frontend/css/premium-addons.css
CHANGED
@@ -2303,8 +2303,8 @@ button.premium-modal-box-modal-close {
|
|
2303 |
.premium-dual-header-first-clip.stroke .premium-dual-header-first-span,
|
2304 |
.premium-dual-header-second-clip.stroke {
|
2305 |
-webkit-text-stroke-color: transparent;
|
2306 |
-
-webkit-text-fill-color: #
|
2307 |
-
-webkit-text-stroke-width:
|
2308 |
}
|
2309 |
|
2310 |
@media (max-width: 500px) {
|
@@ -3243,6 +3243,7 @@ button.premium-modal-box-modal-close {
|
|
3243 |
}
|
3244 |
.pa-gallery-img-container img {
|
3245 |
display: block;
|
|
|
3246 |
-webkit-transition: all 0.3s ease-in-out;
|
3247 |
-moz-transition: all 0.3s ease-in-out;
|
3248 |
-ms-transition: all 0.3s ease-in-out;
|
2303 |
.premium-dual-header-first-clip.stroke .premium-dual-header-first-span,
|
2304 |
.premium-dual-header-second-clip.stroke {
|
2305 |
-webkit-text-stroke-color: transparent;
|
2306 |
+
-webkit-text-fill-color: #fafafa;
|
2307 |
+
-webkit-text-stroke-width: 2px;
|
2308 |
}
|
2309 |
|
2310 |
@media (max-width: 500px) {
|
3243 |
}
|
3244 |
.pa-gallery-img-container img {
|
3245 |
display: block;
|
3246 |
+
width: 100%;
|
3247 |
-webkit-transition: all 0.3s ease-in-out;
|
3248 |
-moz-transition: all 0.3s ease-in-out;
|
3249 |
-ms-transition: all 0.3s ease-in-out;
|
assets/frontend/js/premium-addons.js
CHANGED
@@ -119,28 +119,32 @@
|
|
119 |
|
120 |
if ( loadMore ) {
|
121 |
|
122 |
-
var minimum
|
123 |
-
imageToShow
|
124 |
|
125 |
galleryElement.parent().find('.premium-gallery-load-more div').hide();
|
126 |
if ( galleryElement.find(".premium-gallery-item").length > minimum ) {
|
127 |
galleryElement.parent().find('.premium-gallery-load-more').removeClass('premium-gallery-btn-hidden');
|
128 |
galleryElement.find(".premium-gallery-item:gt(" + ( minimum - 1 ) + ")").hide();
|
129 |
-
function appendItems() {
|
130 |
-
|
|
|
|
|
131 |
if ( itemsToShow.length > 0 ) {
|
132 |
itemsToShow.show();
|
133 |
galleryElement.isotope('layout');
|
134 |
}
|
|
|
135 |
}
|
136 |
galleryElement.parent().on('click', '.premium-gallery-load-more-btn', function() {
|
|
|
137 |
$.ajax({
|
138 |
-
url: appendItems(),
|
139 |
beforeSend: function() {
|
140 |
galleryElement.parent().find('.premium-gallery-load-more div').show();
|
141 |
},
|
142 |
success: function() {
|
143 |
-
var itemsLeft =
|
144 |
if ( itemsLeft.length > 0 ) {
|
145 |
galleryElement.parent().find('.premium-gallery-load-more div').hide();
|
146 |
} else {
|
@@ -154,9 +158,8 @@
|
|
154 |
|
155 |
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
|
156 |
e.preventDefault();
|
157 |
-
|
158 |
-
|
159 |
-
.removeClass("active");
|
160 |
$(this).addClass("active");
|
161 |
var selector = $(this).attr("data-filter");
|
162 |
galleryElement.isotope({ filter: selector });
|
119 |
|
120 |
if ( loadMore ) {
|
121 |
|
122 |
+
var minimum = gridSettings['minimum'],
|
123 |
+
imageToShow = gridSettings['click_images'];
|
124 |
|
125 |
galleryElement.parent().find('.premium-gallery-load-more div').hide();
|
126 |
if ( galleryElement.find(".premium-gallery-item").length > minimum ) {
|
127 |
galleryElement.parent().find('.premium-gallery-load-more').removeClass('premium-gallery-btn-hidden');
|
128 |
galleryElement.find(".premium-gallery-item:gt(" + ( minimum - 1 ) + ")").hide();
|
129 |
+
function appendItems( currentItems ) {
|
130 |
+
|
131 |
+
var itemsToShow = $( currentItems ).filter(':hidden').slice( 0, imageToShow );
|
132 |
+
|
133 |
if ( itemsToShow.length > 0 ) {
|
134 |
itemsToShow.show();
|
135 |
galleryElement.isotope('layout');
|
136 |
}
|
137 |
+
|
138 |
}
|
139 |
galleryElement.parent().on('click', '.premium-gallery-load-more-btn', function() {
|
140 |
+
var currentFilterItems = galleryElement.isotope('getFilteredItemElements');
|
141 |
$.ajax({
|
142 |
+
url: appendItems( currentFilterItems ),
|
143 |
beforeSend: function() {
|
144 |
galleryElement.parent().find('.premium-gallery-load-more div').show();
|
145 |
},
|
146 |
success: function() {
|
147 |
+
var itemsLeft = $( currentFilterItems ).filter(':hidden').slice( 0, imageToShow );
|
148 |
if ( itemsLeft.length > 0 ) {
|
149 |
galleryElement.parent().find('.premium-gallery-load-more div').hide();
|
150 |
} else {
|
158 |
|
159 |
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
|
160 |
e.preventDefault();
|
161 |
+
//Showing all images of category
|
162 |
+
$scope.find(".premium-gallery-cats-container li .active").removeClass("active");
|
|
|
163 |
$(this).addClass("active");
|
164 |
var selector = $(this).attr("data-filter");
|
165 |
galleryElement.isotope({ filter: selector });
|
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.5.
|
7 |
Author: Leap13
|
8 |
Author URI: https://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.5.
|
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.5.
|
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.5.5
|
7 |
Author: Leap13
|
8 |
Author URI: https://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.5.5');
|
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.5.4');
|
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.2.2
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 3.5.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -141,6 +141,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
141 |
|
142 |
== Changelog ==
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
= 3.5.4 =
|
145 |
|
146 |
- Tweak: Added `Stroke` option for First/Second heading in Dual Heading widget.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.2.2
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 3.5.5
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
141 |
|
142 |
== Changelog ==
|
143 |
|
144 |
+
= 3.5.5 =
|
145 |
+
|
146 |
+
- Tweak: `Even` layout enhanced for more usability in Grid widget.
|
147 |
+
- Fixed: `Load More` button loads images from `All` category even when not on `All` filter tab in Grid widget.
|
148 |
+
- Fixed: Transparent `Stroke Fill Color` option issue in Dual Heading widget.
|
149 |
+
|
150 |
= 3.5.4 =
|
151 |
|
152 |
- Tweak: Added `Stroke` option for First/Second heading in Dual Heading widget.
|
widgets/premium-dual-header.php
CHANGED
@@ -271,26 +271,27 @@ class Premium_Dual_Header extends Widget_Base {
|
|
271 |
]
|
272 |
);
|
273 |
|
274 |
-
|
275 |
-
$this->add_group_control(
|
276 |
-
Group_Control_Background::get_type(),
|
277 |
[
|
278 |
-
'
|
279 |
-
'
|
280 |
'condition' => [
|
281 |
'premium_dual_header_first_back_clip' => 'clipped'
|
282 |
],
|
283 |
-
'selector' => '{{WRAPPER}} .premium-dual-header-first-span'
|
284 |
]
|
285 |
);
|
286 |
|
287 |
-
$this->add_control('
|
288 |
[
|
289 |
-
'label' => __('Stroke', 'premium-addons-for-elementor'),
|
290 |
-
'type' => Controls_Manager::
|
291 |
-
'condition'
|
292 |
-
'premium_dual_header_first_back_clip'
|
|
|
293 |
],
|
|
|
|
|
|
|
294 |
]
|
295 |
);
|
296 |
|
@@ -322,6 +323,20 @@ class Premium_Dual_Header extends Widget_Base {
|
|
322 |
]
|
323 |
);
|
324 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
/*First Border*/
|
326 |
$this->add_group_control(
|
327 |
Group_Control_Border::get_type(),
|
@@ -453,26 +468,27 @@ class Premium_Dual_Header extends Widget_Base {
|
|
453 |
]
|
454 |
);
|
455 |
|
456 |
-
|
457 |
-
$this->add_group_control(
|
458 |
-
Group_Control_Background::get_type(),
|
459 |
[
|
460 |
-
'
|
461 |
-
'
|
462 |
'condition' => [
|
463 |
'premium_dual_header_second_back_clip' => 'clipped'
|
464 |
],
|
465 |
-
'selector' => '{{WRAPPER}} .premium-dual-header-second-header'
|
466 |
]
|
467 |
);
|
468 |
|
469 |
-
$this->add_control('
|
470 |
[
|
471 |
-
'label' => __('Stroke', 'premium-addons-for-elementor'),
|
472 |
-
'type' => Controls_Manager::
|
473 |
-
'condition'
|
474 |
-
'premium_dual_header_second_back_clip'
|
|
|
475 |
],
|
|
|
|
|
|
|
476 |
]
|
477 |
);
|
478 |
|
@@ -504,6 +520,20 @@ class Premium_Dual_Header extends Widget_Base {
|
|
504 |
]
|
505 |
);
|
506 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
507 |
/*Second Border*/
|
508 |
$this->add_group_control(
|
509 |
Group_Control_Border::get_type(),
|
271 |
]
|
272 |
);
|
273 |
|
274 |
+
$this->add_control('premium_dual_header_first_stroke',
|
|
|
|
|
275 |
[
|
276 |
+
'label' => __('Stroke', 'premium-addons-for-elementor'),
|
277 |
+
'type' => Controls_Manager::SWITCHER,
|
278 |
'condition' => [
|
279 |
'premium_dual_header_first_back_clip' => 'clipped'
|
280 |
],
|
|
|
281 |
]
|
282 |
);
|
283 |
|
284 |
+
$this->add_control('premium_dual_header_first_stroke_text_color',
|
285 |
[
|
286 |
+
'label' => __('Stroke Text Color', 'premium-addons-for-elementor'),
|
287 |
+
'type' => Controls_Manager::COLOR,
|
288 |
+
'condition' => [
|
289 |
+
'premium_dual_header_first_back_clip' => 'clipped',
|
290 |
+
'premium_dual_header_first_stroke' => 'yes'
|
291 |
],
|
292 |
+
'selectors' => [
|
293 |
+
'{{WRAPPER}} .premium-dual-header-first-clip.stroke .premium-dual-header-first-span' => '-webkit-text-stroke-color: {{VALUE}};'
|
294 |
+
]
|
295 |
]
|
296 |
);
|
297 |
|
323 |
]
|
324 |
);
|
325 |
|
326 |
+
/*First Clip*/
|
327 |
+
$this->add_group_control(
|
328 |
+
Group_Control_Background::get_type(),
|
329 |
+
[
|
330 |
+
'name' => 'premium_dual_header_first_clipped_background',
|
331 |
+
'types' => [ 'classic' , 'gradient' ],
|
332 |
+
'condition' => [
|
333 |
+
'premium_dual_header_first_back_clip' => 'clipped',
|
334 |
+
'premium_dual_header_first_stroke!' => 'yes'
|
335 |
+
],
|
336 |
+
'selector' => '{{WRAPPER}} .premium-dual-header-first-span'
|
337 |
+
]
|
338 |
+
);
|
339 |
+
|
340 |
/*First Border*/
|
341 |
$this->add_group_control(
|
342 |
Group_Control_Border::get_type(),
|
468 |
]
|
469 |
);
|
470 |
|
471 |
+
$this->add_control('premium_dual_header_second_stroke',
|
|
|
|
|
472 |
[
|
473 |
+
'label' => __('Stroke', 'premium-addons-for-elementor'),
|
474 |
+
'type' => Controls_Manager::SWITCHER,
|
475 |
'condition' => [
|
476 |
'premium_dual_header_second_back_clip' => 'clipped'
|
477 |
],
|
|
|
478 |
]
|
479 |
);
|
480 |
|
481 |
+
$this->add_control('premium_dual_header_second_stroke_text_color',
|
482 |
[
|
483 |
+
'label' => __('Stroke Text Color', 'premium-addons-for-elementor'),
|
484 |
+
'type' => Controls_Manager::COLOR,
|
485 |
+
'condition' => [
|
486 |
+
'premium_dual_header_second_back_clip' => 'clipped',
|
487 |
+
'premium_dual_header_second_stroke' => 'yes'
|
488 |
],
|
489 |
+
'selectors' => [
|
490 |
+
'{{WRAPPER}} .premium-dual-header-second-clip.stroke' => '-webkit-text-stroke-color: {{VALUE}};'
|
491 |
+
]
|
492 |
]
|
493 |
);
|
494 |
|
520 |
]
|
521 |
);
|
522 |
|
523 |
+
/*Second Clip*/
|
524 |
+
$this->add_group_control(
|
525 |
+
Group_Control_Background::get_type(),
|
526 |
+
[
|
527 |
+
'name' => 'premium_dual_header_second_clipped_background',
|
528 |
+
'types' => [ 'classic' , 'gradient' ],
|
529 |
+
'condition' => [
|
530 |
+
'premium_dual_header_second_back_clip' => 'clipped',
|
531 |
+
'premium_dual_header_second_stroke!' => 'yes'
|
532 |
+
],
|
533 |
+
'selector' => '{{WRAPPER}} .premium-dual-header-second-header'
|
534 |
+
]
|
535 |
+
);
|
536 |
+
|
537 |
/*Second Border*/
|
538 |
$this->add_group_control(
|
539 |
Group_Control_Border::get_type(),
|
widgets/premium-grid.php
CHANGED
@@ -82,8 +82,35 @@ class Premium_Grid extends Widget_Base {
|
|
82 |
'default' => 'fitRows',
|
83 |
]
|
84 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
|
86 |
-
$this->add_control('
|
87 |
[
|
88 |
'label' => __('Images Fit', 'premium-addons-for-elementor'),
|
89 |
'type' => Controls_Manager::SELECT,
|
@@ -93,10 +120,10 @@ class Premium_Grid extends Widget_Base {
|
|
93 |
],
|
94 |
'default' => 'fill',
|
95 |
'selectors' => [
|
96 |
-
'{{WRAPPER}} .premium-
|
97 |
],
|
98 |
'condition' => [
|
99 |
-
'premium_gallery_img_size_select' => 'metro'
|
100 |
]
|
101 |
]
|
102 |
);
|
82 |
'default' => 'fitRows',
|
83 |
]
|
84 |
);
|
85 |
+
|
86 |
+
$this->add_responsive_control('pemium_gallery_even_img_height',
|
87 |
+
[
|
88 |
+
'label' => __( 'Maximum Height', 'premium-addons-for-elementor' ),
|
89 |
+
'label_block' => true,
|
90 |
+
'size_units' => ['px', 'em', 'vh'],
|
91 |
+
'description' => __('You may need to click `Apply` button after settings this option', 'premium-addons-for-elementor'),
|
92 |
+
'type' => Controls_Manager::SLIDER,
|
93 |
+
'range' => [
|
94 |
+
'px' => [
|
95 |
+
'min' => 1,
|
96 |
+
'max' => 500,
|
97 |
+
],
|
98 |
+
'em' => [
|
99 |
+
'min' => 1,
|
100 |
+
'max' => 50,
|
101 |
+
],
|
102 |
+
],
|
103 |
+
'render_type' => 'template',
|
104 |
+
'condition' => [
|
105 |
+
'premium_gallery_img_size_select' => 'fitRows'
|
106 |
+
],
|
107 |
+
'selectors' => [
|
108 |
+
'{{WRAPPER}} .premium-gallery-item .pa-gallery-image' => 'max-height: {{SIZE}}{{UNIT}}'
|
109 |
+
]
|
110 |
+
]
|
111 |
+
);
|
112 |
|
113 |
+
$this->add_control('premium_gallery_images_fit',
|
114 |
[
|
115 |
'label' => __('Images Fit', 'premium-addons-for-elementor'),
|
116 |
'type' => Controls_Manager::SELECT,
|
120 |
],
|
121 |
'default' => 'fill',
|
122 |
'selectors' => [
|
123 |
+
'{{WRAPPER}} .premium-gallery-item .pa-gallery-image' => 'object-fit: {{VALUE}}'
|
124 |
],
|
125 |
'condition' => [
|
126 |
+
'premium_gallery_img_size_select' => [ 'metro', 'fitRows' ]
|
127 |
]
|
128 |
]
|
129 |
);
|