From 0bef8326d3a76435e5921266034bd8ac13585ca6 Mon Sep 17 00:00:00 2001 From: akhrarovsaid Date: Tue, 28 Jan 2025 10:52:38 -0500 Subject: [PATCH 1/2] fix(ui): correctly show blocks after blocksDrawer close --- packages/ui/src/fields/Blocks/BlocksDrawer/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/fields/Blocks/BlocksDrawer/index.tsx b/packages/ui/src/fields/Blocks/BlocksDrawer/index.tsx index 6e6034b91f2..895f54dc394 100644 --- a/packages/ui/src/fields/Blocks/BlocksDrawer/index.tsx +++ b/packages/ui/src/fields/Blocks/BlocksDrawer/index.tsx @@ -42,10 +42,10 @@ export const BlocksDrawer: React.FC = (props) => { const { i18n, t } = useTranslation() useEffect(() => { - if (!isModalOpen) { + if (!isModalOpen(drawerSlug)) { setSearchTerm('') } - }, [isModalOpen]) + }, [isModalOpen, drawerSlug]) useEffect(() => { const searchTermToUse = searchTerm.toLowerCase() From 290f51f0ac29cd034b4a5ebf7966a6dc3df1374a Mon Sep 17 00:00:00 2001 From: Patrik Kozak Date: Tue, 28 Jan 2025 12:22:23 -0500 Subject: [PATCH 2/2] chore: adds e2e test --- test/fields/collections/Blocks/e2e.spec.ts | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/fields/collections/Blocks/e2e.spec.ts b/test/fields/collections/Blocks/e2e.spec.ts index c56fdbfe6fa..8ec1b4089eb 100644 --- a/test/fields/collections/Blocks/e2e.spec.ts +++ b/test/fields/collections/Blocks/e2e.spec.ts @@ -86,6 +86,33 @@ describe('Block fields', () => { ) }) + test('should reset search state in blocks drawer on re-open', async () => { + await page.goto(url.create) + const addButton = page.locator('#field-blocks > .blocks-field__drawer-toggler') + await expect(addButton).toContainText('Add Block') + await addButton.click() + + const blocksDrawer = page.locator('[id^=drawer_1_blocks-drawer-]') + await expect(blocksDrawer).toBeVisible() + + const searchInput = page.locator('.block-search__input') + await searchInput.fill('Number') + + // select the first block in the drawer + const firstBlockSelector = blocksDrawer + .locator('.blocks-drawer__blocks .blocks-drawer__block') + .first() + + await expect(firstBlockSelector).toContainText('Number') + + await page.locator('.drawer__header__close').click() + await addButton.click() + + await expect(blocksDrawer).toBeVisible() + await expect(searchInput).toHaveValue('') + await expect(firstBlockSelector).toContainText('Content') + }) + test('should open blocks drawer from block row and add below', async () => { await page.goto(url.create) const firstRow = page.locator('#field-blocks #blocks-row-0')