Premium Addons for Elementor - Version 2.7.8

Version Description

  • Tweak: Added Section IDs option beside Elementor Templates to Premium Vertical Scroll widget.
  • Tweak: Added Mute option to Premium Video Box widget.
Download this release

Release Info

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

Code changes from version 2.7.7 to 2.7.8

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 2.7.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>
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 2.7.7</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/js/premium-addons.js CHANGED
@@ -31,14 +31,13 @@
31
  'visibility': 'visible'
32
  } );
33
  setTimeout(function(){
34
- vidSrc = videoBoxElement.find("iframe").attr('src');
35
- checkRel = vidSrc.indexOf('rel=0');
36
- if( -1 !== checkRel ) {
37
- videoBoxElement.find("iframe").attr('src', videoBoxElement.find("iframe").attr('src') + '&autoplay=1');
38
- } else {
39
- videoBoxElement.find("iframe").attr('src', videoBoxElement.find("iframe").attr('src') + '?autoplay=1');
40
- }
41
-
42
  },600);
43
  });
44
  };
@@ -426,6 +425,7 @@
426
  var self = this,
427
  $window = $( window ),
428
  $instance = $selector,
 
429
  $htmlBody = $( 'html, body' ),
430
  $itemsList = $( '.premium-vscroll-dot-item', $instance ),
431
  $menuItems = $( '.premium-vscroll-nav-item', $instance ),
@@ -518,7 +518,11 @@
518
  } );
519
  if ( settings.fullSection ) {
520
  var vSection = document.getElementById($instance.attr('id'));
521
- document.addEventListener?(vSection.addEventListener("wheel",self.onWheel,!1)):vSection.attachEvent("onmousewheel",self.onWheel);
 
 
 
 
522
  }
523
 
524
  for ( var section in sections ) {
@@ -669,8 +673,9 @@
669
  }
670
 
671
  var $target = $( event.target ),
672
- $section = $target.closest( '.premium-vscroll-temp' ),
673
- $vTarget = $instance.visible(true,false,'vertical'),
 
674
  sectionId = $section.attr( 'id' ),
675
  offset = 0,
676
  newSectionId = false,
@@ -681,7 +686,6 @@
681
  windowScrollTop = $window.scrollTop(),
682
  deviceType = $( 'body' ).data('elementor-device-mode'),
683
  dotIndex = $('.premium-vscroll-dot-item.active').index();
684
-
685
  if('mobile' === deviceType || 'tablet' === deviceType ) {
686
  $(".premium-vscroll-tooltip").hide();
687
  if( dotIndex === $itemsList.length - 1 && ! $vTarget ) {
@@ -721,9 +725,8 @@
721
  newSectionId = nextSectionId;
722
  }
723
  }
724
-
725
  if ( newSectionId ) {
726
-
727
  $(".premium-vscroll-dots, .premium-vscroll-nav-menu").removeClass('premium-vscroll-dots-hide');
728
  event.preventDefault();
729
  offset = sections[newSectionId].offset - settings.offset;
@@ -738,13 +741,14 @@
738
  isScrolling = false;
739
  } );
740
  } else {
741
- if('down' === direction) {
742
- if( ( $instance.offset().top + $instance.innerHeight() ) - $(document).scrollTop() > 600 ) {
743
- $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
 
744
  }
745
  } else if('up' === direction) {
746
- if( $instance.offset().top - $(document).scrollTop() > 200 ) {
747
- $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
748
  }
749
  }
750
  }
31
  'visibility': 'visible'
32
  } );
33
  setTimeout(function(){
34
+ vidSrc = videoBoxElement.find("iframe").attr('src');
35
+ checkRel = vidSrc.indexOf('rel=0');
36
+ // if( -1 !== checkRel ) {
37
+ // videoBoxElement.find("iframe").attr('src', videoBoxElement.find("iframe").attr('src') + '&autoplay=1');
38
+ // } else {
39
+ videoBoxElement.find("iframe").attr('src', videoBoxElement.find("iframe").attr('src') + '&autoplay=1');
40
+ // }
 
41
  },600);
42
  });
43
  };
425
  var self = this,
426
  $window = $( window ),
427
  $instance = $selector,
428
+ checkTemps = $selector.find('.premium-vscroll-sections-wrap').length,
429
  $htmlBody = $( 'html, body' ),
430
  $itemsList = $( '.premium-vscroll-dot-item', $instance ),
431
  $menuItems = $( '.premium-vscroll-nav-item', $instance ),
518
  } );
519
  if ( settings.fullSection ) {
520
  var vSection = document.getElementById($instance.attr('id'));
521
+ if( checkTemps ){
522
+ document.addEventListener?(vSection.addEventListener("wheel",self.onWheel,!1)):vSection.attachEvent("onmousewheel",self.onWheel);
523
+ } else {
524
+ document.addEventListener?(document.addEventListener("wheel",self.onWheel,!1)):document.attachEvent("onmousewheel",self.onWheel);
525
+ }
526
  }
527
 
528
  for ( var section in sections ) {
673
  }
674
 
675
  var $target = $( event.target ),
676
+ sectionSelector = checkTemps ? '.premium-vscroll-temp' : '.elementor-top-section',
677
+ $section = $target.closest( sectionSelector ),
678
+ $vTarget = $instance.visible(true,false,'vertical'),
679
  sectionId = $section.attr( 'id' ),
680
  offset = 0,
681
  newSectionId = false,
686
  windowScrollTop = $window.scrollTop(),
687
  deviceType = $( 'body' ).data('elementor-device-mode'),
688
  dotIndex = $('.premium-vscroll-dot-item.active').index();
 
689
  if('mobile' === deviceType || 'tablet' === deviceType ) {
690
  $(".premium-vscroll-tooltip").hide();
691
  if( dotIndex === $itemsList.length - 1 && ! $vTarget ) {
725
  newSectionId = nextSectionId;
726
  }
727
  }
728
+
729
  if ( newSectionId ) {
 
730
  $(".premium-vscroll-dots, .premium-vscroll-nav-menu").removeClass('premium-vscroll-dots-hide');
731
  event.preventDefault();
732
  offset = sections[newSectionId].offset - settings.offset;
741
  isScrolling = false;
742
  } );
743
  } else {
744
+ var $lastselector = checkTemps ? $instance : $('#' + sectionId);
745
+ if('down' === direction ) {
746
+ if( ( $lastselector.offset().top + $lastselector.innerHeight() ) - $(document).scrollTop() > 600 ) {
747
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
748
  }
749
  } else if('up' === direction) {
750
+ if( $lastselector.offset().top - $(document).scrollTop() > 200 ) {
751
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
752
  }
753
  }
754
  }
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 2.7.7
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
@@ -22,12 +22,12 @@ if (! function_exists('add_action')) {
22
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
23
 
24
 
25
- define('PREMIUM_ADDONS_VERSION', '2.7.7');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
- define('PREMIUM_ADDONS_STABLE_VERSION', '2.7.6');
31
 
32
  if( ! class_exists('Premium_Addons_Elementor') ) {
33
  /*
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 2.7.8
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
22
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
23
 
24
 
25
+ define('PREMIUM_ADDONS_VERSION', '2.7.8');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
+ define('PREMIUM_ADDONS_STABLE_VERSION', '2.7.7');
31
 
32
  if( ! class_exists('Premium_Addons_Elementor') ) {
33
  /*
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
- Stable tag: 2.7.7
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -137,6 +137,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
137
 
138
  == Changelog ==
139
 
 
 
 
 
 
 
140
  = 2.7.7 =
141
 
142
  - Tweak: Added hover color option to trigger button icon and text in Premium Modal Box widget.
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
+ Stable tag: 2.7.8
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
137
 
138
  == Changelog ==
139
 
140
+ = 2.7.8 =
141
+
142
+ - Tweak: Added Section IDs option beside Elementor Templates to Premium Vertical Scroll widget.
143
+ - Tweak: Added Mute option to Premium Video Box widget.
144
+
145
+
146
  = 2.7.7 =
147
 
148
  - Tweak: Added hover color option to trigger button icon and text in Premium Modal Box widget.
widgets/premium-videobox.php CHANGED
@@ -112,6 +112,18 @@ class Premium_Videobox extends Widget_Base {
112
  ]
113
  );
114
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  /*End Image Settings Section*/
116
  $this->end_controls_section();
117
 
@@ -522,8 +534,12 @@ class Premium_Videobox extends Widget_Base {
522
 
523
  $video_embed = $settings['premium_video_box_video_embed'];
524
 
525
- $rel_videos = ( 'yes' == $settings['premium_video_box_related_video'] && isset( $settings['premium_video_box_related_video'] ) ) ? '' : '?rel=0';
526
- ?>
 
 
 
 
527
 
528
  <div class="premium-video-box-container" id="premium-video-box-container-<?php echo esc_attr( $this->get_id() ); ?>">
529
  <div class="premium-video-box-image-container">
@@ -542,10 +558,10 @@ class Premium_Videobox extends Widget_Base {
542
  <div class="premium-video-box-video-container">
543
  <?php if ( $video_type === 'youtube'){ ?>
544
  <?php if ( $video_url_type === 'id' && !empty( $video_id ) ) : ?>
545
- <iframe src="https://www.youtube.com/embed/<?php echo $video_id . $rel_videos; ?>" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen>
546
  </iframe>
547
  <?php elseif ( $video_url_type === 'embed' && !empty( $video_embed ) ) : ?>
548
- <iframe src="<?php echo $video_embed . $rel_videos; ?>" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen>
549
  </iframe>
550
  <?php endif; ?>
551
  <?php } elseif ( $video_type === 'vimeo'){ ?>
112
  ]
113
  );
114
 
115
+ /*Muted Videos*/
116
+ $this->add_control('premium_video_box_mute',
117
+ [
118
+ 'label' => esc_html__('Mute', 'premium-addons-for-elementor'),
119
+ 'type' => Controls_Manager::SWITCHER,
120
+ 'description' => esc_html__('This will play the video muted'),
121
+ 'condition' => [
122
+ 'premium_video_box_video_type' => 'youtube',
123
+ ]
124
+ ]
125
+ );
126
+
127
  /*End Image Settings Section*/
128
  $this->end_controls_section();
129
 
534
 
535
  $video_embed = $settings['premium_video_box_video_embed'];
536
 
537
+ $options = '?rel=';
538
+ $options .= 'yes' == $settings['premium_video_box_related_video'] ? '1' : '0';
539
+ $options .= '&mute=';
540
+ $options .= 'yes' == $settings['premium_video_box_mute'] ? '1' : '0';
541
+
542
+ ?>
543
 
544
  <div class="premium-video-box-container" id="premium-video-box-container-<?php echo esc_attr( $this->get_id() ); ?>">
545
  <div class="premium-video-box-image-container">
558
  <div class="premium-video-box-video-container">
559
  <?php if ( $video_type === 'youtube'){ ?>
560
  <?php if ( $video_url_type === 'id' && !empty( $video_id ) ) : ?>
561
+ <iframe src="https://www.youtube.com/embed/<?php echo $video_id . $options; ?>" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen>
562
  </iframe>
563
  <?php elseif ( $video_url_type === 'embed' && !empty( $video_embed ) ) : ?>
564
+ <iframe src="<?php echo $video_embed . $options; ?>" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen>
565
  </iframe>
566
  <?php endif; ?>
567
  <?php } elseif ( $video_type === 'vimeo'){ ?>
widgets/premium-vscroll.php CHANGED
@@ -55,9 +55,22 @@ class Premium_Vscroll extends Widget_Base {
55
  ]
56
  );
57
 
58
- $repeater = new REPEATER();
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
- $repeater->add_control('section_template',
61
  [
62
  'label' => esc_html__( 'Elementor Template', 'premium-addons-for-elementor' ),
63
  'type' => Controls_Manager::SELECT2,
@@ -70,9 +83,51 @@ class Premium_Vscroll extends Widget_Base {
70
  [
71
  'label' => esc_html__( 'Sections', 'premium-addons-for-elementor' ),
72
  'type' => Controls_Manager::REPEATER,
73
- 'fields' => array_values( $repeater->get_controls() ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  ]
75
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  $this->end_controls_section();
78
 
@@ -160,7 +215,7 @@ class Premium_Vscroll extends Widget_Base {
160
 
161
  $this->add_control('nav_menu_repeater',
162
  [
163
- 'label' => esc_html__( 'List Items', 'premium-addons-for-elementor' ),
164
  'type' => Controls_Manager::REPEATER,
165
  'fields' => array_values( $nav_repeater->get_controls() ),
166
  'title_field' => '{{{ nav_menu_item }}}',
@@ -170,25 +225,6 @@ class Premium_Vscroll extends Widget_Base {
170
  ]
171
  );
172
 
173
- $this->add_control('dots_tooltips_switcher',
174
- [
175
- 'label' => esc_html__('Dots Tooltips', 'premium-addons-for-elementor'),
176
- 'type' => Controls_Manager::SWITCHER,
177
- 'default' => 'yes'
178
- ]
179
- );
180
-
181
- $this->add_control('dots_tooltips',
182
- [
183
- 'label' => esc_html__('Dots Tooltips Text', 'premium-addons-for-elementor'),
184
- 'type' => Controls_Manager::TEXT,
185
- 'description' => esc_html__('Add text for each navigation dot separated by \',\'','premium-addons-for-elementor'),
186
- 'condition' => [
187
- 'dots_tooltips_switcher' => 'yes'
188
- ]
189
- ]
190
- );
191
-
192
  $this->add_control('navigation_dots_pos',
193
  [
194
  'label' => esc_html__('Dots Horizontal Position', 'premium-addons-for-elementor'),
@@ -687,6 +723,8 @@ class Premium_Vscroll extends Widget_Base {
687
 
688
  $this->add_render_attribute( 'vertical_scroll_sections_wrap', 'id', 'premium-vscroll-sections-wrap-' . $id );
689
 
 
 
690
  $vscroll_settings = [
691
  'id' => $id,
692
  'speed' => !empty( $settings['scroll_speed'] ) ? $settings['scroll_speed'] * 1000 : 700,
@@ -697,8 +735,10 @@ class Premium_Vscroll extends Widget_Base {
697
  'fullSection'=> 'yes' == $settings['full_section'] ? true : false
698
  ];
699
 
700
- $templates = $settings['section_repeater'];
701
 
 
 
702
  $nav_items = $settings['nav_menu_repeater'];
703
 
704
  ?>
@@ -707,7 +747,7 @@ class Premium_Vscroll extends Widget_Base {
707
  <?php if ('yes' == $settings['nav_menu_switch'] ) : ?>
708
  <ul <?php echo $this->get_render_attribute_string('vertical_scroll_menu'); ?>>
709
  <?php foreach( $nav_items as $index => $item ) : ?>
710
- <li data-menuanchor="<?php echo 'section_' . $id . $index; ?>" class="premium-vscroll-nav-item"><div class="premium-vscroll-nav-link"><?php echo $item['nav_menu_item'] ?></div></li>
711
  <?php endforeach; ?>
712
  </ul>
713
  <?php endif; ?>
@@ -715,25 +755,26 @@ class Premium_Vscroll extends Widget_Base {
715
  <div <?php echo $this->get_render_attribute_string('vertical_scroll_dots'); ?>>
716
  <ul <?php echo $this->get_render_attribute_string('vertical_scroll_dots_list'); ?>>
717
  <?php foreach( $templates as $index => $section ) : ?>
718
- <li data-index="<?php echo $index; ?>" data-menuanchor="<?php echo 'section_' . $id . $index; ?>" class="premium-vscroll-dot-item"><div class="premium-vscroll-nav-link"><span></span></div></li>
719
  <?php endforeach; ?>
720
  </ul>
721
  </div>
722
- <div <?php echo $this->get_render_attribute_string('vertical_scroll_sections_wrap'); ?>>
723
-
724
- <?php foreach( $templates as $index => $section ) :
725
- $this->add_render_attribute('section_' . $index, 'class', [ 'premium-vscroll-temp', 'premium-vscroll-temp-' . $id ] );
726
- $this->add_render_attribute('section_' . $index, 'id', 'section_' . $id . $index );
727
- ?>
728
- <div <?php echo $this->get_render_attribute_string('section_' . $index); ?>>
729
- <?php
730
- $template_id = $section['section_template'];
731
- echo $this->get_template_content($template_id);
732
  ?>
733
- </div>
734
- <?php endforeach; ?>
735
-
736
- </div>
 
 
 
 
 
737
  </div>
738
  </div>
739
 
55
  ]
56
  );
57
 
58
+ $this->add_control('content_type',
59
+ [
60
+ 'label' => esc_html__('Content Type', 'premium-addons-for-elementor'),
61
+ 'type' => Controls_Manager::SELECT,
62
+ 'options' => [
63
+ 'ids' => esc_html__('Section ID', 'premium-addons-for-elementor'),
64
+ 'templates' => esc_html__('Elementor Templates', 'premium-addons-for-elementor')
65
+ ],
66
+ 'default' => 'templates',
67
+ 'description' => esc_html__('Choose which method you prefer to insert sections.', 'premium-addons-for-elementor')
68
+ ]
69
+ );
70
+
71
+ $temp_repeater = new REPEATER();
72
 
73
+ $temp_repeater->add_control('section_template',
74
  [
75
  'label' => esc_html__( 'Elementor Template', 'premium-addons-for-elementor' ),
76
  'type' => Controls_Manager::SELECT2,
83
  [
84
  'label' => esc_html__( 'Sections', 'premium-addons-for-elementor' ),
85
  'type' => Controls_Manager::REPEATER,
86
+ 'fields' => array_values( $temp_repeater->get_controls() ),
87
+ 'condition' => [
88
+ 'content_type' => 'templates'
89
+ ]
90
+ ]
91
+ );
92
+
93
+ $id_repeater = new REPEATER();
94
+
95
+ $id_repeater->add_control('section_id',
96
+ [
97
+ 'label' => esc_html__( 'Section ID', 'premium-addons-for-elementor' ),
98
+ 'type' => Controls_Manager::TEXT
99
+ ]
100
+ );
101
+
102
+ $this->add_control('id_repeater',
103
+ [
104
+ 'label' => esc_html__( 'Sections', 'premium-addons-for-elementor' ),
105
+ 'type' => Controls_Manager::REPEATER,
106
+ 'fields' => array_values( $id_repeater->get_controls() ),
107
+ 'condition' => [
108
+ 'content_type' => 'ids'
109
+ ]
110
  ]
111
+ );
112
+
113
+ $this->add_control('dots_tooltips_switcher',
114
+ [
115
+ 'label' => esc_html__('Dots Tooltips', 'premium-addons-for-elementor'),
116
+ 'type' => Controls_Manager::SWITCHER,
117
+ 'default' => 'yes'
118
+ ]
119
+ );
120
+
121
+ $this->add_control('dots_tooltips',
122
+ [
123
+ 'label' => esc_html__('Dots Tooltips Text', 'premium-addons-for-elementor'),
124
+ 'type' => Controls_Manager::TEXT,
125
+ 'description' => esc_html__('Add text for each navigation dot separated by \',\'','premium-addons-for-elementor'),
126
+ 'condition' => [
127
+ 'dots_tooltips_switcher' => 'yes'
128
+ ]
129
+ ]
130
+ );
131
 
132
  $this->end_controls_section();
133
 
215
 
216
  $this->add_control('nav_menu_repeater',
217
  [
218
+ 'label' => esc_html__( 'Menu Items', 'premium-addons-for-elementor' ),
219
  'type' => Controls_Manager::REPEATER,
220
  'fields' => array_values( $nav_repeater->get_controls() ),
221
  'title_field' => '{{{ nav_menu_item }}}',
225
  ]
226
  );
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  $this->add_control('navigation_dots_pos',
229
  [
230
  'label' => esc_html__('Dots Horizontal Position', 'premium-addons-for-elementor'),
723
 
724
  $this->add_render_attribute( 'vertical_scroll_sections_wrap', 'id', 'premium-vscroll-sections-wrap-' . $id );
725
 
726
+ $this->add_render_attribute( 'vertical_scroll_sections_wrap', 'class', 'premium-vscroll-sections-wrap' );
727
+
728
  $vscroll_settings = [
729
  'id' => $id,
730
  'speed' => !empty( $settings['scroll_speed'] ) ? $settings['scroll_speed'] * 1000 : 700,
735
  'fullSection'=> 'yes' == $settings['full_section'] ? true : false
736
  ];
737
 
738
+ $templates = 'templates' === $settings['content_type'] ? $settings['section_repeater'] : $settings['id_repeater'];
739
 
740
+ $checkType = 'templates' === $settings['content_type'] ? true : false;
741
+
742
  $nav_items = $settings['nav_menu_repeater'];
743
 
744
  ?>
747
  <?php if ('yes' == $settings['nav_menu_switch'] ) : ?>
748
  <ul <?php echo $this->get_render_attribute_string('vertical_scroll_menu'); ?>>
749
  <?php foreach( $nav_items as $index => $item ) : ?>
750
+ <li data-menuanchor="<?php echo $checkType ? 'section_' . $id . $index : $templates[$index]['section_id']; ?>" class="premium-vscroll-nav-item"><div class="premium-vscroll-nav-link"><?php echo $item['nav_menu_item'] ?></div></li>
751
  <?php endforeach; ?>
752
  </ul>
753
  <?php endif; ?>
755
  <div <?php echo $this->get_render_attribute_string('vertical_scroll_dots'); ?>>
756
  <ul <?php echo $this->get_render_attribute_string('vertical_scroll_dots_list'); ?>>
757
  <?php foreach( $templates as $index => $section ) : ?>
758
+ <li data-index="<?php echo $index; ?>" data-menuanchor="<?php echo $checkType ? 'section_' . $id . $index : $templates[$index]['section_id']; ?>" class="premium-vscroll-dot-item"><div class="premium-vscroll-nav-link"><span></span></div></li>
759
  <?php endforeach; ?>
760
  </ul>
761
  </div>
762
+ <?php if( 'templates' === $settings['content_type'] ) : ?>
763
+ <div <?php echo $this->get_render_attribute_string('vertical_scroll_sections_wrap'); ?>>
764
+
765
+ <?php foreach( $templates as $index => $section ) :
766
+ $this->add_render_attribute('section_' . $index, 'class', [ 'premium-vscroll-temp', 'premium-vscroll-temp-' . $id ] );
767
+ $this->add_render_attribute('section_' . $index, 'id', 'section_' . $id . $index );
 
 
 
 
768
  ?>
769
+ <div <?php echo $this->get_render_attribute_string('section_' . $index); ?>>
770
+ <?php
771
+ $template_id = $section['section_template'];
772
+ echo $this->get_template_content($template_id);
773
+ ?>
774
+ </div>
775
+ <?php endforeach; ?>
776
+ </div>
777
+ <?php endif; ?>
778
  </div>
779
  </div>
780