New api and zone management; highligh occlusion and highlighAll functionality; improved search in reports and alerts history + autofill; refactored alert panel

This commit is contained in:
iv_vuytsik
2025-12-25 03:10:21 +03:00
parent 31030f2997
commit ce7e39debf
36 changed files with 1562 additions and 472 deletions

View File

@@ -13,7 +13,7 @@ const ReportsPage: React.FC = () => {
const router = useRouter()
const searchParams = useSearchParams()
const { data: session } = useSession()
const { currentObject, setCurrentObject } = useNavigationStore()
const { currentObject, setCurrentObject, selectedDetector } = useNavigationStore()
const [selectedDetectors, setSelectedDetectors] = useState<number[]>([])
const [detectorsData, setDetectorsData] = useState<any>({ detectors: {} })
@@ -28,6 +28,13 @@ const ReportsPage: React.FC = () => {
}
}, [urlObjectId, urlObjectTitle, currentObject.id, setCurrentObject])
// Автовыбор detector id из стора
useEffect(() => {
if (selectedDetector && !selectedDetectors.includes(selectedDetector.detector_id)) {
setSelectedDetectors(prev => [...prev, selectedDetector.detector_id])
}
}, [selectedDetector, selectedDetectors])
useEffect(() => {
const loadDetectors = async () => {
try {
@@ -139,15 +146,21 @@ const ReportsPage: React.FC = () => {
<ExportMenu onExport={handleExport} />
</div>
{/* Selection table to choose detectors to include in the report */}
<div className="mb-6">
<DetectorList objectId={objectId || undefined} selectedDetectors={selectedDetectors} onDetectorSelect={handleDetectorSelect} />
<DetectorList
objectId={objectId || undefined}
selectedDetectors={selectedDetectors}
onDetectorSelect={handleDetectorSelect}
initialSearchTerm={selectedDetector?.detector_id.toString() || ''}
/>
</div>
{/* Existing notifications-based list */}
<div className="mt-6">
<ReportsList detectorsData={detectorsData} />
<ReportsList
detectorsData={detectorsData}
initialSearchTerm={selectedDetector?.detector_id.toString() || ''}
/>
</div>
</div>
</div>