Collapse newly imported collector packages
Project disclosure state through stable link URLs so new or moved import content starts collapsed, duplicate-only imports preserve manual state, and enrichment-driven package ID changes retain the existing disclosure state.
This commit is contained in:
+14
-7
@@ -70,6 +70,7 @@ import {
|
||||
mergeCollectorEnrichment,
|
||||
mergeCollectorPackages,
|
||||
removeCollectorLinks,
|
||||
reconcileCollectorCollapsedPackageIds,
|
||||
selectCollectorPackageLinks,
|
||||
type CollectorWorkspaceFilter
|
||||
} from "./views/collector/collector-model";
|
||||
@@ -3596,13 +3597,19 @@ export function App(): ReactElement {
|
||||
};
|
||||
|
||||
const mergeCollectorResult = (result: CollectorInspectionResult, enrichment = false): void => {
|
||||
setCollectorPackages((current) => {
|
||||
const merged = enrichment
|
||||
? mergeCollectorEnrichment(current, result.packages)
|
||||
: mergeCollectorPackages(current, result.packages);
|
||||
collectorPackagesRef.current = merged.packages;
|
||||
return merged.packages;
|
||||
});
|
||||
const current = collectorPackagesRef.current;
|
||||
const merged = enrichment
|
||||
? mergeCollectorEnrichment(current, result.packages)
|
||||
: mergeCollectorPackages(current, result.packages);
|
||||
collectorPackagesRef.current = merged.packages;
|
||||
setCollectorPackages(merged.packages);
|
||||
setCollapsedCollectorPackageIds((collapsed) => reconcileCollectorCollapsedPackageIds(
|
||||
collapsed,
|
||||
current,
|
||||
merged.packages,
|
||||
result.packages,
|
||||
!enrichment
|
||||
));
|
||||
};
|
||||
|
||||
const enrichCollectorResult = (packages: CollectorPackage[]): void => {
|
||||
|
||||
Reference in New Issue
Block a user