// playwright-dev-page.ts import { Locator, expect } from "@playwright/test"; import { DashboardPage } from ".."; import BasePage from "../../Base"; export class GalleryPage extends BasePage { readonly dashboard: DashboardPage; readonly dashboardPage: DashboardPage; constructor(dashboardPage: DashboardPage) { super(dashboardPage.rootPage); this.dashboard = dashboardPage; } get() { return this.dashboard.get().locator('[data-pw="nc-gallery-wrapper"]'); } card(index: number) { return this.get().locator(`.ant-card`).nth(index); } async openExpandedRow({ index }: { index: number }) { await this.card(index).click(); await ( await this.rootPage.locator(".ant-drawer-body").elementHandle() )?.waitForElementState("stable"); } async verifyRowCount(param: { count: number }) { return; } // kludge: move toolbar outside grid scope async fields({ title }: { title: string }) { await this.rootPage.locator(`.nc-fields-menu-btn`).click(); await this.rootPage.waitForTimeout(1000); await this.rootPage .locator(`[pw-data="grid-fields-menu-${title}"]`) .locator('input[type="checkbox"]') .click(); await this.rootPage.waitForTimeout(1000); await this.rootPage.locator(`.nc-fields-menu-btn`).click(); } }