1jQuery(document).ready(function($) { 2 "use strict"; 3 4 if( 'undefined' == typeof hootData ) 5 window.hootData = {}; 6 7 /****** WC Carticon ******/ 8 9 if( 'undefined' == typeof hootData.carticonrefresh || 'enable' == hootData.carticonrefresh ) { 10 // $( document.body ).on( 'wc_fragment_refresh updated_wc_div', function() {}); 11 $( document.body ).on( 'added_to_cart removed_from_cart', function( event, fragments, cart_hash ) { 12 // e.preventDefault(); 13 var $carticons = $('.carticon-widget'), 14 $cartitems = $carticons.find('.carticon-cartitems'), 15 $cartvalue = $carticons.find('.carticon-cartvalue'), 16 nonce = $carticons.attr('data-nonce'); 17 jQuery.ajax({ 18 type : "post", 19 dataType : "json", 20 url : hootkitMiscmodsData.ajaxurl, 21 data : {action: 'hk_carticon_refresh', nonce: nonce}, 22 beforeSend: function() { 23 $carticons.addClass('hk-refreshing'); 24 }, 25 success: function(response) { 26 $carticons.removeClass('hk-refreshing'); 27 if ( response.hasitems == 'yes' ) { 28 $carticons.removeClass('announce-nomsg'); 29 $cartitems.removeClass('no-cartitems').html(response.items); 30 $cartvalue.removeClass('no-cartvalue').html(response.cartvalue); 31 } else { 32 $carticons.addClass('announce-nomsg'); 33 $cartitems.addClass('no-cartitems').html(''); 34 $cartvalue.addClass('no-cartvalue').html(''); 35 } 36 } 37 }); 38 }); 39 } 40 41 /****** WC Fly Cart ******/ 42 if( 'undefined' == typeof hootData.flycart || 'enable' == hootData.flycart ) { 43 var $html = $('html'); 44 if ( $('#wpadminbar').length ) $html.addClass('has-adminbar'); 45 $( '.flycart-toggle' ).click( function(event) { 46 event.preventDefault(); 47 var $flycartToggle = $(this), 48 $flycart = $flycartToggle.parent(), 49 $flycartPanel = $flycartToggle.siblings('.flycart-panel'), 50 isLeft = $flycart.is('.flycart-left'); 51 $flycartToggle.toggleClass( 'active' ); 52 $html.toggleClass( 'flycart-open' ); 53 if( $flycartToggle.is('.active') ) { 54 if ( isLeft ) { 55 $flycartPanel.show().css( 'left', '-' + $flycartPanel.outerWidth() + 'px' ).animate( {left:0}, 300 ); 56 $flycartToggle.animate( { left: $flycartPanel.width() + 'px' }, 300 ); 57 } else { 58 $flycartPanel.show().css( 'right', '-' + $flycartPanel.outerWidth() + 'px' ).animate( {right:0}, 300 ); 59 $flycartToggle.animate( { right: $flycartPanel.width() + 'px' }, 300 ); 60 } 61 } else { 62 if ( isLeft ) { 63 $flycartPanel.animate( { left: '-' + $flycartPanel.outerWidth() + 'px' }, 300, function(){ $flycartPanel.hide(); } ); 64 $flycartToggle.animate( { left: '0' }, 300 ); 65 } else { 66 $flycartPanel.animate( { right: '-' + $flycartPanel.outerWidth() + 'px' }, 300, function(){ $flycartPanel.hide(); } ); 67 $flycartToggle.animate( { right: '0' }, 300 ); 68 } 69 } 70 }); 71 $('body').click(function (e) { 72 if ( $html.is('.flycart-open') && !$(e.target).is( '.fly-cart *, .fly-cart' ) ) { 73 $( '.flycart-toggle.active' ).click(); 74 } 75 }); 76 77 var $flycart = $('#fly-cart'), 78 flycarttimeout = 1000; 79 if( 'undefined' != typeof hootData && 'undefined' != typeof hootData.flycarttimeout ) 80 flycarttimeout = hootData.flycarttimeout; 81 if ( $flycart.is('.flycart-showonadd') ) { 82 $( document.body ).on( 'added_to_cart removed_from_cart', function( event, fragments, cart_hash ) { 83 $( '.flycart-toggle:not(.active)' ).click(); 84 setTimeout(function() { $( '.flycart-toggle.active' ).click(); }, 1500); 85 }); 86 } 87 } 88 /****** WC Fly Cart - Modal Focus : @todo ******/ 89 90 /****** Timer ******/ 91 92 if( 'undefined' == typeof hootData.timer || 'enable' == hootData.timer ) { 93 $('.hootkit-timer').each(function(){ 94 var $self = $(this), 95 selfData = $self.data(); 96 if ( 'undefined' == typeof selfData.diff ) return; // customizer view 97 var timeCounter = setInterval(function() { 98 var display = ''; 99 if ( selfData.diff < 0 ) { 100 clearInterval(timeCounter); 101 display += '<span class="timer-expired">' + selfData.expiredlabel + '</span>'; 102 // console.log( 'expired' ); 103 } else { 104 // error due to 30/31 days: eg end date 1m3d vs 1y1m3d from now => use JS Date class 105 // var years = Math.floor( selfData.diff / ( 60 * 60 * 24 * 365 ) ); 106 // var months = Math.floor( ( selfData.diff % ( 60 * 60 * 24 * 365 ) ) / ( 60 * 60 * 24 * 31 ) ); 107 // var days = Math.floor( ( selfData.diff % ( 60 * 60 * 24 * 31 ) ) / ( 60 * 60 * 24 ) ); 108 var days = Math.floor( selfData.diff / ( 60 * 60 * 24 ) ); 109 var hours = Math.floor( ( selfData.diff % ( 60 * 60 * 24 ) ) / ( 60 * 60 ) ); 110 var minutes = Math.floor( ( selfData.diff % ( 60 * 60 ) ) / ( 60 ) ); 111 var seconds = Math.floor( ( selfData.diff % ( 60 ) ) ); 112 // if ( years == 1 ) display += years + ' ' + selfData.yearlabel + ' '; 113 // if ( years > 1 ) display += years + ' ' + selfData.yearslabel + ' '; 114 // if ( months == 1 ) display += months + ' ' + selfData.monthlabel + ' '; 115 // if ( months > 1 ) display += months + ' ' + selfData.monthslabel + ' '; 116 if ( days == 1 ) display += '<span class="days-count">' + days + '</span> <span class="days-label">' + selfData.daylabel + '</span> '; 117 if ( days > 1 ) display += '<span class="days-count">' + days + '</span> <span class="days-label">' + selfData.dayslabel + '</span> '; 118 display += '<span class="hours-count">
118' + ( "0" + hours ).slice(-2) + '</span>'; 119 display += '<span class="minutes-count">' + ( "0" + minutes ).slice(-2) + '</span>'; 120 display += '<span class="seconds-count">' + ( "0" + seconds ).slice(-2) + '</span>' ; 121 // console.log( selfData.diff+' '+years+' '+ months+' '+days+' '+hours+' '+minutes+' '+seconds ); 122 } 123 $self.html( display ); 124 selfData.diff = selfData.diff - 1; 125 }, 1000); 126 }); 127 } 128 129});
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.