const handleObjectClick = (objectName, columnIndex) => {
setSelectedColumn(columnIndex);
// Сбрасываем фильтр, если уже был выбран этот объект
if (selectedObject === objectName) {
setSelectedObject(null);
// Сбрасываем фильтры только для других графиков
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data);
setFilterDoughnut(data);
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data);
setFilterDoughnut(data);
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data);
setFilterDataNew(data);
}
return; // Выход из функции, если фильтр сброшен
}
setSelectedObject(objectName);
// Фильтруем только остальные графики
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data.filter((data) => data.tobj_name === objectName));
setFilterDoughnut(data.filter((data) => data.tobj_name === objectName));
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data.filter((data) => data.tobj_name === objectName));
setFilterDoughnut(data.filter((data) => data.tobj_name === objectName));
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data.filter((data) => data.tobj_name === objectName));
setFilterDataNew(data.filter((data) => data.tobj_name === objectName));
}
};
const handleTypeClick = (typeName, columnIndex) => {
setSelectedColumn(columnIndex);
// Сбрасываем фильтр, если уже был выбран этот тип
if (selectedType === typeName) {
setSelectedType(null);
// Сбрасываем фильтры только для других графиков
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data);
setFilterDoughnut(data);
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data);
setFilterDoughnut(data);
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data);
setFilterDataNew(data);
}
return; // Выход из функции, если фильтр сброшен
}
setSelectedType(typeName);
// Фильтруем только остальные графики
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data.filter((data) => data.typd_name === typeName));
setFilterDoughnut(data.filter((data) => data.typd_name === typeName));
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data.filter((data) => data.typd_name === typeName));
setFilterDoughnut(data.filter((data) => data.typd_name === typeName));
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data.filter((data) => data.typd_name === typeName));
setFilterDataNew(data.filter((data) => data.typd_name === typeName));
}
};
const handleStatusClick = (statusName, columnIndex) => {
setSelectedColumn(columnIndex);
// Сбрасываем фильтр, если уже был выбран этот статус
if (selectedStatus === statusName) {
setSelectedStatus(null);
// Сбрасываем фильтры только для других графиков
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data);
setFilterDoughnut(data);
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data);
setFilterDoughnut(data);
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data);
setFilterDataNew(data);
}
return; // Выход из функции, если фильтр сброшен
}
setSelectedStatus(statusName);
// Фильтруем только остальные графики
if (columnIndex === 0) {
// CardCount
setFilterDataNew(data.filter((data) => data.fault_name === statusName));
setFilterDoughnut(data.filter((data) => data.fault_name === statusName));
} else if (columnIndex === 1) {
// CardCountDevice
setFilterData(data.filter((data) => data.fault_name === statusName));
setFilterDoughnut(data.filter((data) => data.fault_name === statusName));
} else if (columnIndex === 2) {
// CardStatus
setFilterData(data.filter((data) => data.fault_name === statusName));
setFilterDataNew(data.filter((data) => data.fault_name === statusName));
}
};