ec-confettieffect.js
6 months ago
ec-confettieffect.min.js
6 months ago
ecafe-accordion.js
6 months ago
ecafe-accordion.min.js
6 months ago
ecafe-assets.js
6 months ago
ecafe-assets.min.js
6 months ago
ecafe-back-to-top.js
6 months ago
ecafe-back-to-top.min.js
6 months ago
ecafe-changelog.js
6 months ago
ecafe-changelog.min.js
6 months ago
ecafe-chart.js
6 months ago
ecafe-chart.min.js
6 months ago
ecafe-countdown.js
6 months ago
ecafe-countdown.min.js
6 months ago
ecafe-coupon-code.js
6 months ago
ecafe-coupon-code.min.js
6 months ago
ecafe-hover-background.js
6 months ago
ecafe-hover-background.min.js
6 months ago
ecafe-image-accordion.js
6 months ago
ecafe-image-accordion.min.js
6 months ago
ecafe-image-scroll.js
6 months ago
ecafe-image-scroll.min.js
6 months ago
ecafe-infocircle.js
6 months ago
ecafe-infocircle.min.js
6 months ago
ecafe-infounfold.js
6 months ago
ecafe-infounfold.min.js
6 months ago
ecafe-lottie.js
6 months ago
ecafe-lottie.min.js
6 months ago
ecafe-marketing-link.js
6 months ago
ecafe-marketing-link.min.js
6 months ago
ecafe-page-piling.js
6 months ago
ecafe-page-piling.min.js
6 months ago
ecafe-page-scroll-to-id.js
6 months ago
ecafe-page-scroll-to-id.min.js
6 months ago
ecafe-pdf-viewer.js
6 months ago
ecafe-pdf-viewer.min.js
6 months ago
ecafe-post-image.js
6 months ago
ecafe-post-image.min.js
6 months ago
ecafe-post-listing.js
6 months ago
ecafe-post-listing.min.js
6 months ago
ecafe-qrcode.js
6 months ago
ecafe-qrcode.min.js
6 months ago
ecafe-scroll-progress.js
6 months ago
ecafe-scroll-progress.min.js
6 months ago
ecafe-sticky-video.js
6 months ago
ecafe-sticky-video.min.js
6 months ago
ecafe-tabs.js
6 months ago
ecafe-tabs.min.js
6 months ago
ecafe-tilt-custom.js
6 months ago
ecafe-tilt-custom.min.js
6 months ago
ecafe-tippy-custom.js
6 months ago
ecafe-tippy-custom.min.js
6 months ago
ecafe-toc.js
6 months ago
ecafe-toc.min.js
6 months ago
ecafe-whatsapp.js
6 months ago
ecafe-whatsapp.min.js
6 months ago
ecafe.js
6 months ago
ecafe.min.js
6 months ago
ecafe-tippy-custom.js
49 lines
| 1 | (function($) { |
| 2 | "use strict"; |
| 3 | |
| 4 | const getData = ($el, attr, fallback) => { |
| 5 | let val = $el.data(attr); |
| 6 | |
| 7 | if (val === undefined || val === "") return fallback; |
| 8 | |
| 9 | if (typeof val === "string") { |
| 10 | val = val.toLowerCase(); |
| 11 | if (val === "true" || val === "yes") return true; |
| 12 | if (val === "false" || val === "no" ) return false; |
| 13 | } |
| 14 | |
| 15 | if (!isNaN(val) && val !== "") return parseFloat(val); |
| 16 | |
| 17 | return val; |
| 18 | }; |
| 19 | |
| 20 | const ecafeTippyTooltip = function($scope) { |
| 21 | const tippyElements = $scope.find('.ec-tippy-tooltip'); |
| 22 | |
| 23 | if (tippyElements.length) { |
| 24 | tippyElements.each(function() { |
| 25 | const $this = $(this); |
| 26 | tippy($this.get(0), { |
| 27 | content: getData($this, 'tippy-content', ''), |
| 28 | theme: getData($this, 'tippy-theme', 'light'), |
| 29 | placement: getData($this, 'tippy-placements', 'top'), |
| 30 | offset: [getData($this, 'tippy-skid', 0), getData($this, 'tippy-distance', 0)], |
| 31 | arrow: getData($this, 'tippy-arrows', false), |
| 32 | animation: getData($this, 'tippy-animations', 'fade'), |
| 33 | trigger: getData($this, 'tippy-triggers', 'mouseenter'), |
| 34 | appendTo: 'parent', |
| 35 | interactive: getData($this, 'tippy-interactivity', false), |
| 36 | delay: [ |
| 37 | getData($this, 'tippy-induration', 0), |
| 38 | getData($this, 'tippy-outduration', 0) |
| 39 | ], |
| 40 | followCursor: getData($this, 'tippy-follow-cursor', false) |
| 41 | }); |
| 42 | }); |
| 43 | } |
| 44 | }; |
| 45 | |
| 46 | $(window).on('elementor/frontend/init', function() { |
| 47 | elementorFrontend.hooks.addAction('frontend/element_ready/widget', ecafeTippyTooltip); |
| 48 | }); |
| 49 | })(jQuery); |