Premium Addons for Elementor - Version 3.1.7

Version Description

  • Tweak: Added Load More button option in Grid widget.
  • Tweak: Wait images to load before triggering Masonry layout in Grid widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 3.1.7
Comparing to
See all releases

Code changes from version 3.1.6 to 3.1.7

admin/includes/notices.php CHANGED
@@ -19,7 +19,6 @@ class Premium_Admin_Notices {
19
*/
20
public function __construct() {
21
add_action('admin_init', array( $this, 'init') );
22
-
23
add_action('admin_notices', array( $this, 'check_admin_notices' ) );
24
}
25
@@ -27,9 +26,9 @@ class Premium_Admin_Notices {
27
* init required functions
28
*/
29
public function init(){
30
- //$this->handle_review_notice();
31
//$this->handle_pbg_notice();
32
- $this->handle_image_scroll_notice();
33
}
34
35
/**
@@ -37,9 +36,16 @@ class Premium_Admin_Notices {
37
*/
38
public function check_admin_notices() {
39
$this->required_plugins_check();
40
- //$this->get_review_notice();
41
//$this->get_pbg_notice();
42
- $this->get_image_scroll_notice();
43
}
44
45
/**
19
*/
20
public function __construct() {
21
add_action('admin_init', array( $this, 'init') );
22
add_action('admin_notices', array( $this, 'check_admin_notices' ) );
23
}
24
26
* init required functions
27
*/
28
public function init(){
29
+ $this->handle_review_notice();
30
//$this->handle_pbg_notice();
31
+ // $this->handle_image_scroll_notice();
32
}
33
34
/**
36
*/
37
public function check_admin_notices() {
38
$this->required_plugins_check();
39
+
40
+ $cache_key = 'premium_notice_' . PREMIUM_ADDONS_VERSION;
41
+
42
+ $response = get_transient( $cache_key );
43
+
44
+ if ( false == $response ) {
45
+ $this->get_review_notice();
46
+ }
47
//$this->get_pbg_notice();
48
+ // $this->get_image_scroll_notice();
49
}
50
51
/**
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.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>
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.6</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
@@ -3373,6 +3373,64 @@ button.premium-modal-box-modal-close {
3373
width: 100%;
3374
object-fit: fill;
3375
}
3376
/************ Premium Vertical Scroll ************/
3377
/*************************************************/
3378
.premium-vscroll-inner {
3373
width: 100%;
3374
object-fit: fill;
3375
}
3376
+ .premium-gallery-load-more.premium-gallery-btn-hidden {
3377
+ display: none;
3378
+ }
3379
+ .premium-gallery-load-more .premium-gallery-load-more-btn {
3380
+ box-shadow: none;
3381
+ text-shadow: none;
3382
+ border: none;
3383
+ outline: none;
3384
+ -webkit-box-align: center;
3385
+ -ms-flex-align: center;
3386
+ align-items: center;
3387
+ vertical-align: bottom;
3388
+ cursor: pointer;
3389
+ line-height: 1;
3390
+ font-style: normal;
3391
+ font-weight: normal;
3392
+ background-image: none;
3393
+ color: #fff;
3394
+ -webkit-transition: all 0.3s ease-in-out;
3395
+ -ms-transition: all 0.3s ease-in-out;
3396
+ -moz-transition: all 0.3s ease-in-out;
3397
+ transition: all 0.3s ease-in-out;
3398
+ }
3399
+ .premium-gallery-load-more-btn {
3400
+ display: inline-flex;
3401
+ align-items: center;
3402
+ }
3403
+ .premium-loader {
3404
+ border: 3px solid #f3f3f3;
3405
+ border-top-width: 3px;
3406
+ border-top-style: solid;
3407
+ border-top-color: rgb(243, 243, 243);
3408
+ border-radius: 50%;
3409
+ border-top: 3px solid;
3410
+ border-top-color: #bbb;
3411
+ width: 30px;
3412
+ height: 30px;
3413
+ -webkit-animation: spin 2s linear infinite;
3414
+ animation: spin 2s linear infinite;
3415
+ margin: 0 auto;
3416
+ }
3417
+ .premium-gallery-load-more-btn div {
3418
+ margin-left: 3px;
3419
+ }
3420
+ .premium-gallery-load-more-btn .premium-loader {
3421
+ display: inline-block;
3422
+ width: 20px;
3423
+ height: 20px;
3424
+ }
3425
+ @-webkit-keyframes spin {
3426
+ 0% { -webkit-transform: rotate(0deg); }
3427
+ 100% { -webkit-transform: rotate(360deg); }
3428
+ }
3429
+
3430
+ @keyframes spin {
3431
+ 0% { transform: rotate(0deg); }
3432
+ 100% { transform: rotate(360deg); }
3433
+ }
3434
/************ Premium Vertical Scroll ************/
3435
/*************************************************/
3436
.premium-vscroll-inner {
assets/js/premium-addons.js CHANGED
@@ -69,6 +69,7 @@
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' ) {
@@ -99,8 +100,9 @@
99
layout = 'masonry';
100
columnWidth = cellSize;
101
}
102
- var grid = galleryElement.imagesLoaded(function() {
103
- grid.isotope({
104
itemSelector: ".premium-gallery-item",
105
percentPosition: true,
106
animationOptions: {
@@ -114,6 +116,39 @@
114
}
115
});
116
});
117
118
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
119
e.preventDefault();
69
isotopeOptions = galleryElement.data("settings"),
70
layout = isotopeOptions['img_size'],
71
deviceType = $("body").data("elementor-device-mode"),
72
+ loadMore = isotopeOptions['load_more'],
73
columnWidth = null;
74
75
if( layout === 'metro' ) {
100
layout = 'masonry';
101
columnWidth = cellSize;
102
}
103
+
104
+ galleryElement.imagesLoaded(function() {}).done(function() {
105
+ galleryElement.isotope({
106
itemSelector: ".premium-gallery-item",
107
percentPosition: true,
108
animationOptions: {
116
}
117
});
118
});
119
+
120
+ if ( loadMore ) {
121
+ galleryElement.parent().find('.premium-gallery-load-more div').hide();
122
+ if ( galleryElement.find(".premium-gallery-item").length > 6 ) {
123
+ galleryElement.parent().find('.premium-gallery-load-more').removeClass('premium-gallery-btn-hidden');
124
+ galleryElement.find(".premium-gallery-item:gt(5)").hide();
125
+ function appendItems() {
126
+ var itemsToShow = galleryElement.find(".premium-gallery-item").filter(':hidden').slice(0, 6);
127
+ if ( itemsToShow.length > 0 ) {
128
+ itemsToShow.show();
129
+ galleryElement.isotope('layout');
130
+ }
131
+ }
132
+ galleryElement.parent().on('click', '.premium-gallery-load-more-btn', function() {
133
+ $.ajax({
134
+ url: appendItems(),
135
+ beforeSend: function() {
136
+ galleryElement.parent().find('.premium-gallery-load-more div').show();
137
+ },
138
+ success: function() {
139
+ var itemsLeft = galleryElement.find(".premium-gallery-item").filter(':hidden').slice(0, 6);
140
+ if ( itemsLeft.length > 0 ) {
141
+ galleryElement.parent().find('.premium-gallery-load-more div').hide();
142
+ } else {
143
+ galleryElement.parent().find('.premium-gallery-load-more').hide();
144
+ }
145
+ }
146
+ });
147
+ });
148
+ }
149
+ }
150
+
151
+
152
153
$scope.find(".premium-gallery-cats-container li a").click(function(e) {
154
e.preventDefault();
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.6
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.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
/*
@@ -45,6 +45,8 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
45
46
add_action( 'admin_post_premium_addons_rollback', 'post_premium_addons_rollback' );
47
48
}
49
50
/**
@@ -59,6 +61,21 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
59
$this->init_files();
60
}
61
62
/**
63
* Require initial necessary files
64
* @since 2.6.8
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
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.7');
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.6');
23
24
if( ! class_exists('Premium_Addons_Elementor') ) {
25
/*
45
46
add_action( 'admin_post_premium_addons_rollback', 'post_premium_addons_rollback' );
47
48
+ register_activation_hook( PREMIUM_ADDONS_FILE, array( $this, 'set_transient' ) );
49
+
50
}
51
52
/**
61
$this->init_files();
62
}
63
64
+ /**
65
+ * Set transient for admin review notice
66
+ * @since 3.1.7
67
+ * @access public
68
+ * @return void
69
+ */
70
+ public function set_transient() {
71
+ $cache_key = 'premium_notice_' . PREMIUM_ADDONS_VERSION;
72
+
73
+ $expiration = 3600 * 72;
74
+
75
+ set_transient( $cache_key, true, $expiration );
76
+ }
77
+
78
+
79
/**
80
* Require initial necessary files
81
* @since 2.6.8
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.6
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
@@ -139,6 +139,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
139
140
== Changelog ==
141
142
= 3.1.6 =
143
144
- Tweak: `Metro` layout improved 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.7
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
139
140
== Changelog ==
141
142
+ = 3.1.7 =
143
+
144
+ - Tweak: Added `Load More` button option in Grid widget.
145
+ - Tweak: Wait images to load before triggering `Masonry` layout in Grid widget.
146
+
147
= 3.1.6 =
148
149
- Tweak: `Metro` layout improved in Grid widget.
widgets/premium-grid.php CHANGED
@@ -103,6 +103,51 @@ class Premium_Grid extends Widget_Base {
103
]
104
);
105
106
$this->end_controls_section();
107
108
$this->start_controls_section('premium_gallery_cats',
@@ -996,6 +1041,10 @@ class Premium_Grid extends Widget_Base {
996
]
997
]);
998
999
$this->end_controls_section();
1000
1001
$this->start_controls_section('premium_gallery_filter_style',
@@ -1133,6 +1182,223 @@ class Premium_Grid extends Widget_Base {
1133
1134
$this->end_controls_section();
1135
1136
}
1137
1138
public function filter_cats( $string ) {
@@ -1178,7 +1444,8 @@ class Premium_Grid extends Widget_Base {
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', [
@@ -1269,10 +1536,10 @@ class Premium_Grid extends Widget_Base {
1269
}
1270
1271
?>
1272
- <div <?php echo $this->get_render_attribute_string($key); ?>>
1273
- <div class="pa-gallery-img <?php echo esc_attr($layout); ?>" onclick="">
1274
- <div class="pa-gallery-img-container <?php echo esc_attr($settings['premium_gallery_img_effect']); ?>">
1275
- <?php if($settings['premium_gallery_img_size_select'] == 'fitRows') :
1276
$image_src = $image['premium_gallery_img'];
1277
$image_src_size = Group_Control_Image_Size::get_attachment_image_src( $image_src['id'], 'thumbnail', $settings );
1278
if( empty( $image_src_size ) ) : $image_src_size = $image_src['url']; else: $image_src_size = $image_src_size; endif;
@@ -1303,12 +1570,12 @@ class Premium_Grid extends Widget_Base {
1303
</div>
1304
</div>
1305
<div class="premium-gallery-caption">
1306
- <?php if(!empty($image['premium_gallery_img_name'])):?>
1307
- <span class="premium-gallery-img-name"><?php echo $image['premium_gallery_img_name']; ?></span>
1308
- <?php endif; ?>
1309
- <?php if(!empty($image['premium_gallery_img_desc'])):?>
1310
- <p class="premium-gallery-img-desc"><?php echo $image['premium_gallery_img_desc']; ?></p>
1311
- <?php endif; ?>
1312
</div>
1313
<?php else: ?>
1314
<div class="pa-gallery-icons-caption-container">
@@ -1353,8 +1620,13 @@ class Premium_Grid extends Widget_Base {
1353
</div>
1354
<?php endforeach; ?>
1355
</div>
1356
</div>
1357
- <?php if($settings['premium_gallery_responsive_switcher'] == 'yes') : ?>
1358
<style>
1359
@media(min-width: <?php echo $min_size; ?> ) and (max-width:<?php echo $max_size; ?>){
1360
#premium-img-gallery-<?php echo esc_attr($this->get_id()); ?> .premium-gallery-caption {
103
]
104
);
105
106
+ $this->add_control( 'premium_gallery_load_more',
107
+ [
108
+ 'label' => __( 'Load More Button', 'premium-addons-for-elementor' ),
109
+ 'description' => __('Requires number of images larger than 6', 'premium-addons-for-elementor'),
110
+ 'type' => Controls_Manager::SWITCHER
111
+ ]
112
+ );
113
+
114
+ $this->add_control( 'premium_gallery_load_more_text',
115
+ [
116
+ 'label' => __( 'Button Text', 'premium-addons-for-elementor' ),
117
+ 'type' => Controls_Manager::TEXT,
118
+ 'default' => __('Load More', 'premium-addons-for-elementor'),
119
+ 'dynamic' => [ 'active' => true ],
120
+ 'condition' => [
121
+ 'premium_gallery_load_more' => 'yes'
122
+ ]
123
+ ]
124
+ );
125
+
126
+ $this->add_responsive_control('premium_gallery_load_more_align',
127
+ [
128
+ 'label' => __( 'Button Alignment', 'premium-addons-for-elementor' ),
129
+ 'type' => Controls_Manager::CHOOSE,
130
+ 'options' => [
131
+ 'left' => [
132
+ 'title'=> __( 'Left', 'premium-addons-for-elementor' ),
133
+ 'icon' => 'fa fa-align-left',
134
+ ],
135
+ 'center' => [
136
+ 'title'=> __( 'Center', 'premium-addons-for-elementor' ),
137
+ 'icon' => 'fa fa-align-center',
138
+ ],
139
+ 'right' => [
140
+ 'title'=> __( 'Right', 'premium-addons-for-elementor' ),
141
+ 'icon' => 'fa fa-align-right',
142
+ ],
143
+ ],
144
+ 'default' => 'center',
145
+ 'selectors' => [
146
+ '{{WRAPPER}} .premium-gallery-load-more' => 'text-align: {{VALUE}};',
147
+ ],
148
+ ]
149
+ );
150
+
151
$this->end_controls_section();
152
153
$this->start_controls_section('premium_gallery_cats',
1041
]
1042
]);
1043
1044
+ $this->end_controls_tab();
1045
+
1046
+ $this->end_controls_tabs();
1047
+
1048
$this->end_controls_section();
1049
1050
$this->start_controls_section('premium_gallery_filter_style',
1182
1183
$this->end_controls_section();
1184
1185
+ $this->start_controls_section('premium_gallery_button_style_settings',
1186
+ [
1187
+ 'label' => __('Load More Button', 'premium-addons-for-elementor'),
1188
+ 'tab' => Controls_Manager::TAB_STYLE,
1189
+ 'condition' => [
1190
+ 'premium_gallery_load_more' => 'yes',
1191
+ ]
1192
+ ]
1193
+ );
1194
+
1195
+ $this->add_group_control(
1196
+ Group_Control_Typography::get_type(),
1197
+ [
1198
+ 'name' => 'premium_gallery_button_typo',
1199
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1200
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn',
1201
+ ]
1202
+ );
1203
+
1204
+ $this->start_controls_tabs('premium_gallery_button_style_tabs');
1205
+
1206
+ $this->start_controls_tab('premium_gallery_button_style_normal',
1207
+ [
1208
+ 'label' => __('Normal', 'premium-addons-for-elementor'),
1209
+ ]
1210
+ );
1211
+
1212
+ $this->add_control('premium_gallery_button_color',
1213
+ [
1214
+ 'label' => __('Text Color', 'premium-addons-for-elementor'),
1215
+ 'type' => Controls_Manager::COLOR,
1216
+ 'scheme' => [
1217
+ 'type' => Scheme_Color::get_type(),
1218
+ 'value' => Scheme_Color::COLOR_2,
1219
+ ],
1220
+ 'selectors' => [
1221
+ '{{WRAPPER}} .premium-gallery-load-more-btn' => 'color: {{VALUE}};',
1222
+ '{{WRAPPER}} .premium-gallery-load-more-btn .premium-loader' => 'border-color: {{VALUE}};',
1223
+ ]
1224
+ ]
1225
+ );
1226
+
1227
+ $this->add_control('premium_gallery_button_spin_color',
1228
+ [
1229
+ 'label' => __('Spinner Color', 'premium-addons-for-elementor'),
1230
+ 'type' => Controls_Manager::COLOR,
1231
+ 'scheme' => [
1232
+ 'type' => Scheme_Color::get_type(),
1233
+ 'value' => Scheme_Color::COLOR_2,
1234
+ ],
1235
+ 'selectors' => [
1236
+ '{{WRAPPER}} .premium-gallery-load-more-btn .premium-loader' => 'border-top-color: {{VALUE}};'
1237
+ ]
1238
+ ]
1239
+ );
1240
+
1241
+ $this->add_group_control(
1242
+ Group_Control_Text_Shadow::get_type(),
1243
+ [
1244
+ 'name' => 'premium_gallery_button_text_shadow',
1245
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn',
1246
+ ]
1247
+ );
1248
+
1249
+ $this->add_group_control(
1250
+ Group_Control_Background::get_type(),
1251
+ [
1252
+ 'name' => 'premium_gallery_button_background',
1253
+ 'types' => [ 'classic' , 'gradient' ],
1254
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn',
1255
+ ]
1256
+ );
1257
+
1258
+ $this->add_group_control(
1259
+ Group_Control_Border::get_type(),
1260
+ [
1261
+ 'name' => 'premium_gallery_button_border',
1262
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn',
1263
+ ]
1264
+ );
1265
+
1266
+ $this->add_control('premium_gallery_button_border_radius',
1267
+ [
1268
+ 'label' => __('Border Radius', 'premium-addons-for-elementor'),
1269
+ 'type' => Controls_Manager::SLIDER,
1270
+ 'size_units' => ['px', 'em' , '%'],
1271
+ 'selectors' => [
1272
+ '{{WRAPPER}} .premium-gallery-load-more-btn' => 'border-radius: {{SIZE}}{{UNIT}};'
1273
+ ]
1274
+ ]
1275
+ );
1276
+
1277
+ $this->add_group_control(
1278
+ Group_Control_Box_Shadow::get_type(),
1279
+ [
1280
+ 'name' => 'premium_gallery_button_box_shadow',
1281
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn',
1282
+ ]
1283
+ );
1284
+
1285
+ $this->add_responsive_control('premium_gallery_button_margin',
1286
+ [
1287
+ 'label' => __('Margin', 'premium-addons-for-elementor'),
1288
+ 'type' => Controls_Manager::DIMENSIONS,
1289
+ 'size_units' => ['px', 'em', '%'],
1290
+ 'selectors' => [
1291
+ '{{WRAPPER}} .premium-gallery-load-more-btn' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1292
+ ]
1293
+ ]
1294
+ );
1295
+
1296
+ $this->add_responsive_control('premium_gallery_button_padding',
1297
+ [
1298
+ 'label' => __('Padding', 'premium-addons-for-elementor'),
1299
+ 'type' => Controls_Manager::DIMENSIONS,
1300
+ 'size_units' => ['px', 'em', '%'],
1301
+ 'selectors' => [
1302
+ '{{WRAPPER}} .premium-gallery-load-more-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1303
+ ]
1304
+ ]
1305
+ );
1306
+
1307
+ $this->end_controls_tab();
1308
+
1309
+ $this->start_controls_tab('premium_gallery_button_style_hover',
1310
+ [
1311
+ 'label' => __('Hover', 'premium-addons-for-elementor'),
1312
+ ]
1313
+ );
1314
+
1315
+ $this->add_control('premium_gallery_button_hover_color',
1316
+ [
1317
+ 'label' => __('Text Hover Color', 'premium-addons-for-elementor'),
1318
+ 'type' => Controls_Manager::COLOR,
1319
+ 'scheme' => [
1320
+ 'type' => Scheme_Color::get_type(),
1321
+ 'value' => Scheme_Color::COLOR_2,
1322
+ ],
1323
+ 'selectors' => [
1324
+ '{{WRAPPER}} .premium-gallery-load-more-btn:hover' => 'color: {{VALUE}};'
1325
+ ]
1326
+ ]
1327
+ );
1328
+
1329
+ $this->add_group_control(
1330
+ Group_Control_Text_Shadow::get_type(),
1331
+ [
1332
+ 'name' => 'premium_gallery_button_text_shadow_hover',
1333
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn:hover',
1334
+ ]
1335
+ );
1336
+
1337
+ $this->add_group_control(
1338
+ Group_Control_Background::get_type(),
1339
+ [
1340
+ 'name' => 'premium_gallery_button_background_hover',
1341
+ 'types' => [ 'classic' , 'gradient' ],
1342
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn:hover',
1343
+ ]
1344
+ );
1345
+
1346
+ $this->add_group_control(
1347
+ Group_Control_Border::get_type(),
1348
+ [
1349
+ 'name' => 'premium_gallery_button_border_hover',
1350
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn:hover',
1351
+ ]
1352
+ );
1353
+
1354
+ $this->add_control('button_border_radius_hover',
1355
+ [
1356
+ 'label' => __('Border Radius', 'premium-addons-for-elementor'),
1357
+ 'type' => Controls_Manager::SLIDER,
1358
+ 'size_units' => ['px', 'em' , '%' ],
1359
+ 'selectors' => [
1360
+ '{{WRAPPER}} .premium-gallery-load-more-btn:hover' => 'border-radius: {{SIZE}}{{UNIT}};'
1361
+ ]
1362
+ ]
1363
+ );
1364
+
1365
+ $this->add_group_control(
1366
+ Group_Control_Box_Shadow::get_type(),
1367
+ [
1368
+ 'name' => 'premium_gallery_button_shadow_hover',
1369
+ 'selector' => '{{WRAPPER}} .premium-gallery-load-more-btn:hover',
1370
+ ]
1371
+ );
1372
+
1373
+ $this->add_responsive_control('button_margin_hover',
1374
+ [
1375
+ 'label' => __('Margin', 'premium-addons-for-elementor'),
1376
+ 'type' => Controls_Manager::DIMENSIONS,
1377
+ 'size_units' => ['px', 'em', '%'],
1378
+ 'selectors' => [
1379
+ '{{WRAPPER}} .premium-gallery-load-more-btn:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1380
+ ]
1381
+ ]
1382
+ );
1383
+
1384
+ $this->add_responsive_control('premium_gallery_button_padding_hover',
1385
+ [
1386
+ 'label' => __('Padding', 'premium-addons-for-elementor'),
1387
+ 'type' => Controls_Manager::DIMENSIONS,
1388
+ 'size_units' => ['px', 'em', '%'],
1389
+ 'selectors' => [
1390
+ '{{WRAPPER}} .premium-gallery-load-more-btn:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1391
+ ]
1392
+ ]
1393
+ );
1394
+
1395
+
1396
+ $this->end_controls_tab();
1397
+
1398
+ $this->end_controls_tabs();
1399
+
1400
+ $this->end_controls_section();
1401
+
1402
}
1403
1404
public function filter_cats( $string ) {
1444
'filter' => $settings['premium_gallery_filter'],
1445
'light_box' => $settings['premium_gallery_light_box'],
1446
'overlay_gallery'=> 'yes' == $settings['premium_gallery_overlay_gallery'] ? true : false,
1447
+ 'active_cat' => $category_formatted,
1448
+ 'load_more' => 'yes' == $settings['premium_gallery_load_more'] ? true : false,
1449
];
1450
1451
$this->add_render_attribute( 'grid', [
1536
}
1537
1538
?>
1539
+ <div <?php echo $this->get_render_attribute_string( $key ); ?>>
1540
+ <div class="pa-gallery-img <?php echo esc_attr( $layout ); ?>" onclick="">
1541
+ <div class="pa-gallery-img-container <?php echo esc_attr( $settings['premium_gallery_img_effect'] ); ?>">
1542
+ <?php if( $settings['premium_gallery_img_size_select'] == 'fitRows' ) :
1543
$image_src = $image['premium_gallery_img'];
1544
$image_src_size = Group_Control_Image_Size::get_attachment_image_src( $image_src['id'], 'thumbnail', $settings );
1545
if( empty( $image_src_size ) ) : $image_src_size = $image_src['url']; else: $image_src_size = $image_src_size; endif;
1570
</div>
1571
</div>
1572
<div class="premium-gallery-caption">
1573
+ <?php if(!empty($image['premium_gallery_img_name'])):?>
1574
+ <span class="premium-gallery-img-name"><?php echo $image['premium_gallery_img_name']; ?></span>
1575
+ <?php endif; ?>
1576
+ <?php if(!empty($image['premium_gallery_img_desc'])):?>
1577
+ <p class="premium-gallery-img-desc"><?php echo $image['premium_gallery_img_desc']; ?></p>
1578
+ <?php endif; ?>
1579
</div>
1580
<?php else: ?>
1581
<div class="pa-gallery-icons-caption-container">
1620
</div>
1621
<?php endforeach; ?>
1622
</div>
1623
+ <?php if ( $settings['premium_gallery_load_more'] === 'yes' ) : ?>
1624
+ <div class="premium-gallery-load-more premium-gallery-btn-hidden">
1625
+ <button class="premium-gallery-load-more-btn"><span><?php echo $settings['premium_gallery_load_more_text']; ?></span><div class="premium-loader" ></div></button>
1626
+ </div>
1627
+ <?php endif; ?>
1628
</div>
1629
+ <?php if($settings['premium_gallery_responsive_switcher'] === 'yes') : ?>
1630
<style>
1631
@media(min-width: <?php echo $min_size; ?> ) and (max-width:<?php echo $max_size; ?>){
1632
#premium-img-gallery-<?php echo esc_attr($this->get_id()); ?> .premium-gallery-caption {