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.84 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-tcloud.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-tcloud.js
350 lines
1
2
3 (function ($) {
4 $(window).on('elementor/frontend/init', function () {
5
6 var PremiumTermsCloud = elementorModules.frontend.handlers.Base.extend({
7
8 getDefaultSettings: function () {
9
10 return {
11 selectors: {
12 container: '.premium-tcloud-container',
13 canvas: '.premium-tcloud-canvas',
14 termWrap: '.premium-tcloud-term',
15 },
16 }
17
18 },
19
20 getDefaultElements: function () {
21
22 var selectors = this.getSettings('selectors');
23
24 return {
25 $container: this.$element.find(selectors.container),
26 $canvas: this.$element.find(selectors.canvas),
27 $termWrap: this.$element.find(selectors.termWrap),
28 }
29
30 },
31
32 bindEvents: function () {
33 this.run();
34 },
35
36 run: function () {
37
38 var widgetSettings = this.getElementSettings(),
39 $container = this.elements.$container,
40 _this = this,
41 $canvas = this.elements.$canvas;
42
43
44
45 if (['shape', 'sphere'].includes(widgetSettings.words_order)) {
46
47 var computedStyle = getComputedStyle($canvas[0]);
48
49 $canvas.attr({
50 width: computedStyle.getPropertyValue('--pa-tcloud-width'),
51 height: computedStyle.getPropertyValue('--pa-tcloud-height')
52 });
53 }
54
55 setTimeout(function () {
56
57 if ('shape' === widgetSettings.words_order) {
58
59 // elementorFrontend.waypoint($canvas, function () {
60 // _this.renderWordCloud();
61 // });
62 // unsing IntersectionObserverAPI.
63 var eleObserver = new IntersectionObserver(function(entries) {
64 entries.forEach(function(entry) {
65 if (entry.isIntersecting) {
66 _this.renderWordCloud();
67 eleObserver.unobserve(entry.target); // to only excecute the callback func once.
68 }
69 });
70 });
71
72 eleObserver.observe($canvas[0]);
73
74 } else if ('sphere' === widgetSettings.words_order) {
75
76 _this.renderWordSphere();
77
78 } else {
79 _this.handleTermsGrid();
80 }
81
82 $container.removeClass('premium-tcloud-hidden');
83 }, 500);
84
85 },
86
87 renderWordSphere: function () {
88
89 var widgetID = this.getID(),
90 widgetSettings = this.getElementSettings(),
91 $termWrap = this.elements.$termWrap,
92 _this = this;
93
94 var colorScheme = widgetSettings.colors_select;
95
96 if ('custom' === colorScheme && widgetSettings.words_colors) {
97 var colors = widgetSettings.words_colors.split("\n");
98 }
99
100 $termWrap.map(function (index, term) {
101
102 var generatedColor = null;
103
104
105 if ('custom' !== colorScheme) {
106
107 generatedColor = _this.genRandomColor(colorScheme);
108
109 } else if (widgetSettings.words_colors) {
110 generatedColor = Math.floor(Math.random() * colors.length);
111
112 generatedColor = colors[generatedColor];
113 }
114
115 if (generatedColor)
116 $(term).find('.premium-tcloud-term-link').css(('background' === widgetSettings.colors_target ? 'background-' : '') + 'color', generatedColor);
117
118 });
119
120 setTimeout(function () {
121
122 $('#premium-tcloud-canvas-' + widgetID).tagcanvas({
123
124 decel: 'yes' === widgetSettings.stop_onDrag ? 0.95 : 1,
125
126 overlap: false,
127 textColour: null,
128
129 weight: 'yes' === widgetSettings.sphere_weight,
130 weightFrom: 'data-weight',
131 weightSizeMin: 'yes' === widgetSettings.sphere_weight ? widgetSettings.weight_min.size : 10,
132 weightSizeMax: 'yes' === widgetSettings.sphere_weight ? widgetSettings.weight_max.size : 20,
133
134 textHeight: widgetSettings.text_height || 15,
135 textFont: widgetSettings.font_family,
136 textWeight: widgetSettings.font_weight,
137
138 wheelZoom: 'yes' === widgetSettings.wheel_zoom,
139 reverse: 'yes' === widgetSettings.reverse,
140 dragControl: 'yes' === widgetSettings.drag_control,
141 initial: [widgetSettings.start_xspeed.size, widgetSettings.start_yspeed.size],
142
143 bgColour: 'tag',
144
145 padding: 'background' === widgetSettings.colors_target ? widgetSettings.sphere_term_padding.size : 0,
146 bgRadius: 'background' === widgetSettings.colors_target ? widgetSettings.sphere_term_radius.size : 0,
147
148 outlineColour: 'rgba(2,2,2,0)',
149 maxSpeed: 0.03,
150 depth: 0.75
151
152 }, 'premium-tcloud-terms-container-' + widgetID);
153 }, 100);
154
155 },
156
157 handleTermsGrid: function () {
158
159 var widgetSettings = this.getElementSettings(),
160 $termWrap = this.elements.$termWrap,
161 _this = this;
162
163 var colorScheme = widgetSettings.colors_select;
164
165 if ('custom' === colorScheme && widgetSettings.words_colors) {
166 var colors = widgetSettings.words_colors.split("\n");
167 }
168
169 $termWrap.map(function (index, term) {
170
171 var generatedColor = null,
172 fontSize = $(term).find('.premium-tcloud-term-link').css('font-size').replace('px', '');
173
174 if (widgetSettings.fsize_scale.size > 0)
175 fontSize = parseFloat(fontSize) + ($(term).find('.premium-tcloud-term-link').data('weight') * widgetSettings.fsize_scale.size);
176
177 if ('custom' !== colorScheme) {
178 generatedColor = _this.genRandomColor(colorScheme, 'grid');
179
180 var opacities = {
181 original: 'random-light' === colorScheme ? '0.15)' : '80%)',
182 replaced: 'random-light' === colorScheme ? '0.3)' : '100%)'
183 };
184
185 $(term).get(0).style.setProperty("--tag-hover-color", generatedColor.replace(opacities.original, opacities.replaced));
186 $(term).get(0).style.setProperty("--tag-text-color", 'random-dark' === colorScheme ? '#fff' : generatedColor.replace('42%,0.15)', '35%,100%)'));
187
188 } else if (widgetSettings.words_colors) {
189
190 generatedColor = Math.floor(Math.random() * colors.length);
191
192 generatedColor = colors[generatedColor];
193
194 $(term).get(0).style.setProperty("--tag-hover-color", generatedColor);
195
196 }
197
198 $(term).get(0).style.setProperty("--tag-color", generatedColor);
199
200 if (widgetSettings.fsize_scale.size > 0)
201 $(term).find('.premium-tcloud-term-link').css('font-size', Math.ceil(fontSize) + 'px');
202
203
204 if ('ribbon' === widgetSettings.words_order) {
205 $(term).get(0).style.setProperty("--tag-ribbon-size", (Math.ceil($(term).outerHeight(false)) / 2) + 'px');
206 }
207
208
209 })
210
211
212
213 },
214
215 renderWordCloud: function () {
216
217 var widgetID = this.getID(),
218 widgetSettings = this.getElementSettings(),
219 $container = this.elements.$container,
220 settings = $container.data("chart");
221
222 var wordsArr = settings.wordsArr,
223 colors = [],
224 rotationRatio = rotationSteps = null,
225 minRot = -90 * (Math.PI / 180),
226 maxRot = 90 * (Math.PI / 180);
227
228
229 switch (widgetSettings.rotation_select) {
230
231 case 'horizontal':
232 rotationRatio = 0;
233 rotationSteps = 0;
234 break;
235
236 case 'vertical':
237 rotationRatio = 1;
238 rotationSteps = 2;
239 break;
240
241 case 'hv':
242 rotationRatio = 0.5;
243 rotationSteps = 2;
244 break;
245
246 case 'custom':
247 rotationRatio = widgetSettings.rotation.size || 0.3;
248
249 minRot = widgetSettings.degrees.size * (Math.PI / 180) || 45;
250 maxRot = widgetSettings.degrees.size * (Math.PI / 180) || 45;
251
252 break;
253
254 case 'random':
255 rotationRatio = Math.random();
256 rotationSteps = 0;
257
258 break;
259
260 default:
261 rotationRatio = 0.3;
262 break;
263 }
264
265
266 if ('custom' === widgetSettings.colors_select) {
267 colors = widgetSettings.words_colors.split("\n");
268 }
269
270 WordCloud(document.getElementById('premium-tcloud-canvas-' + widgetID),
271 {
272
273 backgroundColor: 'rgba(0, 0, 0, 0)',
274 shuffle: false,
275
276 list: wordsArr,
277 shape: widgetSettings.shape,
278 color: widgetSettings.colors_select,
279 wordsColors: colors,
280
281 wait: (widgetSettings.interval.size * 1000) || 0,
282
283 gridSize: widgetSettings.grid_size.size || 8,
284
285 weightFactor: widgetSettings.weight_scale || 5,
286
287 minRotation: minRot,
288 maxRotation: maxRot,
289
290 rotateRatio: rotationRatio,
291 rotationSteps: rotationSteps,
292
293 fontFamily: widgetSettings.font_family || 'Arial',
294 fontWeight: widgetSettings.font_weight,
295
296 click: function (item) {
297
298 if (!elementorFrontend.isEditMode()) {
299 var link = item[2];
300
301 window.open(link, 'yes' === widgetSettings.new_tab ? '_blank' : '_top');
302 }
303 }
304
305 // minSize: 10
306 // rotationSteps: 90
307 }
308 );
309
310
311
312 },
313
314 genRandomColor: function (scheme, shape) {
315
316 var min = 50,
317 max = 90;
318
319 if ('random-dark' === scheme) {
320 min = 10;
321 max = 50;
322 }
323
324 var lightandOpacity = (Math.random() * (max - min) + min).toFixed() + '%, 100%';
325 if (shape) {
326 lightandOpacity = '42%,' + ('random-dark' === scheme ? '80%' : '0.15');
327 }
328
329
330 return 'hsla(' +
331 (Math.random() * 360).toFixed() + ',' +
332 '100%,' +
333 lightandOpacity + ')';
334
335 },
336
337 genRandomRotate: function () {
338
339 return Math.floor(Math.random() * 361);
340
341 },
342
343
344 });
345
346 elementorFrontend.elementsHandler.attachHandler('premium-tcloud', PremiumTermsCloud);
347 });
348
349 })(jQuery);
350