Premium Addons for Elementor - Version 3.10.8

Version Description

  • Tweak: Added Carousel options in Persons widget.
  • Fixed: $ is not a function in Maps widget.
Download this release

Release Info

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

Code changes from version 3.10.7 to 3.10.8

assets/editor/js/premium-maps-address.js CHANGED
@@ -1,81 +1,68 @@
1
- function getAddress(ob) {
2
- var address = $(ob)
3
- .parent()
4
- .find("input")
5
- .attr("value");
6
- if (address != "") {
7
- geocoder = new google.maps.Geocoder();
8
- geocoder.geocode({ address: address }, function(results, status) {
9
- if (status == google.maps.GeocoderStatus.OK) {
10
- var output = $(ob)
11
- .parent()
12
- .find(".premium-address-result"),
13
- latiude = results[0].geometry.location.lat(),
14
- longitude = results[0].geometry.location.lng();
15
 
16
- $(output).html(
17
- "Latitude: " +
18
- latiude +
19
- "<br>Longitude: " +
20
- longitude +
21
- "<br>(Copy and Paste your Latitude & Longitude value below)"
22
- );
23
- $(ob)
24
- .parents(".elementor-control-premium_map_notice")
25
- .nextAll(".elementor-control-premium_maps_center_lat")
26
- .find("input")
27
- .val(latiude)
28
- .trigger("input");
29
- $(ob)
30
- .parents(".elementor-control-premium_map_notice")
31
- .nextAll(".elementor-control-premium_maps_center_long")
32
- .find("input")
33
- .val(longitude)
34
- .trigger("input");
35
- } else {
36
- alert("Geocode was not successful for the following reason: " + status);
37
- }
38
- });
39
- }
 
 
 
 
 
 
 
 
 
40
  }
41
 
42
  function getPinAddress(ob) {
43
- var address = $(ob)
44
- .parent()
45
- .find("input")
46
- .attr("value");
47
- if (address != "") {
48
- geocoder = new google.maps.Geocoder();
49
- geocoder.geocode({ address: address }, function(results, status) {
50
- if (status == google.maps.GeocoderStatus.OK) {
51
- var output = $(ob)
52
- .parent()
53
- .find(".premium-address-result"),
54
- latiude = results[0].geometry.location.lat(),
55
- longitude = results[0].geometry.location.lng();
56
-
57
- $(output).html(
58
- "Latitude: " +
59
- latiude +
60
- "<br>Longitude: " +
61
- longitude +
62
- "<br>(Copy and Paste your Latitude & Longitude value below)"
63
- );
64
- $(ob)
65
- .parents(".elementor-control-premium_map_pin_notice")
66
- .nextAll(".elementor-control-map_latitude")
67
- .find("input")
68
- .val(latiude)
69
- .trigger("input");
70
- $(ob)
71
- .parents(".elementor-control-premium_map_pin_notice")
72
- .nextAll(".elementor-control-map_longitude")
73
- .find("input")
74
- .val(longitude)
75
- .trigger("input");
76
- } else {
77
- alert("Geocode was not successful for the following reason: " + status);
78
- }
79
- });
80
- }
81
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
2
+ var $ = jQuery;
3
+
4
+ function getAddress(ob) {
5
+
6
+ var address = $(ob).parent().find("input").attr("value");
7
+
8
+ if ( address !== "" ) {
9
+
10
+ geocoder = new google.maps.Geocoder();
11
+
12
+ geocoder.geocode({
13
+ address: address
14
+ }, function(results, status) {
15
+
16
+ if (status == google.maps.GeocoderStatus.OK) {
17
+
18
+ var output = $(ob).parent().find(".premium-address-result"),
19
+ latiude = results[0].geometry.location.lat(),
20
+ longitude = results[0].geometry.location.lng();
21
+
22
+ $(output).html("Latitude: " + latiude + "<br>Longitude: " + longitude + "<br>(Copy and Paste your Latitude & Longitude value below)");
23
+
24
+ $(ob).parents(".elementor-control-premium_map_notice").nextAll(".elementor-control-premium_maps_center_lat").find("input").val(latiude).trigger("input");
25
+
26
+ $(ob).parents(".elementor-control-premium_map_notice").nextAll(".elementor-control-premium_maps_center_long").find("input").val(longitude).trigger("input");
27
+
28
+ } else {
29
+
30
+ alert("Geocode was not successful for the following reason: " + status);
31
+
32
+ }
33
+ });
34
+ }
35
  }
36
 
37
  function getPinAddress(ob) {
38
+
39
+ var address = $(ob).parent().find("input").attr("value");
40
+
41
+ if (address !== "") {
42
+
43
+ geocoder = new google.maps.Geocoder();
44
+
45
+ geocoder.geocode({
46
+ address: address
47
+ }, function(results, status) {
48
+
49
+ if (status == google.maps.GeocoderStatus.OK) {
50
+
51
+ var output = $(ob).parent().find(".premium-address-result"),
52
+ latiude = results[0].geometry.location.lat(),
53
+ longitude = results[0].geometry.location.lng();
54
+
55
+ $(output).html("Latitude: " + latiude + "<br>Longitude: " + longitude + "<br>(Copy and Paste your Latitude & Longitude value below)");
56
+
57
+ $(ob).parents(".elementor-control-premium_map_pin_notice").nextAll(".elementor-control-map_latitude").find("input").val(latiude).trigger("input");
58
+
59
+ $(ob).parents(".elementor-control-premium_map_pin_notice").nextAll(".elementor-control-map_longitude").find("input").val(longitude).trigger("input");
60
+
61
+ } else {
62
+
63
+ alert("Geocode was not successful for the following reason: " + status);
64
+
65
+ }
66
+ });
67
+ }
68
+ }
 
 
 
 
 
 
 
 
assets/frontend/css/premium-addons.css CHANGED
@@ -718,7 +718,7 @@
718
  }
719
  /**************** Premium Carousel **************/
720
  /************************************************/
721
- .premium-carousel-wrapper a.carousel-arrow, .premium-carousel-wrapper a.ver-carousel-arrow, .premium-fb-rev-container a.carousel-arrow, .premium-blog-wrap a.carousel-arrow, .premium-hscroll-wrap a.carousel-arrow, .premium-twitter-feed-wrapper a.carousel-arrow {
722
  display: -ms-flexbox;
723
  display: -webkit-flex;
724
  display: -moz-flex;
@@ -753,7 +753,7 @@ div[class^="premium-"] .slick-arrow i {
753
  .premium-carousel-wrapper .premium-carousel-content-hidden {
754
  visibility: hidden;
755
  }
756
- .premium-carousel-wrapper a.carousel-arrow, .premium-fb-rev-container a.carousel-arrow, .premium-blog-wrap a.carousel-arrow, .premium-hscroll-wrap a.carousel-arrow, .premium-twitter-feed-wrapper a.carousel-arrow {
757
  top: 50%;
758
  }
759
  .premium-carousel-wrapper a.ver-carousel-arrow {
@@ -2359,6 +2359,16 @@ button.premium-modal-box-modal-close {
2359
  -ms-flex-align: flex-start;
2360
  align-items: flex-start;
2361
  }
 
 
 
 
 
 
 
 
 
 
2362
  .premium-person-widget-style1 .multiple-persons[data-persons-equal="yes"] .premium-person-image-container,
2363
  .premium-person-widget-style1 .multiple-persons[data-persons-equal="yes"] .premium-person-image-wrap {
2364
  height: 100%;
718
  }
719
  /**************** Premium Carousel **************/
720
  /************************************************/
721
+ .premium-carousel-wrapper a.carousel-arrow, .premium-carousel-wrapper a.ver-carousel-arrow, .premium-fb-rev-container a.carousel-arrow, .premium-blog-wrap a.carousel-arrow, .premium-hscroll-wrap a.carousel-arrow, .premium-twitter-feed-wrapper a.carousel-arrow, .premium-persons-container a.carousel-arrow {
722
  display: -ms-flexbox;
723
  display: -webkit-flex;
724
  display: -moz-flex;
753
  .premium-carousel-wrapper .premium-carousel-content-hidden {
754
  visibility: hidden;
755
  }
756
+ .premium-carousel-wrapper a.carousel-arrow, .premium-fb-rev-container a.carousel-arrow, .premium-blog-wrap a.carousel-arrow, .premium-hscroll-wrap a.carousel-arrow, .premium-twitter-feed-wrapper a.carousel-arrow, .premium-persons-container a.carousel-arrow {
757
  top: 50%;
758
  }
759
  .premium-carousel-wrapper a.ver-carousel-arrow {
2359
  -ms-flex-align: flex-start;
2360
  align-items: flex-start;
2361
  }
2362
+ .premium-person-widget-style1 .slick-track {
2363
+ display: -ms-flexbox;
2364
+ display: -webkit-flex;
2365
+ display: -moz-flex;
2366
+ display: -ms-flex;
2367
+ display: flex;
2368
+ }
2369
+ .premium-person-widget-style1 .slick-slide {
2370
+ height: inherit !important;
2371
+ }
2372
  .premium-person-widget-style1 .multiple-persons[data-persons-equal="yes"] .premium-person-image-container,
2373
  .premium-person-widget-style1 .multiple-persons[data-persons-equal="yes"] .premium-person-image-wrap {
2374
  height: 100%;
assets/frontend/js/premium-addons.js CHANGED
@@ -952,14 +952,44 @@
952
 
953
  var PremiumPersonsHandler = function($scope, $) {
954
 
955
- if( ! $scope.hasClass("premium-person-widget-style2") )
956
- return;
957
-
958
  var $persons = $scope.find(".multiple-persons");
959
 
960
  if( ! $persons.length )
961
  return;
962
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
963
  if( "yes" !== $persons.data("persons-equal") )
964
  return;
965
 
952
 
953
  var PremiumPersonsHandler = function($scope, $) {
954
 
 
 
 
955
  var $persons = $scope.find(".multiple-persons");
956
 
957
  if( ! $persons.length )
958
  return;
959
 
960
+ var carousel = $persons.data("carousel");
961
+
962
+ if( carousel ) {
963
+
964
+ var autoPlay = $persons.data("play"),
965
+ speed = $persons.data("speed"),
966
+ rtl = $persons.data("rtl"),
967
+ colsNumber = $persons.data("col"),
968
+ prevArrow = '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Next" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>',
969
+ nextArrow = '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>';
970
+
971
+ $persons.slick({
972
+ infinite: true,
973
+ slidesToShow: colsNumber,
974
+ slidesToScroll: colsNumber,
975
+ responsive: [
976
+ { breakpoint: 769, settings: { slidesToShow: 1, slidesToScroll: 1 } },
977
+ { breakpoint: 481, settings: { slidesToShow: 1, slidesToScroll: 1 } }
978
+ ],
979
+ autoplay: autoPlay,
980
+ autoplaySpeed: speed,
981
+ rtl: rtl,
982
+ nextArrow: nextArrow,
983
+ prevArrow: prevArrow,
984
+ draggable: true,
985
+ pauseOnHover: true
986
+ });
987
+ }
988
+
989
+ if( ! $scope.hasClass("premium-person-widget-style2") )
990
+ return;
991
+
992
+
993
  if( "yes" !== $persons.data("persons-equal") )
994
  return;
995
 
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.10.7
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.10.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.10.6');
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.10.8
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.10.8');
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.10.7');
23
 
24
  if( ! class_exists('Premium_Addons_Elementor') ) {
25
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
5
  Requires at Least: 4.5
6
  Tested Up To: 5.3
7
  Requires PHP: 5.4
8
- Stable Tag: 3.10.7
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -175,6 +175,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
175
 
176
  == Changelog ==
177
 
 
 
 
 
 
178
  = 3.10.7 =
179
 
180
  - Tweak: Added `Size` option for social icons in Persons widget.
5
  Requires at Least: 4.5
6
  Tested Up To: 5.3
7
  Requires PHP: 5.4
8
+ Stable Tag: 3.10.8
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
175
 
176
  == Changelog ==
177
 
178
+ = 3.10.8 =
179
+
180
+ - Tweak: Added Carousel options in Persons widget.
181
+ - Fixed: `$ is not a function` in Maps widget.
182
+
183
  = 3.10.7 =
184
 
185
  - Tweak: Added `Size` option for social icons in Persons widget.
widgets/premium-person.php CHANGED
@@ -42,6 +42,7 @@ class Premium_Person extends Widget_Base {
42
  public function get_script_depends() {
43
  return [
44
  'imagesloaded',
 
45
  'premium-addons-js'
46
  ];
47
  }
@@ -757,6 +758,61 @@ class Premium_Person extends Widget_Base {
757
  ]
758
  );
759
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  $this->end_controls_section();
761
 
762
  /*Start Image Style Section*/
@@ -1153,6 +1209,79 @@ class Premium_Person extends Widget_Base {
1153
 
1154
  $this->end_controls_section();
1155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1156
  }
1157
 
1158
  /**
@@ -1201,6 +1330,28 @@ class Premium_Person extends Widget_Base {
1201
  $this->add_render_attribute( 'persons_container', 'class', 'multiple-persons' );
1202
  $this->add_render_attribute( 'persons_container', 'data-persons-equal', $settings['multiple_equal_height'] );
1203
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1204
 
1205
 
1206
  ?>
@@ -1451,6 +1602,25 @@ class Premium_Person extends Widget_Base {
1451
  view.addRenderAttribute( 'persons_container', 'class', 'multiple-persons' );
1452
  view.addRenderAttribute( 'persons_container', 'data-persons-equal', settings.multiple_equal_height );
1453
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1454
 
1455
 
1456
  function getSocialIcons( person = null ) {
42
  public function get_script_depends() {
43
  return [
44
  'imagesloaded',
45
+ 'jquery-slick',
46
  'premium-addons-js'
47
  ];
48
  }
758
  ]
759
  );
760
 
761
+ $this->add_control('carousel',
762
+ [
763
+ 'label' => __('Carousel', 'premium-addons-pro'),
764
+ 'type' => Controls_Manager::SWITCHER
765
+ ]
766
+ );
767
+
768
+ $this->add_control('carousel_play',
769
+ [
770
+ 'label' => __('Auto Play', 'premium-addons-pro'),
771
+ 'type' => Controls_Manager::SWITCHER,
772
+ 'condition' => [
773
+ 'carousel' => 'yes'
774
+ ]
775
+ ]
776
+ );
777
+
778
+ $this->add_control('carousel_autoplay_speed',
779
+ [
780
+ 'label' => __( 'Autoplay Speed', 'premium-addons-pro' ),
781
+ 'description' => __( 'Autoplay Speed means at which time the next slide should come. Set a value in milliseconds (ms)', 'premium-addons-pro' ),
782
+ 'type' => Controls_Manager::NUMBER,
783
+ 'default' => 5000,
784
+ 'condition' => [
785
+ 'carousel' => 'yes',
786
+ 'carousel_play' => 'yes',
787
+ ],
788
+ ]
789
+ );
790
+
791
+ $this->add_responsive_control('carousel_arrows_pos',
792
+ [
793
+ 'label' => __('Arrows Position', 'premium-addons-pro'),
794
+ 'type' => Controls_Manager::SLIDER,
795
+ 'size_units' => ['px', "em"],
796
+ 'range' => [
797
+ 'px' => [
798
+ 'min' => -100,
799
+ 'max' => 100,
800
+ ],
801
+ 'em' => [
802
+ 'min' => -10,
803
+ 'max' => 10,
804
+ ],
805
+ ],
806
+ 'condition' => [
807
+ 'carousel' => 'yes'
808
+ ],
809
+ 'selectors' => [
810
+ '{{WRAPPER}} .premium-persons-container a.carousel-arrow.carousel-next' => 'right: {{SIZE}}{{UNIT}};',
811
+ '{{WRAPPER}} .premium-persons-container a.carousel-arrow.carousel-prev' => 'left: {{SIZE}}{{UNIT}};',
812
+ ]
813
+ ]
814
+ );
815
+
816
  $this->end_controls_section();
817
 
818
  /*Start Image Style Section*/
1209
 
1210
  $this->end_controls_section();
1211
 
1212
+ $this->start_controls_section('carousel_style',
1213
+ [
1214
+ 'label' => __('Carousel', 'premium-addons-pro'),
1215
+ 'tab' => Controls_Manager::TAB_STYLE,
1216
+ 'condition' => [
1217
+ 'carousel' => 'yes'
1218
+ ]
1219
+ ]
1220
+ );
1221
+
1222
+ $this->add_control('arrow_color',
1223
+ [
1224
+ 'label' => __('Color', 'premium-addons-pro'),
1225
+ 'type' => Controls_Manager::COLOR,
1226
+ 'scheme' => [
1227
+ 'type' => Scheme_Color::get_type(),
1228
+ 'value' => Scheme_Color::COLOR_1,
1229
+ ],
1230
+ 'selectors' => [
1231
+ '{{WRAPPER}} .premium-persons-container .slick-arrow' => 'color: {{VALUE}};',
1232
+ ]
1233
+ ]
1234
+ );
1235
+
1236
+ $this->add_responsive_control('arrow_size',
1237
+ [
1238
+ 'label' => __('Size', 'premium-addons-pro'),
1239
+ 'type' => Controls_Manager::SLIDER,
1240
+ 'size_units' => ['px', '%' ,'em'],
1241
+ 'selectors' => [
1242
+ '{{WRAPPER}} .premium-persons-container .slick-arrow i' => 'font-size: {{SIZE}}{{UNIT}};'
1243
+ ]
1244
+ ]
1245
+ );
1246
+
1247
+ $this->add_control('arrow_background',
1248
+ [
1249
+ 'label' => __('Background Color', 'premium-addons-pro'),
1250
+ 'type' => Controls_Manager::COLOR,
1251
+ 'scheme' => [
1252
+ 'type' => Scheme_Color::get_type(),
1253
+ 'value' => Scheme_Color::COLOR_2,
1254
+ ],
1255
+ 'selectors' => [
1256
+ '{{WRAPPER}} .premium-persons-container .slick-arrow' => 'background-color: {{VALUE}};',
1257
+ ]
1258
+ ]
1259
+ );
1260
+
1261
+ $this->add_control('arrow_border_radius',
1262
+ [
1263
+ 'label' => __('Border Radius', 'premium-addons-pro'),
1264
+ 'type' => Controls_Manager::SLIDER,
1265
+ 'size_units' => ['px', '%' ,'em'],
1266
+ 'selectors' => [
1267
+ '{{WRAPPER}} .premium-persons-container .slick-arrow' => 'border-radius: {{SIZE}}{{UNIT}};'
1268
+ ]
1269
+ ]
1270
+ );
1271
+
1272
+ $this->add_control('arrow_padding',
1273
+ [
1274
+ 'label' => __('Padding', 'premium-addons-pro'),
1275
+ 'type' => Controls_Manager::SLIDER,
1276
+ 'size_units' => ['px', '%' ,'em'],
1277
+ 'selectors' => [
1278
+ '{{WRAPPER}} .premium-persons-container .slick-arrow' => 'padding: {{SIZE}}{{UNIT}};'
1279
+ ]
1280
+ ]
1281
+ );
1282
+
1283
+ $this->end_controls_section();
1284
+
1285
  }
1286
 
1287
  /**
1330
  $this->add_render_attribute( 'persons_container', 'class', 'multiple-persons' );
1331
  $this->add_render_attribute( 'persons_container', 'data-persons-equal', $settings['multiple_equal_height'] );
1332
  }
1333
+
1334
+ $carousel = 'yes' === $settings['carousel'] ? true : false;
1335
+
1336
+ if( $carousel ) {
1337
+
1338
+ $this->add_render_attribute('persons_container', 'data-carousel', $carousel );
1339
+
1340
+ $columns = intval ( 100 / substr( $settings['persons_per_row'], 0, strpos( $settings['persons_per_row'], '%') ) );
1341
+
1342
+ $this->add_render_attribute('persons_container', 'data-col', $columns );
1343
+
1344
+ $play = 'yes' === $settings['carousel_play'] ? true : false;
1345
+
1346
+ $speed = ! empty( $settings['carousel_autoplay_speed'] ) ? $settings['carousel_autoplay_speed'] : 5000;
1347
+
1348
+ $this->add_render_attribute('persons_container', 'data-play', $play );
1349
+
1350
+ $this->add_render_attribute('persons_container', 'data-speed', $speed );
1351
+
1352
+ $this->add_render_attribute('persons_container', 'data-rtl', is_rtl() );
1353
+
1354
+ }
1355
 
1356
 
1357
  ?>
1602
  view.addRenderAttribute( 'persons_container', 'class', 'multiple-persons' );
1603
  view.addRenderAttribute( 'persons_container', 'data-persons-equal', settings.multiple_equal_height );
1604
  }
1605
+
1606
+ var carousel = 'yes' === settings.carousel ? true : false;
1607
+
1608
+ if( carousel ) {
1609
+
1610
+ view.addRenderAttribute('persons_container', 'data-carousel', carousel );
1611
+
1612
+ var play = 'yes' === settings.carousel_play ? true : false,
1613
+ speed = '' !== settings.carousel_autoplay_speed ? settings.carousel_autoplay_speed : 5000;
1614
+
1615
+ var columns = parseInt( 100 / settings.persons_per_row.substr( 0, settings.persons_per_row.indexOf('%') ) );
1616
+
1617
+ view.addRenderAttribute('persons_container', 'data-col', columns );
1618
+
1619
+ view.addRenderAttribute('persons_container', 'data-play', play );
1620
+
1621
+ view.addRenderAttribute('persons_container', 'data-speed', speed );
1622
+
1623
+ }
1624
 
1625
 
1626
  function getSocialIcons( person = null ) {