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-maps.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-maps.js
280 lines
1 function initMap() {
2 console.log('Google API Loaded');
3 }
4
5 jQuery(window).on("elementor/frontend/init", function () {
6
7 var PremiumMapsHandler = function ($scope, $) {
8
9 var $carouselWidgets = null,
10 mapElement = $scope.find(".premium_maps_map_height"),
11 mapSettings = mapElement.data("settings"),
12 mapStyle = mapElement.data("style"),
13 premiumMapMarkers = [],
14 premiumMapPopups = [];
15
16 if (mapSettings.loadScroll) {
17
18 var $closestSection = $scope.closest('.elementor-top-section, .e-con');
19
20 var eleObserver = new IntersectionObserver(function (entries) {
21 entries.forEach(function (entry) {
22 if (entry.isIntersecting) {
23 premiumMap = newMap(mapElement, mapSettings, mapStyle);
24 eleObserver.unobserve(entry.target); // to only excecute the callback func once.
25 }
26 });
27 }, {
28 rootMargin: '-70% 0px 0px 0px'
29 });
30
31 eleObserver.observe($closestSection[0]);
32
33 // elementorFrontend.waypoint($closestSection, function () {
34 // premiumMap = newMap(mapElement, mapSettings, mapStyle);
35 // }, {
36 // offset: '70%'
37 // });
38
39 } else {
40 premiumMap = newMap(mapElement, mapSettings, mapStyle);
41 }
42
43
44 function newMap(map, settings, mapStyle) {
45
46 var scrollwheel = settings.scrollwheel,
47 streetViewControl = settings.streetViewControl,
48 fullscreenControl = settings.fullScreen,
49 zoomControl = settings.zoomControl,
50 mapTypeControl = settings.typeControl,
51 centerLat = JSON.parse(settings.centerlat),
52 centerLong = JSON.parse(settings.centerlong),
53 autoOpen = settings.automaticOpen,
54 hoverOpen = settings.hoverOpen,
55 hoverClose = settings.hoverClose,
56 args = {
57 zoom: settings["zoom"],
58 mapTypeId: settings["maptype"],
59 center: { lat: centerLat, lng: centerLong },
60 scrollwheel: scrollwheel,
61 streetViewControl: streetViewControl,
62 fullscreenControl: fullscreenControl,
63 zoomControl: zoomControl,
64 mapTypeControl: mapTypeControl,
65 styles: mapStyle
66 };
67
68 if ("yes" === mapSettings.drag)
69 args.gestureHandling = "none";
70
71 var markers = map.find(".premium-pin");
72
73 var map = new google.maps.Map(map[0], args);
74
75 map.markers = [];
76
77 $carouselWidgets = $(".maps-carousel .premium-carousel-wrapper");
78 // add markers
79 markers.each(function (index) {
80 addMarker(jQuery(this), map, autoOpen, hoverOpen, hoverClose, index);
81 });
82
83 if ($scope.hasClass('pa-maps-carousel')) {
84 $carouselWidgets.map(function (index, item) {
85
86 $(item).find(".premium-carousel-inner").on("afterChange", function (event, slick, currentSlide) {
87
88
89 premiumMapPopups.map(function (popup, index) {
90
91 popup.close();
92 });
93
94 if (premiumMapPopups[currentSlide])
95 premiumMapPopups[currentSlide].open(map, map.markers[currentSlide]);
96
97 });
98
99 });
100
101 }
102
103 if (mapSettings.cluster && MarkerClusterer) {
104
105 new MarkerClusterer(map, premiumMapMarkers, {
106 imagePath: '' != mapSettings.cluster_icon ? mapSettings.cluster_icon : "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
107 styles: [
108 {
109 url: mapSettings.cluster_icon || "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m1.png", // The URL of your cluster icon
110 width: mapSettings.cluster_icon_size,
111 height: mapSettings.cluster_icon_size
112 }
113 ]
114 });
115 }
116
117 return map;
118 }
119
120 var activeInfoWindow = null;
121 function addMarker(pin, map, autoOpen, hoverOpen, hoverClose, zIndex) {
122
123 var latlng = new google.maps.LatLng(pin.data("lat"), pin.data("lng")),
124 iconImg = pin.data("icon"),
125 maxWidth = pin.data("max-width"),
126 customID = pin.data("id"),
127 isActive = pin.data("activated"),
128 iconSize = parseInt(pin.data("icon-size"));
129
130 if ('' != iconImg) {
131 var icon = {
132 url: iconImg
133 };
134
135 if (iconSize) {
136 icon.scaledSize = new google.maps.Size(iconSize, iconSize);
137 icon.origin = new google.maps.Point(0, 0);
138 icon.anchor = new google.maps.Point(iconSize / 2, iconSize);
139 }
140 }
141
142 // create marker
143 var marker = new google.maps.Marker({
144 position: latlng,
145 map: map,
146 icon: icon,
147 zIndex: zIndex
148 });
149
150
151 //Used with Carousel Custom Navigation option
152 if (customID) {
153
154 google.maps.event.addListener(marker, "click", function () {
155
156 if ($carouselWidgets.length > 0) {
157 $carouselWidgets.map(function (index, item) {
158 var carouselSettings = $(item).data("settings");
159
160 if (carouselSettings.navigation) {
161
162 if (-1 != carouselSettings.navigation.indexOf("#" + customID)) {
163 var slideIndex = carouselSettings.navigation.indexOf("#" + customID);
164 $(item).find(".premium-carousel-inner").slick("slickGoTo", slideIndex);
165 }
166 }
167 })
168
169 }
170
171 });
172 }
173
174 // if marker contains HTML, add it to an infoWindow
175 if (pin.find(".premium-maps-info-title").html() || pin.find(".premium-maps-info-desc").html()) {
176 // create info window
177
178 var infowindow = new google.maps.InfoWindow({
179 maxWidth: maxWidth,
180 content: pin.html()
181 });
182
183 //Opened by default.
184 if (autoOpen || isActive) {
185 infowindow.open(map, marker);
186 }
187
188 //Open on hover.
189 if (hoverOpen) {
190
191 var isTouch = checkTouchDevice(),
192 triggerEvent = isTouch ? "click" : "mouseover";
193
194 google.maps.event.addListener(marker, triggerEvent, function () {
195
196 if (activeInfoWindow)
197 activeInfoWindow.close();
198
199 activeInfoWindow = infowindow;
200
201 infowindow.open(map, marker);
202
203 });
204
205 //Close on mouse out.
206 if (hoverClose && !isTouch) {
207 google.maps.event.addListener(marker, "mouseout", function () {
208 infowindow.close(map, marker);
209 });
210 }
211 }
212
213 // Show info window when marker is clicked
214 google.maps.event.addListener(marker, "click", function () {
215
216 if (activeInfoWindow)
217 activeInfoWindow.close();
218
219 //Used with Carousel Custom Navigation option
220 if (customID) {
221
222 if ($carouselWidgets.length) {
223 $carouselWidgets.map(function (index, item) {
224 var carouselSettings = $(item).data("settings");
225
226 if (carouselSettings.navigation) {
227 if (-1 != carouselSettings.navigation.indexOf("#" + customID)) {
228 var slideIndex = carouselSettings.navigation.indexOf("#" + customID);
229 $carouselWidgets.find(".premium-carousel-inner").slick("slickGoTo", slideIndex);
230 }
231 }
232 })
233
234 }
235
236 }
237
238 activeInfoWindow = infowindow;
239
240 infowindow.open(map, marker);
241
242 });
243
244 infowindow.addListener('visible', function () {
245
246 if (pin.find('.advanced-pin').length > 0)
247 $('.gm-ui-hover-effect').remove();
248
249 $scope.find('.premium-maps-info-close').on('click', function () {
250 infowindow.close(map, marker);
251 })
252 })
253
254
255 if ($scope.hasClass('pa-maps-carousel'))
256 premiumMapPopups.push(infowindow);
257
258
259 }
260
261 // add to array
262 map.markers.push(marker);
263 premiumMapMarkers.push(marker);
264
265 }
266
267 function checkTouchDevice() {
268
269 var currentDevice = elementorFrontend.getCurrentDeviceMode();
270
271 return !['desktop', 'widescreen', 'laptop'].includes(currentDevice);
272
273 }
274
275 };
276
277 elementorFrontend.hooks.addAction("frontend/element_ready/premium-addon-maps.default", PremiumMapsHandler);
278
279 });
280