Version Description
- Tweak: Added
Metro Layout
for Grid widget. - Tweak:
Show Gallery Images
on lightbox option added to Grid widget. - Tweak: Added
Start Number
option for Counter widget. - Tweak: Icon Animation while scrolling enhanced for Counter widget.
- Tweak: JS code refactor to improve performance speed.
- Fixed: Images overlap issue after page reload in Grid widget.
- Fixed: Description not showing with
Effect 4
in Banner widget.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.1.1 |
Comparing to | |
See all releases |
Code changes from version 3.1.0 to 3.1.1
- assets/css/premium-addons.css +17 -9
- assets/js/lib/countUpmin.js +0 -1
- assets/js/premium-addons.js +31 -110
- includes/class-addons-integration.php +7 -7
- premium-addons-for-elementor.php +3 -3
- readme.txt +11 -1
- widgets/premium-counter.php +63 -40
- widgets/premium-grid.php +136 -57
assets/css/premium-addons.css
CHANGED
@@ -241,6 +241,7 @@
|
|
241 |
}
|
242 |
.premium_banner_animation2:hover .premium_addons-banner-ib-content,
|
243 |
.premium_banner_animation2.active .premium_addons-banner-ib-content {
|
|
|
244 |
-webkit-transform: translate3d(0, -30px, 0);
|
245 |
transform: translate3d(0, -30px, 0);
|
246 |
}
|
@@ -3117,16 +3118,16 @@ button.premium-modal-box-modal-close {
|
|
3117 |
align-items: center;
|
3118 |
justify-content: center;
|
3119 |
}
|
3120 |
-
|
3121 |
clear: left;
|
3122 |
-
}
|
3123 |
-
|
3124 |
clear: left;
|
3125 |
-
}
|
3126 |
-
|
3127 |
clear: left;
|
3128 |
-
}
|
3129 |
-
|
3130 |
clear: left;
|
3131 |
}
|
3132 |
.premium-grid-1666 .premium-gallery-item:nth-child(6n+1) {
|
@@ -3134,14 +3135,17 @@ button.premium-modal-box-modal-close {
|
|
3134 |
}
|
3135 |
.premium-grid-8333 .premium-gallery-item:nth-child(12n+1) {
|
3136 |
clear: left;
|
3137 |
-
}
|
3138 |
.premium-img-gallery {
|
3139 |
clear: both;
|
3140 |
overflow: hidden;
|
3141 |
}
|
3142 |
.premium-gallery-container .premium-gallery-item {
|
3143 |
padding: 10px;
|
3144 |
-
float: left
|
|
|
|
|
|
|
3145 |
}
|
3146 |
.premium-img-gallery-filter .premium-gallery-cats-container li a.category {
|
3147 |
border-radius: 75px;
|
@@ -3190,6 +3194,10 @@ button.premium-modal-box-modal-close {
|
|
3190 |
-webkit-transform: translateX(-15px) scale(1.1);
|
3191 |
transform: translateX(-15px) scale(1.1);
|
3192 |
}
|
|
|
|
|
|
|
|
|
3193 |
.pa-gallery-img .pa-gallery-magnific-image span,
|
3194 |
.pa-gallery-img .pa-gallery-img-link span {
|
3195 |
line-height: 1;
|
241 |
}
|
242 |
.premium_banner_animation2:hover .premium_addons-banner-ib-content,
|
243 |
.premium_banner_animation2.active .premium_addons-banner-ib-content {
|
244 |
+
opacity: 1;
|
245 |
-webkit-transform: translate3d(0, -30px, 0);
|
246 |
transform: translate3d(0, -30px, 0);
|
247 |
}
|
3118 |
align-items: center;
|
3119 |
justify-content: center;
|
3120 |
}
|
3121 |
+
/*.premium-grid-50 .premium-gallery-item:nth-child(2n+1) {
|
3122 |
clear: left;
|
3123 |
+
}*/
|
3124 |
+
/*.premium-grid-33330 .premium-gallery-item:nth-child(3n+1) {
|
3125 |
clear: left;
|
3126 |
+
}*/
|
3127 |
+
/*.premium-grid-25 .premium-gallery-item:nth-child(4n+1) {
|
3128 |
clear: left;
|
3129 |
+
}*/
|
3130 |
+
/*.premium-grid-20 .premium-gallery-item:nth-child(5n+1) {
|
3131 |
clear: left;
|
3132 |
}
|
3133 |
.premium-grid-1666 .premium-gallery-item:nth-child(6n+1) {
|
3135 |
}
|
3136 |
.premium-grid-8333 .premium-gallery-item:nth-child(12n+1) {
|
3137 |
clear: left;
|
3138 |
+
}*/
|
3139 |
.premium-img-gallery {
|
3140 |
clear: both;
|
3141 |
overflow: hidden;
|
3142 |
}
|
3143 |
.premium-gallery-container .premium-gallery-item {
|
3144 |
padding: 10px;
|
3145 |
+
/* float: left;*/
|
3146 |
+
}
|
3147 |
+
.premium-gallery-container .grid-sizer {
|
3148 |
+
width: 25%;
|
3149 |
}
|
3150 |
.premium-img-gallery-filter .premium-gallery-cats-container li a.category {
|
3151 |
border-radius: 75px;
|
3194 |
-webkit-transform: translateX(-15px) scale(1.1);
|
3195 |
transform: translateX(-15px) scale(1.1);
|
3196 |
}
|
3197 |
+
.pa-gallery-img .pa-gallery-magnific-image,
|
3198 |
+
.pa-gallery-img .pa-gallery-img-link {
|
3199 |
+
outline: none;
|
3200 |
+
}
|
3201 |
.pa-gallery-img .pa-gallery-magnific-image span,
|
3202 |
.pa-gallery-img .pa-gallery-img-link span {
|
3203 |
line-height: 1;
|
assets/js/lib/countUpmin.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
!function(a,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):a.CountUp=e()}(this,function(a,e,n){var t=function(a,e,n,t,i,r){function o(a){a=a.toFixed(s.decimals),a+="";var e,n,t,i;if(e=a.split("."),n=e[0],t=e.length>1?s.options.decimal+e[1]:"",i=/(\d+)(\d{3})/,s.options.useGrouping)for(;i.test(n);)n=n.replace(i,"$1"+s.options.separator+"$2");return s.options.numerals.length&&(n=n.replace(/[0-9]/g,function(a){return s.options.numerals[+a]}),t=t.replace(/[0-9]/g,function(a){return s.options.numerals[+a]})),s.options.prefix+n+t+s.options.suffix}function u(a,e,n,t){return n*(-Math.pow(2,-10*a/t)+1)*1024/1023+e}function l(a){return"number"==typeof a&&!isNaN(a)}var s=this;if(s.version=function(){return"1.9.1"},s.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:u,formattingFn:o,prefix:"",suffix:"",numerals:[]},r&&"object"==typeof r)for(var m in s.options)r.hasOwnProperty(m)&&null!==r[m]&&(s.options[m]=r[m]);""===s.options.separator&&(s.options.useGrouping=!1);for(var d=0,c=["webkit","moz","ms","o"],f=0;f<c.length&&!window.requestAnimationFrame;++f)window.requestAnimationFrame=window[c[f]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[c[f]+"CancelAnimationFrame"]||window[c[f]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(a,e){var n=(new Date).getTime(),t=Math.max(0,16-(n-d)),i=window.setTimeout(function(){a(n+t)},t);return d=n+t,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(a){clearTimeout(a)}),s.initialize=function(){return!!s.initialized||(s.error="",s.d="string"==typeof a?document.getElementById(a):a,s.d?(s.startVal=Number(e),s.endVal=Number(n),l(s.startVal)&&l(s.endVal)?(s.decimals=Math.max(0,t||0),s.dec=Math.pow(10,s.decimals),s.duration=1e3*Number(i)||2e3,s.countDown=s.startVal>s.endVal,s.frameVal=s.startVal,s.initialized=!0,!0):(s.error="[CountUp] startVal ("+e+") or endVal ("+n+") is not a number",!1)):(s.error="[CountUp] target is null or undefined",!1))},s.printValue=function(a){var e=s.options.formattingFn(a);"INPUT"===s.d.tagName?this.d.value=e:"text"===s.d.tagName||"tspan"===s.d.tagName?this.d.textContent=e:this.d.innerHTML=e},s.count=function(a){s.startTime||(s.startTime=a),s.timestamp=a;var e=a-s.startTime;s.remaining=s.duration-e,s.options.useEasing?s.countDown?s.frameVal=s.startVal-s.options.easingFn(e,0,s.startVal-s.endVal,s.duration):s.frameVal=s.options.easingFn(e,s.startVal,s.endVal-s.startVal,s.duration):s.countDown?s.frameVal=s.startVal-(s.startVal-s.endVal)*(e/s.duration):s.frameVal=s.startVal+(s.endVal-s.startVal)*(e/s.duration),s.countDown?s.frameVal=s.frameVal<s.endVal?s.endVal:s.frameVal:s.frameVal=s.frameVal>s.endVal?s.endVal:s.frameVal,s.frameVal=Math.round(s.frameVal*s.dec)/s.dec,s.printValue(s.frameVal),e<s.duration?s.rAF=requestAnimationFrame(s.count):s.callback&&s.callback()},s.start=function(a){s.initialize()&&(s.callback=a,s.rAF=requestAnimationFrame(s.count))},s.pauseResume=function(){s.paused?(s.paused=!1,delete s.startTime,s.duration=s.remaining,s.startVal=s.frameVal,requestAnimationFrame(s.count)):(s.paused=!0,cancelAnimationFrame(s.rAF))},s.reset=function(){s.paused=!1,delete s.startTime,s.initialized=!1,s.initialize()&&(cancelAnimationFrame(s.rAF),s.printValue(s.startVal))},s.update=function(a){if(s.initialize()){if(a=Number(a),!l(a))return void(s.error="[CountUp] update() - new endVal is not a number: "+a);s.error="",a!==s.frameVal&&(cancelAnimationFrame(s.rAF),s.paused=!1,delete s.startTime,s.startVal=s.frameVal,s.endVal=a,s.countDown=s.startVal>s.endVal,s.rAF=requestAnimationFrame(s.count))}},s.initialize()&&s.printValue(s.startVal)};return t});
|
|
assets/js/premium-addons.js
CHANGED
@@ -62,61 +62,30 @@
|
|
62 |
|
63 |
/****** Premium Grid Handler ******/
|
64 |
var PremiumGridWidgetHandler = function($scope, $) {
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
-
var
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
easing: "linear",
|
82 |
-
queue: false
|
83 |
-
}
|
84 |
-
});
|
85 |
-
htmlContent.imagesLoaded(function() {
|
86 |
-
setTimeout(function() {
|
87 |
-
htmlContent.isotope({
|
88 |
-
layoutMode: "masonry",
|
89 |
-
filter: isotopeOptions["active_cat"]
|
90 |
-
});
|
91 |
-
}, 1000);
|
92 |
-
});
|
93 |
-
} else if (isotopeOptions["img_size"] === "one_size") {
|
94 |
-
htmlContent.isotope({
|
95 |
-
// options
|
96 |
-
itemSelector: ".premium-gallery-item",
|
97 |
-
percentPosition: true,
|
98 |
-
animationOptions: {
|
99 |
-
duration: 750,
|
100 |
-
easing: "linear",
|
101 |
-
queue: false
|
102 |
-
}
|
103 |
-
});
|
104 |
-
setTimeout(function() {
|
105 |
-
htmlContent.isotope({
|
106 |
-
layoutMode: "fitRows",
|
107 |
-
filter: isotopeOptions["active_cat"]
|
108 |
});
|
109 |
-
|
110 |
-
// htmlContent.isotope({layoutMode: 'fitRows'});
|
111 |
-
$(window).on("load", function() {
|
112 |
-
setTimeout(function() {
|
113 |
-
htmlContent.isotope({
|
114 |
-
layoutMode: "fitRows",
|
115 |
-
filter: isotopeOptions["active_cat"]
|
116 |
-
});
|
117 |
-
}, 1000);
|
118 |
-
});
|
119 |
-
}
|
120 |
|
121 |
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
|
122 |
e.preventDefault();
|
@@ -125,7 +94,7 @@
|
|
125 |
.removeClass("active");
|
126 |
$(this).addClass("active");
|
127 |
var selector = $(this).attr("data-filter");
|
128 |
-
|
129 |
return false;
|
130 |
});
|
131 |
|
@@ -135,7 +104,7 @@
|
|
135 |
opacity: 0.7,
|
136 |
show_title: false,
|
137 |
deeplinking: false,
|
138 |
-
overlay_gallery:
|
139 |
custom_markup: "",
|
140 |
default_width: 900,
|
141 |
default_height: 506,
|
@@ -145,61 +114,13 @@
|
|
145 |
|
146 |
/****** Premium Counter Handler ******/
|
147 |
var PremiumCounterHandler = function($scope, $) {
|
148 |
-
var counterElement = $scope.find(".premium-counter")
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
counterSettings["value"],
|
156 |
-
counterSettings["d_after"],
|
157 |
-
counterSettings["speed"],
|
158 |
-
{
|
159 |
-
useEasing: true,
|
160 |
-
separator: counterSettings["separator"],
|
161 |
-
decimal: counterSettings["decimal"]
|
162 |
-
}
|
163 |
-
);
|
164 |
-
if (counter_offset < $(window).outerHeight() - 150) {
|
165 |
-
counter.start();
|
166 |
-
}
|
167 |
-
function start_counter() {
|
168 |
-
if ($(window).scrollTop() > counter_offset - 600) {
|
169 |
-
counter.start();
|
170 |
-
}
|
171 |
-
}
|
172 |
-
function isScrolledIntoView(elem) {
|
173 |
-
var docViewTop = $(window).scrollTop();
|
174 |
-
var docViewBottom = docViewTop + $(window).height();
|
175 |
-
var elemTop = elem.offset().top;
|
176 |
-
var elemBottom = elemTop + elem.height();
|
177 |
-
return elemBottom <= docViewBottom && elemTop >= docViewTop;
|
178 |
-
}
|
179 |
-
function addAnimation() {
|
180 |
-
$(".premium-counter-init").each(function() {
|
181 |
-
var $this = $(this),
|
182 |
-
parentId = $this.parents(".premium-counter-area").attr("id"),
|
183 |
-
iconClass = $("#" + parentId).find(".icon"),
|
184 |
-
animation = iconClass.data("animation");
|
185 |
-
if (iconClass.length) {
|
186 |
-
if (isScrolledIntoView(iconClass)) {
|
187 |
-
if (!iconClass.hasClass("animated")) {
|
188 |
-
$("#" + parentId)
|
189 |
-
.find(".icon")
|
190 |
-
.addClass("animated " + animation);
|
191 |
-
}
|
192 |
-
}
|
193 |
-
}
|
194 |
-
});
|
195 |
-
}
|
196 |
-
addAnimation();
|
197 |
-
$(document).ready(function() {
|
198 |
-
$(window).on("scroll", function() {
|
199 |
-
addAnimation();
|
200 |
-
start_counter();
|
201 |
-
});
|
202 |
-
});
|
203 |
});
|
204 |
};
|
205 |
|
62 |
|
63 |
/****** Premium Grid Handler ******/
|
64 |
var PremiumGridWidgetHandler = function($scope, $) {
|
65 |
+
var galleryElement = $scope.find(".premium-gallery-container"),
|
66 |
+
isotopeOptions = galleryElement.data("settings"),
|
67 |
+
layout = isotopeOptions['img_size'],
|
68 |
+
columnWidth = null;
|
69 |
+
|
70 |
+
if( layout === 'metro' ) {
|
71 |
+
layout = 'masonry';
|
72 |
+
columnWidth = ".grid-sizer";
|
73 |
}
|
74 |
+
var grid = galleryElement.imagesLoaded(function() {
|
75 |
+
grid.isotope({
|
76 |
+
itemSelector: ".premium-gallery-item",
|
77 |
+
percentPosition: true,
|
78 |
+
animationOptions: {
|
79 |
+
duration: 750,
|
80 |
+
easing: "linear"
|
81 |
+
},
|
82 |
+
filter: isotopeOptions["active_cat"],
|
83 |
+
layoutMode: layout,
|
84 |
+
masonry: {
|
85 |
+
columnWidth: columnWidth
|
86 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
});
|
88 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
|
91 |
e.preventDefault();
|
94 |
.removeClass("active");
|
95 |
$(this).addClass("active");
|
96 |
var selector = $(this).attr("data-filter");
|
97 |
+
galleryElement.isotope({ filter: selector });
|
98 |
return false;
|
99 |
});
|
100 |
|
104 |
opacity: 0.7,
|
105 |
show_title: false,
|
106 |
deeplinking: false,
|
107 |
+
overlay_gallery: isotopeOptions['overlay_gallery'],
|
108 |
custom_markup: "",
|
109 |
default_width: 900,
|
110 |
default_height: 506,
|
114 |
|
115 |
/****** Premium Counter Handler ******/
|
116 |
var PremiumCounterHandler = function($scope, $) {
|
117 |
+
var counterElement = $scope.find(".premium-counter");
|
118 |
+
elementorFrontend.waypoint(counterElement, function () {
|
119 |
+
var counterSettings = counterElement.data(),
|
120 |
+
incrementElement = counterElement.find(".premium-counter-init"),
|
121 |
+
iconElement = counterElement.find(".icon");
|
122 |
+
$(incrementElement).numerator(counterSettings);
|
123 |
+
$(iconElement).addClass( "animated " + iconElement.data("animation") );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
});
|
125 |
};
|
126 |
|
includes/class-addons-integration.php
CHANGED
@@ -140,13 +140,13 @@ class Premium_Addons_Integration {
|
|
140 |
true
|
141 |
);
|
142 |
|
143 |
-
wp_register_script(
|
144 |
-
'counter-up-js',
|
145 |
-
PREMIUM_ADDONS_URL . 'assets/js/lib/countUpmin.js',
|
146 |
-
array('jquery'),
|
147 |
-
PREMIUM_ADDONS_VERSION,
|
148 |
-
true
|
149 |
-
);
|
150 |
|
151 |
wp_register_script(
|
152 |
'isotope-js',
|
140 |
true
|
141 |
);
|
142 |
|
143 |
+
// wp_register_script(
|
144 |
+
// 'counter-up-js',
|
145 |
+
// PREMIUM_ADDONS_URL . 'assets/js/lib/countUpmin.js',
|
146 |
+
// array('jquery'),
|
147 |
+
// PREMIUM_ADDONS_VERSION,
|
148 |
+
// true
|
149 |
+
// );
|
150 |
|
151 |
wp_register_script(
|
152 |
'isotope-js',
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 21+ 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
|
@@ -23,12 +23,12 @@ if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
|
23 |
|
24 |
|
25 |
// Define Constants
|
26 |
-
define('PREMIUM_ADDONS_VERSION', '3.1.
|
27 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
28 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
29 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
30 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
|
31 |
-
define('PREMIUM_ADDONS_STABLE_VERSION', '3.0
|
32 |
|
33 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
34 |
/*
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 21+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 3.1.1
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
23 |
|
24 |
|
25 |
// Define Constants
|
26 |
+
define('PREMIUM_ADDONS_VERSION', '3.1.1');
|
27 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
28 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
29 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
30 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
|
31 |
+
define('PREMIUM_ADDONS_STABLE_VERSION', '3.1.0');
|
32 |
|
33 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
34 |
/*
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.0.3
|
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 |
|
@@ -138,6 +138,16 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
138 |
|
139 |
== Changelog ==
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
= 3.1.0 =
|
142 |
|
143 |
- Tweak: Added `Carousel` option for Blog widget.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.0.3
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 3.1.1
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
138 |
|
139 |
== Changelog ==
|
140 |
|
141 |
+
= 3.1.1 =
|
142 |
+
|
143 |
+
- Tweak: Added `Metro Layout` for Grid widget.
|
144 |
+
- Tweak: `Show Gallery Images` on lightbox option added to Grid widget.
|
145 |
+
- Tweak: Added `Start Number` option for Counter widget.
|
146 |
+
- Tweak: Icon Animation while scrolling enhanced for Counter widget.
|
147 |
+
- Tweak: JS code refactor to improve performance speed.
|
148 |
+
- Fixed: Images overlap issue after page reload in Grid widget.
|
149 |
+
- Fixed: Description not showing with `Effect 4` in Banner widget.
|
150 |
+
|
151 |
= 3.1.0 =
|
152 |
|
153 |
- Tweak: Added `Carousel` option for Blog widget.
|
widgets/premium-counter.php
CHANGED
@@ -19,7 +19,8 @@ class Premium_Counter extends Widget_Base {
|
|
19 |
|
20 |
public function get_script_depends() {
|
21 |
return [
|
22 |
-
'
|
|
|
23 |
'premium-addons-js',
|
24 |
];
|
25 |
}
|
@@ -46,11 +47,18 @@ class Premium_Counter extends Widget_Base {
|
|
46 |
]
|
47 |
);
|
48 |
|
49 |
-
$this->add_control('
|
50 |
[
|
51 |
-
'label' => __( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
'type' => Controls_Manager::NUMBER,
|
53 |
-
'description' => __( 'Enter Counter Value', 'premium-addons-for-elementor' ),
|
54 |
'default' => 500
|
55 |
]
|
56 |
);
|
@@ -65,16 +73,16 @@ class Premium_Counter extends Widget_Base {
|
|
65 |
]
|
66 |
);
|
67 |
|
68 |
-
$this->add_control('premium_counter_d_separator',
|
69 |
-
[
|
70 |
-
'label' => __( 'Decimal Point', 'premium-addons-for-elementor' ),
|
71 |
-
'type' => Controls_Manager::TEXT,
|
72 |
-
'dynamic' => [ 'active' => true ],
|
73 |
-
'description' => __( 'Set a decimal number (Eg - 12.76). The decimal point '.' will be replaced with the value that you will enter above', 'premium-addons-for-elementor' ),
|
74 |
-
'default' => '.'
|
75 |
-
]
|
76 |
-
);
|
77 |
-
|
78 |
$this->add_control('premium_counter_d_after',
|
79 |
[
|
80 |
'label' => __( 'Digits After Decimal Point', 'premium-addons-for-elementor' ),
|
@@ -486,28 +494,38 @@ class Premium_Counter extends Widget_Base {
|
|
486 |
|
487 |
public function get_counter_content($settings, $direction) {
|
488 |
|
489 |
-
|
490 |
-
$d_s = $settings['premium_counter_d_separator'];
|
491 |
-
$t_s = $settings['premium_counter_t_separator'];
|
492 |
-
$
|
493 |
|
494 |
?>
|
495 |
|
496 |
<div class="premium-init-wrapper <?php echo $direction; ?>">
|
497 |
|
498 |
-
<?php if ( ! empty( $settings['premium_counter_preffix'] ) ) :
|
|
|
|
|
499 |
|
500 |
-
<span class="premium-counter-init" id="counter-<?php echo esc_attr($this->get_id()); ?>"><?php echo $
|
501 |
|
502 |
-
<?php if (!empty( $settings['premium_counter_suffix'] ) ) :
|
|
|
|
|
503 |
|
504 |
-
<?php if ( ! empty( $settings['premium_counter_title'] ) ) :
|
|
|
|
|
|
|
|
|
|
|
|
|
505 |
</div>
|
506 |
|
507 |
<?php
|
508 |
}
|
509 |
|
510 |
-
public function get_counter_icon($settings, $direction) {
|
511 |
|
512 |
$icon_style = $settings['premium_counter_icon_style'] != 'simple' ? ' icon-bg ' . $settings['premium_counter_icon_style'] : '';
|
513 |
|
@@ -538,9 +556,9 @@ class Premium_Counter extends Widget_Base {
|
|
538 |
|
539 |
$this->add_inline_editing_attributes('premium_counter_title');
|
540 |
|
541 |
-
$separator = $settings['premium_counter_t_separator'];
|
542 |
-
|
543 |
-
$decimal = $settings['premium_counter_d_separator'];
|
544 |
|
545 |
if( $settings['premium_counter_icon_image'] == 'icon' ) {
|
546 |
$icon_image = '<i class="' . $settings['premium_counter_icon'] .'"></i>';
|
@@ -555,28 +573,33 @@ class Premium_Counter extends Widget_Base {
|
|
555 |
|
556 |
$left = $position == 'left' ? ' left' : '';
|
557 |
|
558 |
-
|
559 |
-
$d_after = intval( $settings['premium_counter_d_after'] );
|
560 |
-
|
561 |
$flex_width = '';
|
562 |
if( $settings['premium_counter_icon_image'] == 'custom' && $settings['premium_counter_icon_style'] == 'simple' ) {
|
563 |
$flex_width = ' flex-width ';
|
564 |
}
|
565 |
|
566 |
-
$counter_settings = [
|
567 |
-
'id' => $this->get_id(),
|
568 |
-
'
|
569 |
-
'
|
570 |
-
'
|
571 |
-
'
|
572 |
-
|
573 |
-
];
|
574 |
|
575 |
-
|
576 |
|
577 |
-
|
578 |
|
579 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
|
581 |
?>
|
582 |
|
19 |
|
20 |
public function get_script_depends() {
|
21 |
return [
|
22 |
+
'jquery-numerator',
|
23 |
+
'elementor-waypoints',
|
24 |
'premium-addons-js',
|
25 |
];
|
26 |
}
|
47 |
]
|
48 |
);
|
49 |
|
50 |
+
$this->add_control('premium_counter_start_value',
|
51 |
[
|
52 |
+
'label' => __( 'Start Number', 'premium-addons-for-elementor' ),
|
53 |
+
'type' => Controls_Manager::NUMBER,
|
54 |
+
'default' => 0
|
55 |
+
]
|
56 |
+
);
|
57 |
+
|
58 |
+
$this->add_control('premium_counter_end_value',
|
59 |
+
[
|
60 |
+
'label' => __( 'End Number', 'premium-addons-for-elementor' ),
|
61 |
'type' => Controls_Manager::NUMBER,
|
|
|
62 |
'default' => 500
|
63 |
]
|
64 |
);
|
73 |
]
|
74 |
);
|
75 |
|
76 |
+
// $this->add_control('premium_counter_d_separator',
|
77 |
+
// [
|
78 |
+
// 'label' => __( 'Decimal Point', 'premium-addons-for-elementor' ),
|
79 |
+
// 'type' => Controls_Manager::TEXT,
|
80 |
+
// 'dynamic' => [ 'active' => true ],
|
81 |
+
// 'description' => __( 'Set a decimal number (Eg - 12.76). The decimal point '.' will be replaced with the value that you will enter above', 'premium-addons-for-elementor' ),
|
82 |
+
// 'default' => '.'
|
83 |
+
// ]
|
84 |
+
// );
|
85 |
+
//
|
86 |
$this->add_control('premium_counter_d_after',
|
87 |
[
|
88 |
'label' => __( 'Digits After Decimal Point', 'premium-addons-for-elementor' ),
|
494 |
|
495 |
public function get_counter_content($settings, $direction) {
|
496 |
|
497 |
+
// $d_after = intval( $settings['premium_counter_d_after'] );
|
498 |
+
// $d_s = $settings['premium_counter_d_separator'];
|
499 |
+
// $t_s = $settings['premium_counter_t_separator'];
|
500 |
+
$start_value = $settings['premium_counter_start_value'];
|
501 |
|
502 |
?>
|
503 |
|
504 |
<div class="premium-init-wrapper <?php echo $direction; ?>">
|
505 |
|
506 |
+
<?php if ( ! empty( $settings['premium_counter_preffix'] ) ) : ?>
|
507 |
+
<span id="prefix" class="counter-su-pre"><?php echo $settings['premium_counter_preffix']; ?></span>
|
508 |
+
<?php endif; ?>
|
509 |
|
510 |
+
<span class="premium-counter-init" id="counter-<?php echo esc_attr($this->get_id()); ?>"><?php echo $start_value; ?></span>
|
511 |
|
512 |
+
<?php if ( ! empty( $settings['premium_counter_suffix'] ) ) : ?>
|
513 |
+
<span id="suffix" class="counter-su-pre"><?php echo $settings['premium_counter_suffix']; ?></span>
|
514 |
+
<?php endif; ?>
|
515 |
|
516 |
+
<?php if ( ! empty( $settings['premium_counter_title'] ) ) : ?>
|
517 |
+
<h4 class="premium-counter-title">
|
518 |
+
<div <?php echo $this->get_render_attribute_string('premium_counter_title'); ?>>
|
519 |
+
<?php echo $settings['premium_counter_title'];?>
|
520 |
+
</div>
|
521 |
+
</h4>
|
522 |
+
<?php endif; ?>
|
523 |
</div>
|
524 |
|
525 |
<?php
|
526 |
}
|
527 |
|
528 |
+
public function get_counter_icon( $settings, $direction ) {
|
529 |
|
530 |
$icon_style = $settings['premium_counter_icon_style'] != 'simple' ? ' icon-bg ' . $settings['premium_counter_icon_style'] : '';
|
531 |
|
556 |
|
557 |
$this->add_inline_editing_attributes('premium_counter_title');
|
558 |
|
559 |
+
// $separator = $settings['premium_counter_t_separator'];
|
560 |
+
//
|
561 |
+
// $decimal = $settings['premium_counter_d_separator'];
|
562 |
|
563 |
if( $settings['premium_counter_icon_image'] == 'icon' ) {
|
564 |
$icon_image = '<i class="' . $settings['premium_counter_icon'] .'"></i>';
|
573 |
|
574 |
$left = $position == 'left' ? ' left' : '';
|
575 |
|
|
|
|
|
|
|
576 |
$flex_width = '';
|
577 |
if( $settings['premium_counter_icon_image'] == 'custom' && $settings['premium_counter_icon_style'] == 'simple' ) {
|
578 |
$flex_width = ' flex-width ';
|
579 |
}
|
580 |
|
581 |
+
// $counter_settings = [
|
582 |
+
// 'id' => $this->get_id(),
|
583 |
+
// 'toValue' => $settings['premium_counter_end_value'],
|
584 |
+
// 'speed' => $settings['premium_counter_speed'],
|
585 |
+
// 'separator' => $separator,
|
586 |
+
// 'decimal' => $decimal,
|
587 |
+
// ];
|
|
|
588 |
|
589 |
+
//$this->add_render_attribute( 'counter', 'id', 'counter-wrapper-'. $this->get_id() );
|
590 |
|
591 |
+
//$this->add_render_attribute( 'counter', 'class', [ 'premium-counter', 'premium-counter-area' . $center ] );
|
592 |
|
593 |
+
//$this->add_render_attribute( 'counter', 'data-settings', wp_json_encode( $counter_settings ) );
|
594 |
+
|
595 |
+
$this->add_render_attribute( 'counter', [
|
596 |
+
'class' => [ 'premium-counter', 'premium-counter-area' . $center ],
|
597 |
+
'data-duration' => $settings['premium_counter_speed'] * 1000,
|
598 |
+
'data-to-value' => $settings['premium_counter_end_value'],
|
599 |
+
'data-delimiter'=> empty( $settings['premium_counter_t_separator'] ) ? ',' : $settings['premium_counter_t_separator'],
|
600 |
+
'data-rounding' => empty ( $settings['premium_counter_d_after'] ) ? 0 : $settings['premium_counter_d_after']
|
601 |
+
]
|
602 |
+
);
|
603 |
|
604 |
?>
|
605 |
|
widgets/premium-grid.php
CHANGED
@@ -46,6 +46,65 @@ class Premium_Grid extends Widget_Base {
|
|
46 |
|
47 |
protected function _register_controls(){
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
$this->start_controls_section('premium_gallery_cats',
|
50 |
[
|
51 |
'label' => __('Categories','premium-addons-for-elementor'),
|
@@ -147,6 +206,32 @@ class Premium_Grid extends Widget_Base {
|
|
147 |
],
|
148 |
]);
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
$img_repeater->add_control('premium_gallery_img_name',
|
151 |
[
|
152 |
'label' => __( 'Name', 'premium-addons-for-elementor' ),
|
@@ -247,53 +332,6 @@ class Premium_Grid extends Widget_Base {
|
|
247 |
|
248 |
]);
|
249 |
|
250 |
-
$this->add_responsive_control('premium_gallery_column_number',
|
251 |
-
[
|
252 |
-
'label' => __( 'Columns', 'premium-addons-for-elementor' ),
|
253 |
-
'label_block' => true,
|
254 |
-
'type' => Controls_Manager::SELECT,
|
255 |
-
'desktop_default' => '50%',
|
256 |
-
'tablet_default' => '100%',
|
257 |
-
'mobile_default' => '100%',
|
258 |
-
'options' => [
|
259 |
-
'100%' => __( '1 Column', 'premium-addons-for-elementor' ),
|
260 |
-
'50%' => __( '2 Columns', 'premium-addons-for-elementor' ),
|
261 |
-
'33.330%' => __( '3 Columns', 'premium-addons-for-elementor' ),
|
262 |
-
'25%' => __( '4 Columns', 'premium-addons-for-elementor' ),
|
263 |
-
'20%' => __( '5 Columns', 'premium-addons-for-elementor' ),
|
264 |
-
'16.66%' => __( '6 Columns', 'premium-addons-for-elementor' ),
|
265 |
-
'8.33%' => __( '12 Columns', 'premium-addons-for-elementor' ),
|
266 |
-
],
|
267 |
-
'selectors' => [
|
268 |
-
'{{WRAPPER}} .premium-gallery-container .premium-gallery-item' => 'width: {{VALUE}};',
|
269 |
-
],
|
270 |
-
'render_type' => 'template'
|
271 |
-
]
|
272 |
-
);
|
273 |
-
|
274 |
-
$this->add_control('premium_gallery_img_size_select',
|
275 |
-
[
|
276 |
-
'label' => __('Grid Layout', 'premium-addons-for-elementor'),
|
277 |
-
'type' => Controls_Manager::SELECT,
|
278 |
-
'options' => [
|
279 |
-
'one_size' => __('Even', 'premium-addons-for-elementor'),
|
280 |
-
'original' => __('Masonry', 'premium-addons-for-elementor'),
|
281 |
-
],
|
282 |
-
'default' => 'one_size',
|
283 |
-
]
|
284 |
-
);
|
285 |
-
|
286 |
-
$this->add_group_control(
|
287 |
-
Group_Control_Image_Size::get_type(),
|
288 |
-
[
|
289 |
-
'name' => 'thumbnail', // Actually its `image_size`.
|
290 |
-
'default' => 'full',
|
291 |
-
'condition' => [
|
292 |
-
'premium_gallery_img_size_select' => 'one_size'
|
293 |
-
]
|
294 |
-
]
|
295 |
-
);
|
296 |
-
|
297 |
$this->add_responsive_control('premium_gallery_gap',
|
298 |
[
|
299 |
'label' => __('Image Gap', 'premium-addons-for-elementor'),
|
@@ -375,6 +413,16 @@ class Premium_Grid extends Widget_Base {
|
|
375 |
]
|
376 |
);
|
377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
$this->add_responsive_control('premium_gallery_content_align',
|
379 |
[
|
380 |
'label' => __( 'Content Alignment', 'premium-addons-for-elementor' ),
|
@@ -1086,6 +1134,7 @@ class Premium_Grid extends Widget_Base {
|
|
1086 |
return $cat_filtered;
|
1087 |
}
|
1088 |
|
|
|
1089 |
protected function render(){
|
1090 |
$settings = $this->get_settings_for_display();
|
1091 |
$filter = $settings['premium_gallery_filter'];
|
@@ -1104,10 +1153,17 @@ class Premium_Grid extends Widget_Base {
|
|
1104 |
$category_formatted = "." . $this->filter_cats($active_category);
|
1105 |
}
|
1106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1107 |
$grid_settings = [
|
1108 |
'img_size' => $settings['premium_gallery_img_size_select'],
|
1109 |
'filter' => $settings['premium_gallery_filter'],
|
1110 |
'light_box' => $settings['premium_gallery_light_box'],
|
|
|
1111 |
'active_cat'=> $category_formatted
|
1112 |
];
|
1113 |
|
@@ -1126,7 +1182,11 @@ class Premium_Grid extends Widget_Base {
|
|
1126 |
<div class="premium-img-gallery-filter">
|
1127 |
<ul class="premium-gallery-cats-container">
|
1128 |
<?php if( 'yes' == $settings['premium_gallery_first_cat_switcher'] ) : ?>
|
1129 |
-
<li
|
|
|
|
|
|
|
|
|
1130 |
<?php endif;
|
1131 |
foreach( $settings['premium_gallery_cats_content'] as $index => $category ) {
|
1132 |
if( ! empty( $category['premium_gallery_img_cat'] ) ) {
|
@@ -1140,27 +1200,46 @@ class Premium_Grid extends Widget_Base {
|
|
1140 |
}
|
1141 |
|
1142 |
$this->add_render_attribute($cat_list_key,
|
1143 |
-
'class',
|
1144 |
-
array(
|
1145 |
'category',
|
1146 |
'elementor-repeater-item-' . $category['_id']
|
1147 |
-
|
1148 |
);
|
1149 |
?>
|
1150 |
-
|
|
|
|
|
|
|
|
|
1151 |
<?php }
|
1152 |
} ?>
|
1153 |
-
|
1154 |
-
|
1155 |
<?php endif; ?>
|
|
|
1156 |
<div class="premium-gallery-container js-isotope <?php echo esc_attr( $number_columns ); ?>" data-settings='<?php echo wp_json_encode($grid_settings); ?>'>
|
1157 |
-
<?php
|
|
|
|
|
|
|
1158 |
$alt = esc_attr( Control_Media::get_image_alt( $image['premium_gallery_img'] ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1159 |
?>
|
1160 |
-
<div
|
1161 |
<div class="pa-gallery-img <?php echo esc_attr($layout); ?>" onclick="">
|
1162 |
<div class="pa-gallery-img-container <?php echo esc_attr($settings['premium_gallery_img_effect']); ?>">
|
1163 |
-
<?php if($settings['premium_gallery_img_size_select'] == '
|
1164 |
$image_src = $image['premium_gallery_img'];
|
1165 |
$image_src_size = Group_Control_Image_Size::get_attachment_image_src( $image_src['id'], 'thumbnail', $settings );
|
1166 |
if( empty( $image_src_size ) ) : $image_src_size = $image_src['url']; else: $image_src_size = $image_src_size; endif;
|
46 |
|
47 |
protected function _register_controls(){
|
48 |
|
49 |
+
$this->start_controls_section('premium_gallery_general',
|
50 |
+
[
|
51 |
+
'label' => __('Layout','premium-addons-for-elementor'),
|
52 |
+
|
53 |
+
]);
|
54 |
+
|
55 |
+
$this->add_control('premium_gallery_img_size_select',
|
56 |
+
[
|
57 |
+
'label' => __('Grid Layout', 'premium-addons-for-elementor'),
|
58 |
+
'type' => Controls_Manager::SELECT,
|
59 |
+
'options' => [
|
60 |
+
'fitRows' => __('Even', 'premium-addons-for-elementor'),
|
61 |
+
'masonry' => __('Masonry', 'premium-addons-for-elementor'),
|
62 |
+
'metro' => __('Metro', 'premium-addons-for-elementor'),
|
63 |
+
],
|
64 |
+
'default' => 'fitRows',
|
65 |
+
]
|
66 |
+
);
|
67 |
+
|
68 |
+
$this->add_group_control(
|
69 |
+
Group_Control_Image_Size::get_type(),
|
70 |
+
[
|
71 |
+
'name' => 'thumbnail', // Actually its `image_size`.
|
72 |
+
'default' => 'full',
|
73 |
+
'condition' => [
|
74 |
+
'premium_gallery_img_size_select' => 'fitRows'
|
75 |
+
]
|
76 |
+
]
|
77 |
+
);
|
78 |
+
|
79 |
+
$this->add_responsive_control('premium_gallery_column_number',
|
80 |
+
[
|
81 |
+
'label' => __( 'Columns', 'premium-addons-for-elementor' ),
|
82 |
+
'label_block' => true,
|
83 |
+
'type' => Controls_Manager::SELECT,
|
84 |
+
'desktop_default' => '50%',
|
85 |
+
'tablet_default' => '100%',
|
86 |
+
'mobile_default' => '100%',
|
87 |
+
'options' => [
|
88 |
+
'100%' => __( '1 Column', 'premium-addons-for-elementor' ),
|
89 |
+
'50%' => __( '2 Columns', 'premium-addons-for-elementor' ),
|
90 |
+
'33.330%' => __( '3 Columns', 'premium-addons-for-elementor' ),
|
91 |
+
'25%' => __( '4 Columns', 'premium-addons-for-elementor' ),
|
92 |
+
'20%' => __( '5 Columns', 'premium-addons-for-elementor' ),
|
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!' => 'metro'
|
101 |
+
],
|
102 |
+
'render_type' => 'template'
|
103 |
+
]
|
104 |
+
);
|
105 |
+
|
106 |
+
$this->end_controls_section();
|
107 |
+
|
108 |
$this->start_controls_section('premium_gallery_cats',
|
109 |
[
|
110 |
'label' => __('Categories','premium-addons-for-elementor'),
|
206 |
],
|
207 |
]);
|
208 |
|
209 |
+
$img_repeater->add_responsive_control('premium_gallery_image_width',
|
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 |
+
'type' => Controls_Manager::SELECT,
|
215 |
+
'desktop_default' => '50%',
|
216 |
+
'tablet_default' => '100%',
|
217 |
+
'mobile_default' => '100%',
|
218 |
+
'options' => [
|
219 |
+
'100%' => __( 'Full Column', 'premium-addons-for-elementor' ),
|
220 |
+
'75%' => __( '3/4 Column', 'premium-addons-for-elementor' ),
|
221 |
+
'50%' => __( '1/2 Column', 'premium-addons-for-elementor' ),
|
222 |
+
'33.330%' => __( '1/3 Column', 'premium-addons-for-elementor' ),
|
223 |
+
'25%' => __( '1/4 Column', 'premium-addons-for-elementor' ),
|
224 |
+
'20%' => __( '1/5 Column', 'premium-addons-for-elementor' ),
|
225 |
+
'16.66%' => __( '1/6 Column', 'premium-addons-for-elementor' ),
|
226 |
+
'8.33%' => __( '1/12 Column', 'premium-addons-for-elementor' ),
|
227 |
+
],
|
228 |
+
'selectors' => [
|
229 |
+
'{{WRAPPER}} .premium-gallery-container {{CURRENT_ITEM}}' => 'width: {{VALUE}};',
|
230 |
+
],
|
231 |
+
'render_type' => 'template'
|
232 |
+
]
|
233 |
+
);
|
234 |
+
|
235 |
$img_repeater->add_control('premium_gallery_img_name',
|
236 |
[
|
237 |
'label' => __( 'Name', 'premium-addons-for-elementor' ),
|
332 |
|
333 |
]);
|
334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
$this->add_responsive_control('premium_gallery_gap',
|
336 |
[
|
337 |
'label' => __('Image Gap', 'premium-addons-for-elementor'),
|
413 |
]
|
414 |
);
|
415 |
|
416 |
+
$this->add_control('premium_gallery_overlay_gallery',
|
417 |
+
[
|
418 |
+
'label' => __( 'Overlay Gallery Images', 'premium-addons-for-elementor' ),
|
419 |
+
'type' => Controls_Manager::SWITCHER,
|
420 |
+
'condition' => [
|
421 |
+
'premium_gallery_light_box' => 'yes'
|
422 |
+
]
|
423 |
+
]
|
424 |
+
);
|
425 |
+
|
426 |
$this->add_responsive_control('premium_gallery_content_align',
|
427 |
[
|
428 |
'label' => __( 'Content Alignment', 'premium-addons-for-elementor' ),
|
1134 |
return $cat_filtered;
|
1135 |
}
|
1136 |
|
1137 |
+
|
1138 |
protected function render(){
|
1139 |
$settings = $this->get_settings_for_display();
|
1140 |
$filter = $settings['premium_gallery_filter'];
|
1153 |
$category_formatted = "." . $this->filter_cats($active_category);
|
1154 |
}
|
1155 |
|
1156 |
+
if ( 'original' == $settings['premium_gallery_img_size_select'] ) {
|
1157 |
+
$settings['premium_gallery_img_size_select'] = 'masonry';
|
1158 |
+
} else if ( 'one_size' == $settings['premium_gallery_img_size_select'] ) {
|
1159 |
+
$settings['premium_gallery_img_size_select'] = 'fitRows';
|
1160 |
+
}
|
1161 |
+
|
1162 |
$grid_settings = [
|
1163 |
'img_size' => $settings['premium_gallery_img_size_select'],
|
1164 |
'filter' => $settings['premium_gallery_filter'],
|
1165 |
'light_box' => $settings['premium_gallery_light_box'],
|
1166 |
+
'overlay_gallery' => 'yes' == $settings['premium_gallery_overlay_gallery'] ? true : false,
|
1167 |
'active_cat'=> $category_formatted
|
1168 |
];
|
1169 |
|
1182 |
<div class="premium-img-gallery-filter">
|
1183 |
<ul class="premium-gallery-cats-container">
|
1184 |
<?php if( 'yes' == $settings['premium_gallery_first_cat_switcher'] ) : ?>
|
1185 |
+
<li>
|
1186 |
+
<a href="javascript:;" class="category <?php echo $is_all_active; ?>" data-filter="*">
|
1187 |
+
<span><?php echo $settings['premium_gallery_first_cat_label']; ?></span>
|
1188 |
+
</a>
|
1189 |
+
</li>
|
1190 |
<?php endif;
|
1191 |
foreach( $settings['premium_gallery_cats_content'] as $index => $category ) {
|
1192 |
if( ! empty( $category['premium_gallery_img_cat'] ) ) {
|
1200 |
}
|
1201 |
|
1202 |
$this->add_render_attribute($cat_list_key,
|
1203 |
+
'class', [
|
|
|
1204 |
'category',
|
1205 |
'elementor-repeater-item-' . $category['_id']
|
1206 |
+
]
|
1207 |
);
|
1208 |
?>
|
1209 |
+
<li>
|
1210 |
+
<a href="javascript:;" <?php echo $this->get_render_attribute_string($cat_list_key); ?> data-filter=".<?php echo esc_attr( $cat_filtered ); ?>"
|
1211 |
+
><span><?php echo $category['premium_gallery_img_cat']; ?></span>
|
1212 |
+
</a>
|
1213 |
+
</li>
|
1214 |
<?php }
|
1215 |
} ?>
|
1216 |
+
</ul>
|
1217 |
+
</div>
|
1218 |
<?php endif; ?>
|
1219 |
+
|
1220 |
<div class="premium-gallery-container js-isotope <?php echo esc_attr( $number_columns ); ?>" data-settings='<?php echo wp_json_encode($grid_settings); ?>'>
|
1221 |
+
<?php if ( 'metro' === $settings['premium_gallery_img_size_select'] ) : ?>
|
1222 |
+
<div class="grid-sizer"></div>
|
1223 |
+
<?php endif;
|
1224 |
+
foreach( $settings['premium_gallery_img_content'] as $index => $image ) :
|
1225 |
$alt = esc_attr( Control_Media::get_image_alt( $image['premium_gallery_img'] ) );
|
1226 |
+
|
1227 |
+
$key = 'gallery_item_' . $index;
|
1228 |
+
|
1229 |
+
$this->add_render_attribute($key, [
|
1230 |
+
'class' => [
|
1231 |
+
'premium-gallery-item',
|
1232 |
+
'elementor-repeater-item-' . $image['_id'],
|
1233 |
+
$this->filter_cats( $image['premium_gallery_img_category'] )
|
1234 |
+
]
|
1235 |
+
]
|
1236 |
+
);
|
1237 |
+
|
1238 |
?>
|
1239 |
+
<div <?php echo $this->get_render_attribute_string($key); ?>>
|
1240 |
<div class="pa-gallery-img <?php echo esc_attr($layout); ?>" onclick="">
|
1241 |
<div class="pa-gallery-img-container <?php echo esc_attr($settings['premium_gallery_img_effect']); ?>">
|
1242 |
+
<?php if($settings['premium_gallery_img_size_select'] == 'fitRows') :
|
1243 |
$image_src = $image['premium_gallery_img'];
|
1244 |
$image_src_size = Group_Control_Image_Size::get_attachment_image_src( $image_src['id'], 'thumbnail', $settings );
|
1245 |
if( empty( $image_src_size ) ) : $image_src_size = $image_src['url']; else: $image_src_size = $image_src_size; endif;
|