93 lines
4.2 KiB
JavaScript
Vendored
93 lines
4.2 KiB
JavaScript
Vendored
import Glider from '@lighting-beetle/glider-js'
|
|
import axios from 'axios'
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const labelSlider = document.querySelector('.container.poultryShow .glider-container.labels > .glider'),
|
|
linksSlider = document.querySelector('.container.poultryShow .glider-container.links > .glider'),
|
|
orderNum = document.getElementById('order_num'),
|
|
orderVal = document.getElementById('order_val'),
|
|
orderInvalid = document.getElementById('order_num_invalid'),
|
|
orderExp = document.getElementById('order_exp'),
|
|
distriSign = document.getElementById('distriSign'),
|
|
distriPicture = document.getElementById('distriPicture'),
|
|
distriDate = document.getElementById('distriDate');
|
|
if (labelSlider) {
|
|
new Glider(labelSlider, {
|
|
slidesToShow: 1,
|
|
draggable: true,
|
|
arrows: {
|
|
prev: labelSlider.parentElement.querySelector('.glider-prev'),
|
|
next: labelSlider.parentElement.querySelector('.glider-next')
|
|
},
|
|
responsive: [
|
|
{ breakpoint: 325, settings: { slidesToShow: 2.5 } },
|
|
{ breakpoint: 400, settings: { slidesToShow: 2.8 } },
|
|
{ breakpoint: 500, settings: { slidesToShow: 3 } },
|
|
{ breakpoint: 600, settings: { slidesToShow: 3.4 } },
|
|
{ breakpoint: 1200, settings: { slidesToShow: 4 } },
|
|
{ breakpoint: 1400, settings: { slidesToShow: 4.5 } }
|
|
]
|
|
})
|
|
}
|
|
if (linksSlider) {
|
|
new Glider(linksSlider, {
|
|
slidesToShow: 1.5,
|
|
draggable: true,
|
|
arrows: {
|
|
prev: linksSlider.parentElement.querySelector('.glider-prev'),
|
|
next: linksSlider.parentElement.querySelector('.glider-next')
|
|
},
|
|
responsive: [
|
|
{ breakpoint: 440, settings: { slidesToShow: 2 } },
|
|
{ breakpoint: 535, settings: { slidesToShow: 2.5 } },
|
|
{ breakpoint: 575, settings: { slidesToShow: 2 } },
|
|
{ breakpoint: 625, settings: { slidesToShow: 2.5 } },
|
|
{ breakpoint: 1200, settings: { slidesToShow: 3 } },
|
|
{ breakpoint: 1400, settings: { slidesToShow: 3.5 } }
|
|
]
|
|
})
|
|
}
|
|
// * Distribution
|
|
if (orderNum && orderVal && orderExp && orderInvalid && distriPicture && distriDate) {
|
|
orderVal.addEventListener('click', (e) => {
|
|
e.preventDefault()
|
|
|
|
const scrollToIdWithOffset = (idContent, headerOffset) => {
|
|
const element = document.getElementById(idContent),
|
|
elementPosition = element.getBoundingClientRect().top,
|
|
offsetPosition = window.pageYOffset + elementPosition - headerOffset
|
|
|
|
scrollTo({
|
|
top: offsetPosition,
|
|
behavior: "smooth"
|
|
})
|
|
}
|
|
|
|
axios.get(
|
|
`/tracabilite/volaille/distribution?codelot=${orderNum.dataset.codeLot}&ordernum=${orderNum.imask.value.slice(0, -5)}`
|
|
).then((response) => {
|
|
const date = new Date(response.data.exp_date);
|
|
distriDate.textContent = new Intl.DateTimeFormat('fr-FR', { dateStyle: 'full'}).format(date);
|
|
distriSign.querySelector('span').textContent = response.data.sign;
|
|
if (response.data.picture) {
|
|
distriPicture.querySelector('img').classList.remove('d-none');
|
|
distriPicture.querySelector('img').src = `/assets/images/signs/${response.data.picture}`;
|
|
} else {
|
|
distriPicture.querySelector('img').classList.add('d-none');
|
|
}
|
|
|
|
orderInvalid.classList.remove('d-block');
|
|
orderExp.classList.remove('d-none');
|
|
orderNum.imask.masked.reset();
|
|
scrollToIdWithOffset(orderExp.id, 50);
|
|
}).catch((e) => {
|
|
orderInvalid.classList.add('d-block');
|
|
orderExp.classList.add('d-none');
|
|
orderNum.imask.masked.reset();
|
|
scrollToIdWithOffset('order_num_invalid', 50);
|
|
});
|
|
})
|
|
} else {
|
|
throw new Error('Missing Dom elements');
|
|
}
|
|
})
|