Problem
When selecting a parent AIP during ingest (or moving in hierarchy), series and sub-series with the same name are indistinguishable in the search results. There is no visual context about where each AIP sits in the hierarchy.
Solution
Add a Location column to the main AIP search and selection lists that shows:
- The level icon and title of the direct parent as the cell text
- The full ancestor breadcrumb (
Root / ... / Parent) as an HTML title tooltip on hover
The column is backed by a batching + caching mechanism (AipTitleBatchFetcher) that:
- Coalesces all UUID lookups from a rendered page into a single
POST /api/v2/aips/find request (50 ms debounce)
- Caches results for 10 seconds (configurable via
AipTitleBatchFetcher.setCacheTtlMs) with periodic eviction
- Redraws affected tables once the batch resolves, replacing the spinner with the resolved text
Affected lists
ui.lists.Search_AIPs
ui.lists.SelectAipDialog_AIPs
ui.lists.CreateActionJob_AIP
ui.lists.CreateDefaultJob_AIP
ui.lists.IngestAppraisal_searchAIPs
Problem
When selecting a parent AIP during ingest (or moving in hierarchy), series and sub-series with the same name are indistinguishable in the search results. There is no visual context about where each AIP sits in the hierarchy.
Solution
Add a Location column to the main AIP search and selection lists that shows:
Root / ... / Parent) as an HTMLtitletooltip on hoverThe column is backed by a batching + caching mechanism (
AipTitleBatchFetcher) that:POST /api/v2/aips/findrequest (50 ms debounce)AipTitleBatchFetcher.setCacheTtlMs) with periodic evictionAffected lists
ui.lists.Search_AIPsui.lists.SelectAipDialog_AIPsui.lists.CreateActionJob_AIPui.lists.CreateDefaultJob_AIPui.lists.IngestAppraisal_searchAIPs