$(document).on('change', 'input.variable_manage_stock', function (event) {
const variation = event.target.closest('.woocommerce_variation');
const checkbox = event.target;
const checkbox_on_off = checkbox.checked;
if (checkbox_on_off && variation){ // Управление запасами включено
console.log('включен')
$('.show_if_variation_manage_stock select').on('change', function() {
$(document).on('change', '.show_if_variation_manage_stock select', function (event) {
const variation = event.target.closest('.woocommerce_variation');
const select = event.target;
const showDate = select.matches('[name*="variable_backorders"]') && ['notify', 'yes'].includes(select.value);
variation.querySelector('.ps-date-var').classList.toggle('visible', showDate);
});
}).trigger('change');
}
else if (!checkbox_on_off && variation){ // Управление запасами отключено
console.log('выключен')
$('.variable_stock_status select').on('change', function() {
$(document).on('change', '.variable_stock_status select', function (event) {
const variation = event.target.closest('.woocommerce_variation');
const select = event.target;
const showDate = select.matches('[name*="variable_stock_status"]') && 'onbackorder' === select.value;
variation.querySelector('.ps-date-var').classList.toggle('visible', showDate);
});
}).trigger('change');
}
}).trigger('change');
if (isThis.style.backgroundImage == target.parentNode.querySelector(".face").style.backgroundImage){
let linkvariable = isThis;
setTimeout(() => linkvariable .parentNode.remove(), 1000);
setTimeout(() => target.parentNode.remove(), 1000);
isThis = undefined;
}
setTimeout((() => isThis.parentNode.remove())(), 1000);
isThis = undefined; // отрабатывал быстрее чем setTimout когда твой setTimout был без IIFE
setTimeout(() => {
isThis.parentNode.remove();
isThis = undefined;
}, 1000);
if (isThis.style.backgroundImage == target.parentNode.querySelector(".face").style.backgroundImage){
setTimeout(() => {
isThis.parentNode.remove();
isThis = undefined;
}, 1000);
setTimeout(() => target.parentNode.remove(), 1000);
}
20 или 30
for(const inf of obj){
let d = document.createElement("div");
for (const [key, value] of Object.entries(inf)) {
d.dataset.[key] = value;
}
}
Почему во всех статья рекомендуют сохранять access токен фронт в куках и потом прикреплять к запросам к API в заголовках, а не так как я описал выше?не знаю кто там чё рекомендует, но доступа к кукам с фронта нет если куки установлены с флагом httpOnly