Skip to content
Snippets Groups Projects
unit.ts 1.01 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Page } from 'common/models/page';
    
    import { UIElement } from 'common/models/elements/element';
    import { AnswerScheme } from 'common/models/elements/answer-scheme-interfaces';
    
    import { StateVariable } from 'common/models/state-variable';
    
    export class Unit implements UnitProperties {
    
      type = 'aspect-unit-definition';
      version: string;
    
    rhenck's avatar
    rhenck committed
      stateVariables: StateVariable[];
    
      constructor(unit: UnitProperties) {
        this.version = unit.version;
        this.stateVariables = unit.stateVariables;
        this.pages = unit.pages.map(page => new Page(page));
    
      }
    
      getAllElements(elementType?: string): UIElement[] {
        return this.pages.map(page => page.getAllElements(elementType)).flat();
    
      getAnswerScheme(): AnswerScheme[] {
    
    rhenck's avatar
    rhenck committed
          ...this.getAllElements('drop-list')
    
        return this.pages.map(page => page.getAnswerScheme(dropLists)).flat();
    
    
    export interface UnitProperties {
      type: string;
      version: string;
    
    rhenck's avatar
    rhenck committed
      stateVariables: StateVariable[];