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 28 29 30 31 32 33 34 35 36 37 38 39 40 | import type { Segmentation } from '../../types/SegmentationStateTypes'; import { defaultSegmentationStateManager } from './SegmentationStateManager'; import { triggerSegmentationModified } from './triggerSegmentationEvents'; /** * Updates multiple segmentations with new data. * * @param segmentationUpdateArray - An array of objects containing segmentation updates. * Each object should have a `segmentationId` and a `payload` with the properties to update. * @param suppressEvents - If true, the segmentation modified event will not be triggered. * * @example * ```typescript * updateSegmentations([ * { segmentationId: 'seg1', payload: { label: 'New Label' } }, * { segmentationId: 'seg2', payload: { segments: {} } } * ]); * ``` */ export function updateSegmentations( segmentationUpdateArray: { segmentationId: string; payload: Partial<Segmentation>; }[], suppressEvents?: boolean ): void { const segmentationStateManager = defaultSegmentationStateManager; segmentationUpdateArray.forEach((segmentationUpdate) => { segmentationStateManager.updateSegmentation( segmentationUpdate.segmentationId, segmentationUpdate.payload ); if (!suppressEvents) { triggerSegmentationModified(segmentationUpdate.segmentationId); } }); } |