Filters
Sort
Filters
Filter
Availability & Condition
brand
price
From
To
'}const inverseRight = {width: 0, tempelate: '
'}const range = {left: 0, right: 0, tempelate: '
'}const thumb = {list: [{left: 0}, {left: 0}], templateList: [{template: ''}, {template: ''}]}const minimumInput = element.querySelector('[minimum]')const maximumInput = element.querySelector('[maximum]')const Key = element.attributes['data-key'].valueconst defaultOptions = { minValueTextbox: null, maxValueTextbox: null}options = {...defaultOptions, ...options}const minTextInput = options.minValueTextbox && options.minValueTextbox.type === 'number' ? options.minValueTextbox : nullconst maxTextInput = options.maxValueTextbox && options.maxValueTextbox.type === 'number' ? options.maxValueTextbox : nulllet difference = 1const init = () => { generateHelperElements() if (parseFloat(minTextInput.min) > 0 && parseFloat(minTextInput.min) < 1) { difference = parseFloat(minTextInput.min) minimumInput.setAttribute('step', difference) maximumInput.setAttribute('step', difference) } onInputMin() onInputMax() if (minTextInput) { $(minTextInput).off('change').on('change', onTextMinInputChange) } if (maxTextInput) { $(maxTextInput).off('change').on('change', onTextMaxInputChange) }}const setLeftValues = (value) => { inverseLeft.width = value range.left = value thumb.list[0].left = value}const setRightValues = (value) => { inverseRight.width = value range.right = value thumb.list[1].left = value}const generateHelperElements = () => { if(element.querySelector('.helper-elements') !== null) { element.querySelector('.helper-elements').remove(); } const wrapperDiv = document.createElement('div') wrapperDiv.classList.add('helper-elements') element.prepend(wrapperDiv) element.querySelector('.helper-elements').insertAdjacentHTML('afterbegin', inverseLeft.tempelate + inverseRight.tempelate + range.tempelate + thumb.templateList[0].template + thumb.templateList[1].template);}const onTextMinInputChange = e => { let value = parseInt(e.currentTarget.value) if (value > parseInt(maximumInput.value)) { e.currentTarget.value = value = parseInt(maximumInput.value) - difference } minimumInput.value = value onInputMin()}const onTextMaxInputChange = e => { let value = parseInt(e.currentTarget.value) if (value < parseInt(minimumInput.value)) { e.currentTarget.value = value = parseInt(minimumInput.value) + difference } maximumInput.value = value onInputMax()}const onInputMin = (e) => { // minimumInput.value = minimumInput.getAttribute('data_value') const minInput = minimumInput minInput.value=Math.min(minInput.value,maximumInput.value-difference); var value=(100/(parseInt(minInput.max)-parseInt(minInput.min)))*parseInt(minInput.value)-(100/(parseInt(minInput.max)-parseInt(minInput.min)))*parseInt(minInput.min); setLeftValues(value.toFixed()) element.querySelector('[inverse-left]').style.width=inverseLeft.width+'%'; element.querySelector('[range]').style.left=range.left+'%'; element.querySelector('[thumb-left]').style.left=value+'%'; if (minInput.value > parseInt(maximumInput.value)) { } if (options.minValueTextbox && options.minValueTextbox.type === 'number') { options.minValueTextbox.value = minInput.value; } TempValues[Key] = {minSelectedValue: parseInt(minInput.value), maxSelectedValue: parseInt(maximumInput.value)}}const onInputMax = (e) => { // maximumInput.value = maximumInput.getAttribute('data_value') const maxInput = maximumInput if (parseFloat(maxInput.value) + 1 > parseFloat(maxInput.max)) { maxInput.value = maxInput.max value = 100 } else { maxInput.value=Math.max(maxInput.value,minimumInput.value-(-difference)); var value=(100/(parseInt(maxInput.max)-parseInt(maxInput.min)))*parseInt(maxInput.value)-(100/(parseInt(maxInput.max)-parseInt(maxInput.min)))*parseInt(maxInput.min); } setRightValues(value.toFixed(2)) element.querySelector('[inverse-right]').style.width=(100-inverseRight.width)+'%'; element.querySelector('[range]').style.right=(100-range.right)+'%'; element.querySelector('[thumb-right]').style.left=(thumb.list[1].left)+'%'; const textBox = options.maxValueTextbox if (textBox && textBox.type === 'number') { textBox.value = maxInput.value } TempValues[Key] = {minSelectedValue: parseInt(minimumInput.value), maxSelectedValue: parseInt(maxInput.value)}}$(minimumInput).off('input').on('input', onInputMin)$(maximumInput).off('input').on('input', onInputMax)init()}document.addEventListener("DOMContentLoaded", () => { bindRangeSlider() Livewire.hook('message.processed', (message, component) => { bindRangeSlider() })});function bindRangeSlider() { document.querySelectorAll('[slider]').forEach(slider => { InitializeRangeSlider(slider, { minValueTextbox: document.querySelector('#'+slider.querySelector('[minimum]').attributes['data-text-id'].value), maxValueTextbox: document.querySelector('#'+slider.querySelector('[maximum]').attributes['data-text-id'].value), }) })}
20 results found
Ekuep fulfilled
300 points
Ekuep fulfilled
58 points
Ekuep fulfilled
300 points
Ekuep fulfilled
228 points
Ekuep fulfilled
10 points
Ekuep fulfilled
690 points
Ekuep fulfilled
807 points
Ekuep fulfilled
806 points
Ekuep fulfilled
221 points
Ekuep fulfilled
1341 points
Ekuep fulfilled
510 points
Ekuep fulfilled
4160 points
Ekuep fulfilled
8626 points
Ekuep fulfilled
4810 points
Ekuep fulfilled
5471 points
Ekuep fulfilled
6028 points
Ekuep fulfilled
1064 points
Ekuep fulfilled
279 points
Ekuep fulfilled
2786 points
Ekuep fulfilled
108 points
Delivery and Storage
If you operate a restaurant, cafe, hotel, or any other food service business, it is very important to keep your food products and ingredients well-organized, sanitary, and ready to transport. We have a wide selection of storage shelves, bins, cabinets, and racks to maintain easy access and organization. You can keep your foods sealed in proper food storage containers to preserve freshness and taste, keep ingredients separated and sanitary, and ready for transport. We also carry food transport equipment, carts, trucks, and dollies, making it easier for you to rearrange heavy produce and stock, as well as helping your staff deliver multiple meals at a time
- Delivery Bags and Boxes
- Storage Shelves
- Storage Bins
- Storage Racks
- Carts, Trucks and Dollies
- Dinnerware Storage and Transport