/** 
 | 
 * @file View component base class 
 | 
 * @description allow to swtich view, reset view. 
 | 
 * @author      LIM Cheng Khoon (ChengKhoon.LIM@3ds.com), Adrian Foo (adrian.foo@3ds.com) 
 | 
 * @copyright   Dassault Systèmes 
 | 
 */ 
 | 
import { ViewManager } from '../e2elib/lib/src/ctl/viewmanager.class'; 
 | 
  
 | 
export abstract class ViewBase { 
 | 
  /** 
 | 
   * Display name of the view. 
 | 
   * 
 | 
   * @abstract 
 | 
   */ 
 | 
  public abstract name: string; 
 | 
  
 | 
  /** 
 | 
   * Performs view switching process. 
 | 
   * 
 | 
   * @abstract 
 | 
   */ 
 | 
  public abstract switchTo(): Promise<void>; 
 | 
  
 | 
  /** 
 | 
   * Resets the view. 
 | 
   */ 
 | 
  public async reset(): Promise<void> { 
 | 
    const viewManager = new ViewManager(); 
 | 
  
 | 
    await viewManager.openViewManager(); 
 | 
    await viewManager.resetView(this.name); 
 | 
    await viewManager.closeViewManager(); 
 | 
  } 
 | 
} 
 |