mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-24 05:07:06 +08:00
fix(editor): should not show toolbar when elements have been deleted (#11026)
Closes: [BS-2691](https://linear.app/affine-design/issue/BS-2691/[bug]-当-edgeless-为空的时候,点击-space-会在左上角出现一个莫名的-toolbar)
This commit is contained in:
@@ -157,6 +157,9 @@ export class AffineToolbarWidget extends WidgetComponent {
|
|||||||
.map(id => gfx.getElementById(id))
|
.map(id => gfx.getElementById(id))
|
||||||
.filter(model => model !== null) as GfxModel[];
|
.filter(model => model !== null) as GfxModel[];
|
||||||
|
|
||||||
|
// Should double check
|
||||||
|
activated &&= Boolean(elements.length);
|
||||||
|
|
||||||
hasLocked = elements.some(e => e.isLocked());
|
hasLocked = elements.some(e => e.isLocked());
|
||||||
|
|
||||||
const grouped = groupBy(
|
const grouped = groupBy(
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import { test } from '@affine-test/kit/playwright';
|
import { test } from '@affine-test/kit/playwright';
|
||||||
import { locateToolbar } from '@affine-test/kit/utils/editor';
|
import {
|
||||||
|
clickEdgelessModeButton,
|
||||||
|
dragView,
|
||||||
|
locateToolbar,
|
||||||
|
setEdgelessTool,
|
||||||
|
} from '@affine-test/kit/utils/editor';
|
||||||
import { selectAllByKeyboard } from '@affine-test/kit/utils/keyboard';
|
import { selectAllByKeyboard } from '@affine-test/kit/utils/keyboard';
|
||||||
import { openHomePage } from '@affine-test/kit/utils/load-page';
|
import { openHomePage } from '@affine-test/kit/utils/load-page';
|
||||||
import {
|
import {
|
||||||
@@ -158,3 +163,36 @@ test.describe('Formatting', () => {
|
|||||||
await expect(textSpan2).toHaveCSS('background-color', hexToRGB(bgColor));
|
await expect(textSpan2).toHaveCSS('background-color', hexToRGB(bgColor));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should not show toolbar when releasing spacebar and elements have been deleted', async ({
|
||||||
|
page,
|
||||||
|
}) => {
|
||||||
|
await clickEdgelessModeButton(page);
|
||||||
|
|
||||||
|
await setEdgelessTool(page, 'shape');
|
||||||
|
await dragView(page, [100, 300], [200, 400]);
|
||||||
|
|
||||||
|
const toolbar = locateToolbar(page);
|
||||||
|
|
||||||
|
await expect(toolbar).toBeVisible();
|
||||||
|
|
||||||
|
await page.keyboard.down('Space');
|
||||||
|
|
||||||
|
await expect(toolbar).toBeHidden();
|
||||||
|
|
||||||
|
await page.keyboard.up('Space');
|
||||||
|
|
||||||
|
await expect(toolbar).toBeVisible();
|
||||||
|
|
||||||
|
await page.keyboard.press('Delete');
|
||||||
|
|
||||||
|
await expect(toolbar).toBeHidden();
|
||||||
|
|
||||||
|
await page.keyboard.down('Space');
|
||||||
|
|
||||||
|
await expect(toolbar).toBeHidden();
|
||||||
|
|
||||||
|
await page.keyboard.up('Space');
|
||||||
|
|
||||||
|
await expect(toolbar).toBeHidden();
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user