| 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(); | 
|   } | 
| } |