import { QObject } from '../../e2elib/lib/src/pageobjects/base/qobject.class'; 
 | 
import { ViewBase } from '../../libappbase/viewbase'; 
 | 
import { UIWaitSOP } from '../../libappsop/objectsop'; 
 | 
import { AppMP } from '../appmp'; 
 | 
import { FormGeneralSettings } from '../forms/form.generalsettings'; 
 | 
  
 | 
export class ViewGeneralSettings extends ViewBase implements UIWaitSOP { 
 | 
  public readonly name = 'General settings'; 
 | 
  public readonly viewPath = 'Data > General Settings'; // TODO: This is not a view, to discuss if right docked panel should be treated as view or different class? 
 | 
  
 | 
  public frmGeneralSettings = new FormGeneralSettings(); 
 | 
  
 | 
  public async switchTo(): Promise<void> { 
 | 
    const appMP = AppMP.getInstance(); 
 | 
  
 | 
    // wait until abp data is visible 
 | 
    await appMP.abpData.isVisible(); 
 | 
    // Open data action bar page 
 | 
    await appMP.abpData.click(); 
 | 
    // Open General Settings form only if it is not open 
 | 
    if (!(await this.frmGeneralSettings.isOpen())) { 
 | 
      // Scroll to General Settings button 
 | 
      const qObject = new QObject(appMP.abpData.btnGeneralSettings.componentName, false, appMP.abpData.btnGeneralSettings.element); 
 | 
      await appMP.abpData.scrollRight(qObject); 
 | 
      await appMP.abpData.btnGeneralSettings.click(); 
 | 
    } 
 | 
    await this.waitUILoaded(); 
 | 
  } 
 | 
  
 | 
  public async waitUILoaded(): Promise<void> { 
 | 
    await this.frmGeneralSettings.waitUntilPresent(); 
 | 
  } 
 | 
} 
 |