403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/boxberry.delivery/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/boxberry.delivery/profile.js
document.addEventListener('DOMContentLoaded', function() {

    BX.UI.Hint.init(BX('adm-detail-content-item-block'));

    const deliveryType = document.querySelector('#bbProfileType');

    if (deliveryType && deliveryType.value !== '') {
        deliveryType.classList.add('bbDisableProfileTypeSelect');
    }

    const bbUseShopSettings = document.querySelector('#bbUseShopSettings');

    const bbRange1Cost = document.querySelector('#bbRange1Cost');
    const bbRange2Cost = document.querySelector('#bbRange2Cost');
    const range1CalcType = document.querySelector('#bbRange1CalcType');
    const range2CalcType = document.querySelector('#bbRange2CalcType');
    const bbRange1FixCost = document.querySelector("#edit_COSTS_edit_table > tbody > tr:nth-child(3)");
    const bbRange2FixCost = document.querySelector("#edit_COSTS_edit_table > tbody > tr:nth-child(6)");

    const bbWeight = document.querySelector('#bbWeight');
    const bbPriceBasePercent = document.querySelector('#bbPriceBasePercent');
    const bbOrderSumPercent = document.querySelector('#bbOrderSumPercent');
    const bbPaySumPercent = document.querySelector('#bbPaySumPercent');

    const bbEnableMinTariff = document.querySelector('#bbEnableMinTariff');
    const bbMinTariff = document.querySelector('#bbMinTariff');
    const bbEnableMaxTariff = document.querySelector('#bbEnableMaxTariff');
    const bbMaxTariff = document.querySelector('#bbMaxTariff');
    const bbFixSum = document.querySelector('#bbFixSum');

    const bbAddDeliveryDay = document.querySelector('#bbAddDeliveryDay');

    if (range1CalcType && range1CalcType.value === '1') {
        bbRange1FixCost.style.display = 'none';
    } else {
        bbRange1FixCost.style.display = 'table-row';
    }

    range1CalcType.addEventListener('change', function() {
        if (range1CalcType.value === '1') {
            bbRange1FixCost.style.display = 'none';
        } else {
            bbRange1FixCost.style.display = 'table-row';
        }
    });

    if (range2CalcType && range2CalcType.value === '1') {
        bbRange2FixCost.style.display = 'none';
    } else {
        bbRange2FixCost.style.display = 'table-row';
    }

    range2CalcType.addEventListener('change', function() {
        if (range2CalcType.value === '1') {
            bbRange2FixCost.style.display = 'none';
        } else {
            bbRange2FixCost.style.display = 'table-row';
        }
    });

    if (!bbEnableMinTariff.checked) {
        bbMinTariff.setAttribute('readonly', 'readonly');
    } else {
        bbMinTariff.removeAttribute('readonly');
    }

    bbEnableMinTariff.addEventListener('change', function() {
        if (bbEnableMinTariff.checked) {
            bbMinTariff.removeAttribute('readonly');
        } else {
            bbMinTariff.setAttribute('readonly', 'readonly');
        }
    });

    if (!bbEnableMaxTariff.checked) {
        bbMaxTariff.setAttribute('readonly', 'readonly');
    }

    bbEnableMaxTariff.addEventListener('change', function() {
        if (bbEnableMaxTariff.checked) {
            bbMaxTariff.removeAttribute('readonly');
        } else {
            bbMaxTariff.setAttribute('readonly', 'readonly');
        }
    });

    bbAddDeliveryDay.addEventListener('input', function(e) {
        bbValidateInput(e.target, false, true);
    });

    bbRange1Cost.addEventListener('input', function(e) {
        bbValidateInput(e.target);
        bbRange2Cost.value = e.target.value;
    });

    bbRange2Cost.addEventListener('input', function(e) {
        bbValidateInput(e.target);
        bbRange1Cost.value = e.target.value;
    });

    bbWeight.addEventListener('input', function(e) {
        bbValidateInput(e.target, true, true);
    });

    bbPriceBasePercent.addEventListener('input', function(e) {
        bbValidateInput(e.target, true);
    });

    bbOrderSumPercent.addEventListener('input', function(e) {
        bbValidateInput(e.target, true);
    });

    bbPaySumPercent.addEventListener('input', function(e) {
        bbValidateInput(e.target, true);
    });

    bbFixSum.addEventListener('input', function(e) {
        bbValidateInput(e.target, true);
    });

    bbMinTariff.addEventListener('input', function(e) {
        bbValidateInput(e.target);
    });

    bbMaxTariff.addEventListener('input', function(e) {
        bbValidateInput(e.target);
    });

    const surchargesTabIds = [
        'edit_DELIVERY_PERIOD',
        'edit_LENGTH_AND_ROUND',
        'edit_COSTS',
        'edit_SURCHARGE',
        'edit_OPTIONS',
    ]

    if (bbUseShopSettings && bbUseShopSettings.value === '1') {
        surchargesTabIds.forEach(tabId => {
            tabControl.DisableTab(tabId);
        });
    }

    bbUseShopSettings.addEventListener('change', function() {
        if (bbUseShopSettings.value === '1') {
            surchargesTabIds.forEach(tabId => {
                tabControl.DisableTab(tabId);
            });
        } else {
            surchargesTabIds.forEach(tabId => {
                tabControl.EnableTab(tabId);
            });
        }
    });


});

function bbValidateInput(input, allowNegative = false, onlyInteger = false) {
    let value = input.value;
    if (value === '' || (value === '-' && allowNegative)) {
        input.lastValidValue = value;
        return;
    }
    let regex;
    if (onlyInteger) {
        regex = allowNegative ? /^-?\d+$/ : /^\d+$/;
    } else {
        regex = allowNegative ? /^-?(\d+\.?\d*|\.\d+)?$/ : /^(\d+\.?\d*|\.\d+)?$/;
    }
    if (!regex.test(value)) {
        input.value = input.lastValidValue || '';
    } else {
        if (!onlyInteger && value.includes('.')) {
            let [integerPart, decimalPart] = value.split('.');
            if (decimalPart.length > 2) {
                decimalPart = decimalPart.slice(0, 2);
                value = `${integerPart}.${decimalPart}`;
            }
        }
        input.lastValidValue = value;
        input.value = value;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit