PageSourceSearch

https://tigalab.id/wp-content/plugins/dethemekit-for-elementor/ass…/js/dethemekit-widgets-active.js?ver=2.1.8

js tigalab.id collected 2026-10-06 13:17:48 UTC 11,585 bytes, 261 lines download raw bytes

1;(function($){
2"use strict";
3
4   /* 
5    * Product Slider 
6    */
7    var WidgetProductSliderHandler = function ($scope, $) {
8
9        var slider_elem = $scope.find('.product-slider').eq(0);
10
11        if (slider_elem.length > 0) {
12
13            var settings = slider_elem.data('settings');
14            var arrows = settings['arrows'];
15            var dots = settings['dots'];
16            var autoplay = settings['autoplay'];
17            var rtl = settings['rtl'];
18            var autoplay_speed = parseInt(settings['autoplay_speed']) || 3000;
19            var animation_speed = parseInt(settings['animation_speed']) || 300;
20            var fade = settings['fade'];
21            var pause_on_hover = settings['pause_on_hover'];
22            var display_columns = parseInt(settings['product_items']) || 4;
23            var scroll_columns = parseInt(settings['scroll_columns']) || 4;
24            var tablet_width = parseInt(settings['tablet_width']) || 800;
25            var tablet_display_columns = parseInt(settings['tablet_display_columns']) || 2;
26            var tablet_scroll_columns = parseInt(settings['tablet_scroll_columns']) || 2;
27            var mobile_width = parseInt(settings['mobile_width']) || 480;
28            var mobile_display_columns = parseInt(settings['mobile_display_columns']) || 1;
29            var mobile_scroll_columns = parseInt(settings['mobile_scroll_columns']) || 1;
30
31            slider_elem.slick({
32                arrows: arrows,
33                prevArrow: '<button type="button" class="slick-prev"><i class="fa fa-angle-left"></i></button>',
34                nextArrow: '<button type="button" class="slick-next"><i class="fa fa-angle-right"></i></button>',
35                dots: dots,
36                infinite: true,
37                autoplay: autoplay,
38                autoplaySpeed: autoplay_speed,
39                speed: animation_speed,
40                fade: false,
41                pauseOnHover: pause_on_hover,
42                slidesToShow: display_columns,
43                slidesToScroll: scroll_columns,
44                rtl: rtl,
45                responsive: [
46                    {
47                        breakpoint: tablet_width,
48                        settings: {
49                            slidesToShow: tablet_display_columns,
50                            slidesToScroll: tablet_scroll_columns
51                        }
52                    },
53                    {
54                        breakpoint: mobile_width,
55                        settings: {
56                            slidesToShow: mobile_display_columns,
57                            slidesToScroll: mobile_scroll_columns
58                        }
59                    }
60                ]
61            });
62        };
63    };
64
65    /*
66    * Custom Tab
67    */
68    function dethemekit_tabs( $tabmenus, $tabpane ){
69        $tabmenus.on('click', 'a', function(e){
70            e.preventDefault();
71            var $this = $(this),
72                $target = $this.attr('href');
73            $this.addClass('htactive').parent().siblings().children('a').removeClass('htactive');
74            $( $tabpane + $target ).addClass('htactive').siblings().removeClass('htactive');
75
76            // slick refresh
77            if( $('.slick-slider').length > 0 ){
78                var $id = $this.attr('href');
79                $( $id ).find('.slick-slider').slick('refresh');
80            }
81
82        });
83    }
84
85    /* 
86    * Universal product 
87    */
88    function productImageThumbnailsSlider( $slider ){
89        $slider.slick({
90            dots: true,
91            arrows: true,
92            prevArrow: '<button class="slick-prev"><i class="sli sli-arrow-left"></i></button>',
93            nextArrow: '<button class="slick-next"><i class="sli sli-arrow-right"></i></button>',
94        });
95    }
96    if( $(".ht-product-image-slider").length > 0 ) {
97        productImageThumbnailsSlider( $(".ht-product-image-slider") );
98    }
99
100    var WidgetThumbnaisImagesHandler = function thumbnailsimagescontroller(){
101        dethemekit_tabs( $(".ht-product-cus-tab-links"), '.ht-product-cus-tab-pane' );
102        dethemekit_tabs( $(".ht-tab-menus"), '.ht-tab-pane' );
103
104        // Countdown
105        var finalTime, daysTime, hours, minutes, second;
106        $('.ht-product-countdown').each(function() {
107            var $this = $(this), finalDate = $(this).data('countdown');
108            var customlavel = $(this).data('customlavel');
109            $this.countdown(finalDate, function(event) {
110                $this.html(event.strftime('<div class="cd-single"><div class="cd-single-inner"><h3>%D</h3><p>'+customlavel.daytxt+'</p></div></div><div class="cd-single"><div class="cd-single-inner"><h3>%H</h3><p>'+customlavel.hourtxt+'</p></div></div><div class="cd-single"><div class="cd-single-inner"><h3>%M</h3><p>'+customlavel.minutestxt+'</p></div></div><div class="cd-single"><div class="cd-single-inner"><h3>%S</h3><p>'+customlavel.secondstxt+'</p></div></div>'));
111            });
112        });
113
114    }
115
116    /*
117    * dethemekitquickview slider
118    */
119    function dethemekitquickviewMainImageSlider(){
120        $('.ht-quick-view-learg-img').slick({
121            slidesToShow: 1,
122            slidesToScroll: 1,
123            arrows: false,
124            fade: true,
125            asNavFor: '.ht-quick-view-thumbnails'
126        });
127    }
128    function dethemekitquickviewThumb(){
129        $('.ht-quick-view-thumbnails').slick({
130            slidesToShow: 3,
131            slidesToScroll: 1,
132            asNavFor: '.ht-quick-view-learg-img',
133            dots: false,
134            arrows: true,
135            focusOnSelect: true,
136            prevArrow: '<button class="dethemekit-slick-prev"><i class="sli sli-arrow-left"></i></button>',
137            nextArrow: '<button class="dethemekit-slick-next"><i class="sli sli-arrow-right"></i></button>',
138        });
139    }
140
141    /*
142    * Tool Tip
143    */
144    function dethemekit_tool_tips(element, content) {
145        if ( content == 'html' ) {
146            var tipText = element.html();
147        } else {
148            var tipText = element.attr('title');
149        }
150        element.on('mouseover', function() {
151            if ( $('.dethemekit-tip').length == 0 ) {
152                element.before('<span class="dethemekit-tip">' + tipText + '</span>');
153                $('.dethemekit-tip').css('transition', 'all 0.5s ease 0s');
154                $('.dethemekit-tip').css('margin-left', 0);
155            }
156        });
157        element.on('mouseleave', function() {
158            $('.dethemekit-tip').remove();
159        });
160    }
161
162    /*
163    * Tooltip Render
164    */
165    var WidgetDethemeKitTooltipHandler = function dethemekit_tool_tip(){
166        $('a.dethemekit-compare').each(function() {
167            dethemekit_tool_tips( $(this), 'title' );
168        });
169        $('.dethemekit-cart a.add_to_cart_button,.dethemekit-cart a.added_to_cart,.dethemekit-cart a.button').each(function() {
170            dethemekit_tool_tips( $(this), 'html');
171        });
172    }
173
174    /*
175    * Quick view
176    */
177    $(document).on('click', '.dethemekitquickview', function (event) {
178        event.preventDefault();
179
180        var $this = $(this);
181        var productID = $this.data('quick-id');
182
183        $('.htwl-modal-body').html(''); /*clear content*/
184        $('#htwlquick-viewmodal').addClass('dethemekitquickview-open wlloading');
185        $('#htwlquick-viewmodal .htcloseqv').hide();
186        $('.htwl-modal-body').html('<div class="dethemekit-loading"><div class="wlds-css"><div style="width:100%;height:100%" class="wlds-ripple"><div></div><div></div></div>');
187
188        var data = {
189            id: productID,
190            action: "dethemekit_quickview",
191        };
192        $.ajax({
193            url: dethemekit_addons.dethemekitajaxurl,
194            data: data,
195            method: 'POST',
196            success: function (response) {
197                setTimeout(function () {
198                    $('.htwl-modal-body').html(response);
199                    $('#htwlquick-viewmodal .htcloseqv').show();
200                    dethemekitquickviewMainImageSlider();
201                    dethemekitquickviewThumb();
202                }, 300 );
203            },
204            complete: function () {
205                $('#htwlquick-viewmodal').removeClass('wlloading');
206                $('.htwl-modal-dialog').css("background-color","#ffffff");
207            },
208            error: function () {
209                console.log("Quick View Not Loaded");
210            },
211        });
212
213    });
214    $('.htcloseqv').on('click', function(event){
215        $('#htwlquick-viewmodal').removeClass('dethemekitquickview-open');
216        $('body').removeClass('dethemekitquickview');
217        $('.htwl-modal-dialog').css("background-color","transparent");
218    });
219
220    /*
221    * Product Tab
222    */
223    var  WidgetProducttabsHandler = dethemekit_tabs( $(".ht-tab-menus"),'.ht-tab-pane' );
224
225    /*
226    * Single Product Video Gallery tab
227    */
228    var WidgetProductVideoGallery = function thumbnailsvideogallery(){
229        dethemekit_tabs( $(".dethemekit-product-video-tabs"), '.video-cus-tab-pane' );
230    }
231
232    /*
233    * Run this code under Elementor.
234    */
235    $(window).on('elementor/frontend/init', function () {
236        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-product-tab.default', WidgetProductSliderHandler);
237        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-product-tab.default', WidgetProducttabsHandler);
238
239        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-product-display.default', WidgetProductSliderHandler);
240        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-product-display.default', WidgetDethemeKitTooltipHandler);
241        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-product-display.default', WidgetThumbnaisImagesHandler);
242
243        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-cross-sell-product-custom.default', WidgetProductSliderHandler);
244        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-cross-sell-product-custom.default', WidgetDethemeKitTooltipHandler);
245        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-cross-sell-product-custom.default', WidgetThumbnaisImagesHandler);
246
247        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-upsell-product-custom.default', WidgetProductSliderHandler);
248        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-upsell-product-custom.default', WidgetDethemeKitTooltipHandler);
249        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-upsell-product-custom.default', WidgetThumbnaisImagesHandler);
250
251        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-related-product-custom.default', WidgetProductSliderHandler);
252        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-related-product-custom.default', WidgetDethemeKitTooltipHandler);
253        elementorFrontend.hooks.addAction( 'frontend/element_ready/dethemekit-related-product-custom.default', WidgetThumbnaisImagesHandler);
254
255        elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-product-video-gallery.default', WidgetProductVideoGallery );
256        
257        elementorFrontend.hooks.addAction( 'frontend/element_ready/wl-brand-logo.default', WidgetProductSliderHandler );
258    });
259
260
261})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.