Files
payloadcms/test/helpers/e2e/toggleListDrawer.ts
Jacob Fletcher bccf6ab16f feat: group by (#13138)
Supports grouping documents by specific fields within the list view.

For example, imagine having a "posts" collection with a "categories"
field. To report on each specific category, you'd traditionally filter
for each category, one at a time. This can be quite inefficient,
especially with large datasets.

Now, you can interact with all categories simultaneously, grouped by
distinct values.

Here is a simple demonstration:


https://github.com/user-attachments/assets/0dcd19d2-e983-47e6-9ea2-cfdd2424d8b5

Enable on any collection by setting the `admin.groupBy` property:

```ts
import type { CollectionConfig } from 'payload'

const MyCollection: CollectionConfig = {
  // ...
  admin: {
    groupBy: true
  }
}
```

This is currently marked as beta to gather feedback while we reach full
stability, and to leave room for API changes and other modifications.
Use at your own risk.

Note: when using `groupBy`, bulk editing is done group-by-group. In the
future we may support cross-group bulk editing.

Dependent on #13102 (merged).

---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
  - https://app.asana.com/0/0/1210774523852467

---------

Co-authored-by: Paul Popus <paul@payloadcms.com>
2025-07-24 14:00:52 -04:00

18 lines
483 B
TypeScript

import type { Page } from '@playwright/test'
import { expect } from '@playwright/test'
/**
* Closes the list drawer by clicking the close button in the header.
*/
export const closeListDrawer = async ({
page,
drawerSelector = '[id^=list-drawer_1_]',
}: {
drawerSelector?: string
page: Page
}): Promise<any> => {
await page.locator('[id^=list-drawer_1_] .list-drawer__header .close-modal-button').click()
await expect(page.locator(drawerSelector)).not.toBeVisible()
}