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
35
36
37
38
39
40
import { ViewBase } from '../../libappbase/viewbase';
import { UIWaitSOP } from '../../libappsop/objectsop';
import { ButtonFinancesContextMenuItem } from '../actionbarpages/abp.data';
import { AppMP } from '../appmp';
import { FormTransportationLaneLeg } from '../forms/form.transportationlaneleg';
import { FormTransportationAccounts } from '../forms/form.transportationaccounts';
import { FormTransportationCosts } from '../forms/form.transportationcosts';
 
/**
 * Data > Finances > Transportation Costs view.
 */
export class ViewTransportationCost extends ViewBase implements UIWaitSOP {
  public readonly name = 'Transportation Costs';
  public readonly viewPath = 'Data > Finances > Transportation Costs';
 
  // Forms
  public formTransportationCosts = new FormTransportationCosts();
  public formTransportationAccounts = new FormTransportationAccounts();
  public formTransportationLaneLeg = new FormTransportationLaneLeg();
 
  /**
   * Switch to transportation cost view
   */
  public async switchTo(): Promise<void> {
    const appMP = AppMP.getInstance();
 
    await appMP.abpData.isVisible();
    await appMP.abpData.click();
    await appMP.abpData.btnFinances.clickDropdownAndSelectMenu(ButtonFinancesContextMenuItem.TransportationCosts);
 
    // Wait until form present
    await this.waitUILoaded();
  }
 
  public async waitUILoaded(): Promise<void> {
    await this.formTransportationCosts.waitUntilPresent();
    await this.formTransportationAccounts.waitUntilPresent();
    await this.formTransportationLaneLeg.waitUntilPresent();
  }
}