`;
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); // بروزرسانی فیلترها بر اساس تمامی واحدها
});

