All files / extensions/cornerstone/src/types Colorbar.ts

100% Statements 2/2
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115                                                                                                                                                                                                                          207x          
import { ColorMapPreset } from './Colormap';
 
// Position options
export type ColorbarPositionType = 'top' | 'bottom' | 'left' | 'right';
 
// Tick position options
export type TickPositionType = 'top' | 'bottom' | 'left' | 'right';
 
// CSS style properties for ticks
export type TickStyleType = {
  font?: string;
  color?: string;
  maxNumTicks?: number;
  tickSize?: number;
  tickWidth?: number;
  labelMargin?: number;
  labelOffset?: number;
};
 
// Position-specific styles
export type PositionStyleType = {
  [key: string]: string;
};
 
// Styles for a specific position (like bottom)
export type PositionTickStyleType = {
  position: TickPositionType;
  style?: TickStyleType;
};
 
// Map of position to position-specific styles
export type PositionTickStylesMapType = {
  [key in ColorbarPositionType]?: PositionTickStyleType;
};
 
// Map of position to position-specific CSS
export type PositionStylesMapType = {
  [key in ColorbarPositionType]?: PositionStyleType;
};
 
// Container styles
export type ContainerStyleType = {
  position?: string;
  boxSizing?: string;
  border?: string;
  cursor?: string;
  [key: string]: string | undefined;
};
 
// Dimension configuration
export type DimensionConfigType = {
  bottomHeight: string;
  defaultVerticalWidth: string;
  defaultHorizontalHeight: string;
};
 
// Tick configuration
export type TickConfigType = {
  position: TickPositionType;
  style?: TickStyleType;
};
 
// Base options for colorbar
export type ColorbarOptions = {
  position: ColorbarPositionType;
  colormaps: Record<string, ColorMapPreset>;
  activeColormapName: string;
  ticks?: TickConfigType;
  width: string;
};
 
// Props for the Colorbar component
export type ColorbarProps = {
  viewportId: string;
  displaySets: Array<any>;
  colorbarProperties: ColorbarProperties;
};
 
// Extended properties with styling options
export type ColorbarProperties = {
  width: string;
  colorbarTickPosition: TickPositionType;
  colorbarContainerPosition: ColorbarPositionType;
  colormaps: Record<string, ColorMapPreset>;
  colorbarInitialColormap: string;
 
  // Styling properties
  positionStyles?: PositionStylesMapType;
  positionTickStyles?: PositionTickStylesMapType;
  containerStyles?: ContainerStyleType;
  tickStyles?: TickStyleType;
};
 
// Type for the customization object from the customization service
export interface ColorbarCustomization {
  width: string;
  colorbarTickPosition: TickPositionType;
  colorbarContainerPosition: ColorbarPositionType;
  colormaps: Record<string, ColorMapPreset>;
  colorbarInitialColormap: string;
 
  // Styling properties
  positionStyles: PositionStylesMapType;
  positionTickStyles: PositionTickStylesMapType;
  containerStyles: ContainerStyleType;
  tickStyles: TickStyleType;
}
 
// Event types for colorbar changes
export enum ChangeTypes {
  Removed = 'removed',
  Added = 'added',
  Modified = 'modified',
}