feat(core): drop doc onto split view (#9487)

fix AF-2068, AF-2069, AF-1175, AF-2061, AF-2079, AF-2034, AF-2080, AF-1960, AF-2081

1. replace `dnd-kit` with `@atlaskit/pragmatic-drag-and-drop`
2. allow creating split views by drag & drop the following
   a. WorkbenchLinks (route links), like journals, trash, all docs
   b. doc refs
   c. tags/collection
3. style adjustments to split view
4. remove split view's feature flag and make it GA for electron

https://github.com/user-attachments/assets/6a3e4a25-faa2-4215-8eb0-983f44db6e8c
This commit is contained in:
pengx17
2025-01-08 05:05:33 +00:00
parent c0ed74dfed
commit a4841bbfa3
53 changed files with 1574 additions and 905 deletions
+15 -12
View File
@@ -139,7 +139,8 @@ export const dragTo = async (
page: Page,
locator: Locator,
target: Locator,
location: DragLocation = 'center'
location: DragLocation = 'center',
willMoveOnDrag = false
) => {
await locator.hover();
const locatorElement = await locator.boundingBox();
@@ -164,18 +165,20 @@ export const dragTo = async (
await target.hover();
const targetElement = await target.boundingBox();
if (!targetElement) {
throw new Error('target element not found');
}
const targetPosition = toPosition(targetElement, location);
await page.mouse.move(
targetElement.x + targetPosition.x,
targetElement.y + targetPosition.y,
{
steps: 10,
if (!willMoveOnDrag) {
const targetElement = await target.boundingBox();
if (!targetElement) {
throw new Error('target element not found');
}
);
const targetPosition = toPosition(targetElement, location);
await page.mouse.move(
targetElement.x + targetPosition.x,
targetElement.y + targetPosition.y,
{
steps: 10,
}
);
}
await page.waitForTimeout(100);
await page.mouse.up();
};