All files / extensions/cornerstone/src/services/ViewportActionCornersService ViewportActionCornersService.ts

95.23% Statements 20/21
80% Branches 4/5
85.71% Functions 6/7
94.44% Lines 17/18

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                        34x               34x       34x         34x 34x                 163x 163x   163x 163x   163x 163x   163x 163x                 216x       228x       27x   34x      
import { PubSubService } from '@ohif/core';
import { ViewportActionCornersLocations } from '@ohif/ui-next';
import { ReactNode } from 'react';
 
export type ActionComponentInfo = {
  viewportId: string;
  id: string;
  component: ReactNode;
  location: ViewportActionCornersLocations;
  indexPriority?: number;
};
 
class ViewportActionCornersService extends PubSubService {
  public static readonly EVENTS = {};
  public static readonly LOCATIONS = ViewportActionCornersLocations;
 
  public static REGISTRATION = {
    name: 'viewportActionCornersService',
    altName: 'ViewportActionCornersService',
    create: ({ configuration = {} }) => {
      return new ViewportActionCornersService();
    },
  };
 
  serviceImplementation = {};
 
  public LOCATIONS = ViewportActionCornersService.LOCATIONS;
 
  constructor() {
    super(ViewportActionCornersService.EVENTS);
    this.serviceImplementation = {};
  }
 
  public setServiceImplementation({
    getState: getStateImplementation,
    addComponent: addComponentImplementation,
    addComponents: addComponentsImplementation,
    clear: clearComponentsImplementation,
  }): void {
    if (getStateImplementation) {
      this.serviceImplementation._getState = getStateImplementation;
    }
    if (addComponentImplementation) {
      this.serviceImplementation._addComponent = addComponentImplementation;
    }
    if (addComponentsImplementation) {
      this.serviceImplementation._addComponents = addComponentsImplementation;
    }
    if (clearComponentsImplementation) {
      this.serviceImplementation._clear = clearComponentsImplementation;
    }
  }
 
  public getState() {
    return this.serviceImplementation._getState();
  }
 
  public addComponent(component: ActionComponentInfo) {
    this.serviceImplementation._addComponent(component);
  }
 
  public addComponents(components: Array<ActionComponentInfo>) {
    this.serviceImplementation._addComponents(components);
  }
 
  public clear(viewportId: string) {
    this.serviceImplementation._clear(viewportId);
  }
}
 
export default ViewportActionCornersService;