PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 4.10.78
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v4.10.78
4.11.83 4.11.82 4.11.80 4.11.81 4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / assets / frontend / js / premium-notifications.js
premium-addons-for-elementor / assets / frontend / js Last commit date
TweenMax.js 1 year ago anime.js 1 year ago flipster.js 1 year ago headroom.js 1 year ago iscroll.js 1 year ago isotope.js 1 year ago jquery-countdown.js 1 year ago jquery-mousewheel.js 1 year ago jquery-slimscroll.js 1 year ago lottie.js 1 year ago luxon.js 1 year ago markerclusterer.js 1 year ago modal.js 1 year ago motionpath.js 1 year ago pa-gsap.js 1 year ago pa-scrolldir.js 1 year ago premium-addons.js 1 year ago premium-banner.js 1 year ago premium-blog.js 1 year ago premium-button.js 1 year ago premium-carousel-widget.js 1 year ago premium-contact-form.js 1 year ago premium-countdown-timer.js 1 year ago premium-counter.js 1 year ago premium-dis-conditions.js 1 year ago premium-dual-header.js 1 year ago premium-eq-height.js 1 year ago premium-fancy-text.js 1 year ago premium-floating-effects.js 1 year ago premium-global-tooltips.js 1 year ago premium-icon-list.js 1 year ago premium-image-button.js 1 year ago premium-image-scroll.js 1 year ago premium-img-gallery.js 1 year ago premium-maps.js 1 year ago premium-media-wheel.js 1 year ago premium-mini-cart.js 1 year ago premium-mobile-menu.js 1 year ago premium-modal-box.js 1 year ago premium-nav-menu.js 1 year ago premium-notifications.js 1 year ago premium-person.js 1 year ago premium-pinterest-feed.js 1 year ago premium-post-ticker.js 1 year ago premium-progressbar.js 1 year ago premium-search-form.js 1 year ago premium-shape-divider.js 1 year ago premium-svg-drawer.js 1 year ago premium-tcloud.js 1 year ago premium-testimonials.js 1 year ago premium-textual-showcase.js 1 year ago premium-tiktok-feed.js 1 year ago premium-title.js 1 year ago premium-video-box.js 1 year ago premium-vscroll.js 1 year ago premium-weather.js 1 year ago premium-woo-categories.js 1 year ago premium-woo-cta.js 1 year ago premium-woo-products.js 1 year ago premium-world-clock.js 1 year ago premium-wrapper-link.js 1 year ago prettyPhoto.js 1 year ago scrollTrigger.js 1 year ago slick.js 1 year ago tooltipster.js 1 year ago typed.js 1 year ago universal-tilt.js 1 year ago vticker.js 1 year ago
premium-notifications.js
284 lines
1
2
3 (function ($) {
4 $(window).on('elementor/frontend/init', function () {
5
6 var PremiumNotifications = elementorModules.frontend.handlers.Base.extend({
7
8 getDefaultSettings: function () {
9
10 return {
11 selectors: {
12 user: '.fa-user',
13 outerWrap: '.pa-recent-notification',
14 iconWrap: '.pa-rec-not-icon-wrap',
15 postsContainer: '.pa-rec-posts-container',
16 number: '.pa-rec-not-number',
17 closeButton: '.pa-rec-posts-close',
18 metaSeparators: '.premium-blog-meta-separator',
19 },
20 isHidden: true
21 }
22
23 },
24
25 getDefaultElements: function () {
26
27 var selectors = this.getSettings('selectors');
28
29 return {
30 $outerWrap: this.$element.find(selectors.outerWrap),
31 $iconWrap: this.$element.find(selectors.iconWrap),
32 $postsContainer: this.$element.find(selectors.postsContainer),
33 $number: this.$element.find(selectors.number),
34 $closeButton: this.$element.find(selectors.closeButton)
35 }
36
37 },
38
39 bindEvents: function () {
40 this.removeMetaSeparators();
41 this.run();
42 },
43
44 removeMetaSeparators: function () {
45
46 var selectors = this.getSettings('selectors'),
47 $blogPost = this.$element.find('.premium-blog-post-outer-container');
48
49 var $metaSeparators = $blogPost.first().find(selectors.metaSeparators),
50 $user = $blogPost.find(selectors.user);
51
52 if (1 === $metaSeparators.length) {
53 //If two meta only are enabled. One of them is author meta.
54 if (!$user.length) {
55 $blogPost.find(selectors.metaSeparators).remove();
56 }
57
58 } else {
59 if (!$user.length) {
60 $blogPost.each(function (index, post) {
61 $(post).find(selectors.metaSeparators).first().remove();
62 });
63 }
64 }
65
66 },
67
68 addIconForNoPosts: function () {
69
70 var settings = this.getElementSettings(),
71 iconWithNoPosts = settings.add_icon_with_no_posts,
72 iconType = settings.icon_type,
73 $iconWrap = this.elements.$iconWrap;
74
75 if ('yes' === iconWithNoPosts) {
76
77 if (iconType === 'image') {
78 $($iconWrap[0].children[1]).css('display', 'block');
79 $($iconWrap[0].children[0]).css('display', 'none');
80 } else {
81 $('.premium-notification-icon').css('display', 'none');
82 $('.premium-icon-with-no-post').css('display', 'block');
83 }
84
85 }
86 },
87
88 run: function () {
89
90 var $iconWrap = this.elements.$iconWrap,
91 $postsContainer = this.elements.$postsContainer,
92 $closeButton = this.elements.$closeButton,
93 $number = this.elements.$number,
94 settings = this.getElementSettings(),
95 isHidden = this.getSettings('isHidden'),
96 _this = this,
97 widgetID = this.$element.data('id'),
98 computedStyle = getComputedStyle(this.$element[0]);
99
100 var boxWidth = computedStyle.getPropertyValue('--pa-recent-posts-width'),
101 direction = settings.posts_box_position,
102 cookies = settings.cookies;
103
104 if ('yes' === settings.add_icon_with_no_posts && $number.length === 0) {
105
106 $($iconWrap[0].children[1]).css('display', 'none');
107
108 this.addIconForNoPosts();
109 }
110
111 this.hideAnimationElements();
112
113 if (!boxWidth)
114 boxWidth = '30vw'
115
116 $postsContainer.css(direction, '-' + boxWidth);
117
118 $postsContainer.removeClass('elementor-invisible');
119
120 $iconWrap.on('click', function () {
121
122 if (isHidden) {
123
124 _this.addIconForNoPosts();
125
126 if ('yes' === cookies) {
127
128 var isSecured = (document.location.protocol === 'https:') ? 'secure' : '',
129 recentPosts = _this.elements.$outerWrap.data('recent');
130
131 document.cookie = "cookieName=paRecentPosts" + widgetID + ";expires=Thu, 01 Jan 1970 00:00:00 UTC;";
132 document.cookie = "paRecentPosts" + widgetID + "=" + recentPosts + ";SameSite=Strict;" + isSecured;
133 }
134
135 //If other box is open, close it.
136 var currentBoxID = widgetID;
137 if (window.OpenedpostsBox && currentBoxID !== window.OpenedpostsBox)
138 _this.$element.trigger('click');
139
140 $number.remove();
141
142 $('.pa-rec-posts-overlay').css('display', 'block').animate({
143 opacity: 1
144 }, 500);
145
146 $postsContainer.animate({
147 [direction]: 0
148 }, 500, "swing", function () {
149
150 _this.triggerAnimations();
151
152 _this.setSettings({
153 isHidden: false
154 });
155
156 window.OpenedpostsBox = widgetID;
157
158 });
159
160 }
161
162 });
163
164 $closeButton.on('click', function () {
165 _this.hideBox(boxWidth, direction);
166 })
167
168 //When click outside, close all boxes.
169 $("body").on("click", function (event) {
170
171 var postsContent = ".pa-rec-posts-container, .pa-rec-posts-container *, .pa-rec-not-icon-wrap, .pa-rec-not-icon-wrap *, .premium-tabs-nav-list-item";
172
173 if (!$(event.target).is($(postsContent))) {
174 _this.hideBox(boxWidth, direction);
175 }
176
177 });
178
179
180 },
181
182 hideBox: function (width, dir) {
183
184 var $postsContainer = this.elements.$postsContainer,
185 _this = this;
186
187 $('.pa-rec-posts-overlay').animate({
188 opacity: 0
189 }, 500, function () {
190 $('.pa-rec-posts-overlay').css('display', 'none')
191 });
192
193 $postsContainer.animate({
194 [dir]: '-' + width
195 }, 500, "swing", function () {
196
197 _this.setSettings({
198 isHidden: true
199 });
200
201 _this.removeAnimations();
202 });
203
204 },
205
206 triggerAnimations: function () {
207
208 var $headerTitle = this.$element.find('.pa-rec-title'),
209 $postsBox = this.$element.find('.pa-rec-posts-body'),
210 settings = this.getElementSettings();
211
212
213 if (settings.header_animation) {
214 $headerTitle.removeClass('elementor-invisible').addClass('animated ' + settings.header_animation).attr('data-e-animation', settings.header_animation);
215 }
216
217 if (settings.posts_animation && $postsBox.find('.premium-blog-post-outer-container').length > 0) {
218
219 if ('yes' !== settings.posts_animation_individial) {
220
221 $postsBox.removeClass('elementor-invisible').addClass('animated ' + settings.posts_animation).attr('data-e-animation', settings.posts_animation);
222
223 } else {
224
225 $postsBox = $postsBox.find('.premium-blog-post-outer-container');
226
227 var timeOut = 250;
228 $postsBox.map(function (index, elem) {
229
230 setTimeout(function () {
231 $(elem).removeClass('elementor-invisible').addClass('animated ' + settings.posts_animation).attr('data-e-animation', settings.posts_animation);
232 }, 0 == index ? 0 : timeOut);
233
234 })
235
236 }
237
238
239 }
240
241
242 },
243
244 removeAnimations: function () {
245
246 var $postsContainer = this.elements.$postsContainer;
247
248 $postsContainer.find(".animated").each(function (index, elem) {
249
250 var animation = $(elem).data('e-animation');
251
252 $(elem).removeClass("animated " + animation).addClass("elementor-invisible");
253 });
254
255 },
256
257 hideAnimationElements: function () {
258
259 var $headerTitle = this.$element.find('.pa-rec-title'),
260 $postsBox = this.$element.find('.pa-rec-posts-body'),
261 settings = this.getElementSettings();
262
263 if ('yes' === settings.posts_animation_individial) {
264 $postsBox = $postsBox.find('.premium-blog-post-outer-container');
265 }
266
267 if (settings.header_animation) {
268 $headerTitle.addClass('elementor-invisible');
269 }
270
271 if (settings.posts_animation && this.$element.find('.premium-blog-post-outer-container').length > 0) {
272 $postsBox.addClass('elementor-invisible');
273 }
274
275
276 }
277
278 });
279
280 elementorFrontend.elementsHandler.attachHandler('premium-notifications', PremiumNotifications);
281 });
282
283 })(jQuery);
284