Вход Регистрация
Файл: resources/js/functions.js
Строк: 586
<?php
'use strict';

// Cookie law banner
document.querySelector('#cookie-banner-dismiss') && document.querySelector('#cookie-banner-dismiss').addEventListener('click', function () {
    
setCookie('cookie_law'1, new Date().getTime() + (10 365 24 60 60 1000), '/');
    
document.querySelector('#cookie-banner').classList.add('d-none');
});

// Dark mode
document.querySelector('#dark-mode') && document.querySelector('#dark-mode').addEventListener('click', function (e) {
    
e.preventDefault();

    
// Update the sources
    
document.querySelectorAll('[data-theme-target]').forEach(function (element) {
        
element.setAttribute(element.dataset.themeTargetdocument.querySelector('html').classList.contains('dark') ? element.dataset.themeLight element.dataset.themeDark);
    });

    
// Update the text
    
this.querySelector('span').textContent document.querySelector('html').classList.contains('dark') ? this.querySelector('span').dataset.textLight this.querySelector('span').dataset.textDark;

    
// Update the dark mode cookie
    
setCookie('dark_mode', (document.querySelector('html').classList.contains('dark') ? 1), new Date().getTime() + (10 365 24 60 60 1000), '/');

    
// Update the CSS class
    
if (document.querySelector('html').classList.contains('dark')) {
        
document.querySelector('html').classList.remove('dark');
    } else {
        
document.querySelector('html').classList.add('dark');
    }
});

// Pricing plans
document.querySelector('#plan-month') && document.querySelector('#plan-month').addEventListener("click", function () {
    
document.querySelectorAll('.plan-month').forEach(element => element.classList.add('d-block'));
    
document.querySelectorAll('.plan-year').forEach(element => element.classList.remove('d-block'));
});

document.querySelector('#plan-year') && document.querySelector('#plan-year').addEventListener("click", function () {
    
document.querySelectorAll('.plan-year').forEach(element => element.classList.add('d-block'));
    
document.querySelectorAll('.plan-month').forEach(element => element.classList.remove('d-block''plan-preload'));
});

let updateSummary = (type) => {
    if (
type == 'month') {
        
document.querySelectorAll('.checkout-month').forEach(function (element) {
            
element.classList.add('d-inline-block');
        });

        
document.querySelectorAll('.checkout-year').forEach(function (element) {
            
element.classList.remove('d-inline-block');
        });
    } else {
        
document.querySelectorAll('.checkout-month').forEach(function (element) {
            
element.classList.remove('d-inline-block');
        });

        
document.querySelectorAll('.checkout-year').forEach(function (element) {
            
element.classList.add('d-inline-block');
        });
    }
};

let updateBillingType = (value) => {
    
// Show the offline instructions
    
if (value == 'bank') {
        
document.querySelector('#bank-instructions').classList.remove('d-none');
        
document.querySelector('#bank-instructions').classList.add('d-block');
    }
    
// Hide the offline instructions
    
else {
        if (
document.querySelector('#bank-instructions')) {
            
document.querySelector('#bank-instructions').classList.add('d-none');
            
document.querySelector('#bank-instructions').classList.remove('d-block');
        }
    }

    if (
value == 'cryptocom' || value == 'coinbase' || value == 'bank') {
        
document.querySelectorAll('.checkout-subscription').forEach(function (element) {
            
element.classList.remove('d-block');
        });

        
document.querySelectorAll('.checkout-subscription').forEach(function (element) {
            
element.classList.add('d-none');
        });

        
document.querySelectorAll('.checkout-one-time').forEach(function (element) {
            
element.classList.add('d-block');
        });

        
document.querySelectorAll('.checkout-one-time').forEach(function (element) {
            
element.classList.remove('d-none');
        });
    } else {
        
document.querySelectorAll('.checkout-subscription').forEach(function (element) {
            
element.classList.remove('d-none');
        });

        
document.querySelectorAll('.checkout-subscription').forEach(function (element) {
            
element.classList.add('d-block');
        });

        
document.querySelectorAll('.checkout-one-time').forEach(function (element) {
            
element.classList.add('d-none');
        });

        
document.querySelectorAll('.checkout-one-time').forEach(function (element) {
            
element.classList.remove('d-block');
        });
    }
}

// Payment form
if (document.querySelector('#form-payment')) {
    
let url = new URL(window.location.href);

    
document.querySelectorAll('[name="interval"]').forEach(function (element) {
        if (
element.checked) {
            
updateSummary(element.value);
        }

        
// Listen to interval changes
        
element.addEventListener('change', function () {
            
// Update the URL address
            
url.searchParams.set('interval'element.value);

            
history.pushState(nullnullurl.href);

            
updateSummary(element.value);
        });
    });

    
document.querySelectorAll('[name="payment_processor"]').forEach(function (element) {
        if (
element.checked) {
            
updateBillingType(element.value);
        }

        
// Listen to payment processor changes
        
element.addEventListener('change', function () {
            
// Update the URL address
            
url.searchParams.set('payment'element.value);

            
history.pushState(nullnullurl.href);

            
updateBillingType(element.value);
        });
    });

    
// If the Add a coupon button is clicked
    
document.querySelector('#coupon') && document.querySelector('#coupon').addEventListener('click', function (e) {
        
e.preventDefault();

        
// Hide the link
        
this.classList.add('d-none');

        
// Show the coupon input
        
document.querySelector('#coupon-input').classList.remove('d-none');

        
// Enable the coupon input
        
document.querySelector('input[name="coupon"]').removeAttribute('disabled');
    });

    
// If the Cancel coupon button is clicked
    
document.querySelector('#coupon-cancel') && document.querySelector('#coupon-cancel').addEventListener('click', function (e) {
        
e.preventDefault();

        
document.querySelector('#coupon').classList.remove('d-none');

        
// Hide the coupon input
        
document.querySelector('#coupon-input').classList.add('d-none');

        
// Disable the coupon input
        
document.querySelector('input[name="coupon"]').setAttribute('disabled''disabled');
    });

    
// If the country value changes
    
document.querySelector('#i-country').addEventListener('change', function () {
        
// Remove the submit button
        
document.querySelector('#form-payment').submit.remove();

        
// Submit the form
        
document.querySelector('#form-payment').submit();
    });
}

// Coupon form
if (document.querySelector('#form-coupon')) {
    
document.querySelector('#i-type').addEventListener('change', function () {
        if (
document.querySelector('#i-type').value == 1) {
            
document.querySelector('#form-group-redeemable').classList.remove('d-none');
            
document.querySelector('#form-group-discount').classList.add('d-none');
            
document.querySelector('#i-percentage').setAttribute('disabled''disabled');
        } else {
            
document.querySelector('#form-group-redeemable').classList.add('d-none');
            
document.querySelector('#form-group-discount').classList.remove('d-none');
            
document.querySelector('#i-percentage').removeAttribute('disabled');
        }
    });
}

// Table filters
document.querySelector('#search-filters') && document.querySelector('#search-filters').addEventListener('click', function (e) {
    
e.stopPropagation();
});

// Toggle password visibility
document.querySelectorAll('[data-password]').forEach(function (element) {
    
element.addEventListener('click', function (e) {
        
let passwordInput document.querySelector('#' this.dataset.password);

        if (
passwordInput.type === 'password') {
            
passwordInput.type 'text';
            
jQuery(this).tooltip('hide').attr('data-original-title'this.dataset.passwordHide).tooltip('show');
        } else {
            
passwordInput.type 'password';
            
jQuery(this).tooltip('hide').attr('data-original-title'this.dataset.passwordShow).tooltip('show');
        }
    });
});

// Confirmation modal
document.querySelectorAll('[data-target="#modal"]').forEach(function (element) {
    
element.addEventListener('click', function () {
        if (
this.dataset.buttonName) {
            
document.querySelector('#modal-button').setAttribute('name'this.dataset.buttonName);
        }
        if (
this.dataset.buttonValue) {
            
document.querySelector('#modal-button').setAttribute('value'this.dataset.buttonValue);
        }
        
document.querySelector('#modal-label').textContent this.dataset.title
        document
.querySelector('#modal-button').textContent this.dataset.title;
        
document.querySelector('#modal-button').setAttribute('class'this.dataset.button);
        
document.querySelector('#modal-text').textContent this.dataset.text;
        
document.querySelector('#modal-sub-text').textContent this.dataset.subText;
        
document.querySelector('#modal form').setAttribute('action'this.dataset.action);
    });
});

// Privacy selector
if (document.querySelector('#form-website')) {
    
document.querySelectorAll('input[name="privacy"]').forEach(function (element) {
        
element.addEventListener('click', function () {
            if (
this.checked && this.value == 2) {
                
document.querySelector('#input-password').classList.remove('d-none');
                
document.querySelector('#input-password').classList.add('d-block')
            } else {
                
document.querySelector('#input-password').classList.add('d-none');
                
document.querySelector('#input-password').classList.remove('d-block')
            }
        });
    });
}

/**
 * Get the value of a given cookie.
 *
 * @param   name
 * @returns {*}
 */
let getCookie = (name) => {
    var 
name name '=';
    var 
decodedCookie decodeURIComponent(document.cookie);
    var 
ca decodedCookie.split(';');

    for(var 
0<ca.lengthi++) {
        var 
ca[i];
        while(
c.charAt(0) == ' ') {
            
c.substring(1);
        }
        if(
c.indexOf(name) == 0) {
            return 
c.substring(name.lengthc.length);
        }
    }
    return 
'';
};

/**
 * Set a cookie.
 *
 * @param   name
 * @param   value
 * @param   expire
 * @param   path
 */
let setCookie = (namevalueexpirepath) => {
    
document.cookie name "=" value ";expires=" + (new Date(expire).toUTCString()) + ";path=" path;
};

// Clipboard
new ClipboardJS('[data-clipboard="true"]');

document.querySelectorAll('[data-clipboard-copy]').forEach(function (element) {
    
element.addEventListener('click', function (e) {
        
e.preventDefault();

        try {
            
let value this.dataset.clipboardCopy;
            
let tempInput document.createElement('input');

            
document.body.append(tempInput);

            
// Set the input's value to the url to be copied
            
tempInput.value value;

            
// Select the input's value to be copied
            
tempInput.select();

            
// Copy the url
            
document.execCommand("copy");

            
// Remove the temporary input
            
tempInput.remove();
        } catch (
e) {}
    });
});

// Tooltip
jQuery('[data-tooltip="true"]').tooltip({animationtruetrigger'hover'boundary'window'});

// Copy tooltip
jQuery('[data-tooltip-copy="true"]').tooltip({animationtrue});

document.querySelectorAll('[data-tooltip-copy="true"]').forEach(function (element) {
    
element.addEventListener('click', function (e) {
        
// Update the tooltip
        
jQuery(this).tooltip('hide').attr('data-original-title'this.dataset.textCopied).tooltip('show');
    });

    
element.addEventListener('mouseleave', function () {
        
this.setAttribute('data-original-title'this.dataset.textCopy);
    });
});

// Slide menu
document.querySelectorAll('.slide-menu-toggle').forEach(function (element) {
    
element.addEventListener('click', function () {
        
document.querySelector('#slide-menu').classList.toggle('active');
    });
});

/**
 * Chart
 *
 * @param n
 * @param x
 * @param s
 * @param c
 * @returns {string}
 */
Number.prototype.format = function (nxsc) {
    
let re '\d(?=(\d{' + (|| 3) + '})+' + ('\D' '$') + ')',
        
num this.toFixed(Math.max(0, ~~n));

    return (
num.replace('.'c) : num).replace(new RegExp(re'g'), '$&' + (|| ','));
};

/**
 * Commarize large numbers
 *
 * @param number
 * @param min
 * @returns {string}
 */
let commarize = (numbermin) => {
    
min min || 1e3;
    
// Alter numbers larger than 1k
    
if (number >= min) {
        
let units = ["K""M""B""T"];
        
let order Math.floor(Math.log(number) / Math.log(1000));
        
let unitname units[order 1];
        
let num Number((number 1000 ** order).toFixed(2));
        
// output number remainder + unitname
        
return num unitname;
    }
    
// return formatted original number
    
return number.toLocaleString();
}
?>
Онлайн: 0
Реклама