mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
fix(editor): adjustment of scaled and folded synced doc (#12294)
Close [BS-3418](https://linear.app/affine-design/issue/BS-3418/折叠的embed-doc调整宽度时,会出现一个最小高度,不需要这个) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for dynamically scaling the height of embedded synced document blocks, including proper handling when folding and unfolding. - Introduced a new property to track the scaled height of folded synced document blocks. - **Bug Fixes** - Improved accuracy of height calculations for synced document blocks by accounting for both viewport zoom and block scale. - **Tests** - Enhanced end-to-end tests to consistently apply scaling before running size adjustment checks. - Added a utility function to simulate scaling elements with keyboard shortcuts during test execution. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
getSelectedXYWH,
|
||||
locateEditorContainer,
|
||||
resizeElementByHandle,
|
||||
scaleElementByHandle,
|
||||
} from '@affine-test/kit/utils/editor';
|
||||
import { pressEnter } from '@affine-test/kit/utils/keyboard';
|
||||
import { openHomePage } from '@affine-test/kit/utils/load-page';
|
||||
@@ -105,6 +106,10 @@ test.describe('edgeless', () => {
|
||||
});
|
||||
|
||||
test.describe('size adjustment of embed synced doc', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await scaleElementByHandle(page, [10, 10], 'bottom-right');
|
||||
});
|
||||
|
||||
test('should fold embed synced doc when adjust height to smallest', async ({
|
||||
page,
|
||||
}) => {
|
||||
|
||||
@@ -476,6 +476,25 @@ export async function resizeElementByHandle(
|
||||
await dragView(page, from, to, editorIndex);
|
||||
}
|
||||
|
||||
export async function scaleElementByHandle(
|
||||
page: Page,
|
||||
delta: IVec,
|
||||
corner:
|
||||
| 'right'
|
||||
| 'left'
|
||||
| 'top'
|
||||
| 'bottom'
|
||||
| 'top-left'
|
||||
| 'top-right'
|
||||
| 'bottom-right'
|
||||
| 'bottom-left' = 'top-left',
|
||||
editorIndex = 0
|
||||
) {
|
||||
await page.keyboard.down('Shift');
|
||||
await resizeElementByHandle(page, delta, corner, editorIndex);
|
||||
await page.keyboard.up('Shift');
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a not block in canvas
|
||||
* @param position the position or xwyh of the note block in canvas
|
||||
|
||||
Reference in New Issue
Block a user