All files / tools/src/eventListeners/segmentation segmentationRemovedEventListener.ts

16.66% Statements 1/6
100% Branches 0/0
0% Functions 0/3
16.66% Lines 1/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27              430x                                      
import type { SegmentationRemovedEventType } from '../../types/EventTypes';
import {
  getAllAnnotations,
  removeAnnotation,
} from '../../stateManagement/annotation/annotationState';
import type { ContourSegmentationAnnotation } from '../../types';
 
const segmentationRemovedListener = function (
  evt: SegmentationRemovedEventType
): void {
  const { segmentationId } = evt.detail;
 
  // Remove all annotations that are part of the segmentation
  const annotationsToRemove = getAllAnnotations().filter(
    (annotation) =>
      segmentationId ===
      (annotation as ContourSegmentationAnnotation)?.data?.segmentation
        ?.segmentationId
  );
 
  annotationsToRemove.forEach((annotation) => {
    removeAnnotation(annotation.annotationUID);
  });
};
 
export default segmentationRemovedListener;