Compact detection source tile rows
This commit is contained in:
@@ -160,6 +160,7 @@ AI Lab run controls explicitly explain when no raster dataset is available, inst
|
||||
- Detection Lab keeps the complete persisted detection collection available to the existing MapLibre overlay and QA/QC flows.
|
||||
- The results table renders 50 rows by default and provides 25/50/100 row sizes plus previous/next controls. This bounds DOM work for dense AOIs without discarding or resampling detections.
|
||||
- Selecting another run, changing a class/confidence filter or loading a new result collection resets the visible table to page one.
|
||||
- Source tiles display their filename for compact scanning while retaining the complete persisted path in a hover tooltip.
|
||||
- Pagination is intentionally client-side over the canonical persisted response; detection API contracts and GeoJSON output are unchanged.
|
||||
|
||||
## Sprint 15 additions
|
||||
|
||||
@@ -820,7 +820,9 @@ export function DetectionLab({
|
||||
<td>{detection.class_name}</td>
|
||||
<td>{detection.confidence.toFixed(2)}</td>
|
||||
<td>{detection.model_name}</td>
|
||||
<td>{detection.source_tile_path || 'n/a'}</td>
|
||||
<td className="source-tile-cell" title={detection.source_tile_path ?? undefined}>
|
||||
{formatSourceTilePath(detection.source_tile_path)}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
@@ -1110,3 +1112,11 @@ function downloadJsonFile(filename: string, payload: unknown): void {
|
||||
function formatNullableNumber(value: number | null, digits: number): string {
|
||||
return typeof value === 'number' && Number.isFinite(value) ? value.toFixed(digits) : 'n/a'
|
||||
}
|
||||
|
||||
function formatSourceTilePath(path: string | null | undefined): string {
|
||||
if (!path) {
|
||||
return 'n/a'
|
||||
}
|
||||
const parts = path.replace(/\\/g, '/').split('/').filter(Boolean)
|
||||
return parts[parts.length - 1] ?? path
|
||||
}
|
||||
|
||||
@@ -1043,6 +1043,10 @@ section th {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.source-tile-cell {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.workbench-inspector .job-result,
|
||||
.workbench-inspector pre {
|
||||
max-height: 16rem;
|
||||
|
||||
Reference in New Issue
Block a user