واحد های تجاری تشریفات

واحد های تجاری تشریفات

طبقه:${unit.floor}
واحد:${unit.unitNumber}
تماس:${unit.contact}
`; unitsList.appendChild(unitDiv); }); } // فیلتر کردن واحدها function filterUnits() { const floorFilter = document.getElementById("floorFilter").value; const categoryFilter = document.getElementById("categoryFilter").value; // فیلتر کردن واحدها بر اساس طبقه و صنف let filteredUnits = units.filter(unit => { const matchesFloor = floorFilter ? unit.floor === floorFilter : true; const matchesCategory = categoryFilter ? unit.category === categoryFilter : true; return matchesFloor && matchesCategory; }); // نمایش واحدها بعد از فیلتر displayUnits(filteredUnits); // بروزرسانی فیلترها updateFilters(filteredUnits); } // جستجو در واحدها function searchUnits() { const searchInput = document.getElementById("searchInput").value.toLowerCase(); const floorFilter = document.getElementById("floorFilter").value; const categoryFilter = document.getElementById("categoryFilter").value; let filteredUnits = units.filter(unit => unit.name.toLowerCase().includes(searchInput)); // اعمال فیلترهای انتخابی (در صورتی که انتخاب شده باشد) if (floorFilter || categoryFilter) { filteredUnits = filteredUnits.filter(unit => { const matchesFloor = floorFilter ? unit.floor === floorFilter : true; const matchesCategory = categoryFilter ? unit.category === categoryFilter : true; return matchesFloor && matchesCategory; }); } // نمایش واحدها بعد از جستجو displayUnits(filteredUnits); // بروزرسانی فیلترها updateFilters(filteredUnits); } // بروزرسانی فیلترها function updateFilters(filteredUnits) { const floorFilter = document.getElementById("floorFilter").value; const categoryFilter = document.getElementById("categoryFilter"); // جمع‌آوری صنف‌های موجود در طبقه انتخاب شده const availableCategories = new Set(); filteredUnits.forEach(unit => { if (!floorFilter || unit.floor === floorFilter) { availableCategories.add(unit.category); } }); // تنظیم گزینه‌های صنف const allCategoryOptions = document.querySelectorAll("#categoryFilter option"); allCategoryOptions.forEach(option => { if (availableCategories.has(option.value) || option.value === "") { option.disabled = false; // فعال کردن صنف‌های موجود } else { option.disabled = true; // غیر فعال کردن صنف‌های غیر موجود } }); // فیلتر طبقات را بر اساس صنف انتخاب شده بروزرسانی می‌کنیم const availableFloors = new Set(); filteredUnits.forEach(unit => { if (!categoryFilter.value || unit.category === categoryFilter.value) { availableFloors.add(unit.floor); } }); // تنظیم گزینه‌های طبقه const allFloorOptions = document.querySelectorAll("#floorFilter option"); allFloorOptions.forEach(option => { if (availableFloors.has(option.value) || option.value === "") { option.disabled = false; // فعال کردن طبقات موجود } else { option.disabled = true; // غیر فعال کردن طبقات غیر موجود } }); } // بارگذاری تمام واحدها در ابتدا document.addEventListener('DOMContentLoaded', () => { displayUnits(units); updateFilters(units); // بروزرسانی فیلترها بر اساس تمامی واحدها });