yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
/**
 * @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();
  }
}