Adds configurations for browse-by-folder document results. This PR **does NOT** allow for filtering out folders on a per collection basis. That will be addressed in a future PR 👍 ### Disable browse-by-folder all together ```ts type RootFoldersConfiguration = { /** * If true, the browse by folder view will be enabled * * @default true */ browseByFolder?: boolean // ...rest of type } ``` ### Remove document types from appearing in the browse by folder view ```ts type CollectionFoldersConfiguration = | boolean | { /** * If true, the collection documents will be included in the browse by folder view * * @default true */ browseByFolder?: boolean } ``` ### Misc Fixes https://github.com/payloadcms/payload/issues/12631 where adding folders.collectionOverrides was being set on the client config - it should be omitted. Fixes an issue where `baseListFilters` were not being respected.
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { expect, type Page } from '@playwright/test'
|
|
|
|
type Args = {
|
|
folderName: string
|
|
fromDropdown?: boolean
|
|
page: Page
|
|
}
|
|
export async function createFolder({
|
|
folderName,
|
|
fromDropdown = false,
|
|
page,
|
|
}: Args): Promise<void> {
|
|
if (fromDropdown) {
|
|
const folderDropdown = page.locator('.create-new-doc-in-folder__popup-button', {
|
|
hasText: 'Create',
|
|
})
|
|
await folderDropdown.click()
|
|
const createFolderButton = page.locator('.popup-button-list__button', {
|
|
hasText: 'Folder',
|
|
})
|
|
await createFolderButton.click()
|
|
} else {
|
|
const createFolderButton = page.locator(
|
|
'.create-new-doc-in-folder__button:has-text("Create New")',
|
|
)
|
|
await createFolderButton.click()
|
|
}
|
|
|
|
const folderNameInput = page.locator(
|
|
'dialog#create-document--header-pill-new-folder-drawer div.drawer-content-container input#field-name',
|
|
)
|
|
|
|
await folderNameInput.fill(folderName)
|
|
|
|
const createButton = page.getByRole('button', { name: 'Apply Changes' })
|
|
await createButton.click()
|
|
|
|
await expect(page.locator('.payload-toast-container')).toContainText('successfully')
|
|
|
|
const folderCard = page.locator('.folder-file-card__name', { hasText: folderName }).first()
|
|
await expect(folderCard).toBeVisible()
|
|
}
|